.practice-page{max-width:1080px;margin:0 auto;padding:42px 34px;color:#1e293b}
.practice-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.practice-head h1{font-size:28px;margin:0 0 7px}.practice-head p,.practice-card-title p{margin:0;color:#64748b}
.practice-task-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 22px}.practice-task-tab{display:flex;align-items:center;gap:8px;min-width:0;padding:12px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;color:#475569;cursor:pointer;font-weight:650;text-align:left;transition:.15s}.practice-task-tab:hover{border-color:#a5b4fc;background:#f8faff}.practice-task-tab.active{border-color:#4f46e5;background:#eef2ff;color:#3730a3;box-shadow:0 4px 12px rgba(79,70,229,.1)}.practice-task-icon{font-size:20px}.practice-task-tab small{margin-left:auto;padding:3px 6px;border-radius:99px;background:#f1f5f9;color:#64748b;font-size:10px;font-weight:600;white-space:nowrap}.practice-task-tab.active small{background:#ddd6fe;color:#5b21b6}.practice-future-task{display:flex;align-items:flex-start;gap:20px;margin-bottom:22px;padding:28px;background:linear-gradient(135deg,#f7f7ff,#fff);border:1px solid #dbe3ef;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.practice-future-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 54px;border-radius:16px;background:#ede9fe;font-size:26px}.practice-future-body{max-width:720px}.practice-future-state{display:inline-block;margin-bottom:7px;padding:3px 8px;border-radius:99px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700}.practice-future-body h2{margin:0 0 7px;font-size:20px}.practice-future-body>p{margin:0;color:#64748b;line-height:1.65}.practice-future-body dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.practice-future-body dl>div{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.practice-future-body dt{margin-bottom:5px;color:#64748b;font-size:12px}.practice-future-body dd{margin:0;color:#334155;font-size:13px;line-height:1.5}.practice-future-note{font-size:12px}.practice-future-body .practice-actions{margin-top:16px}
.practice-source{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#64748b;min-width:280px}
.practice-writing-body{width:min(820px,100%)}.practice-writing-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.practice-writing-form label{display:flex;flex-direction:column;gap:6px;color:#64748b;font-size:12px}.practice-writing-form input,.practice-writing-form select,.practice-writing-result textarea{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:9px;background:#fff;color:#334155;font:inherit}.practice-writing-result{margin-top:18px}.practice-writing-result>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px}.practice-writing-result textarea{min-height:280px;resize:vertical;line-height:1.65}.practice-writing-result #writingSources{margin-top:8px;color:#64748b;font-size:12px}.practice-writing-draft{padding:9px 0;border-top:1px solid #edf2f7;color:#334155}.practice-writing-draft small{color:#94a3b8}
.practice-writing-form textarea{min-height:86px;resize:vertical}.practice-wide-field{grid-column:1/-1}.practice-writing-result #reportSources{margin-top:8px;color:#64748b;font-size:12px}
.practice-exam-overview{padding:10px;border-radius:8px;background:#f8fafc;color:#64748b;font-size:12px;line-height:1.5}.practice-exam-overview b{display:block;color:#475569}.practice-exam-plan{margin-top:10px;padding:12px 0;border-top:1px solid #edf2f7}.practice-exam-plan strong,.practice-exam-plan small{display:block}.practice-exam-plan small{margin:3px 0 8px;color:#94a3b8}.practice-exam-plan label{display:inline-flex;gap:4px;margin:4px 10px 0 0;color:#64748b;font-size:12px}
.practice-source select{height:42px;padding:0 12px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#1e293b;font-size:14px}
.practice-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}
.practice-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.practice-card-title{display:flex;gap:13px;align-items:center;margin-bottom:22px}.practice-card-title>span{font-size:28px}.practice-card-title h2{font-size:19px;margin:0 0 4px}.practice-card-title p{font-size:13px}
.practice-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-type{display:flex;align-items:center;gap:7px;padding:11px;border:1px solid #e2e8f0;border-radius:10px;font-size:13px}.practice-type span{flex:1}.practice-type input[type=number]{width:42px;padding:4px;border:1px solid #cbd5e1;border-radius:5px}
.practice-difficulty{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px;background:#f8fafc;border-radius:10px;font-size:13px}.practice-difficulty>span{font-weight:600;margin-right:auto}.practice-difficulty label{white-space:nowrap}.practice-difficulty input{width:42px;padding:4px;border:1px solid #cbd5e1;border-radius:5px}
.practice-estimate{font-size:12px;color:#64748b;margin:14px 0}.practice-actions{display:flex;gap:10px;margin-top:20px}.practice-btn{border:1px solid #d9e0eb;background:#fff;color:#334155;padding:10px 18px;border-radius:9px;cursor:pointer;font-weight:600}.practice-btn.primary{background:#4f46e5;border-color:#4f46e5;color:#fff}.practice-btn:disabled{opacity:.5;cursor:not-allowed}
.practice-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.practice-stats div{padding:16px 8px;text-align:center;background:#f8fafc;border-radius:10px}.practice-stats b{display:block;font-size:21px;color:#4f46e5}.practice-stats span{font-size:12px;color:#64748b}.practice-training-hint{min-height:44px;margin-top:18px;padding:13px;background:#eef2ff;color:#475569;border-radius:10px;font-size:13px;line-height:1.5}
.practice-training-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-top:20px}.practice-training-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.practice-section-title{margin-bottom:14px}.practice-section-title h2{font-size:19px;margin:0 0 4px}.practice-section-title p{font-size:13px;color:#64748b;margin:0}.practice-list-empty{display:flex;align-items:center;justify-content:center;min-height:92px;color:#94a3b8;font-size:13px}.practice-chapter-row{display:grid;grid-template-columns:minmax(150px,1fr) 120px auto;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #eef2f7}.practice-chapter-row:first-child{border-top:0}.practice-chapter-row b,.practice-chapter-row span{display:block}.practice-chapter-row b{font-size:13px;margin-bottom:4px}.practice-chapter-row span{font-size:11px;color:#64748b}.practice-chapter-progress{height:6px;background:#e2e8f0;border-radius:99px;overflow:hidden}.practice-chapter-progress i{display:block;height:100%;background:#4f46e5;border-radius:99px}.practice-mistake-row{display:flex;gap:10px;padding:12px 0;border-top:1px solid #eef2f7}.practice-mistake-row:first-child{border-top:0}.practice-mistake-row>span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#fff1f2;color:#e11d48;font-size:11px;font-weight:700}.practice-mistake-row div{min-width:0}.practice-mistake-row b{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5}.practice-mistake-row small{display:block;color:#64748b;margin-top:4px}.practice-list-more{padding-top:10px;color:#64748b;font-size:11px;text-align:center}
.practice-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-mistake-row a{color:#4f46e5;text-decoration:none}.practice-mistake-row a:hover{text-decoration:underline}
.practice-runner{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;background:#f4f7fb;color:#1e293b}.practice-runner.open{display:flex}.practice-runner-head{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #e2e8f0}.practice-runner-head>div{display:flex;align-items:center;gap:12px}.practice-runner-head span{color:#64748b;font-size:13px}.practice-runner-head button{border:0;background:transparent;font-size:28px;color:#64748b;cursor:pointer}.practice-runner-dots{display:flex;justify-content:center;gap:7px;padding:16px;overflow-x:auto}.practice-runner-dots button{width:29px;height:29px;flex:0 0 29px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:11px;cursor:pointer}.practice-runner-dots button.answered{border-color:#a5b4fc;background:#eef2ff;color:#4338ca}.practice-runner-dots button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.practice-runner-main{display:flex;align-items:flex-start;justify-content:center;flex:1;overflow:auto;padding:28px}.practice-runner-card{width:min(720px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:34px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.practice-runner-type{display:inline-block;padding:4px 9px;border-radius:99px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:700}.practice-runner-card h2{font-size:18px;line-height:1.7;margin:18px 0 24px}.practice-runner-option{display:flex;width:100%;gap:12px;align-items:flex-start;margin:10px 0;padding:13px 15px;border:1px solid #dbe3ef;border-radius:11px;background:#fff;text-align:left;color:#334155;cursor:pointer}.practice-runner-option:hover,.practice-runner-option.selected{border-color:#4f46e5;background:#eef2ff}.practice-runner-option i{display:flex;align-items:center;justify-content:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;border:1px solid #94a3b8;font-style:normal;font-size:11px}.practice-runner-option.selected i{background:#4f46e5;border-color:#4f46e5;color:#fff}.practice-runner-option span{line-height:1.55}.practice-runner-text{width:100%;min-height:180px;padding:14px;border:1px solid #cbd5e1;border-radius:10px;resize:vertical;font:inherit;box-sizing:border-box}.practice-runner-note{font-size:11px;color:#94a3b8}.practice-runner-foot{height:72px;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 24px;background:#fff;border-top:1px solid #e2e8f0}.practice-runner-foot>span{color:#64748b;font-size:12px}.practice-runner-result{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px}.practice-runner-result-card{width:min(460px,100%);padding:42px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;text-align:center;box-shadow:0 12px 30px rgba(15,23,42,.08)}.practice-runner-result-icon{font-size:42px}.practice-runner-result-card h2{margin:14px 0}.practice-runner-result-card>b{display:block;font-size:34px;color:#4f46e5}.practice-runner-result-card p{color:#64748b;margin:8px 0 24px}
.practice-review-main{flex:1;overflow-y:auto;padding:28px}.practice-review-summary{display:flex;align-items:baseline;justify-content:center;gap:14px;max-width:800px;margin:0 auto 18px;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:14px}.practice-review-summary b{font-size:28px;color:#4f46e5}.practice-review-summary span{font-size:13px;color:#64748b}.practice-review-list{max-width:800px;margin:0 auto}.practice-review-item{margin-bottom:14px;padding:22px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #94a3b8;border-radius:12px}.practice-review-item.correct{border-left-color:#22c55e}.practice-review-item.wrong{border-left-color:#ef4444}.practice-review-item.subjective{border-left-color:#f59e0b}.practice-review-item-head{display:flex;justify-content:space-between;color:#64748b;font-size:12px}.practice-review-item.correct .practice-review-item-head b{color:#16a34a}.practice-review-item.wrong .practice-review-item-head b{color:#dc2626}.practice-review-item h3{font-size:15px;line-height:1.6;margin:13px 0}.practice-review-item p{font-size:13px;color:#475569;margin:7px 0}.practice-review-explain{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px;color:#475569;font-size:13px;line-height:1.6;white-space:pre-wrap}
.practice-runner-feedback{margin-top:20px;padding:14px;border-radius:10px;background:#fffbeb;color:#92400e;font-size:13px;line-height:1.6}.practice-runner-feedback.correct{background:#f0fdf4;color:#166534}.practice-runner-feedback.wrong{background:#fef2f2;color:#991b1b}.practice-runner-feedback p{margin:7px 0 0;white-space:pre-wrap}
.practice-progress{margin-top:14px}.practice-progress>div:first-child{display:flex;justify-content:space-between;font-size:12px;color:#64748b}.practice-progress-track{height:7px;background:#e2e8f0;border-radius:99px;margin-top:7px;overflow:hidden}.practice-progress-track i{display:block;height:100%;width:0;background:#4f46e5;transition:width .25s}
.practice-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.practice-overview div{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:17px;text-align:center}.practice-overview b{display:block;color:#4f46e5;font-size:23px;margin-bottom:3px}.practice-overview span{font-size:12px;color:#64748b}
.practice-history{margin-bottom:28px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.practice-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.practice-history-head h2{font-size:19px;margin:0 0 4px}.practice-history-head p{margin:0;color:#64748b;font-size:13px}.practice-history-count{font-size:13px;color:#4f46e5;background:#eef2ff;border-radius:99px;padding:5px 10px}
.practice-history-tools{display:flex;align-items:center;gap:10px}.practice-history-tools select{height:36px;max-width:260px;padding:0 10px;border:1px solid #dbe3ef;border-radius:8px;background:#fff;color:#475569}
.practice-history-list{display:flex;flex-direction:column}.practice-history-empty{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:120px;color:#94a3b8;font-size:13px;text-align:center}.practice-history-empty b{color:#475569;font-size:15px}
.practice-workbench-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.practice-workbench-head h2{font-size:19px;margin:0 0 4px}.practice-workbench-head p{font-size:13px;color:#64748b;margin:0}
.practice-quiz-row{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;align-items:center;gap:20px;padding:17px 4px;border-top:1px solid #eef2f7}.practice-quiz-row:first-child{border-top:0}.practice-quiz-title{font-weight:650;margin-bottom:4px}.practice-quiz-book{font-size:12px;color:#4f46e5;margin-bottom:3px}.practice-quiz-meta,.practice-quiz-time{color:#64748b;font-size:12px;line-height:1.6}.practice-quiz-result{display:flex;flex-direction:column;gap:5px;color:#475569;font-size:12px}.practice-quiz-result span+span{font-weight:650;color:#4f46e5}.practice-quiz-actions{display:flex;gap:8px}.practice-btn.sm{padding:7px 12px;font-size:12px;white-space:nowrap}
@media(max-width:900px){.practice-grid,.practice-training-detail{grid-template-columns:1fr}.practice-overview{grid-template-columns:repeat(3,1fr)}.practice-task-selector{grid-template-columns:repeat(3,1fr)}.practice-head,.practice-workbench-head{align-items:stretch;flex-direction:column}.practice-source{min-width:0}}
@media(max-width:700px){.practice-quiz-row{grid-template-columns:1fr}.practice-quiz-result{flex-direction:row}.practice-quiz-actions{justify-content:flex-start}}
@media(max-width:600px){.practice-page{padding:24px 16px}.practice-overview{grid-template-columns:repeat(2,1fr)}.practice-task-selector{display:flex;overflow-x:auto;padding-bottom:2px}.practice-task-tab{min-width:max-content}.practice-future-task{padding:20px;gap:14px}.practice-future-icon{width:42px;height:42px;flex-basis:42px;font-size:21px}.practice-future-body dl{grid-template-columns:1fr}.practice-history-head{align-items:flex-start;flex-direction:column;gap:12px}.practice-history-tools{width:100%}.practice-history-tools select{flex:1;min-width:0}.practice-types{grid-template-columns:1fr}.practice-difficulty{align-items:flex-start;flex-wrap:wrap}.practice-difficulty>span{width:100%}.practice-chapter-row{grid-template-columns:1fr auto}.practice-chapter-progress{display:none}.practice-runner-card{padding:22px}.practice-runner-main{padding:16px}.practice-runner-foot{gap:10px}.practice-runner-foot>span{display:none}}
