:root{color-scheme:light;--ink:#182b2a;--muted:#667674;--line:#d8e3e1;--line-strong:#bdcfcc;--paper:#fff;--canvas:#f2f6f5;--teal:#0d6b67;--teal-dark:#0c4d4a;--teal-pale:#e9f4f2;--green:#28795d;--green-pale:#edf7f1;--red:#a94237;--red-pale:#fff0ee;--amber:#946314;--amber-pale:#fff7e8;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility}
    *{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,select{font:inherit;color:inherit}button:focus-visible,select:focus-visible{outline:3px solid #46a9a1;outline-offset:2px}button{cursor:pointer}
    .site-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;color:#fff;background:var(--teal-dark);border-bottom:3px solid #45a69d}.header-local{color:#c4dad7;font-size:12px;white-space:nowrap}
    .brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;color:var(--teal-dark);background:#d8f0e9;border-radius:5px;font-weight:800}.brand-copy{display:grid;gap:2px}.brand-title{font-size:16px;font-weight:730;white-space:nowrap}.brand-subtitle{color:#c4dad7;font-size:11px;white-space:nowrap}
    .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.header-button{min-height:36px;padding:7px 12px;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.34);border-radius:4px}.header-button:hover{background:rgba(255,255,255,.1)}.header-button.next{color:var(--teal-dark);background:#fff;border-color:#fff}.header-button.next:hover{background:#eaf5f3}.set-picker{display:flex;align-items:center;gap:7px;color:#d5e7e4;font-size:12px}.set-picker select{min-height:36px;max-width:190px;padding:6px 30px 6px 10px;color:#fff;background:#155d59;border:1px solid rgba(255,255,255,.35);border-radius:4px}
    .status-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 24px;background:#fff;border-bottom:1px solid var(--line)}.status-left,.status-right{display:flex;align-items:center;gap:10px}.task-tag{padding:4px 9px;color:var(--teal-dark);background:var(--teal-pale);border-radius:3px;font-size:12px;font-weight:700}.question-count{font-size:14px;font-weight:680}.timer-box{min-width:70px;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:1.4px;text-align:center;font-weight:700}.timer-box.low-time{color:var(--red)}.status-separator{width:1px;height:19px;background:var(--line)}.hide-time{padding:5px 0;color:#48635f;background:transparent;border:0;font-size:12px}.hide-time:hover{color:var(--teal)}
    .page-shell{width:min(1320px,100%);margin:0 auto;padding:28px 26px 54px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.eyebrow{margin:0 0 8px;color:var(--teal);font-size:12px;font-weight:760;letter-spacing:.055em;text-transform:uppercase}.page-heading h1{margin:0;font-size:29px;line-height:1.2;font-weight:740}.page-heading p{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 28px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.overview-item{min-height:78px;padding:15px 18px}.overview-item+.overview-item{border-left:1px solid var(--line)}.overview-label{color:var(--muted);font-size:12px}.overview-value{margin-top:5px;font-size:19px;font-weight:730}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 12px}.section-heading h2{margin:0;font-size:18px}.section-heading small{color:var(--muted);font-size:12px}.set-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.set-card{min-height:100px;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:5px;transition:border-color .12s,transform .12s}.set-card:hover{border-color:#72aaa4;background:#fcfefd;transform:translateY(-1px)}.set-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.set-code{color:var(--teal-dark);font-size:16px;font-weight:760}.set-state{color:var(--muted);font-size:11px}.set-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.mini-tag{padding:3px 6px;color:#576866;background:#f0f5f4;border-radius:3px;font-size:10px}.mini-tag.done{color:#246c54;background:var(--green-pale)}.resume-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px 18px;background:var(--teal-pale);border:1px solid #b8d7d2;border-radius:5px}.resume-panel p{margin:4px 0 0;color:var(--muted);font-size:13px}.quiet-note{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
    .btn{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;background:#fff;border:1px solid var(--line-strong);border-radius:4px;font-size:13px;font-weight:650}.btn:hover{background:#f7faf9;border-color:#86aaa5}.btn.primary{color:#fff;background:var(--teal);border-color:var(--teal)}.btn.primary:hover{background:#095955}.btn.subtle{color:var(--teal-dark);background:#f3f8f7;border-color:#bfd6d2}.btn:disabled{opacity:.5;cursor:not-allowed}
    .exam-shell{width:min(1320px,100%);display:grid;grid-template-columns:minmax(330px,.84fr) minmax(500px,1.16fr);gap:16px;margin:0 auto;padding:20px 24px 16px}.panel{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:5px}.question-panel{padding:25px 25px 28px}.panel-kicker{margin:0 0 9px;color:var(--teal);font-size:11px;font-weight:770;letter-spacing:.08em;text-transform:uppercase}.question-panel h1{margin:0;font-size:23px;line-height:1.3}.question-panel .subhead{margin:8px 0 22px;color:var(--muted);font-size:13px;line-height:1.6}.context-label,.frame-label,.bank-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:12px;font-weight:720}.context-box{min-height:116px;display:flex;align-items:flex-start;padding:17px 18px;background:#f7faf9;border:1px solid #e2ebe9;border-radius:4px}.context-box p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65}.instruction-box{display:flex;gap:11px;margin-top:19px;padding:13px 14px;color:#48615e;background:#f4f8f7;border-left:3px solid #6ca9a2;border-radius:2px;font-size:12px;line-height:1.65}.instruction-icon{color:var(--teal);font-weight:800}.task-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.meta-pill{padding:5px 8px;color:#5f706e;background:#f0f5f4;border-radius:3px;font-size:11px}
    .answer-panel{padding:22px 22px 18px}.answer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.answer-heading h2{margin:0;font-size:17px}.answer-heading p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.interaction-tag{flex:0 0 auto;padding:5px 8px;color:#4d6864;background:#f0f5f4;border-radius:3px;font-size:10px;font-weight:650}.frame-label{margin-bottom:9px}.sentence-frame{min-height:128px;padding:17px 15px;color:#243332;background:#fbfdfc;border:1px solid var(--line);border-radius:4px;font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:2.6;overflow-wrap:anywhere}.fixed-fragment{white-space:pre-wrap}.drop-zone{min-width:118px;min-height:42px;display:inline-flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:5px;margin:0 3px;padding:4px 6px;vertical-align:middle;background:#fff;border:1px dashed #9bb8b3;border-radius:4px;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}.drop-zone.empty{min-width:150px}.drop-zone.empty::after{content:"拖入词块";color:#95a5a3;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;line-height:1.2}.drop-zone:hover,.drop-zone.focused,.drop-zone.drag-over{background:#f1f8f6;border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,107,103,.08)}.drop-zone .tile{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
    .bank-heading{margin:18px 0 8px}.bank-note{color:var(--muted);font-size:11px;font-weight:450}.word-bank{min-height:76px;display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:7px;padding:11px;background:#f8fbfa;border:1px solid #e5eeec;border-radius:4px;transition:background .12s,border-color .12s}.word-bank.drag-over{background:#eef7f5;border-color:var(--teal)}.tile{min-height:34px;padding:6px 10px;color:#283836;background:#fff;border:1px solid #b9cbc8;border-radius:4px;box-shadow:0 1px 1px rgba(24,43,42,.035);font-size:13px;line-height:1.3;cursor:grab;user-select:none;touch-action:manipulation}.tile:hover{border-color:#74a9a3;background:#fbfefd}.tile:active{cursor:grabbing}.tile.in-answer{padding:5px 8px;background:#eaf4f2;border-color:#99c1bb}.tile[data-disabled="true"]{opacity:.45;cursor:not-allowed}.empty-bank{color:#91a09e;font-size:12px}.answer-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.answer-tools,.answer-submit{display:flex;align-items:center;gap:7px}.feedback{min-height:0;margin-top:12px}.feedback:empty{display:none}.feedback-message{padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:12px;line-height:1.55}.feedback-message.correct{color:#246c54;background:var(--green-pale);border-color:#c6e1d2}.feedback-message.incorrect{color:#873f36;background:var(--red-pale);border-color:#ecc9c4}.feedback-message.unscored{color:#75520f;background:var(--amber-pale);border-color:#efdcae}.feedback-message strong{display:block;margin-bottom:3px}
    .question-dock{width:min(1320px,100%);display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto;padding:13px 24px 26px}.dock-side{display:flex;align-items:center;gap:8px}.question-nav{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.qnav-button{width:32px;height:32px;color:#586966;background:#fff;border:1px solid var(--line-strong);border-radius:4px;font-size:12px;font-weight:650}.qnav-button:hover{border-color:#78a7a1}.qnav-button.current{box-shadow:inset 0 0 0 2px var(--teal);color:var(--teal-dark)}.qnav-button.answered{color:var(--teal-dark);background:var(--teal-pale);border-color:#acd0cb}.qnav-button.correct{color:#246c54;background:var(--green-pale);border-color:#b7dac6}.qnav-button.incorrect{color:#873f36;background:var(--red-pale);border-color:#e8bdb6}.qnav-button.flagged{box-shadow:inset 0 0 0 2px #d6a543}.dock-progress{color:var(--muted);font-size:11px;white-space:nowrap}
    .review-overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:rgba(10,30,28,.28)}.review-panel{width:min(430px,100%);padding:22px;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 16px 45px rgba(10,30,28,.18)}.review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-top h2{margin:0;font-size:19px}.review-top p{margin:6px 0 0;color:var(--muted);font-size:12px}.icon-button{width:34px;height:34px;background:#fff;border:1px solid var(--line);border-radius:4px;font-size:17px}.review-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0 16px}.review-legend{display:flex;flex-wrap:wrap;gap:13px;color:var(--muted);font-size:11px}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;background:#fff;border:1px solid var(--line-strong);border-radius:2px}.legend-dot.done{background:var(--teal-pale);border-color:#acd0cb}.legend-dot.flag{box-shadow:inset 0 0 0 2px #d6a543}
    .result-panel{max-width:920px;margin:30px auto;padding:0;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}.result-heading{padding:22px 24px;color:#fff;background:var(--teal-dark)}.result-heading p{margin:0 0 5px;color:#c4dad7;font-size:11px;font-weight:700;letter-spacing:.06em}.result-heading h1{margin:0;font-size:24px}.score-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}.score-item{padding:17px 20px}.score-item+.score-item{border-left:1px solid var(--line)}.score-item span{color:var(--muted);font-size:11px}.score-item strong{display:block;margin-top:5px;color:var(--teal-dark);font-size:22px}.result-body{padding:21px 24px}.result-body h2{margin:0 0 12px;font-size:16px}.result-list{display:grid;gap:8px}.result-row{display:grid;gap:9px;padding:12px;background:#fafcfb;border:1px solid var(--line);border-radius:4px;font-size:12px}.result-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.result-row-head strong{color:var(--teal-dark);white-space:nowrap}.result-row .result-state{color:var(--muted);white-space:nowrap}.result-answer{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;line-height:1.55}.result-answer-label{color:var(--muted)}.result-answer p{margin:0;color:#273634}.result-answer.official p{font-weight:650}.result-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 24px 22px}
    @media(max-width:980px){.set-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-shell{grid-template-columns:minmax(250px,.8fr) minmax(390px,1.2fr);padding-right:16px;padding-left:16px}.question-panel{padding:21px}.answer-panel{padding:19px}.question-dock{padding-right:16px;padding-left:16px}}
    @media(max-width:720px){.site-header{align-items:flex-start;flex-direction:column;padding:12px 15px}.header-actions{width:100%;justify-content:flex-start}.set-picker select{max-width:150px}.status-row{padding:8px 15px}.page-shell{padding:23px 15px 42px}.page-heading{align-items:flex-start;flex-direction:column;gap:8px}.page-heading h1{font-size:25px}.overview-strip{grid-template-columns:1fr;margin:18px 0 24px}.overview-item{min-height:unset;padding:12px 15px}.overview-item+.overview-item{border-top:1px solid var(--line);border-left:0}.overview-value{font-size:17px}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.set-card{min-height:88px;padding:11px}.exam-shell{grid-template-columns:1fr;gap:11px;padding:12px 12px 10px}.question-panel{padding:18px}.question-panel h1{font-size:21px}.context-box{min-height:unset;padding:13px}.context-box p{font-size:16px}.answer-panel{padding:16px}.sentence-frame{min-height:110px;padding:13px 10px;font-size:16px}.drop-zone{min-width:92px;min-height:39px;margin:0 1px;padding:3px}.drop-zone.empty{min-width:110px}.tile{min-height:32px;padding:5px 8px;font-size:12px}.answer-footer{align-items:stretch;flex-direction:column}.answer-tools,.answer-submit{justify-content:space-between}.question-dock{position:sticky;bottom:0;z-index:3;flex-wrap:wrap;gap:8px;padding:10px 12px max(12px,env(safe-area-inset-bottom));background:rgba(242,246,245,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}.dock-side{gap:5px}.question-nav{order:3;width:100%;justify-content:center}.dock-progress{display:none}.qnav-button{width:30px;height:30px}.resume-panel{align-items:flex-start;flex-direction:column}.result-panel{margin:15px 12px}.score-strip{grid-template-columns:1fr}.score-item{padding:11px 16px}.score-item+.score-item{border-top:1px solid var(--line);border-left:0}.score-item strong{display:inline;margin-left:8px;font-size:18px}.result-heading{padding:18px}.result-heading h1{font-size:21px}.result-body{padding:18px}.result-actions{flex-wrap:wrap;padding:0 18px 18px}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
    /* Match the official Witlearn sentence task: open white canvas, plain underlines and unboxed tiles. */
    body:has(.official-exam){background:#fff}.official-topbar{min-height:82px;display:flex;align-items:center;gap:18px;padding:8px 12px;color:#fff;background:#0d6b67;border-bottom:0}.topbar-left{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.topbar-lower{display:flex;align-items:center;gap:18px}.exam-set-label{font-size:14px;font-weight:700;white-space:nowrap}.official-topbar .header-button{min-height:36px;padding:6px 13px;border-color:rgba(255,255,255,.12);border-radius:9px}.official-topbar .header-button.next{margin-left:4px;color:#0c4d4a;background:#fff;border-color:#fff}.official-topbar .header-button:disabled{opacity:.55;cursor:default}.module-switch{display:flex;align-items:center;gap:8px;color:#e2f0ee;font-size:13px;white-space:nowrap}.module-name{width:185px;min-height:36px;padding:6px 12px;color:#263b3a;background:#fff;border:1px solid #d4e1df;border-radius:4px;font-size:12px}.official-topbar .header-actions{margin-left:auto;gap:20px;flex-wrap:nowrap}.official-topbar .header-button.action{min-width:90px;background:rgba(255,255,255,.08)}.official-topbar .header-button.action:hover{background:rgba(255,255,255,.18)}.official-topbar .header-button.review{min-width:112px}
    .status-row{min-height:36px;padding:5px 16px;border-bottom:0}.status-left,.status-right{gap:10px}.task-tag{padding:0;color:#303939;background:transparent;border-right:1px solid #d8dede;border-radius:0;font-size:14px;font-weight:500;padding-right:10px}.question-count{font-size:14px;font-weight:500}.status-separator{height:17px;background:#d8dede}.timer-box{min-width:72px;color:#202626;font-size:13px;letter-spacing:1.2px}.hide-time{color:#0d6b67;font-size:12px;font-weight:600}
    .official-exam{min-height:calc(100vh - 94px);padding:0 24px 38px;background:#fff}.task-title{margin:15px auto 66px;color:#414747;text-align:center;font-size:28px;line-height:1.3;font-weight:500}.official-dialogue{width:min(760px,100%);margin:0 auto}.speaker-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;column-gap:14px;min-height:80px}.speaker-row+.speaker-row{margin-top:17px}.speaker-avatar{width:72px;height:72px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#fbfdfd;border:2px solid #52aa9c;border-radius:50%}.speaker-avatar::before{content:"";position:absolute;top:13px;width:22px;height:22px;background:#efc09b;border-radius:50%;box-shadow:0 -5px 0 4px #332820}.speaker-avatar::after{content:"";position:absolute;bottom:0;width:45px;height:26px;background:#ef907c;border-radius:24px 24px 0 0}.speaker-avatar.student::before{background:#d8a982;box-shadow:0 -6px 0 5px #262626}.speaker-avatar.student::after{background:#26618a}.dialogue-text{margin:0;color:#313838;font-size:16px;line-height:1.55}.sentence-frame{min-height:48px;padding:0;color:#313838;background:transparent;border:0;border-radius:0;font-family:Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:2.15;overflow-wrap:anywhere}.fixed-fragment{white-space:pre-wrap}.gap-line{min-width:88px;height:29px;display:inline-flex;align-items:flex-end;justify-content:center;margin:0 4px;padding:0 3px 1px;vertical-align:baseline;background:transparent;border:0;border-bottom:2px solid #d5d8d8;border-radius:0;cursor:pointer;transition:border-color .12s}.gap-line:hover,.gap-line.focused,.gap-line.drag-over{border-bottom-color:#18847c;box-shadow:none;background:transparent}.gap-line .tile{align-self:flex-end;margin-bottom:-1px}.word-bank{width:min(760px,100%);min-height:40px;display:flex;align-content:flex-start;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px 30px;margin:66px auto 0;padding:0 10px;background:transparent;border:0;border-radius:0}.word-bank.drag-over{background:transparent;border-color:transparent}.tile{min-height:30px;padding:3px 2px;color:#303838;background:transparent;border:0;border-radius:0;box-shadow:none;font-size:16px;line-height:1.5;cursor:grab;user-select:none;touch-action:manipulation}.tile:hover{color:#0d6b67;background:transparent;border-color:transparent}.tile:active{cursor:grabbing}.tile.in-answer{padding:0 2px;color:#303838;background:transparent;border:0;box-shadow:none}.empty-bank{color:#8b9695;font-size:13px}.official-answer{width:min(680px,100%);margin:34px auto 0;padding:12px 16px;color:#286f57;background:#fbfdfc;border:1px solid #e4ecea;font-size:14px;line-height:1.6}.review-overlay{background:rgba(10,30,28,.22)}
    @media(max-width:720px){.official-topbar{flex-wrap:wrap;padding:8px 11px}.module-switch{order:3;margin-left:0}.official-topbar .header-actions{width:100%;margin-left:0;justify-content:flex-start}.official-topbar .header-button{min-height:31px;padding:5px 8px;font-size:12px}.status-row{padding:5px 11px}.official-exam{padding:0 13px 28px}.task-title{margin:14px auto 48px;font-size:24px}.official-dialogue{width:100%}.speaker-row{grid-template-columns:58px minmax(0,1fr);column-gap:10px;min-height:63px}.speaker-avatar{width:58px;height:58px}.speaker-avatar::before{top:9px;width:19px;height:19px}.speaker-avatar::after{width:38px;height:22px}.sentence-frame{font-size:15px}.gap-line{min-width:60px;height:27px;margin:0 2px}.tile{font-size:14px}.word-bank{gap:12px 18px;margin-top:48px}}
    /* Match the official Build a Sentence screen: phrase tiles and plain underline slots. */
    .task-title{margin:20px auto 68px}
    .official-dialogue{width:min(980px,100%)}
    .speaker-row{grid-template-columns:110px minmax(0,1fr);align-items:end;min-height:110px}
    .speaker-row+.speaker-row{margin-top:35px}
    .speaker-avatar{width:110px;height:110px}
    .speaker-avatar::before,.speaker-avatar::after{content:none}
    .speaker-avatar::before{top:20px;width:31px;height:31px;box-shadow:0 -7px 0 7px #332820}
    .speaker-avatar::after{width:70px;height:39px}
    .dialogue-text{font-size:18px}
    .gap-line{min-width:124px}
    .word-bank{width:min(980px,100%);justify-content:flex-start;gap:20px 30px;margin:132px auto 0;padding:0 0 0 124px}
    .tile{font-size:17px}
    .speaker-avatar{border:0;background:transparent}
    .speaker-avatar img{display:block;width:100%;height:100%;object-fit:contain}
    .status-row{min-height:39px;padding:3px 8px;border-top:2px solid #42a69a;border-bottom:0}
    .status-left,.status-right{gap:9px}
    .task-tag{font-size:14px}
    .question-count{font-size:14px;font-weight:500}
    .timer-box{font-size:13px}
    .hide-time{font-size:12px}
    .official-exam{min-height:calc(100vh - 39px);padding-top:0}
    .task-title{margin:14px auto 68px;font-size:28px}
    @media(max-width:720px){.official-topbar{align-items:flex-start;flex-wrap:wrap;gap:8px;padding:8px 10px}.topbar-left{width:100%}.topbar-lower{gap:10px}.module-name{width:160px}.official-topbar .header-actions{width:100%;margin-left:0;justify-content:flex-start;gap:8px}.official-topbar .header-button.action{min-width:0}.official-topbar .header-button.review{min-width:82px}.official-topbar .header-button{min-height:32px;padding:5px 9px;font-size:12px}.status-row{padding:3px 8px}.task-title{margin:14px auto 48px;font-size:24px}.official-dialogue{width:100%}.speaker-row{grid-template-columns:58px minmax(0,1fr);align-items:end;min-height:58px}.speaker-row+.speaker-row{margin-top:22px}.speaker-avatar{width:58px;height:58px}.speaker-avatar::before,.speaker-avatar::after{content:none}.dialogue-text{font-size:15px}.gap-line{min-width:60px}.word-bank{width:100%;gap:12px 18px;margin-top:68px;padding-left:68px}.tile{font-size:14px}}

.auth-loading{max-width:720px;margin:18vh auto;padding:28px;color:var(--muted);text-align:center}.auth-page{max-width:980px;min-height:calc(100vh - 72px);display:grid;place-items:center}.auth-card{width:min(460px,100%);padding:34px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 32px rgba(24,43,42,.06)}.auth-card h1{margin:4px 0 9px;font-size:26px}.auth-description,.auth-empty p{color:var(--muted);font-size:14px;line-height:1.65}.auth-field{display:grid;gap:7px;margin:17px 0;color:#354844;font-size:13px;font-weight:650}.auth-field input{width:100%;min-height:42px;padding:9px 11px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:4px;font:inherit}.auth-field input:focus{outline:3px solid rgba(70,169,161,.25);border-color:#46a9a1}.auth-error{min-height:20px;margin:8px 0;color:#a94237;font-size:13px;line-height:1.5}.auth-submit{width:100%;justify-content:center;margin-top:6px}.auth-switch{display:block;margin-top:18px;color:var(--teal);font-size:13px;text-align:center;text-decoration:none}.auth-switch:hover{text-decoration:underline}.auth-empty{padding:30px;background:#fff;border:1px dashed var(--line-strong);border-radius:6px;text-align:center}.mode-label{color:#54706c;font-size:12px;white-space:nowrap}
@media(max-width:720px){.auth-page{padding:18px 15px}.auth-card{padding:24px}.mode-label{display:none}}
