:root{color:#1b2a2f;background:#f3f6f4;font-family:Inter,Microsoft YaHei,PingFang SC,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f3f6f4}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f1}.login-panel{width:min(420px,100%);display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid #d5dfda;border-radius:8px;background:#fff;box-shadow:0 16px 42px #2438331f}.brand-block,.student-topbar,.practice-topbar,.toolbar,.user-strip,.question-actions,.section-heading,.score-strip,.level-progress-meta,.paper-progress-meta,.media-item,.media-image,.card-action{display:flex;align-items:center;gap:12px}.brand-block h1,.student-topbar h1,.question-header h2,.section-heading h3{margin:0}.brand-block p,.eyebrow,.paper-card small,.part-title small,.wrong-row small{color:#667a72;font-size:13px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;color:#fff;background:#24746f}.student-shell,.practice-shell,.benefits-shell{min-height:100vh;padding:24px}.student-topbar,.practice-topbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.user-strip,.score-strip,.level-progress-strip,.notice,.error-text,.empty-state,.paper-card,.progress-sidebar,.question-panel,.wrong-panel,.answer-key-panel,.benefits-panel{border:1px solid #d5dfda;border-radius:8px;background:#fff}.user-strip,.score-strip{min-height:42px;padding:6px 8px 6px 12px}.score-action{border:1px solid #d5dfda;color:#1b2a2f}.score-strip strong{color:#24746f;font-size:18px}.level-progress-strip{flex:1 1 320px;min-width:260px;padding:8px 12px}.level-progress-meta{justify-content:space-between;margin-bottom:6px}.level-progress-meta span,.level-progress-strip small{color:#667a72;font-size:12px;font-weight:700}.level-progress-meta strong{color:#24746f;font-size:13px}.level-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#dce5e1}.level-progress-bar{height:100%;border-radius:inherit;background:#24746f;transition:width .2s ease}.level-progress-strip small{display:block;margin-top:6px}.toolbar{margin-bottom:16px}.notice,.error-text,.empty-state{padding:10px 12px;font-size:13px}.notice{margin-bottom:16px;color:#28534c;background:#e2f2ee;border-color:#b9ded5}.copy-toast{position:fixed;top:50%;left:50%;z-index:30;width:min(360px,calc(100vw - 32px));transform:translate(-50%,-50%);padding:12px 14px;border:1px solid #b9ded5;border-radius:8px;color:#1f514a;background:#e2f2ee;box-shadow:0 14px 34px #2438332e}.copy-toast.error,.error-text{color:#823232;background:#f9e8e8;border-color:#edc5c5}.primary-button,.secondary-button,.icon-button,.review-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:0;border-radius:6px}.primary-button{padding:0 16px;color:#fff;background:#24746f}.secondary-button{padding:0 14px;color:#24534e;background:#dcebe7}.icon-button{width:38px;color:#24534e;background:#dcebe7}.report-page,.retry-page,.retry-summary-page{display:grid;gap:18px}.report-loading,.report-empty-state,.report-empty{color:#63716d;padding:24px;text-align:center}.error-notice,.inline-error{color:#9b2c2c}.coverage-banner{align-items:center;background:linear-gradient(135deg,#eff8f3,#f7fbf9);border:1px solid #b8dcca;border-radius:18px;display:grid;gap:14px;grid-template-columns:1fr 1fr auto;padding:18px 22px}.coverage-banner.incomplete{background:#fff8e8;border-color:#eed18b}.coverage-banner div{display:grid;gap:4px}.coverage-banner span,.coverage-banner small,.report-note{color:#63716d}.report-section{background:#fff;border:1px solid #d9e3df;border-radius:18px;box-shadow:0 12px 30px #25433814;padding:22px}.report-section h2,.retry-shared-context h2{margin:0}.report-kpi-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.report-kpi-grid.compact{margin-bottom:18px}.report-kpi-grid>div{background:#f5f8f7;border-radius:14px;display:grid;gap:4px;padding:16px}.report-kpi-grid strong{color:#17603f;font-size:1.55rem}.report-kpi-grid span{color:#63716d;font-size:.88rem}.report-two-column{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;min-width:560px;width:100%}.report-table th,.report-table td{border-bottom:1px solid #d9e3df;padding:11px 10px;text-align:left}.report-table th{color:#63716d;font-size:.82rem;font-weight:600}.retry-action-grid,.high-frequency-list{display:grid;gap:12px}.retry-action-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:20px}.retry-action-card,.high-frequency-item{align-items:center;border:1px solid #d9e3df;border-radius:14px;display:flex;gap:16px;justify-content:space-between;padding:15px}.retry-action-card>div,.high-frequency-item>div,.high-frequency-meta{display:grid;gap:5px}.retry-action-card span,.retry-action-card small,.high-frequency-item span{color:#63716d}.resolved-section-heading{align-items:end}.resolved-heading-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.resolved-sort-controls{display:flex;flex-wrap:wrap;gap:8px}.resolved-sort-controls label{color:#63716d;display:grid;font-size:.78rem;gap:3px}.resolved-sort-controls select{background:#fff;border:1px solid #cbd8d3;border-radius:7px;color:#263733;min-height:34px;padding:5px 8px}.resolved-sort-controls select:disabled{background:#eef3f1;color:#8a9993}.resolved-pagination{align-items:center;color:#63716d;display:flex;flex-wrap:wrap;font-size:.88rem;gap:12px;justify-content:space-between;margin-top:18px}.resolved-pagination>div{display:flex;gap:8px}.resolved-selection-checkbox{align-items:center;color:#40534d;cursor:pointer;display:flex;flex:0 0 auto;font-size:.78rem;font-weight:700;gap:6px}.resolved-selection-checkbox input{accent-color:#24746f;height:18px;margin:0;width:18px}.high-frequency-item-content{min-width:0}.resolved-selection-dialog-overlay{align-items:center;background:#1b2a2f6b;display:flex;inset:0;justify-content:center;overflow:auto;padding:24px;position:fixed;z-index:60}.resolved-selection-dialog{background:#fff;border:1px solid #d5dfda;border-radius:12px;box-shadow:0 18px 46px #24383338;display:grid;gap:16px;max-height:min(720px,calc(100vh - 48px));outline:none;padding:20px;width:min(640px,100%)}.resolved-selection-dialog-header,.resolved-selection-dialog-actions,.resolved-selection-list li{align-items:center;display:flex;gap:12px;justify-content:space-between}.resolved-selection-dialog-header{align-items:flex-start}.resolved-selection-dialog h2,.resolved-selection-dialog p{margin:0}.resolved-selection-dialog p,.resolved-selection-list span,.resolved-selection-list small{color:#63716d}.active-review-list{display:grid;gap:10px}.active-review-card{align-items:center;background:#f8faf9;border:1px solid #d9e3df;border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:14px}.active-review-card>div{display:grid;gap:4px}.active-review-card span,.active-review-card small{color:#63716d}.resolved-selection-dialog p{font-size:.88rem;line-height:1.5;margin-top:5px}.resolved-selection-list{display:grid;gap:10px;list-style:none;margin:0;max-height:180px;overflow:auto;padding:0}.resolved-selection-list li{align-items:flex-start;background:#f8faf9;border:1px solid #e1e8e4;border-radius:8px;padding:12px}.resolved-selection-groups{display:grid;gap:14px;max-height:380px;overflow:auto}.resolved-selection-groups section{display:grid;gap:8px}.resolved-selection-groups h3,.resolved-selection-empty{margin:0}.resolved-selection-groups h3{font-size:.95rem}.resolved-selection-empty{color:#63716d;font-size:.88rem}.resolved-review-title-field{color:#40534d;display:grid;font-size:.88rem;font-weight:700;gap:6px}.resolved-review-title-field input{border:1px solid #cbd8d3;border-radius:7px;color:#263733;font:inherit;font-weight:400;min-height:38px;padding:7px 9px}.resolved-review-title-field input[aria-invalid=true]{border-color:#b95b4f}.resolved-review-title-field small{color:#b13e32;font-weight:400}.resolved-selection-list li>div{display:grid;gap:4px;min-width:0}.resolved-selection-list small{line-height:1.45}.resolved-selection-dialog-actions{flex-wrap:wrap;justify-content:flex-end}.high-frequency-meta{justify-items:end}.status-chip{background:#edf1f0;border-radius:999px;color:#53625e!important;display:inline-flex;font-size:.78rem;padding:5px 10px;width:fit-content}.status-chip.eligible{background:#dff3e9;color:#17603f!important}.retry-toolbar{align-items:center;justify-content:space-between}.retry-role-strip,.retry-navigation,.retry-submit-actions,.retry-summary-actions,.segment-player,.whole-part-audio{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.retry-role-strip,.whole-part-audio,.segment-player{background:#fff;border:1px solid #d9e3df;border-radius:14px;padding:14px 18px}.whole-part-audio audio,.segment-player audio{flex:1 1 320px;max-width:100%}.retry-result.correct{color:#17603f}.retry-result.wrong{color:#a33a32}.retry-question-content{display:grid;gap:16px;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr)}.retry-shared-context,.retry-question-card{background:#fff;border:1px solid #d9e3df;border-radius:18px;box-shadow:0 12px 30px #25433814;padding:22px}.retry-reading-material,.retry-question-text{line-height:1.75;white-space:pre-wrap}.retry-media-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.retry-media-grid img{background:#fff;border:1px solid #d9e3df;border-radius:14px;max-height:320px;object-fit:contain;padding:8px;width:100%}.retry-question-number{color:#17603f;font-weight:700;margin-bottom:12px}.retry-options{display:grid;gap:10px;margin-top:18px}.retry-option{align-items:center;background:#fff;border:1px solid #d9e3df;border-radius:12px;cursor:pointer;display:grid;gap:12px;grid-template-columns:auto auto 1fr;padding:12px 14px;text-align:left}.retry-option.selected{background:#eef8f3;border-color:#2e8b63}.retry-option img{max-height:120px;max-width:180px;object-fit:contain}.retry-question-card textarea{margin-top:18px;width:100%}.retry-navigation{justify-content:space-between}.retry-summary-card{margin:8vh auto 0;max-width:900px;width:100%}.retry-summary-actions{margin-top:22px}.resolved-review-progress{background:#dce8e3;border-radius:999px;height:10px;overflow:hidden}.resolved-review-progress>div{background:#2e8b63;height:100%;transition:width .18s ease}.resolved-review-state{border-radius:999px;display:inline-flex;font-weight:700;padding:6px 12px}.resolved-review-state.active{background:#e5f3ec;color:#17603f}.resolved-review-state.completed{background:#dff3e9;color:#17603f}.resolved-review-state.cancelled,.resolved-review-state.expired{background:#edf1f0;color:#53625e}.danger-button{background:#fff;border:1px solid #bd5148;border-radius:10px;color:#97342c;cursor:pointer;font:inherit;font-weight:700;padding:10px 16px}.danger-button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:900px){.coverage-banner,.report-two-column,.retry-question-content{grid-template-columns:1fr}.retry-action-card,.high-frequency-item{align-items:stretch;flex-direction:column}.high-frequency-meta{justify-items:start}.resolved-selection-dialog-overlay{padding:16px}.resolved-selection-dialog{max-height:calc(100vh - 32px)}.resolved-selection-list li{flex-direction:column}.resolved-selection-list .text-button{width:100%}.retry-navigation{align-items:stretch;flex-direction:column}.retry-navigation>button,.retry-submit-actions>button,.retry-summary-actions>button{flex:1 1 auto}}.user-password-button{min-height:34px;padding:0 10px}.text-button{min-height:30px;padding:0 10px;color:#5c3f1f;background:#f1e5d7}button:disabled{cursor:default;opacity:.55}.login-panel .notice{margin-bottom:0}label{display:flex;flex-direction:column;gap:6px;color:#3f514b;font-size:13px;font-weight:600}input,textarea{width:100%;border:1px solid #ccd9d4;border-radius:6px;padding:10px 11px;color:#1b2a2f;background:#fff;outline:none}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus{border-color:#24746f;box-shadow:0 0 0 3px #24746f1f}.paper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.paper-card{min-height:260px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;text-align:left;color:#1b2a2f}.paper-card:hover{border-color:#24746f;box-shadow:0 12px 28px #2438331a}.paper-card strong{line-height:1.35}.paper-stats{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.paper-stats span{min-width:0;padding:8px;border:1px solid #dce5e1;border-radius:6px;background:#f6faf8}.paper-stats strong{display:block;color:#24746f;font-size:18px}.paper-stats small{display:block;margin-top:2px;font-weight:700}.paper-progress{width:100%;display:grid;gap:6px}.paper-progress-meta{justify-content:space-between;width:100%}.paper-progress-meta span,.paper-progress-meta strong{color:#667a72;font-size:12px;font-weight:700}.paper-progress-track{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#dce5e1}.paper-progress-bar{height:100%;border-radius:inherit;background:#24746f;transition:width .2s ease}.card-action{margin-top:auto;color:#24746f;font-weight:700}.practice-grid{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:16px;align-items:start}.progress-sidebar,.question-panel,.wrong-panel,.answer-key-panel,.benefits-panel{min-width:0;padding:16px}.progress-sidebar,.side-stack{position:sticky;top:16px}.sidebar-paper{display:grid;gap:6px;margin-bottom:16px}.sidebar-paper span{color:#24746f;font-size:13px;font-weight:700}.part-nav,.side-stack,.wrong-list{display:flex;flex-direction:column;gap:12px}.part-group{display:grid;gap:8px}.part-title{display:flex;justify-content:space-between;gap:10px;color:#32453f;font-weight:700}.question-dots{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}.question-dot{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;border:1px solid #d5dfda;border-radius:6px;color:#536861;background:#f8faf9}.question-dot.active{border-color:#24746f;color:#173f3c;background:#e3f1ed}.question-dot.correct{color:#23724c}.question-dot.mastered{color:#2f6f89;background:#edf6f8}.question-dot.wrong{color:#9b3434}.question-dot.unsure{color:#805515}.question-dot.failed{color:#842b2b}.question-header,.section-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.answer-pill{align-self:flex-start;border-radius:999px;padding:6px 10px;color:#24534e;background:#dcebe7;font-size:13px;font-weight:700}.answer-pill.wrong{color:#842b2b;background:#f4dede}.answer-pill.mastered{color:#2f6175;background:#e1f0f4}.answer-pill.retrying{color:#6a4b16;background:#f3e6c8}.result-banner{display:grid;gap:5px;margin-bottom:14px;border:1px solid #d5dfda;border-radius:6px;padding:10px 12px;color:#40534d;background:#f5f8f6;font-weight:700}.result-banner small{color:inherit;font-size:12px;font-weight:600}.score-result{width:fit-content;border-radius:999px;padding:2px 8px;color:#fff;background:#24746f;font-size:12px}.score-result.muted{color:#40534d;background:#dce5e1}.result-banner.correct{color:#1d633e;border-color:#b9ddc8;background:#e4f4ea}.result-banner.mastered{color:#2f6175;border-color:#b7d7df;background:#e8f5f8}.result-banner.transient{border-style:dashed}.result-banner.correct .score-result{background:#23724c}.result-banner.wrong{color:#842b2b;border-color:#edc5c5;background:#f9e8e8}.result-banner.wrong .score-result{background:#9b3434}.result-banner .score-result.muted{color:#40534d;background:#dce5e1}.writing-feedback-panel{display:grid;gap:12px;margin-bottom:14px;border:1px solid #bfd8e0;border-radius:6px;padding:12px;color:#28434b;background:#f0f8fa}.writing-feedback-panel.pending{color:#5b4a22;border-color:#e2d2a8;background:#fbf6e8;font-weight:700}.writing-feedback-panel.failed{color:#842b2b;border-color:#edc5c5;background:#f9e8e8;font-weight:700}.writing-feedback-panel p,.writing-feedback-panel ul,.writing-feedback-panel blockquote{margin:0}.writing-feedback-panel ul{display:grid;gap:6px;padding-left:20px}.writing-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.writing-score-grid div,.writing-suggestions div{min-width:0;border:1px solid #d8e8ec;border-radius:6px;padding:8px;background:#fff}.writing-score-grid span,.writing-suggestions small{display:block;color:#667a72;font-size:12px;font-weight:700}.writing-score-grid strong{display:block;margin-top:3px;color:#2f6175;font-size:18px}.writing-suggestions{display:grid;gap:8px}.writing-suggestions span,.writing-suggestions strong{display:block;overflow-wrap:anywhere}.writing-suggestions strong{margin-top:4px;color:#24534e}.writing-feedback-panel blockquote{border-left:3px solid #2f6175;padding-left:10px;color:#32453f;white-space:pre-wrap}.part-prompt,.question-prompt{color:#536861;line-height:1.55}.reading-block,.question-text,.part-material{white-space:pre-wrap;line-height:1.65}.reading-block{max-height:360px;overflow:auto;margin:14px 0;border-left:4px solid #24746f;padding:12px 14px;background:#f5f9f7}.media-strip{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.media-item,.media-image{min-height:40px;border:1px solid #d5dfda;border-radius:6px;padding:8px 10px;color:#24534e;background:#f8faf9;text-decoration:none}.media-item audio{max-width:260px}.listening-audio-panel{display:grid;gap:10px;margin:14px 0}.listening-audio-item{justify-content:space-between;width:100%}.listening-audio-item audio{width:min(520px,100%);max-width:100%}.listening-transcript-review{display:grid;gap:12px;border:1px solid #d5dfda;border-radius:8px;padding:12px;background:#f8faf9}.question-hint{display:grid;gap:10px;margin-top:16px}.question-hint-panel{border:1px solid #c9dff3;border-radius:8px;color:#28434b;overflow-wrap:anywhere;padding:12px;white-space:pre-wrap}.listening-transcript-controls,.listening-transcript-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.listening-transcript-controls span{color:#667a72;font-size:13px;font-weight:700}.listening-transcript-error{color:#823232}.listening-transcript-blocks{display:grid;gap:12px}.listening-transcript-block{display:grid;gap:10px;min-width:0;border:1px solid #dce5e1;border-radius:7px;padding:12px;background:#fff}.listening-transcript-block h3,.listening-transcript-block p{margin:0}.listening-transcript-text{overflow-wrap:anywhere;line-height:1.7}.listening-transcript-line{display:block;border-radius:4px;padding:1px 4px;transition:background-color .12s ease,color .12s ease}.listening-transcript-line.active{background:#fff1b8;color:#5f4200}.listening-transcript-block .secondary-button{justify-self:start}.listening-transcript-missing{color:#805515}.listening-materials,.part-image-materials{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0}.listening-material-link,.part-image-material-link{display:block;overflow:hidden;border:1px solid #d5dfda;border-radius:6px;background:#f8faf9}.listening-material-image,.part-image-material-image{display:block;width:100%;max-height:620px;object-fit:contain;background:#f8faf9}.listening-part-panel{display:grid;gap:14px}.listening-part-panel .question-header{margin-bottom:0}.listening-question-list{display:grid;gap:14px}.listening-question-item{display:grid;gap:12px;border-top:1px solid #e1e8e4;border-left:3px solid transparent;padding:14px 0 0 12px}.listening-question-item:first-child{border-top:0;padding-top:0}.listening-question-item.active{border-left-color:#24746f;background:#f7fbf9}.listening-question-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.listening-question-title{border:0;padding:0;color:#1b2a2f;background:transparent;font-size:18px;font-weight:700;text-align:left}.listening-question-title:hover,.listening-question-item.active .listening-question-title{color:#24746f}.listening-question-body{display:grid;gap:12px}.listening-choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.listening-question-item .result-banner{margin-bottom:0}.listening-question-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.question-body{display:grid;gap:14px}.choice-list{display:grid;gap:10px}.choice-option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;border:1px solid #d5dfda;border-radius:6px;padding:12px;color:#263934;background:#fff;font-weight:500}.choice-option.selected{border-color:#24746f;background:#e8f4f0}.choice-option.disabled{cursor:default;opacity:.8}.choice-option input{width:auto;margin-top:2px}.choice-option.image-choice{align-items:stretch}.choice-content{display:grid;gap:10px;min-width:0}.choice-option-image{display:block;width:100%;max-height:230px;object-fit:contain;border:1px solid #e1e8e4;border-radius:6px;background:#f8faf9}.short-answer{max-width:420px}.writing-box{display:grid;gap:8px}.writing-box span{justify-self:end;color:#667a72;font-size:13px}.question-actions{flex-wrap:wrap;justify-content:space-between;margin-top:18px}.wrong-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;border:1px solid #e1e8e4;border-radius:6px;padding:8px}.wrong-row button:first-child{min-width:0;border:0;padding:0;text-align:left;color:#1b2a2f;background:transparent}.answer-key-panel textarea{margin-bottom:10px}.benefits-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}.benefits-panel{display:grid;gap:14px}.score-summary-panel small,.benefit-list-item small{color:#667a72;font-size:12px;font-weight:700}.score-summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.score-summary-metrics div{display:grid;gap:4px;border:1px solid #e1e8e4;border-radius:6px;padding:10px;background:#f8faf9}.score-summary-metrics span{color:#667a72;font-size:12px;font-weight:700}.score-summary-metrics strong{color:#24746f;font-size:20px}.benefit-list{display:grid;gap:10px}.benefit-list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e1e8e4;border-radius:6px;padding:12px;background:#f8faf9}.benefit-list-item p{margin:6px 0;color:#536861;line-height:1.45}.benefit-title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.user-benefit-item{align-items:start}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;color:#40534d;background:#dce5e1;font-size:12px;font-weight:700}.status-pill.active{color:#24534e;background:#dcebe7}.status-pill.used{color:#2f6175;background:#e1f0f4}.confirm-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#1b2a2f61}.confirm-dialog{width:min(440px,100%);display:grid;gap:16px;border:1px solid #d5dfda;border-radius:8px;padding:18px;background:#fff;box-shadow:0 18px 46px #24383338}.confirm-dialog-header,.confirm-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.confirm-dialog h2,.confirm-dialog p,.confirm-summary{margin:0}.confirm-dialog h2{font-size:20px}.confirm-dialog p{color:#536861;line-height:1.5}.confirm-summary{display:grid;gap:8px}.confirm-summary div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;border:1px solid #e1e8e4;border-radius:6px;padding:10px;background:#f8faf9}.confirm-summary dt{color:#667a72;font-size:12px;font-weight:700}.confirm-summary dd{margin:0;color:#1b2a2f}.confirm-actions{justify-content:flex-end;flex-wrap:wrap}.password-dialog-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;overflow:auto;padding:20px;background:#1b2a2f6b}.password-dialog{width:min(480px,100%);display:grid;gap:16px;border:1px solid #d5dfda;border-radius:8px;padding:20px;background:#fff;box-shadow:0 18px 46px #24383338}.password-dialog-header,.password-dialog-title,.password-dialog-actions{display:flex;align-items:center;gap:10px}.password-dialog-header{align-items:flex-start;justify-content:space-between}.password-dialog-title h2,.password-dialog-header p{margin:0}.password-dialog-title h2{font-size:20px}.password-dialog-header p{margin-top:8px;color:#536861;font-size:13px;line-height:1.5}.password-form{display:grid;gap:14px}.password-form label small{color:#667a72;font-weight:400}.password-dialog-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:2px}.vocabulary-shell{background:#f3f6f4}.vocabulary-toolbar,.vocabulary-search,.vocabulary-detail-heading,.vocabulary-status-actions,.vocabulary-dialog-header,.vocabulary-dialog-actions{display:flex;align-items:center;gap:10px}.vocabulary-toolbar{flex-wrap:wrap;margin-bottom:16px}.vocabulary-search{flex:1 1 320px;flex-direction:row;border:1px solid #ccd9d4;border-radius:6px;padding-left:10px;background:#fff}.vocabulary-search input{border:0;box-shadow:none}.vocabulary-toolbar select{min-height:42px;border:1px solid #ccd9d4;border-radius:6px;padding:0 10px;color:#1b2a2f;background:#fff}.vocabulary-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}.vocabulary-list-panel,.vocabulary-detail-panel{min-width:0;border:1px solid #d5dfda;border-radius:8px;padding:16px;background:#fff}.vocabulary-list,.vocabulary-personal-form,.vocabulary-sources{display:grid;gap:10px}.vocabulary-list-item{display:grid;gap:7px;width:100%;border:1px solid #e1e8e4;border-radius:7px;padding:12px;color:#1b2a2f;background:#fff;text-align:left}.vocabulary-list-item.active,.vocabulary-list-item:hover{border-color:#24746f;background:#f1f8f5}.vocabulary-list-item div,.vocabulary-list-item footer{display:flex;justify-content:space-between;gap:10px}.vocabulary-list-item p,.vocabulary-list-item small,.vocabulary-list-item footer{margin:0;color:#536861}.vocabulary-list-item small,.vocabulary-list-item footer{font-size:12px}.load-more{width:100%;margin-top:12px}.vocabulary-detail-heading{justify-content:space-between;margin-bottom:14px}.vocabulary-detail-heading h2,.vocabulary-dialog-header h2{margin:0}.vocabulary-content-status{margin-bottom:12px;border-radius:6px;padding:9px 11px;color:#40534d;background:#edf2ef}.vocabulary-content-status.pending{color:#6a4b16;background:#fbf3df}.vocabulary-content-status.failed{color:#842b2b;background:#f9e8e8}.vocabulary-meaning{font-size:18px;font-weight:700}.vocabulary-detail-panel blockquote{display:grid;gap:6px;margin:12px 0;border-left:3px solid #24746f;padding-left:12px;color:#32453f}.vocabulary-detail-panel blockquote small{color:#667a72}.vocabulary-personal-form{margin:18px 0;border-top:1px solid #e1e8e4;padding-top:16px}.vocabulary-status-actions{flex-wrap:wrap;margin-bottom:18px}.vocabulary-sources article,.vocabulary-source-preview,.vocabulary-save-result{display:grid;gap:6px;border:1px solid #e1e8e4;border-radius:6px;padding:10px;background:#f8faf9}.vocabulary-sources article p,.vocabulary-save-result p{margin:0;white-space:pre-wrap}.vocabulary-sources article small,.vocabulary-source-preview span{color:#667a72;font-size:12px}.vocabulary-dialog-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:auto;padding:20px;background:#1b2a2f6b}.vocabulary-dialog{width:min(620px,100%);display:grid;gap:14px;border:1px solid #d5dfda;border-radius:8px;padding:18px;background:#fff;box-shadow:0 18px 46px #24383338}.vocabulary-dialog-header{justify-content:space-between;align-items:flex-start}.vocabulary-dialog-actions{justify-content:flex-end;flex-wrap:wrap}.status-pill.learning{color:#24534e;background:#dcebe7}.status-pill.mastered{color:#2f6175;background:#e1f0f4}.status-pill.archived{color:#6a4b16;background:#f3e6c8}.selectable-vocabulary-text{cursor:text}.selectable-vocabulary-text::selection,.selectable-vocabulary-text *::selection{color:#173f3c;background:#bfe4d8}@media(max-width:1180px){.practice-grid{grid-template-columns:240px minmax(0,1fr)}.side-stack{position:static;grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.student-shell,.practice-shell,.benefits-shell{padding:16px}.student-topbar,.practice-topbar,.question-header,.listening-question-header,.question-actions{align-items:flex-start;flex-direction:column}.listening-question-actions{justify-content:stretch}.listening-question-actions .primary-button,.listening-question-actions .secondary-button,.listening-transcript-controls .secondary-button,.listening-transcript-error .secondary-button{width:100%;justify-content:center}.listening-transcript-controls,.listening-transcript-error,.question-hint{align-items:stretch;flex-direction:column}.question-hint .secondary-button{justify-content:center;width:100%}.practice-grid,.benefits-grid,.side-stack{grid-template-columns:1fr}.progress-sidebar{position:static}.score-strip,.level-progress-strip,.user-strip{width:100%;justify-content:space-between}.media-item audio{max-width:100%}.benefit-list-item,.score-summary-metrics,.writing-score-grid{grid-template-columns:1fr}.benefit-list-item .primary-button,.benefit-list-item .secondary-button{width:100%}.confirm-overlay,.password-dialog-overlay{padding:16px}.confirm-summary div{grid-template-columns:1fr;gap:4px}.confirm-actions .primary-button,.confirm-actions .secondary-button,.password-dialog-actions .primary-button,.password-dialog-actions .secondary-button{flex:1 1 140px}.vocabulary-grid{grid-template-columns:1fr}.vocabulary-toolbar>*,.vocabulary-dialog-actions .primary-button,.vocabulary-dialog-actions .secondary-button{width:100%}}
