:root{color:#102a43;font-synthesis:none;--navy:#102a43;--blue:#1167b1;--cyan:#00a8cc;--line:#d9e2ec;--muted:#627d98;--green:#16846b;background:#f4f7fa;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.site-header{border-bottom:1px solid var(--line);z-index:5;background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 max(28px,50vw - 600px);display:flex;position:relative}.brand{color:var(--navy);background:0 0;border:0;align-items:center;gap:12px;font-size:18px;font-weight:700;display:flex}.brand-mark{background:var(--navy);color:#fff;border-radius:6px;place-items:center;width:36px;height:36px;font-size:21px;display:grid}.ghost,.back-link{color:var(--navy);background:0 0;border:0;align-items:center;gap:8px;font-weight:600;display:flex}.library,.setup-page{max-width:1200px;margin:auto;padding:54px 28px 80px}.hero{background:var(--navy);color:#fff;border-radius:18px;justify-content:space-between;align-items:center;min-height:230px;padding:46px 52px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";border:1px solid #ffffff26;border-radius:50%;width:330px;height:330px;position:absolute;top:-140px;right:-80px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-size:12px;font-weight:700}.hero h1,.setup-page h1{margin:12px 0;font-size:44px;line-height:1.05}.hero p{color:#bcccdc;font-size:17px}.hero-score{z-index:2;grid-template-columns:repeat(2,70px);gap:10px;display:grid;position:relative}.hero-score span{background:#ffffff0f;border:1px solid #ffffff59;border-radius:10px;place-items:center;height:70px;font-size:24px;font-weight:700;display:grid}.test-grid{gap:16px;margin-top:30px;display:grid}.test-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:24px;padding:26px 28px;display:flex;box-shadow:0 8px 22px #102a430b}.test-number{color:#9fb3c8;border-right:1px solid var(--line);padding-right:24px;font-size:32px;font-weight:700}.card-main{flex:1}.version{color:var(--blue);letter-spacing:.08em;font-size:11px;font-weight:700}.test-card h2{margin:5px 0;font-size:22px}.test-card p{color:var(--muted);margin:0 0 15px}.section-pills,.card-meta{flex-wrap:wrap;gap:9px;display:flex}.section-pills span{color:#315b78;background:#edf5fb;border-radius:5px;align-items:center;gap:5px;padding:6px 9px;font-size:12px;display:flex}.card-meta{color:var(--muted);margin-top:14px;font-size:13px}.card-meta span{align-items:center;gap:5px;display:flex}.primary,.secondary{border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:12px 17px;font-weight:700;display:inline-flex}.primary{background:var(--blue);color:#fff}.primary:hover{background:#0c5799}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{color:var(--navy);border:1px solid var(--line);background:#fff}.compact{margin-top:10px;padding:9px 12px}.wide{width:100%;margin-top:10px}.center{place-items:center;height:70vh;display:grid}.loader{border:3px solid #d9e2ec;border-top-color:var(--blue);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.setup-page .back-link{margin-bottom:35px}.setup-layout{grid-template-columns:1.25fr .75fr;align-items:start;gap:70px;display:grid}.lead{color:var(--muted);max-width:650px;font-size:18px;line-height:1.65}.section-list{grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;display:grid}.section-list>div{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.section-list>div>span{color:#9fb3c8;font-weight:700}.section-list svg{color:var(--blue)}.section-list strong,.section-list small{display:block}.section-list small{color:var(--muted);margin-top:3px}.setup-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px;box-shadow:0 14px 40px #102a4314}.setup-card h2{margin-top:0}.setup-card label{margin:16px 0 6px;font-size:13px;font-weight:700;display:block}.setup-card input{border:1px solid #bcccdc;border-radius:6px;outline:none;width:100%;margin-top:7px;padding:11px 12px}.setup-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1167b11a}.segmented{background:#eef2f6;border-radius:7px;grid-template-columns:1fr 1fr;margin:18px 0;padding:3px;display:grid}.segmented button{background:0 0;border:0;border-radius:5px;padding:9px}.segmented .active{color:var(--blue);background:#fff;font-weight:700;box-shadow:0 2px 6px #102a431a}.check-row{border:0;border-top:1px solid var(--line);text-align:left;width:100%;color:var(--navy);background:#fff;align-items:center;gap:10px;padding:14px 2px;display:flex}.check-row svg:last-child{margin-left:auto}.check-row.passed{color:var(--green)}.exam-page{background:#eef2f6;min-height:calc(100vh - 72px)}.exam-bar{background:var(--navy);color:#fff;grid-template-columns:1fr 1fr 1fr;align-items:center;height:68px;padding:0 30px;display:grid}.exam-bar>div:first-child span{color:#9fb3c8;text-transform:uppercase;letter-spacing:.1em;font-size:10px;display:block}.module-name{text-align:center;color:#d9e2ec}.timer{font-variant-numeric:tabular-nums;justify-self:end;align-items:center;gap:8px;font-size:19px;display:flex}.timer.urgent{color:#ff9d9d}.exam-layout{grid-template-columns:230px 1fr;max-width:1500px;min-height:calc(100vh - 140px);margin:auto;display:grid}.question-nav{border-right:1px solid var(--line);background:#fff;padding:26px 22px}.progress-label{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.progress{background:#e6edf3;border-radius:4px;height:5px;margin:10px 0 24px;overflow:hidden}.progress i{background:var(--cyan);height:100%;display:block}.number-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.number-grid button{aspect-ratio:1;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:5px;position:relative}.number-grid button.answered{color:var(--blue);background:#dceefa;border-color:#c1e2f6;font-weight:700}.number-grid button.current{outline:2px solid var(--blue);outline-offset:1px}.number-grid button.flagged:after{content:"";background:#e66a6a;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.legend{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:8px;margin-top:22px;padding-top:16px;font-size:11px;display:flex}.legend span{align-items:center;gap:7px;display:flex}.dot{border:1px solid var(--line);border-radius:2px;width:10px;height:10px}.dot.answered{background:#dceefa;border-color:#c1e2f6}.question-stage{width:100%;max-width:1100px;margin:auto;padding:32px 44px 80px}.question-heading{color:var(--muted);letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:12px;font-weight:700;display:flex}.flag{color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;display:flex}.flag.active{color:#c43c3c}.question-view{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:430px;padding:34px}.question-view.with-passage{grid-template-columns:1fr 1fr;padding:0;display:grid;overflow:hidden}.passage{border-right:1px solid var(--line);max-height:590px;padding:34px;line-height:1.75;overflow:auto}.passage h3{font-size:18px}.response-panel{padding:4px}.with-passage .response-panel{padding:34px}.response-panel h2{margin:8px 0 25px;font-size:20px;line-height:1.5}.choices{gap:10px;display:grid}.choices button{border:1px solid var(--line);text-align:left;color:var(--navy);background:#fff;border-radius:7px;align-items:flex-start;gap:13px;padding:14px 16px;display:flex}.choices button>span{border:1px solid #9fb3c8;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:12px;display:grid}.choices button:hover{border-color:var(--blue)}.choices button.selected{border-color:var(--blue);background:#eef7fd}.choices button.selected>span{background:var(--blue);border-color:var(--blue);color:#fff}.audio-card{background:#f0f6fa;border-radius:8px;align-items:center;gap:13px;margin-bottom:20px;padding:14px;display:flex}.audio-card>svg{color:var(--blue)}.audio-card div{flex:1}.audio-card strong{margin-bottom:6px;font-size:12px;display:block}.audio-card audio{width:100%;height:34px}.question-image{border:1px solid var(--line);border-radius:6px;max-width:100%}.writing-area{resize:vertical;border:1px solid #bcccdc;border-radius:7px;outline:none;width:100%;min-height:310px;padding:16px;line-height:1.6}.writing-area:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1167b11a}.word-count{text-align:right;color:var(--muted);margin-top:8px;font-size:12px}.recorder{border:1px solid var(--line);background:#f5f8fa;border-radius:10px;align-items:center;gap:20px;padding:25px;display:flex}.recorder.recording{background:#fff7f7;border-color:#e57373}.recorder.saved{background:#f2fbf8;border-color:#7bc4ad}.recorder-icon{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:55px;height:55px;display:grid}.recording .recorder-icon{background:#d54343;animation:1s infinite pulse}.saved .recorder-icon{background:var(--green)}@keyframes pulse{50%{box-shadow:0 0 0 8px #d543431f}}.countdown{font-variant-numeric:tabular-nums;margin-top:8px;font-size:32px;font-weight:700}.error{color:#b42318;font-size:13px}.save-indicator{height:26px;color:var(--green);align-items:center;gap:4px;padding-top:8px;font-size:12px;display:flex}.exam-actions{justify-content:space-between;margin-top:18px;display:flex}.submit{background:var(--green)}.result-page{place-items:center;min-height:calc(100vh - 72px);padding:40px;display:grid}.result-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;width:min(570px,100%);padding:42px;box-shadow:0 20px 50px #102a431a}.success-mark{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 22px;display:grid}.result-card h1{margin:8px 0 28px}.score-ring{--score:0deg;background:conic-gradient(var(--blue) var(--score),#e6edf3 0);border-radius:50%;place-items:center;width:170px;height:170px;margin:0 auto 18px;display:grid;position:relative}.score-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:12px}.score-ring div{position:relative}.score-ring strong{font-size:48px}.score-ring span{color:var(--muted)}.result-card p{color:var(--muted);line-height:1.6}.attempt-id{background:#f3f6f8;border-radius:8px;flex-direction:column;gap:6px;margin:22px 0;padding:13px;display:flex}.attempt-id span{color:var(--muted);font-size:11px}.attempt-id code{word-break:break-all;font-size:13px}.empty{text-align:center;color:var(--muted);padding:50px}@media (max-width:800px){.site-header{padding:0 16px}.library,.setup-page{padding:28px 16px}.hero{padding:32px 25px}.hero h1,.setup-page h1{font-size:34px}.hero-score{display:none}.test-card{flex-wrap:wrap;align-items:flex-start}.test-number{display:none}.test-card>.primary{width:100%}.setup-layout{grid-template-columns:1fr;gap:28px}.exam-layout{grid-template-columns:1fr}.question-nav{display:none}.question-stage{padding:20px 14px 70px}.question-view.with-passage{grid-template-columns:1fr}.passage{border-right:0;border-bottom:1px solid var(--line);max-height:400px}.exam-bar{grid-template-columns:1fr 1fr;padding:0 14px}.module-name{display:none}.question-view,.with-passage .response-panel,.passage{padding:22px}.brand span:last-child{display:none}}.word-bank{flex-wrap:wrap;gap:8px;margin:-8px 0 18px;display:flex}.word-bank button{border:1px solid var(--line);color:var(--navy);background:#f5f8fa;border-radius:5px;padding:7px 10px;font-size:13px}.word-bank button:hover{border-color:var(--blue);background:#eef7fd}.number-grid button:disabled{cursor:not-allowed;opacity:.55}.audio-card .compact{width:auto}.passage mark{color:#102a43;background:#fff0a8;border-radius:3px;padding:2px 5px}.response-panel h2{white-space:pre-line}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}.toefl-admin-page{color:#102a43;background:#f1f5f8;min-height:100vh}.toefl-admin-page>header{background:#fff;border-bottom:1px solid #d9e2ec;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50vw - 600px);display:flex}.toefl-admin-page>header a{color:#1167b1;font-size:13px}.toefl-admin-page>header div{text-align:right}.toefl-admin-page>header b,.toefl-admin-page>header span{display:block}.toefl-admin-page>header span{letter-spacing:.13em;color:#829ab1;margin-top:3px;font-size:9px}.toefl-admin-page main{max-width:1200px;margin:auto;padding:55px 24px}.admin-intro span{color:#00a8cc;letter-spacing:.15em;font-size:10px;font-weight:800}.admin-intro h1{margin:11px 0;font-size:42px}.admin-intro p{color:#627d98}.admin-login{max-width:620px;margin:30px 0 18px;display:flex}.admin-login input{border:1px solid #bcccdc;outline:none;flex:1;min-width:0;padding:13px 15px}.admin-login button,.admin-table-wrap button{color:#fff;background:#1167b1;border:0;padding:0 20px;font-weight:700}.admin-login button:disabled{opacity:.45}.admin-error{color:#b42318;background:#fff0ee;max-width:620px;padding:12px 15px}.admin-table-wrap{background:#fff;border:1px solid #d9e2ec;margin-top:28px;overflow:auto}.admin-table-wrap table{border-collapse:collapse;width:100%;min-width:850px}.admin-table-wrap th,.admin-table-wrap td{text-align:left;border-bottom:1px solid #e7edf2;padding:15px;font-size:13px}.admin-table-wrap th{color:#627d98;letter-spacing:.07em;background:#f7f9fb;font-size:10px}.admin-table-wrap td small{color:#9fb3c8;margin-top:5px;font-size:9px;display:block}.admin-table-wrap button{border-radius:4px;padding:8px 10px}.status{color:#627d98;background:#eef2f5;border-radius:4px;padding:5px 8px;font-size:11px;display:inline-block}.status.submitted{color:#16846b;background:#e6f6f0}.admin-table-wrap td button{margin:2px}.admin-table-wrap td>div{flex-wrap:wrap;margin-top:6px;display:flex}.admin-table-wrap td>div button{color:#1167b1;background:#e8f1f8;font-size:11px}.score-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;display:grid}.score-summary>div{background:#f0f6fa;border-radius:9px;padding:14px 8px}.score-summary span{color:var(--muted);font-size:11px;display:block}.score-summary strong{color:var(--blue);margin-top:5px;font-size:27px;display:block}.pending-note{background:#fff7e8;border:1px solid #f2d29a;border-radius:8px;padding:12px;color:#7a5312!important}.answer-review{text-align:left;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.answer-review>h2{text-align:center}.answer-review article{border:1px solid var(--line);border-left:4px solid #9fb3c8;border-radius:8px;margin:12px 0;padding:16px}.answer-review article.correct{border-left-color:var(--green)}.answer-review article.incorrect{border-left-color:#d14343}.answer-review article.pending{border-left-color:#d59a27}.answer-review article header{justify-content:space-between;gap:12px;display:flex}.answer-review article.correct header span{color:var(--green)}.answer-review article.incorrect header span{color:#b42318}.answer-review article.pending header span{color:#8b6418}.review-prompt{white-space:pre-line;font-size:14px;color:var(--navy)!important}.answer-review dl{gap:8px;margin:12px 0 0;display:grid}.answer-review dl>div{background:#f5f8fa;border-radius:6px;padding:10px}.answer-review dt{color:var(--muted);margin-bottom:3px;font-size:11px}.answer-review dd{white-space:pre-wrap;margin:0;font-size:14px}.result-card{width:min(780px,100%)}@media (max-width:700px){.score-summary{grid-template-columns:1fr}.answer-review article{padding:13px}}.teacher-result{background:#f2fbf8;border:1px solid #7bc4ad;border-radius:9px;margin:16px 0;padding:16px}.teacher-result span,.teacher-result strong{display:block}.teacher-result span{color:#51766a;font-size:12px}.teacher-result strong{color:var(--green);margin:5px;font-size:28px}.teacher-result p{color:var(--navy);white-space:pre-wrap;margin:5px 0 0}.grade-editor{gap:6px;min-width:190px;display:grid!important}.grade-editor select,.grade-editor textarea{font:inherit;border:1px solid #bcccdc;border-radius:4px;padding:7px}.grade-editor textarea{resize:vertical;min-height:55px}.grade-editor button:disabled{opacity:.45}.test-group{gap:16px;margin-top:20px;display:grid}.test-group>h2{color:var(--navy);align-items:center;gap:9px;margin:12px 0 0;font-size:20px;display:flex}.test-group>h2 svg{color:var(--blue)}.test-group>h2 span{color:var(--muted);background:#e8eff5;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.section-score-report{border:1px solid var(--line);text-align:left;background:#f7fafc;border-radius:12px;margin:28px 0;padding:24px}.section-score-report>h2{margin:0 0 16px;font-size:18px}.section-score-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.section-score-grid article{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:135px;padding:17px}.section-score-grid article>span,.section-score-grid article>small{color:var(--muted);font-size:11px;display:block}.section-score-grid article>strong{color:var(--blue);margin:9px 0 2px;font-size:30px;display:block}.section-score-grid article>strong small{font-size:13px}.section-score-grid article>strong.pending-score{color:#8a6d1d;margin-top:18px;font-size:20px}.section-score-grid article>p{margin:0 0 8px;font-size:12px}.section-score-report>p{margin:16px 0 0;font-size:12px}@media (max-width:600px){.section-score-grid{grid-template-columns:1fr}}.admin-login{align-items:flex-end;gap:0}.admin-login label{flex:1;display:grid}.admin-login label>span{font-size:12px;font-weight:700}.admin-login label>small{color:#829ab1;margin:3px 0 7px;font-size:10px}.admin-login label>input{width:100%}.admin-login button{min-height:43px}.admin-search{grid-template-columns:auto minmax(260px,520px) auto;align-items:center;gap:12px;margin:26px 0 10px;display:grid}.admin-search label{font-size:13px;font-weight:700}.admin-search input{border:1px solid #bcccdc;outline:none;padding:11px 13px}.admin-search input:focus{border-color:#1167b1;box-shadow:0 0 0 3px #1167b11a}.admin-search span{color:#627d98;font-size:11px}.admin-empty{color:#627d98;text-align:center;background:#fff;border:1px dashed #bcccdc;margin-top:24px;padding:28px}@media (max-width:700px){.admin-search{grid-template-columns:1fr}.admin-login{flex-direction:column;align-items:stretch;gap:10px}.admin-login button{padding:12px 20px}}.section-grades span{white-space:nowrap;margin:3px 0;display:block}.admin-review-row>td{background:#f3f7fa;padding:0!important}.admin-review-panel{gap:22px;padding:25px;display:grid}.section-grade-editor{background:#fff;border:1px solid #d9e2ec;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;padding:20px;display:grid}.section-grade-editor label{gap:7px;display:grid}.section-grade-editor select,.section-grade-editor textarea{width:100%;font:inherit;border:1px solid #bcccdc;padding:9px}.section-grade-editor textarea{resize:vertical;min-height:70px}.section-grade-editor>button{min-height:42px}.admin-answer-list{gap:12px;display:grid}.admin-answer-list>h3{margin:0}.admin-answer-list article{background:#fff;border:1px solid #d9e2ec;border-left:4px solid #9fb3c8;padding:18px}.admin-answer-list article.correct{border-left-color:#16846b}.admin-answer-list article.incorrect{border-left-color:#c43c3c}.admin-answer-list article.subjective{border-left-color:#b28a24}.admin-answer-list article header{justify-content:space-between;gap:15px;display:flex}.admin-answer-list article header span{color:#627d98;font-size:11px}.admin-answer-list article>p{line-height:1.55}.admin-answer-list dl{gap:8px;margin:12px 0;display:grid}.admin-answer-list dl>div{background:#f7f9fb;grid-template-columns:100px 1fr;gap:10px;padding:9px;display:grid}.admin-answer-list dt{color:#627d98;font-size:11px}.admin-answer-list dd{white-space:pre-wrap;margin:0;line-height:1.5}.admin-answer-list article>button{padding:9px 12px}@media (max-width:850px){.section-grade-editor{grid-template-columns:1fr}.admin-review-panel{padding:14px}.admin-answer-list dl>div{grid-template-columns:1fr}}.band-report{min-width:240px}.band-report>strong{color:#1167b1;margin-bottom:8px;font-size:15px;display:block}.band-report>strong.pending{color:#8a6d1d;font-size:12px}.band-report>div{flex-wrap:wrap;gap:6px;display:flex}.band-report>div>span{color:#315b78;background:#edf5fb;border-radius:5px;gap:2px;min-width:88px;padding:7px 8px;font-size:11px;display:grid}.band-report>div>span b{font-size:10px}.band-report>div>span small{color:#627d98;font-size:9px}.admin-review-panel>.band-report{background:#fff;border:1px solid #d9e2ec;padding:18px}.admin-review-panel>.band-report>div>span{min-width:130px}
.admin-notice{color:#146c55;background:#e8f7f1;border:1px solid #b8e2d3;max-width:760px;padding:12px 15px}.admin-table-wrap button:disabled{cursor:not-allowed;opacity:.5}.admin-table-wrap button.danger-button{color:#b42318;background:#fff0ee;border:1px solid #f3c3bd}.teacher-console main{max-width:1120px}.teacher-console button{cursor:pointer;font:inherit}.teacher-console .muted{color:#86868b}.teacher-console .low{color:#b42318}.console-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 18px;display:flex}.console-tabs{background:#7676801f;border-radius:12px;gap:6px;padding:3px;display:flex}.console-tabs button{color:#1d1d1f;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:8px 14px;font-size:14px;display:inline-flex}.console-tabs button span{color:#86868b;font-variant-numeric:tabular-nums;font-size:12px}.console-tabs button.active{background:#fff;font-weight:600;box-shadow:0 2px 8px #0000001a}.console-search{color:#86868b;background:#fff;border-radius:12px;flex:1;align-items:center;gap:8px;min-width:240px;padding:0 12px;display:flex;box-shadow:0 0 0 1px #00000014}.console-search input{background:0 0;outline:none;flex:1;padding:11px 0;font-size:14px;box-shadow:none!important;border:0!important}.console-refresh{color:#0a6cc2;background:0 0;border:0;font-size:14px}.attempt-list{gap:10px;display:grid}.attempt-row{background:#fff;border-radius:16px;grid-template-columns:minmax(150px,1fr) minmax(200px,1.4fr) minmax(170px,1.2fr) 74px 80px;align-items:center;gap:14px;padding:14px 18px;display:grid;box-shadow:0 0 0 1px #0000000d}.attempt-who b,.attempt-test span{font-size:15px;display:block}.attempt-who small,.attempt-test small{color:#86868b;margin-top:3px;font-size:12px;display:block}.band-chips{flex-wrap:wrap;gap:5px;display:flex}.band-chips span{color:#424245;background:#f5f5f7;border-radius:980px;padding:3px 9px;font-size:12px}.band-chips span b{color:#6e6e73;margin-right:4px;font-weight:600}.band-chips span.teacher{color:#16846b;background:#e6f6f0}.band-chips span.pending{color:#8b6418;background:#fff7e8}.band-chips span.overall{color:#fff;background:#123f58}.band-chips span.overall b{color:#ffffffbf}.grade-status{text-align:center;color:#6e6e73;background:#f5f5f7;border-radius:980px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.grade-status.pending{color:#b42318;background:#fff0ee}.grade-status.draft{color:#8b6418;background:#fff7e8}.grade-status.released{color:#16846b;background:#e6f6f0}.grade-status.auto{color:#123f58;background:#eef4f8}.teacher-console .primary-action{color:#fff;background:#123f58;border:0;border-radius:980px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:600;display:inline-flex}.teacher-console .primary-action:disabled{opacity:.45;cursor:not-allowed}.grading-workspace{gap:16px;padding-bottom:90px;display:grid}.back-button{color:#0a6cc2;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:0;font-size:14px;display:inline-flex}.grading-head{background:#fff;border-radius:20px;flex-wrap:wrap;justify-content:space-between;gap:18px;padding:20px 24px;display:flex;box-shadow:0 0 0 1px #0000000d}.grading-head h1{margin:8px 0 4px;font-size:28px}.grading-head p{color:#6e6e73;margin:0 0 6px}.grading-head code{color:#86868b;font-size:12px}.head-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.head-actions button{color:#1d1d1f;background:#f5f5f7;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.head-actions .danger-button{color:#b42318;background:#fff0ee}.grade-section{background:#fff;border-radius:20px;gap:14px;padding:20px 24px;display:grid;box-shadow:0 0 0 1px #0000000d}.grade-section h2{align-items:center;gap:8px;margin:0;font-size:20px;display:flex}.grade-section h2 span{color:#86868b;font-size:13px;font-weight:500}.grade-item{background:#fafafc;border-radius:16px;gap:10px;padding:16px 18px;display:grid;box-shadow:inset 0 0 0 1px #0000000f}.grade-item.scored{box-shadow:inset 0 0 0 1px #b8e2d3}.grade-item header{justify-content:space-between;align-items:center;display:flex}.scored-badge{color:#fff;background:#16846b;border-radius:980px;padding:2px 9px;font-size:12px;font-weight:700}.item-summary{color:#424245;margin:0;font-size:14px;line-height:1.6}.item-task{background:#fff;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.65}.item-task p{margin:0 0 8px}.item-task ol{margin:6px 0 0;padding-left:20px;list-style:decimal}.link-like{color:#0a6cc2;background:0 0;border:0;justify-self:start;padding:0;font-size:13px}.student-answer{background:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 0 0 1px #0000000d}.student-answer p{white-space:pre-wrap;margin:6px 0 0;font-size:15px;line-height:1.7}.student-answer audio{width:100%;margin-top:6px}.answer-meta{color:#86868b;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.answer-meta em{color:#16846b;font-style:normal}.answer-meta em.low{color:#b42318}.answer-meta .prompt-audio{width:220px;height:32px;margin:0}.item-reference{white-space:pre-wrap;background:#eef7fd;border-radius:12px;margin:0;padding:10px 14px;font-size:14px;line-height:1.65}.score-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.score-row span{color:#6e6e73;margin-right:6px;font-size:13px}.score-row button,.band-picker button{color:#1d1d1f;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #d2d2d7;border-radius:9px;min-width:40px;height:36px;font-size:15px;font-weight:600}.score-row button.active,.band-picker button.active{color:#fff;background:#123f58;border-color:#123f58}.grade-item textarea,.section-verdict textarea{width:100%;min-height:70px;font:inherit;resize:vertical;border:1px solid #d2d2d7;border-radius:12px;outline:none;padding:10px 12px;font-size:14px}.grade-item textarea:focus,.section-verdict textarea:focus{border-color:#123f58;box-shadow:0 0 0 3px #123f581f}.quick-comments{flex-wrap:wrap;gap:6px;display:flex}.quick-comments button{color:#123f58;background:#eef4f8;border:0;border-radius:980px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;display:inline-flex}.section-verdict{border-top:1px solid #00000014;gap:10px;padding-top:14px;display:grid}.section-verdict>div:first-child{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-verdict .suggest{color:#16846b;background:#e6f6f0;border:0;border-radius:980px;padding:5px 12px;font-size:13px;font-weight:600}.band-picker{flex-wrap:wrap;gap:6px;display:flex}.band-picker button{min-width:50px}.objective-summary{background:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 0 0 1px #0000000d}.objective-summary>button{color:#1d1d1f;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-size:15px;font-weight:600;display:flex}.objective-summary>button svg.open{transform:rotate(180deg)}.objective-list{gap:6px;max-height:420px;margin-top:12px;display:grid;overflow:auto}.objective-list>div{background:#e6f6f0;border-radius:10px;grid-template-columns:90px 1fr;gap:2px 10px;padding:8px 10px;font-size:13px;display:grid}.objective-list>div.incorrect{background:#fff0ee}.objective-list em{color:#6e6e73;grid-column:2;font-style:normal}.grading-bar{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);color:#6e6e73;background:#ffffffe0;justify-content:space-between;align-items:center;gap:14px;padding:12px max(24px,50vw - 560px);font-size:14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px #00000014}.grading-bar>div{gap:8px;display:flex}.grading-bar button{color:#1d1d1f;background:#76768024;border:0;border-radius:980px;padding:9px 16px;font-weight:500}.grading-bar .ghost-action{color:#b42318;background:0 0}.grading-bar .primary-action{color:#fff;background:#123f58}@media (max-width:860px){.attempt-row{grid-template-columns:1fr auto}.attempt-row .band-chips,.attempt-test{grid-column:1/-1}.grading-bar{flex-direction:column;align-items:stretch}}
.app-shell,.toefl-admin-page{--navy:#123f58;--blue:#123f58;--cyan:#2c8fc0;--line:#00000014;--muted:#6e6e73;color:#1d1d1f;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Hiragino Sans GB,Helvetica Neue,Microsoft YaHei,Arial,sans-serif}.app-shell .site-header{-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffc2;height:56px;position:sticky;top:0}.app-shell .brand{color:#1d1d1f;font-size:17px}.app-shell .brand-mark{border-radius:8px;width:28px;height:28px;font-size:14px}.app-shell .ghost,.app-shell .back-link{color:#0a6cc2;font-weight:500}.app-shell .hero{background:radial-gradient(120% 140% at 85% 30%,#1b5576 0%,#123f58 45%,#0b2738 100%);border-radius:28px;min-height:260px;padding:56px 60px}.app-shell .hero:after{display:none}.app-shell .eyebrow{color:#f1d7a8;letter-spacing:0;text-transform:none;font-size:15px;font-weight:600}.app-shell .hero h1,.app-shell .setup-page h1{letter-spacing:-.03em;font-size:clamp(36px,4.6vw,56px);font-weight:700;line-height:1.08}.app-shell .hero p{color:#ffffffbf;font-size:19px}.app-shell .hero-score span{background:#ffffff1a;border:0;border-radius:16px;font-weight:600}.app-shell .test-group>h2{letter-spacing:-.02em;font-size:24px;font-weight:700}.app-shell .test-card{box-shadow:none;border:0;border-radius:22px;padding:28px 32px;transition:transform .35s cubic-bezier(.28,.11,.32,1),box-shadow .35s}.app-shell .test-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #00000014}.app-shell .test-number{color:#c7c7cc;border-right-color:#00000014}.app-shell .version{color:#a87b3f;letter-spacing:0;font-weight:600}.app-shell .test-card h2{letter-spacing:-.02em;font-weight:700}.app-shell .section-pills span{color:#424245;background:#f5f5f7;border-radius:980px;font-weight:500}.app-shell .primary,.app-shell .secondary,.toefl-admin-page .admin-login button{border-radius:980px;font-weight:500}.app-shell .primary{background:#123f58}.app-shell .primary:hover{background:#0d3348}.app-shell .secondary{color:#1d1d1f;background:#7676801f;border:0}.app-shell .setup-card,.app-shell .result-card{border:0;border-radius:24px;box-shadow:0 0 0 1px #0000000a,0 20px 50px #0000000f}.app-shell .setup-card input,.toefl-admin-page input{border-color:#d2d2d7;border-radius:12px}.app-shell .setup-card input:focus{border-color:#123f58;box-shadow:0 0 0 4px #123f5824}.app-shell .segmented{background:#7676801f;border-radius:9px;padding:2px}.app-shell .segmented button{border-radius:7px}.app-shell .segmented .active{color:#1d1d1f;font-weight:600;box-shadow:0 3px 8px #0000001f}.app-shell .section-list>div{border:0;border-radius:16px}.app-shell .section-list svg{color:#123f58}.app-shell .exam-bar{background:#0b2738}.app-shell .question-nav{border-right-color:#0000000f}.app-shell .choices button{border-radius:14px}.app-shell .audio-card,.app-shell .recorder,.app-shell .writing-area{border-radius:16px}.toefl-admin-page>header{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffc2}.toefl-admin-page .admin-table-wrap{border-radius:20px;overflow:hidden}
.app-shell .library-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:28px 0 6px;display:flex}.app-shell .filter-chips{flex-wrap:wrap;gap:8px;display:flex}.app-shell .filter-chips.centered{justify-content:center;margin:4px 0 14px}.app-shell .filter-chips button{color:#1d1d1f;background:#fff;border:0;border-radius:980px;align-items:center;gap:7px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex;box-shadow:0 0 0 1px #0000000f}.app-shell .filter-chips button span{color:#86868b;font-variant-numeric:tabular-nums;font-size:12px}.app-shell .filter-chips button.active{color:#fff;box-shadow:none;background:#123f58}.app-shell .filter-chips button.active span{color:#ffffffb3}.app-shell .library-search{color:#86868b;background:#fff;border-radius:980px;align-items:center;gap:8px;min-width:min(320px,100%);padding:0 14px;display:flex;box-shadow:0 0 0 1px #0000000f}.app-shell .library-search input{font:inherit;color:#1d1d1f;background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 0;font-size:14px}.app-shell .progress-badge{color:#a35d00;background:#fff3dc;border-radius:980px;margin-left:10px;padding:2px 8px;font-size:11px;font-weight:600}.app-shell .mode-note{color:#6e6e73;margin:10px 2px 4px;font-size:13px;line-height:1.55}.app-shell .form-error{color:#b42318;font-size:13px}.app-shell .timer small{color:#9fb3c8;margin-right:2px;font-size:11px}.app-shell .timer.warn{color:#ffd38a}.app-shell .timer.urgent{color:#ff9d9d;animation:1s ease-in-out infinite toefl-pulse}@keyframes toefl-pulse{50%{opacity:.55}}.app-shell .time-toast{z-index:30;color:#fff;background:#1d1d1f;border-radius:980px;padding:10px 18px;font-size:14px;position:fixed;top:132px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}.app-shell .dot.flagged{background:#e66a6a;border-color:#e66a6a;border-radius:50%;width:8px;height:8px}.app-shell .overall-progress{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:14px;font-size:12px;display:flex}.app-shell .overall-progress strong{color:#1d1d1f;font-variant-numeric:tabular-nums;font-size:15px}.app-shell .save-indicator.saving{color:#86868b}.app-shell .save-indicator.error{color:#b42318}.app-shell .exam-layout.wide{max-width:none}.app-shell .exam-layout.wide .question-stage{max-width:1440px}.app-shell .question-view.writing-task{border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;display:grid;overflow:hidden}.app-shell .writing-task>:first-child{border-right:1px solid var(--line);background:#fafafc;max-height:calc(100vh - 230px);padding:28px 30px;overflow:auto}.app-shell .writing-pane{flex-direction:column;min-width:0;padding:24px 28px;display:flex}.app-shell .writing-pane h3{color:#6e6e73;letter-spacing:.02em;margin:0 0 12px;font-size:15px;font-weight:600}.app-shell .task-directions{color:#424245;background:#fff;border-radius:14px;margin-bottom:20px;padding:14px 18px;font-size:14px;line-height:1.6;box-shadow:0 0 0 1px #0000000d}.app-shell .task-directions p{margin:0 0 6px}.app-shell .task-directions ul{margin:0 0 6px;padding-left:20px;list-style:outside}.app-shell .task-directions small,.app-shell .email-brief small{color:#86868b;margin-top:8px;font-size:13px;display:block}.app-shell .post{grid-template-columns:42px 1fr;gap:14px;margin-bottom:16px;display:grid}.app-shell .post header{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.app-shell .post header strong{font-size:15px}.app-shell .post header em{color:#a87b3f;background:#fbf3e6;border-radius:980px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:600}.app-shell .post p{color:#1d1d1f;margin:0;font-size:15px;line-height:1.7}.app-shell .professor-post>div{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 0 0 1px #0000000d}.app-shell .student-post>div{background:#eef4f8;border-radius:14px;padding:12px 16px}.app-shell .board-label{text-transform:uppercase;letter-spacing:.08em;color:#86868b;margin:22px 0 12px;font-size:12px}.app-shell .avatar{color:#fff;background:#123f58;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:grid}.app-shell .avatar.professor{background:linear-gradient(135deg,#a87b3f,#d3a35c)}.app-shell .avatar.student-0{background:linear-gradient(135deg,#2c8fc0,#5bb5df)}.app-shell .avatar.student-1{background:linear-gradient(135deg,#7a5cc0,#a68ae0)}.app-shell .email-brief{color:#1d1d1f;font-size:15px;line-height:1.7}.app-shell .email-brief .scenario{margin-top:0;font-size:16px}.app-shell .email-brief ol{margin:6px 0 12px;padding-left:22px;list-style:decimal}.app-shell .email-brief li{margin-bottom:6px}.app-shell .email-brief .muted{color:#6e6e73;font-size:14px}.app-shell .email-header{background:#fafafc;border:1px solid #d2d2d7;border-bottom:0;border-radius:14px 14px 0 0}.app-shell .email-header div{gap:12px;padding:10px 16px;font-size:14px;display:flex}.app-shell .email-header div+div{border-top:1px solid #e5e5ea}.app-shell .email-header span{color:#86868b;flex:none;width:62px}.app-shell .email-header+.writing-editor .editor-toolbar{border-radius:0}.app-shell .recall-badge{color:#6e6e73;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:12px;display:flex}.app-shell .recall-badge strong{color:#a35d00;background:#fff3dc;border-radius:980px;padding:3px 9px;font-weight:600}.app-shell .recall-badge em{color:#fff;background:#d14343;border-radius:980px;padding:2px 8px;font-style:normal;font-weight:600}.app-shell .answer-review .recall-badge{margin:10px 0 0}.app-shell .writing-editor{flex-direction:column;flex:1;display:flex}.app-shell .editor-toolbar{background:#f5f5f7;border:1px solid #d2d2d7;border-bottom:0;border-radius:14px 14px 0 0;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.app-shell .editor-toolbar button{color:#1d1d1f;background:0 0;border:0;border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:13px;display:inline-flex}.app-shell .editor-toolbar button:hover:not(:disabled){background:#0000000f}.app-shell .editor-toolbar button:disabled{color:#b0b0b5}.app-shell .toolbar-spacer{flex:1}.app-shell .toolbar-count{color:#6e6e73;font-variant-numeric:tabular-nums;background:#fff;border-radius:980px;padding:4px 10px;font-size:13px;box-shadow:0 0 0 1px #0000000f}.app-shell .toolbar-count.met{color:#16846b;box-shadow:none;background:#e6f6f0}.app-shell .writing-editor .writing-area{border-color:#d2d2d7;border-radius:0 0 14px 14px;flex:1;font-size:16px;line-height:1.7}.app-shell .writing-area.short{min-height:140px}.app-shell .word-meter{background:#e5e5ea;border-radius:3px;height:3px;margin-top:8px;overflow:hidden}.app-shell .word-meter i{background:#16846b;height:100%;transition:width .3s;display:block}.app-shell .editor-note{color:#86868b;margin:8px 2px 0;font-size:12px}.app-shell .task-label{color:#6e6e73;margin:0 0 22px;font-size:15px}.app-shell .sentence-builder{max-width:820px}.app-shell .chat-line{grid-template-columns:42px 1fr;align-items:start;gap:14px;margin-bottom:18px;display:grid}.app-shell .chat-line>p{background:#eef4f8;border-radius:4px 16px 16px;margin:0;padding:12px 16px;font-size:17px;line-height:1.55}.app-shell .sentence-line{background:#fff;border-radius:4px 16px 16px;flex-wrap:wrap;align-items:center;gap:8px;min-height:52px;padding:10px 14px;font-size:17px;display:flex;box-shadow:0 0 0 1px #00000014}.app-shell .sentence-line .given{color:#1d1d1f}.app-shell .slot{color:#123f58;background:0 0;border:0;border-bottom:2px solid #9fb3c8;border-radius:0;min-width:78px;height:36px;padding:0 10px;font-size:16px}.app-shell .slot.filled{cursor:grab;background:#e8f2f9;border:1px solid #b9d4e6;border-radius:9px;font-weight:500}.app-shell .slot.filled:hover{color:#b42318;background:#fdecec;border-color:#f3c3bd}.app-shell .tile-bank{background:#f5f5f7;border:1px dashed #d2d2d7;border-radius:16px;flex-wrap:wrap;gap:10px;min-height:64px;margin:26px 0 14px;padding:14px;display:flex}.app-shell .tile-bank button{color:#1d1d1f;cursor:grab;background:#fff;border:1px solid #d2d2d7;border-radius:10px;padding:9px 14px;font-size:16px;transition:transform .15s,border-color .15s;box-shadow:0 1px 2px #0000000d}.app-shell .tile-bank button:hover{border-color:#123f58;transform:translateY(-1px)}.app-shell .bank-empty{color:#86868b;align-self:center;font-size:14px}.app-shell .builder-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.app-shell .builder-actions small{color:#86868b;font-size:13px;line-height:1.5}.app-shell .builder-actions .compact{flex:none;gap:6px;margin:0;display:inline-flex}.app-shell .modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.app-shell .modal-card{background:#fff;border-radius:22px;width:min(460px,100%);padding:30px 28px 24px;position:relative;box-shadow:0 30px 80px #00000040}.app-shell .modal-card h2{margin:0 0 8px;font-size:22px}.app-shell .modal-card p{color:#6e6e73;margin:0 0 18px;line-height:1.6}.app-shell .modal-close{color:#6e6e73;background:#f5f5f7;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:14px;right:14px}.app-shell .modal-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.app-shell .modal-stats div{text-align:center;background:#f5f5f7;border-radius:14px;padding:12px}.app-shell .modal-stats strong{font-variant-numeric:tabular-nums;font-size:24px;display:block}.app-shell .modal-stats span{color:#6e6e73;font-size:12px}.app-shell .modal-stats .alert{color:#b42318;background:#fff0ee}.app-shell .modal-stats .alert span{color:#b42318}.app-shell .link-button{color:#0a6cc2;background:0 0;border:0;margin-bottom:8px;padding:0;font-size:14px}.app-shell .modal-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.app-shell .result-card{width:min(940px,100%)}.app-shell .result-actions{justify-content:center;gap:12px;margin-top:26px;display:flex}.app-shell .answer-review article header em{color:#86868b;font-style:normal;font-weight:500}.app-shell .prompt-toggle{text-align:left;color:#424245;background:#f5f5f7;border:0;border-radius:10px;align-items:flex-start;gap:8px;width:100%;margin-top:10px;padding:10px 12px;font-size:14px;line-height:1.5;display:flex}.app-shell .prompt-toggle svg{flex:none;margin-top:2px;transition:transform .2s}.app-shell .prompt-toggle svg.open{transform:rotate(180deg)}.app-shell .review-task{background:#fafafc;border-radius:14px;margin-top:10px;padding:16px;box-shadow:0 0 0 1px #0000000d}.app-shell .review-prompt{white-space:pre-line}.app-shell .answer-review dt{align-items:center;gap:8px;display:flex}.app-shell .count-chip{color:#16846b;background:#e6f6f0;border-radius:980px;padding:1px 8px;font-size:11px}.app-shell .count-chip.low{color:#b42318;background:#fff0ee}.app-shell .answer-review dl>div.reference{background:#eef7fd}.app-shell .answer-review dl>div.tips{background:#fff8e8}.app-shell .answer-review dl>div.transcript{background:#f3f0fb}.app-shell .answer-review dd{line-height:1.65}.app-shell .empty-review{text-align:center;color:#86868b}@media (max-width:900px){.app-shell .question-view.writing-task{grid-template-columns:1fr}.app-shell .writing-task>:first-child{border-right:0;border-bottom:1px solid var(--line);max-height:none}.app-shell .library-tools{flex-direction:column;align-items:stretch}.app-shell .builder-actions{flex-direction:column;align-items:flex-start}.app-shell .time-toast{top:76px}}.app-shell .ctw-view{padding:30px 36px}.app-shell .ctw-view .task-label{justify-content:space-between;gap:16px;display:flex}.app-shell .ctw-count{color:#16846b;font-variant-numeric:tabular-nums;background:#e6f6f0;border-radius:980px;flex:none;padding:2px 10px;font-size:13px}.app-shell .ctw-passage{border:0;max-height:none;padding:0;font-size:18px;line-height:2.25}.app-shell .ctw-passage mark,.app-shell .ctw-passage strong{font-weight:inherit;background:0 0;padding:0}.app-shell .ctw-word{white-space:nowrap;color:#123f58;font-weight:600}.app-shell .ctw-word input{font:inherit;color:#0a6cc2;letter-spacing:.04em;background:#f2f7fb;border:0;border-bottom:2px solid #9fb3c8;border-radius:4px 4px 0 0;outline:none;min-width:2.2ch;margin-left:1px;padding:0 3px;font-weight:600}.app-shell .ctw-word input:focus{background:#e3f0fa;border-bottom-color:#0a6cc2}.app-shell .task-breakdown{text-align:left;background:#fafafc;border-radius:18px;margin:26px 0 8px;padding:18px 20px;box-shadow:0 0 0 1px #0000000d}.app-shell .task-breakdown h2{margin:0 0 12px;font-size:17px}.app-shell .task-rows{gap:9px;display:grid}.app-shell .task-row{grid-template-columns:minmax(150px,220px) 1fr 54px;align-items:center;gap:12px;font-size:14px;display:grid}.app-shell .task-row .task-name em{color:#86868b;margin-right:6px;font-size:12px;font-style:normal}.app-shell .task-bar{background:#e5e5ea;border-radius:8px;height:8px;overflow:hidden}.app-shell .task-bar i{background:#16846b;border-radius:8px;height:100%;display:block}.app-shell .task-row.weak .task-bar i{background:#d14343}.app-shell .task-row strong{text-align:right;font-variant-numeric:tabular-nums}.app-shell .task-pending{color:#8b6418;grid-column:span 2;font-size:13px}.app-shell .task-tip{margin:12px 0 0;font-size:13px;color:#b42318!important}@media (max-width:600px){.app-shell .task-row{grid-template-columns:1fr 54px}.app-shell .task-bar{grid-area:2/1/auto/-1}}.app-shell .history-panel{background:#fff;border-radius:22px;margin:26px 0 0;padding:18px 22px;box-shadow:0 0 0 1px #0000000a}.app-shell .history-panel>header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.app-shell .history-panel h2{align-items:center;gap:8px;margin:0;font-size:18px;display:flex}.app-shell .history-panel header .compact{gap:6px;margin:0;display:inline-flex}.app-shell .history-row{border:0;border-top:1px solid var(--line);text-align:left;color:#1d1d1f;background:0 0;grid-template-columns:1fr auto auto 18px;align-items:center;gap:14px;width:100%;padding:11px 4px;font-size:14px;display:grid}.app-shell .history-row:hover{background:#fafafc}.app-shell .history-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.app-shell .history-date{color:#86868b;font-size:12px}.app-shell .history-score{font-variant-numeric:tabular-nums;color:#424245;align-items:center;gap:8px;display:flex}.app-shell .history-score b{color:#fff;background:#123f58;border-radius:980px;padding:1px 8px;font-size:12px}.app-shell .notebook-page{max-width:900px;margin:auto;padding:40px 24px 80px}.app-shell .notebook-page h1{margin:18px 0 6px;font-size:36px}.app-shell .notebook-list{gap:12px;margin-top:18px;display:grid}.app-shell .notebook-list article{background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 0 0 1px #0000000d}.app-shell .notebook-list header{color:#86868b;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.app-shell .notebook-list header .compact{gap:5px;margin:0;display:inline-flex}.app-shell .notebook-list dl{gap:8px;margin:10px 0 0;display:grid}.app-shell .notebook-list dl>div{background:#f5f5f7;border-radius:10px;padding:9px 12px}.app-shell .notebook-list dl>div.wrong{background:#fff0ee}.app-shell .notebook-list dl>div.right{background:#e6f6f0}.app-shell .notebook-list dl>div.transcript{background:#f3f0fb}.app-shell .notebook-list dt{color:#6e6e73;margin-bottom:3px;font-size:11px}.app-shell .notebook-list dd{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}@media (max-width:700px){.app-shell .history-row{grid-template-columns:1fr 18px}.app-shell .history-date,.app-shell .history-score{grid-column:1}}.app-shell .teacher-card{text-align:left;background:linear-gradient(135deg,#f3f9f6,#eef4f8);border-radius:18px;margin:22px 0 6px;padding:18px 20px;box-shadow:0 0 0 1px #16846b2e}.app-shell .teacher-card header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.app-shell .teacher-card h2{margin:0;font-size:18px}.app-shell .teacher-card header small{color:#6e6e73}.app-shell .teacher-parts{gap:10px;margin-top:12px;display:grid}.app-shell .teacher-parts article{background:#fff;border-radius:14px;padding:12px 14px}.app-shell .teacher-parts article>div{justify-content:space-between;align-items:baseline;display:flex}.app-shell .teacher-parts strong{color:#16846b;font-size:26px}.app-shell .teacher-parts strong small{color:#86868b;font-size:13px}.app-shell .teacher-parts p{white-space:pre-wrap;margin:8px 0 0;line-height:1.65;color:#1d1d1f!important}.app-shell .teacher-hint{margin:10px 0 0;font-size:13px}.app-shell .answer-review dl>div.teacher-note{background:#e6f6f0}.app-shell .report-lookup{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.app-shell .report-lookup input{min-width:220px;font:inherit;border:1px solid #d2d2d7;border-radius:10px;outline:none;flex:1;padding:9px 12px;font-size:14px}.app-shell .report-lookup .compact{margin:0}.app-shell .report-lookup small{color:#b42318;width:100%}.app-shell .history-panel.compact-panel{padding:12px 18px}.app-shell .history-panel.compact-panel .report-lookup{margin-top:0}
