:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#18221b;--muted:#647066;--line:#d9ded8;--paper:#f6f7f5;--card:#fff;--accent:#43834e;--accent-hover:#386f42;--accent-dark:#24482c;--accent-soft:#e8f1e9;--button-bg:#e6efe8;--button-bg-hover:#d2e1d6;--button-bg-active:#c2d7c8;--button-border:#b3d1bc;--button-border-hover:#9fc7ab;--button-fg:#214e34;--warning:#6e5412;--warning-soft:#fff6dd;--warning-line:#eed58d;--danger:#9e3535;--danger-soft:#fff0f0;--danger-line:#edbcbc;--success:#315b3a;--font-size-bump:.0625rem;background:var(--paper);color:var(--ink);touch-action:pan-x pan-y;font-family:Lexend,Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px}.rp,.lp{--font-size-bump:0rem}:root,.rp,.lp{--font-size-3xs:calc(.6875rem + var(--font-size-bump));--font-size-2xs:calc(.75rem + var(--font-size-bump));--font-size-xs:calc(.8125rem + var(--font-size-bump));--font-size-sm:calc(.875rem + var(--font-size-bump));--font-size-md:calc(.9375rem + var(--font-size-bump));--font-size-base:calc(1rem + var(--font-size-bump));--font-size-lg:calc(1.0625rem + var(--font-size-bump));--font-size-xl:calc(1.125rem + var(--font-size-bump));--font-size-2xl:calc(1.25rem + var(--font-size-bump));--font-size-3xl:calc(1.5rem + var(--font-size-bump));--font-size-score:calc(clamp(2.5rem, 6vw, 3rem) + var(--font-size-bump));--font-size-display-1:calc(clamp(1.65rem, 4vw, 2.6rem) + var(--font-size-bump));--font-size-display-2:calc(clamp(1.75rem, 3vw, 2.4rem) + var(--font-size-bump));--font-size-display-3:calc(clamp(1.35rem, 3vw, 1.8rem) + var(--font-size-bump));--font-size-display-4:calc(clamp(1.2rem, 2vw, 1.55rem) + var(--font-size-bump))}*{box-sizing:border-box}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-fg);cursor:pointer;font-size:var(--font-size-xs);border-radius:14px;padding:12px 18px;font-weight:550;transition:background .15s,border-color .15s,transform .15s}button:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--button-border-hover)}button:active:not(:disabled){background:var(--button-bg-active);transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #214e342e}button:disabled{cursor:wait;opacity:.6}a.site-switch-link{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-fg);font-size:var(--font-size-xs);border-radius:14px;padding:12px 18px;font-weight:550;text-decoration:none;display:inline-block}a.site-switch-link:hover{background:var(--button-bg-hover);border-color:var(--button-border-hover)}a.site-switch-link:focus-visible{outline-offset:2px;outline:3px solid #214e342e}button.button-secondary{border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-fg)}button.button-secondary:hover:not(:disabled){background:var(--button-bg-hover);border-color:var(--button-border-hover)}button.button-cancel{border:1px solid var(--line);background:var(--card);color:var(--ink)}button.button-cancel:hover:not(:disabled){background:var(--paper);border-color:var(--line)}button.button-back{color:var(--muted);background:0 0;border:none;border-radius:10px;padding:10px 8px}button.button-back:hover:not(:disabled){color:var(--accent-dark);background:0 0;border-color:#0000}button.button-back:active:not(:disabled){background:0 0}.test-content-heading-actions button,.test-content-toolbar button{align-items:center;gap:7px;display:inline-flex}.test-content-heading-actions button svg,.test-content-toolbar button svg{flex:none;width:14px;height:14px}.test-content-heading-actions button.button-back svg{width:15px;height:15px}.app-frame{width:min(100%,1240px);min-height:100vh;margin:0 auto;padding:28px}.app-frame--admin,.app-frame--student{width:100%;max-width:none;margin:0;padding:0}.app-frame--attempt{flex-direction:column;width:100%;max-width:none;height:100dvh;min-height:100dvh;padding:10px 14px 12px;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:28px;display:flex}.app-brand{align-items:center;gap:13px;display:flex}.brand-mark{object-fit:contain;border-radius:14px;width:44px;height:44px;display:block}.app-brand h1{font-size:var(--font-size-display-1);letter-spacing:-.05em;margin:0}.eyebrow{color:var(--accent);font-size:var(--font-size-2xs);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem;font-weight:450}.foundation-status{border:1px solid var(--line);min-width:220px;color:var(--muted);font-size:var(--font-size-xs);background:#fff;border-radius:11px;gap:2px;padding:10px 13px;display:grid}.foundation-status strong{color:var(--ink);font-size:var(--font-size-sm)}.foundation-status--ready{border-color:#c5d7c2}.foundation-status--unavailable{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.foundation-status--unavailable strong{color:var(--danger)}.identity-grid,.admin-grid{grid-template-columns:minmax(280px,.82fr) minmax(0,1.6fr);gap:22px;margin-top:22px;display:grid}.admin-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);align-items:start}.single-column,.workspace{width:min(100%,1020px);margin:22px auto 0}.workspace--student-attempt{flex-direction:column;flex:1;width:min(100%,1440px);min-height:0;margin-top:0;display:flex}.workspace--student{width:100%;max-width:none;min-height:100vh;margin:0}.card{border:1px solid var(--line);background:var(--card);border-radius:18px;padding:24px;box-shadow:0 10px 30px #1937460c}.login-card{background:linear-gradient(145deg,#edf5eb,#fff 62%);min-height:525px}.quiet-panel{align-self:center;max-width:430px}.card h2{font-size:var(--font-size-display-3);letter-spacing:-.03em;margin:0 0 8px}.card h3{font-size:var(--font-size-lg);margin:0 0 5px}.muted,.hint,.table-subtext,.table-footer{color:var(--muted)}.muted{margin:0;line-height:1.6}.hint,.table-subtext,.table-footer{font-size:var(--font-size-xs)}.table-subtext{margin-top:3px;display:block}label{color:var(--muted);font-size:var(--font-size-xs);margin:18px 0 6px;font-weight:450;display:block}input,select{width:100%;color:var(--ink);background:#fff;border:1px solid #bdcbd3;border-radius:10px;padding:12px 13px}input:disabled,select:disabled{cursor:not-allowed;opacity:.65}.button-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.button-row--tight{margin-top:0}.notice{font-size:var(--font-size-sm);border:1px solid;border-radius:11px;margin:18px 0;padding:12px 14px;line-height:1.5}.notice--warning{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}.notice--error{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.notice--success{background:var(--accent-soft);color:var(--accent-dark);border-color:#c5d7c2}.section-heading,.workspace-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.workspace-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.language-recovery{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;padding:12px 14px;display:flex}.language-recovery p{margin:0}.language-recovery--floating{z-index:60;width:min(560px,100vw - 32px);margin:0;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #18221b29}.focused-language-switch{border:1px solid var(--line);background:var(--card);border-radius:999px;flex:none;padding:2px;display:inline-flex}.focused-language-switch>.focused-language-choice{min-width:34px;color:var(--muted);font-size:var(--font-size-2xs);letter-spacing:.04em;background:0 0;border:0;border-radius:999px;padding:4px 9px;font-weight:700;line-height:1.4}.focused-language-switch>.focused-language-choice:hover:not(:disabled),.focused-language-switch>.focused-language-choice[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-dark)}@media (max-width:900px){.focused-language-switch{margin-right:auto}.wr-desk-actions>.focused-language-switch{margin-right:0}.focused-language-switch>.focused-language-choice{min-height:32px;padding:6px 12px}.rp-header-actions,.lp-header-actions{flex-wrap:wrap}.rp-header-actions>button,.lp-header-actions>button{white-space:nowrap}}.status-badge,.role-pill{font-size:var(--font-size-2xs);border-radius:99px;padding:5px 9px;font-weight:450;display:inline-flex}.status-badge--pending,.status-badge--warning{background:var(--warning-soft);color:var(--warning)}.role-list{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.role-pill{color:var(--accent-dark);background:#effaf9;border:1px solid #c5d7c2}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px;display:grid}.form-field{min-width:0}.form-field--wide{grid-column:1/-1}.loading,.empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;padding:20px}.admin-area{margin-top:30px}.student-app{background:var(--paper);grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.student-app--focused,.student-app--focused .student-main,.student-content--focused{flex-direction:column;flex:auto;min-height:0;display:flex}.student-content.student-content--focused{width:100%;padding:0}.student-content--focused>.wr-desk,.student-content--focused>.wr-returned{width:min(100%,1440px);margin:0 auto;padding:24px clamp(16px,3vw,32px) 40px}.student-side{border-right:1px solid var(--line);background:#fbfdfb;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.student-brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:18px;padding:2px 8px 18px;display:flex}.student-brand .brand-mark{border-radius:11px;width:36px;height:36px}.student-brand strong,.student-brand span,.student-account strong,.student-account small{display:block}.student-brand strong{font-size:var(--font-size-lg);letter-spacing:-.02em}.student-brand span,.student-account small{color:var(--muted);font-size:var(--font-size-3xs);margin-top:2px}.student-brand span{letter-spacing:.08em;text-transform:uppercase;font-weight:450}.student-nav-label{color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.12em;text-transform:uppercase;margin:0 12px 7px;font-weight:450}.student-nav{flex-direction:column;gap:6px;display:flex}.student-nav button{width:100%;min-height:44px;color:var(--muted);font-size:var(--font-size-xs);text-align:left;background:0 0;border:0;border-radius:12px;padding:0 12px}.student-nav button:hover:not(:disabled){background:#eef4ee}.student-nav button[aria-current=page]{background:var(--accent-soft);color:var(--accent-dark)}.student-nav .student-nav-me{align-items:center;gap:8px;display:flex}.student-nav-me-chevron{flex:none;margin-left:auto;transition:transform .15s}.student-nav-me[aria-expanded=true] .student-nav-me-chevron{transform:rotate(180deg)}.student-nav .student-nav-me--active[aria-expanded=false]{background:var(--accent-soft);color:var(--accent-dark)}.student-nav-sub{border-left:1px solid var(--line);flex-direction:column;gap:4px;margin-left:24px;padding-left:8px;display:flex}.student-nav-sub button{min-height:40px}.student-side-footer{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:16px 4px 0;display:grid}.student-account{align-items:center;gap:10px;min-width:0;padding:0 4px 6px;display:flex}.student-account>span:last-child{min-width:0}.student-account small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-dark);font-size:var(--font-size-xs);border-radius:11px;flex:none;place-items:center;font-weight:550;display:grid}.student-side-footer>button{width:100%}.student-language-compact{display:none}.student-main{min-width:0}.student-topbar{z-index:10;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:10px 32px;display:flex;position:sticky;top:0}.student-breadcrumbs{font-size:var(--font-size-sm);align-items:center;gap:8px;display:flex}.student-topbar-status{flex:1 1 0;min-width:0;display:flex}.student-breadcrumbs>span:first-child{color:var(--muted)}.student-breadcrumbs>span:nth-child(2){color:#adb6ae}.student-saved-pill{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-2xs);border-radius:999px;align-items:center;font-weight:450;display:inline-flex}.student-bell-wrap{position:relative}.student-topbar-actions{flex:none;align-items:center;gap:10px;display:flex}.student-topbar-help{border:1.5px solid var(--line);width:36px;height:36px;color:var(--muted);font-size:var(--type-control);box-shadow:none;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0;font-weight:500;display:inline-flex}.student-topbar .student-topbar-help:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}.student-bell{border:1.5px solid var(--line);width:48px;height:48px;color:var(--accent-dark);cursor:pointer;background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.student-bell svg{width:50px;height:50px}.student-bell--quiet{color:var(--muted)}.student-bell--fresh{background:var(--accent-soft);border-color:#9cc0a9}.student-bell--soon{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}.student-bell--urgent{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.student-bell-dot{background:var(--accent);color:#fff;min-width:22px;height:22px;font-size:var(--font-size-2xs);text-align:center;border-radius:999px;padding:0 6px;font-weight:550;line-height:22px;position:absolute;top:-6px;right:-6px}.student-bell-dot--soon{background:var(--warning)}.student-bell-dot--urgent{background:var(--danger)}.student-bell-panel{z-index:30;border:1px solid var(--line);background:#fff;border-radius:16px;width:360px;max-width:calc(100vw - 48px);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 24px 64px #222f2624}.student-bell-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.student-bell-heading h3{font-size:var(--font-size-md);letter-spacing:-.01em;margin:0}.student-bell-list{max-height:320px;margin:0;padding:6px;list-style:none;overflow:auto}.student-bell-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.student-bell-row:hover{background:var(--accent-soft)}.student-bell-kind{background:var(--accent);border-radius:999px;flex:none;width:9px;height:9px;margin-top:5px}.student-bell-kind--overdue{background:var(--danger)}.student-bell-kind--soon{background:#c08a1d}.student-bell-text{min-width:0;display:block}.student-bell-text strong{font-size:var(--font-size-sm);line-height:1.35;display:block}.student-bell-meta{font-size:var(--font-size-2xs);color:var(--muted);margin-top:2px;display:block}.student-bell-meta--overdue{color:var(--danger);font-weight:450}.student-bell-meta--soon{color:var(--warning);font-weight:450}.student-bell-unread{background:var(--accent);border-radius:999px;flex:none;width:8px;height:8px;margin-top:6px}.student-bell-state{color:var(--muted);font-size:var(--font-size-xs);text-align:center;margin:0;padding:18px 14px}.student-bell-state p{margin:0 0 10px}.student-bell-foot{border-top:1px solid var(--line);padding:6px}.student-bell-foot button{width:100%;color:var(--accent-dark);font-size:var(--font-size-xs);background:0 0;border:0;border-radius:10px;padding:9px;font-weight:450}.student-bell-foot button:hover{background:var(--accent-soft)}.student-content{width:min(100%,1080px);margin:0 auto;padding:32px 56px 60px}.student-welcome{margin-bottom:24px}.student-welcome h1,.student-section-heading h1,.student-unavailable h1{font-size:var(--font-size-display-2);letter-spacing:-.045em;margin:0}.student-welcome>p:last-child,.student-unavailable>p:last-child{color:var(--muted);margin:7px 0 0}.student-home-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.82fr);align-items:start;gap:20px;display:grid}.student-home-main{gap:20px;display:grid}.student-home-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:22px;box-shadow:0 10px 28px #1937460a}.student-continue-card{background:#f3f7f2;border-color:#cfddcf}.student-card-heading,.student-continue-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.student-card-heading{margin-bottom:16px}.student-card-heading .eyebrow,.student-card-heading h2{margin:0}.student-card-heading h2,.student-continue-card h2{font-size:var(--font-size-lg);letter-spacing:-.02em}.student-continue-card h2{font-size:var(--font-size-display-4);margin:22px 0 6px}.student-saved-pill{background:#fff;padding:5px 9px}.student-continue-actions{align-items:end;margin-top:26px}.student-continue-actions .muted{font-size:var(--font-size-xs)}.student-returned-count{color:var(--muted);font-size:var(--font-size-xs)}.student-returned-list{margin:0;padding:0;list-style:none;display:grid}.student-returned-list li+li{border-top:1px solid var(--line)}button.student-returned-row{width:100%;min-height:0;box-shadow:none;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 4px;font-weight:400;display:grid}button.student-returned-row:hover:not(:disabled){background:#f4f7f4}.student-returned-skill{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-3xs);border-radius:999px;justify-self:start;padding:3px 9px;font-weight:600}.student-returned-skill--speaking{color:#2c4a5e;background:#eaf0f4}.student-returned-main{gap:2px;min-width:0;display:grid}.student-returned-main strong{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.student-returned-row--checked .student-returned-main strong{color:#3d4a40;font-weight:500}.student-returned-main small,.student-returned-foot span{color:var(--muted);font-size:var(--font-size-2xs)}.student-returned-end{justify-items:end;gap:3px;display:grid}.student-returned-band{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.student-returned-status{font-size:var(--font-size-2xs);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.student-returned-status--new{color:var(--accent);font-weight:600}.student-returned-status--new:before{background:var(--accent);content:"";border-radius:50%;width:8px;height:8px}.student-returned-status--checked{color:var(--muted)}.student-returned-foot,.student-returned-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin-top:10px;display:flex}.student-returned-error p{color:var(--danger);font-size:var(--font-size-xs);margin:0}@media (max-width:520px){button.student-returned-row{grid-template-columns:minmax(0,1fr) auto}.student-returned-skill{grid-column:1/-1}}.student-text-button{color:var(--accent-dark);font-size:var(--font-size-xs);background:0 0;border:0;padding:4px}.student-text-button:hover:not(:disabled){background:0 0;text-decoration:underline}.student-result-row{border-top:1px solid #e8ece8;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;display:flex;position:relative}.student-result-row>div{min-width:0}.student-result-row .student-text-button:after{content:"";position:absolute;inset:0}.student-result-row .student-text-button:focus-visible{outline:none}.student-result-row .student-text-button:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.student-result-row:hover{background:var(--paper)}.student-result-row>div>strong,.student-result-row>div>span{display:block}.student-result-row>div>span{color:var(--muted);font-size:var(--font-size-xs);margin-top:4px}.student-score-ring{width:54px;height:54px;color:var(--ink);font-size:var(--font-size-xs);flex:none;place-items:center;font-weight:550;display:grid;position:relative}.student-score-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.student-score-ring circle{fill:none;stroke-width:4px}.student-score-track{stroke:#e1e8e1}.student-score-value{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:var(--score) calc(100 - var(--score))}.student-score-ring>span{position:relative}.student-score-ring small{color:var(--muted);font-size:var(--font-size-3xs)}.student-band-ring{width:48px;height:48px;color:var(--ink);font-size:var(--font-size-xs);--band-color:#2f8f4e;flex:none;place-items:center;font-weight:650;display:grid;position:relative}.student-band-ring--yellow{--band-color:#d9a300}.student-band-ring--red{--band-color:#c94a3d}.student-band-ring--pending{color:var(--muted)}.student-band-ring--pending .student-band-ring-value{display:none}.student-band-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.student-band-ring circle{fill:none;stroke-width:4px}.student-band-ring-track{stroke:#e1e8e1}.student-band-ring-value{stroke:var(--band-color);stroke-linecap:round;stroke-dasharray:var(--score) calc(100 - var(--score))}.student-band-ring>span{line-height:1;position:relative}.student-band-ring small{color:var(--muted);font-size:var(--font-size-3xs)}.student-empty-state{border-top:1px solid #e8ece8;padding:22px 4px 4px}.progress-panel{max-width:1180px;margin:0 auto}.progress-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.progress-header .eyebrow{margin:0 0 5px}.progress-header h1{font-size:var(--font-size-display-2);letter-spacing:-.035em;margin:0;line-height:1.15}.progress-subtitle{color:var(--muted);max-width:440px;margin:7px 0 0;font-size:12px}.progress-controls{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.progress-segments{background:#edf0ed;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.progress-segments button{font:inherit;font-size:var(--font-size-sm);color:#657067;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:34px;padding:7px 10px;font-weight:500}.progress-segments button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0000001a}.progress-card{border:1px solid var(--line);background:#fff;border-radius:15px;min-width:0}.progress-hero{grid-template-columns:240px minmax(0,1fr);margin-bottom:16px;display:grid}.progress-summary{border-right:1px solid var(--line);padding:24px}.progress-summary .progress-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-weight:600;line-height:1.25}.progress-band{letter-spacing:-.06em;margin:10px 0 8px;font-size:58px;font-weight:600;line-height:1}.progress-mini{font-size:var(--font-size-xs);color:var(--muted);margin:4px 0 0;line-height:1.5}.progress-summary-stats{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 0;display:grid}.progress-summary-stats dd{margin:0;font-size:16px;font-weight:550}.progress-summary-stats dd small{color:var(--muted);font-size:11px;font-weight:450;display:block}.progress-summary-stats dt{color:var(--muted);margin-top:4px;font-size:10px}.progress-chartbox{min-width:0;padding:22px 24px}.progress-chart-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.progress-chart-heading h2{font-size:var(--font-size-md);letter-spacing:-.01em;margin:0}.progress-panel .progress-chart-toggle{white-space:nowrap;font-size:13px;font-weight:600}.progress-chart{width:100%;height:190px;margin-top:12px;display:block;overflow:visible}.progress-chart text{fill:#6c756e;font-size:11px}.progress-chart-grid{stroke:#dde3dd;stroke-dasharray:4 4}.progress-chart-mean line{stroke:#9a6a1e;stroke-dasharray:6 5}.progress-chart-mean text{fill:#7e5719;font-weight:550}.progress-chart-line{stroke:#477f50;stroke-width:3px;stroke-linejoin:round}.progress-chart-point{stroke:#477f50;stroke-width:3px;fill:#fff}.progress-chart-point--latest{fill:#477f50}.progress-chart-axis{font-size:var(--font-size-xs);color:var(--muted);justify-content:space-between;gap:12px;display:flex}.progress-result-details{font-size:var(--font-size-xs);margin-top:12px}.progress-bottom{grid-template-columns:1.2fr .8fr;align-items:start;gap:16px;display:grid}.progress-detail-panel{padding:0;overflow:hidden}.progress-table-head{background:#e7ece8;border-bottom:1px solid #d1d9d3;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;display:flex}.progress-table-title{align-items:baseline;gap:14px;display:flex}.progress-table-head h2{font-size:var(--font-size-md);letter-spacing:-.015em;margin:0}.progress-table-head span{color:#5f6b63;font-size:var(--font-size-2xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-weight:600}.progress-detail-body{padding:16px 20px 20px}.progress-rows{margin:0;padding:0;list-style:none}.progress-question-row{border-bottom:1px solid var(--line);padding:14px 0}.progress-question-row:last-child{border-bottom:0;padding-bottom:0}.progress-question-head{font-size:var(--font-size-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-question-title{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.progress-question-score{white-space:nowrap;color:var(--muted);font-size:var(--font-size-xs)}.progress-question-score b{color:var(--ink)}.progress-accuracy-bar{background:#edf0ed;border-radius:99px;height:5px;margin-top:9px;overflow:hidden}.progress-accuracy-bar i{border-radius:inherit;background:#477f50;height:100%;display:block}.progress-accuracy-bar--warning i{background:#c18b2e}.progress-needs-practice{color:#7e5719;font-size:var(--font-size-2xs);background:#fff6e6;border-radius:999px;padding:5px 9px;font-weight:550;display:inline-block}.progress-qtype-actions{justify-content:flex-end;margin-top:9px;display:flex}.progress-panel .student-text-button{font-size:11px}.progress-practice-row{border-bottom:1px solid var(--line);font-size:var(--font-size-sm);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.progress-practice-row>div:first-child{overflow-wrap:anywhere;min-width:0}.progress-practice-row:last-child{border-bottom:0}.progress-practice-score{text-align:right;flex-shrink:0}.progress-result-band{font-size:var(--font-size-xs);text-align:right;font-weight:500}.progress-partial-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.progress-window-tabs{width:max-content;margin-bottom:20px}.progress-qtype-list{margin-top:8px}.progress-stat-row{flex-wrap:wrap;gap:22px;margin:0 0 24px;display:flex}.progress-stat dt{font-size:var(--font-size-2xs);color:var(--muted);font-weight:450}.progress-stat dd{font-size:var(--font-size-md);margin:2px 0 0;font-weight:550}.progress-band-badge{border:1px solid var(--accent-soft);background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-2xs);white-space:nowrap;border-radius:99px;flex:none;padding:5px 11px;font-weight:550}@media (max-width:1150px){.progress-header{flex-direction:column}}@media (max-width:820px){.progress-hero,.progress-bottom{grid-template-columns:1fr}.progress-summary{border-right:0;border-bottom:1px solid var(--line)}.progress-summary,.progress-chartbox{padding:18px}.progress-table-head{padding:13px 18px}.progress-detail-body{padding:14px 18px 18px}.progress-controls{justify-content:space-between;width:100%}.progress-chart-heading{flex-wrap:wrap}.progress-chart-meta{justify-content:flex-start}.progress-chart{height:auto}}.progress-snapshot-row{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:16px;display:grid}.progress-overdue-value{color:var(--danger)}.progress-dash-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.progress-card-title{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 14px}.progress-member-detail{padding:14px 4px}.progress-reasons-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress-context-banner,.assignment-filter-banner{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px;padding:12px 14px;display:flex}@media (max-width:800px){.progress-snapshot-row{grid-template-columns:repeat(2,1fr)}.progress-dash-grid{grid-template-columns:1fr}}.student-empty-state p,.student-empty-copy{color:var(--muted);font-size:var(--font-size-sm);line-height:1.55}.student-empty-state button{margin-top:8px}.student-section-heading{margin-bottom:20px}.student-unavailable{border:1px solid var(--line);background:#fff;border-radius:18px;max-width:660px;margin-top:38px;padding:28px}.student-practice-shell{margin-top:0;display:block}.student-practice-shell--focused{flex-direction:column;flex:auto;min-height:0;margin-top:0;display:flex}.student-practice-shell--focused>div:not([hidden]){flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.student-practice-library{width:100%;max-width:1180px;padding-bottom:40px}.student-practice-header h1{font-size:var(--font-size-display-2);letter-spacing:-.045em;margin:5px 0 8px}.student-practice-header>p:last-child{max-width:620px;color:var(--muted);margin:0;line-height:1.6}.student-practice-continue{background:#f3f7f2;border:1px solid #c9d9ca;border-radius:18px;justify-content:space-between;align-items:flex-end;gap:28px;margin-top:20px;padding:24px 26px;display:flex;position:relative;box-shadow:0 10px 28px #19374608}.student-practice-continue-scope{color:var(--muted);font-size:var(--font-size-2xs);font-weight:450;position:absolute;top:24px;right:26px}.student-practice-continue h2{font-size:var(--font-size-display-4);letter-spacing:-.025em;margin:10px 0 6px}.student-practice-last-saved{color:var(--muted);font-size:var(--font-size-2xs);margin:12px 0 0;font-weight:450}.student-practice-status{min-height:26px;color:var(--accent-dark);font-size:var(--font-size-3xs);letter-spacing:.025em;background:#fff;border-radius:999px;align-items:center;padding:4px 9px;font-weight:500;display:inline-flex}.student-practice-segments{border:1px solid var(--line);background:#eef2ed;border-radius:13px;align-items:center;gap:4px;padding:4px;display:flex}.student-practice-segments button{min-height:38px;color:var(--muted);font-size:var(--font-size-xs);box-shadow:none;background:0 0;border:0;border-radius:9px;padding:0 13px;font-weight:450}.student-practice-segments button:hover:not(:disabled){background:#fffa}.student-practice-segments button[aria-pressed=true]{color:var(--accent-dark);background:#fff;box-shadow:0 2px 8px #19374612}.student-practice-lanes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;margin-top:28px;display:grid}.student-practice-lane{border:1px solid var(--line);background:#fff;border-radius:20px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 9px 24px #19374608}.student-practice-lane-head{background:var(--accent-soft);border-bottom:1px solid #d7e4da;padding:18px 20px 16px}.student-practice-lane-head--listening{background:#eef5f7;border-bottom-color:#d9e5e8}.student-practice-lane-title-row{align-items:center;gap:11px;display:flex}.student-practice-lane-icon{width:36px;height:36px;color:var(--accent-dark);font-size:var(--font-size-sm);background:#fff;border-radius:10px;flex-shrink:0;place-items:center;font-weight:600;display:grid;box-shadow:0 2px 8px #19374612}.student-practice-lane-head--listening .student-practice-lane-icon{color:#345763}.student-practice-lane-title-row h2{font-size:var(--font-size-xl);letter-spacing:-.02em;margin:0}.student-practice-lane-search{color:var(--ink);font-size:var(--font-size-xs);margin-top:14px;font-weight:450;display:block}.student-practice-lane-search>span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-practice-lane-search input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd7cc;border-radius:12px;padding:0 14px;font-weight:450}.student-practice-lane-search input:focus{border-color:var(--accent);outline:3px solid #b8d5ba66}.student-practice-entries{flex-direction:column;padding:8px 16px 4px;display:flex}.student-practice-entry{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:14px 4px;display:grid;position:relative}.student-practice-entry:last-child{border-bottom:0}.student-practice-entry-type{background:var(--paper);min-height:30px;color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.02em;border-radius:9px;place-items:center;padding:0 6px;font-weight:600;display:grid}.student-practice-entry-type--listening{color:#345763;background:#eef5f7}.student-practice-entry-collection{color:var(--muted);font-size:var(--font-size-2xs);margin:0 0 3px;font-weight:450}.student-practice-entry-title{font-size:var(--font-size-sm);margin:0;font-weight:550;line-height:1.4}.student-practice-entry-meta{color:var(--muted);font-size:var(--font-size-2xs);margin:3px 0 0;font-weight:450}.student-practice-entry-start{color:var(--accent-dark);font-size:var(--font-size-xs);white-space:nowrap;box-shadow:none;background:0 0;border:0;padding:8px 6px;font-weight:600}.student-practice-pagination{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px 16px;display:flex}.student-practice-page-info{color:var(--muted);font-size:var(--font-size-2xs);margin:0;font-weight:450}.student-practice-page-controls{align-items:center;gap:5px;display:flex}.student-practice-page-btn{border:1px solid var(--line);min-width:32px;height:32px;color:var(--muted);font-size:var(--font-size-2xs);box-shadow:none;background:#fff;border-radius:9px;padding:0 9px;font-weight:550}.student-practice-page-btn[aria-current=page]{background:var(--accent-soft);color:var(--accent-dark);border-color:#c4d9c9}.student-practice-page-btn:disabled{cursor:default;opacity:.4}.student-practice-page-ellipsis{color:var(--muted);font-size:var(--font-size-2xs);padding:0 2px}.student-practice-error,.student-practice-empty,.student-practice-loading{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:14px;margin-top:20px;padding:20px}.student-practice-empty-card{min-height:190px;color:var(--muted);text-align:center;background:#fbfdfb;border:1.5px dashed #c4d2c5;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 24px;display:flex}.student-practice-empty-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-dark);border-radius:999px;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.student-practice-empty-title{color:var(--accent-dark);font-size:var(--font-size-base);letter-spacing:-.015em;margin:0;font-weight:450}.student-practice-empty-hint{max-width:46ch;font-size:var(--font-size-sm);margin:0;line-height:1.55}.student-practice-empty-card .button-secondary{margin-top:10px}.student-practice-library{max-width:1120px}.student-practice-header{margin-bottom:24px}.student-practice-header h1{font-size:var(--font-size-display-2);letter-spacing:-.035em;margin:0 0 6px;line-height:1.05}.student-practice-header>p:last-child{font-size:var(--font-size-sm);line-height:1.5}.student-practice-filter-banner{background:var(--accent-soft);border:1px solid #cbdacb;border-radius:11px;justify-content:space-between;align-items:center;gap:16px;margin:-8px 0 20px;padding:10px 14px;display:flex}.student-practice-filter-banner p{color:var(--accent-dark);font-size:var(--font-size-xs);margin:0}.student-practice-lanes{gap:28px;margin-top:0}.student-practice-lane--panel{border:1px solid;border-radius:20px;padding:18px;display:block;overflow:visible;box-shadow:0 1px #1e282005}.student-practice-lane--reading.student-practice-lane--panel{background:#eef5ef;border-color:#d3e3d6}.student-practice-lane--listening.student-practice-lane--panel{background:#eef4f7;border-color:#d1e0e7}.student-practice-lane-head{background:0 0;border:0;padding:0}.student-practice-lane-title-row{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.student-practice-lane-title-row h2{letter-spacing:-.03em;margin:0;font-size:27px;line-height:1}.student-practice-lane-title-row>span{color:var(--muted);font-size:var(--font-size-3xs);white-space:nowrap;font-weight:600}.student-practice-lane-search{margin:0}.student-practice-lane-search input{border-color:#d7ddd6;border-radius:13px;min-height:50px;padding:0 15px}.student-practice-subtable{background:#fff;border:1px solid #dde3dc;border-radius:15px;margin-top:18px;overflow:hidden;box-shadow:0 10px 28px #2331270f}.student-practice-subtable-head{background:#f7f8f6;border-bottom:1px solid #dde3dc;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 15px 0 16px;display:flex}.student-practice-lane--reading .student-practice-subtable--in-progress .student-practice-subtable-head{background:#dceadc}.student-practice-lane--listening .student-practice-subtable--in-progress .student-practice-subtable-head{background:#e1edf2}.student-practice-subtable-head>div{align-items:center;gap:8px;display:flex}.student-practice-subtable-head h3{color:#626b64;font-size:var(--font-size-3xs);letter-spacing:.105em;text-transform:uppercase;margin:0;font-weight:650}.student-practice-subtable-head>span{color:#818982;font-size:var(--font-size-3xs);text-align:right;font-weight:600}.student-practice-subtable-count{color:#6b746c;min-width:28px;height:28px;font-size:var(--font-size-3xs);background:#eef1ed;border-radius:999px;place-items:center;padding:0 8px;font-weight:650;display:grid}.student-practice-lane--reading .student-practice-subtable--in-progress .student-practice-subtable-count,.student-practice-lane--reading .student-practice-subtable--in-progress .student-practice-entry-type{color:#2d6a3a;background:#d0e2d2}.student-practice-lane--listening .student-practice-subtable--in-progress .student-practice-subtable-count,.student-practice-lane--listening .student-practice-subtable--in-progress .student-practice-entry-type{color:#356f82;background:#d6e7ee}.student-practice-subtable .student-practice-entries{padding:0}.student-practice-subtable .student-practice-entry{border-top:1px solid #e7ece6;border-bottom:0;grid-template-columns:78px minmax(0,1fr) auto;gap:14px;padding:17px 16px}.student-practice-subtable .student-practice-entry:first-child{border-top:0}.student-practice-subtable{--practice-row-height:96px}.student-practice-subtable--in-progress{--practice-row-height:120px}.student-practice-subtable .student-practice-entry{height:var(--practice-row-height);overflow:hidden}.student-practice-subtable .student-practice-entry-title,.student-practice-subtable .student-practice-entry-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-practice-subtable .student-practice-progress-line{overflow:hidden}.student-practice-entry-type{color:#697269;white-space:nowrap;background:#eef1ed;border-radius:10px;min-width:78px;min-height:34px;padding:0 10px;font-weight:650}.student-practice-entry-body{min-width:0}.student-practice-entry-collection{text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;overflow:hidden}.student-practice-entry-title{overflow-wrap:anywhere;font-size:var(--font-size-xs);font-weight:600;line-height:1.3}.student-practice-entry-meta{font-size:var(--font-size-3xs);line-height:1.35}.student-practice-entry-action{color:var(--accent-dark);font-size:var(--font-size-xs);white-space:nowrap;box-shadow:none;background:0 0;border:0;padding:8px 0 8px 10px;font-weight:650}.student-practice-entry-action:hover:not(:disabled),.student-practice-entry-action:active:not(:disabled){background:0 0;border-color:#0000;text-decoration:underline;transform:none}.student-practice-entry-action:after{content:"";position:absolute;inset:0}.student-practice-entry-action:focus-visible{outline:none}.student-practice-entry-action:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.student-practice-entry:hover{background:var(--paper)}.student-practice-lane--listening .student-practice-entry-action{color:#315f6d}.student-practice-progress-line{color:#747c76;font-size:var(--font-size-3xs);flex-wrap:nowrap;align-items:center;gap:8px;margin-top:7px;font-weight:600;display:flex}.student-practice-subtable--in-progress .student-practice-progress-line{margin-top:20px}.student-practice-subtable--in-progress .student-practice-entry{padding-top:8px}.student-practice-subtable--in-progress .student-practice-entry-title{margin-top:14px}.student-practice-progress{background:#e7ebe8;border-radius:999px;flex:auto;min-width:32px;max-width:150px;height:5px;display:block;overflow:hidden}.student-practice-progress-line>span:not(.student-practice-progress){flex-shrink:0}.student-practice-progress>span{border-radius:inherit;background:#7fa889;height:100%;display:block}.student-practice-lane--listening .student-practice-progress>span{background:#7ca4af}.student-practice-count-pill{color:#5f665f;font-size:var(--font-size-3xs);white-space:nowrap;background:#eef1ed;border-radius:999px;padding:2px 8px;font-weight:650;line-height:1.4;display:inline-block}.student-practice-lane--reading .student-practice-count-pill{color:#2f653c;background:#e8f1e9}.student-practice-lane--listening .student-practice-count-pill{color:#315f6d;background:#eaf1f4}.student-practice-saved-pill{color:#6b726b;font-size:var(--font-size-3xs);white-space:nowrap;background:#f0f2f0;border-radius:999px;padding:2px 8px;font-weight:600;line-height:1.4;display:inline-block}.student-practice-inline-state{min-height:86px;color:var(--muted);font-size:var(--font-size-xs);text-align:center;margin:0;padding:20px 4px}.student-practice-inline-state p{margin:0 0 10px}.student-practice-pagination{background:#fcfdfc;min-height:56px;padding:8px 16px}.student-practice-pagination>p{color:var(--muted);font-size:var(--font-size-3xs);margin:0;font-weight:600}.student-practice-page-btn{border-radius:8px;min-width:29px;height:29px;padding:0 7px}.student-practice-subtable--in-progress .student-practice-page-btn[aria-current=page]{color:#2f653c;background:#e8f1e9}.student-practice-lane--listening .student-practice-subtable--in-progress .student-practice-page-btn[aria-current=page]{color:#315f6d;background:#eaf1f4}.student-dialog-overlay{z-index:60;background:#18221b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.student-dialog{border:1px solid var(--line);background:var(--card);border-radius:14px;width:min(420px,100%);padding:20px;box-shadow:0 18px 48px #18221b40}.student-dialog h2{font-size:var(--font-size-lg);letter-spacing:-.02em;margin:0 0 8px}.student-dialog p{color:var(--muted);margin:0 0 16px}.student-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.app-tour-sample-ribbon{border:1px solid var(--warning-line);background:var(--warning-soft);width:fit-content;color:var(--warning);font-size:var(--type-meta);border-radius:999px;align-items:center;margin:0 0 14px;padding:4px 12px;font-weight:500;display:inline-flex}.app-tour-welcome{width:min(460px,100%)}.app-tour-languages{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.student-dialog .app-tour-languages button{border:1px solid var(--line);color:var(--ink);text-align:left;box-shadow:none;background:#fff;border-radius:12px;gap:2px;padding:10px 12px;display:grid}.student-dialog .app-tour-languages button strong{font-weight:500}.student-dialog .app-tour-languages button small{color:var(--muted);font-size:var(--type-meta)}.student-dialog .app-tour-languages button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}@media (max-width:420px){.app-tour-languages{grid-template-columns:1fr}}.assignment-board-wrap{margin-top:18px}.assignment-board{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.assignment-lane{background:#eef1ee;border-radius:16px;gap:10px;padding:12px 10px;display:grid}.assignment-lane-head{font-size:var(--font-size-sm);letter-spacing:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:2px 4px;font-weight:650;display:flex}.assignment-lane-head>span:first-child{align-items:center;gap:8px;display:inline-flex}.assignment-lane-dot{border-radius:50%;width:8px;height:8px}.assignment-lane-dot--not-started{background:#b9c2bb}.assignment-lane-dot--in-progress{border:2px solid var(--accent);background:#fff}.assignment-lane-dot--finished{background:var(--accent)}.assignment-lane-count{border:1px solid var(--line);color:var(--muted);font-size:var(--font-size-2xs);background:#fff;border-radius:999px;padding:1px 8px;font-weight:650}.assignment-lane-cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.assignment-lane-empty{border:1.5px dashed var(--line);color:var(--muted);font-size:var(--font-size-xs);text-align:center;border-radius:12px;margin:0;padding:18px}.assignment-see-all{color:var(--accent-dark);font-size:var(--font-size-sm);box-shadow:none;background:0 0;border:0;justify-self:end;padding:4px 4px 0;font-weight:700}.assignment-see-all:hover:not(:disabled),.assignment-see-all:active:not(:disabled){color:var(--accent);background:0 0;border:0;transform:none}.assignment-lane-switch{display:none}@media (max-width:720px){.assignment-board{grid-template-columns:1fr}.assignment-lane[data-phone-hidden=true],.assignment-lane-head{display:none}.assignment-lane-switch{background:#e3e9e4;border-radius:12px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.assignment-lane-switch button{min-width:0;color:var(--muted);font-size:var(--font-size-2xs);box-shadow:none;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 4px;font-weight:650}.assignment-lane-switch button:hover:not(:disabled){background:0 0;border:0}@media (hover:hover){.assignment-lane-switch button:hover:not(:disabled){background:#ffffff80}}.assignment-lane-switch button[aria-pressed=true],.assignment-lane-switch button[aria-pressed=true]:hover:not(:disabled){color:var(--ink);background:#fff;box-shadow:0 1px 3px #18221b14}}.assignment-card{border:1px solid var(--line);background:#fff;border-radius:13px;gap:9px;padding:13px 14px;display:grid;position:relative}.assignment-card.assignment-card--overdue{border-color:var(--danger-line);background:#fbe5e4}.assignment-card h3{font-size:var(--font-size-md);letter-spacing:-.01em;margin:0;line-height:1.3}.assignment-card-meta{color:var(--muted);font-size:var(--type-meta);flex-wrap:wrap;gap:4px 12px;margin:-3px 0 0;display:flex}.assignment-card-meta span{align-items:center;gap:5px;display:inline-flex}.assignment-card-meta svg{opacity:.8;flex:none;width:13px;height:13px}.assignment-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.assignment-skill,.assignment-due-pill{font-size:var(--font-size-3xs);white-space:nowrap;border-radius:999px;padding:2px 9px;font-weight:650}.assignment-skill--reading{color:#24482c;background:#e3f0e5}.assignment-skill--listening{color:#1f4d5a;background:#e0eef2}.assignment-skill--writing{color:#5c4520;background:#f3ebdc}.assignment-skill--speaking{color:#4f3560;background:#efe6f3}.assignment-skill--dictation{color:#34465c;background:#e5eaf1}.assignment-due-pill{border:1px solid var(--line);color:var(--muted);background:#fff}.assignment-due-pill--overdue{color:var(--danger);background:#f5cdca;border-color:#eab4b0}.assignment-due-pill--waived{color:var(--muted);border-style:dashed}.assignment-due-pill--soon{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}.assignment-progress{color:var(--muted);font-size:var(--font-size-2xs);gap:5px;display:grid}.assignment-progress-track{background:#e3e8e4;border-radius:3px;height:5px;display:block;overflow:hidden}.assignment-card--overdue .assignment-progress-track{background:#f1d9d7}.assignment-progress-track>span{background:var(--accent);height:100%;display:block}.assignment-card .assignment-action{color:var(--accent-dark);font-size:var(--font-size-sm);text-underline-offset:3px;box-shadow:none;background:0 0;border:0;border-radius:4px;flex:none;padding:4px 2px;font-weight:700}.assignment-card .assignment-action:hover:not(:disabled),.assignment-card .assignment-action:active:not(:disabled){background:0 0;border:0;text-decoration:underline;transform:none}.assignment-card .assignment-action:after{content:"";border-radius:13px;position:absolute;inset:0}.assignment-card .assignment-action:focus-visible{outline:none}.assignment-card .assignment-action:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.assignment-card:hover:not(.assignment-card--overdue){border-color:var(--button-border)}.assignment-chip{min-height:26px;font-size:var(--font-size-3xs);letter-spacing:.025em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:4px 10px;font-weight:500;display:inline-flex}.assignment-chip--not-started{color:var(--muted);background:#eef1ee}.assignment-chip--in-progress{color:var(--accent);background:#fff;border:1.5px solid #9cc0a9}.assignment-chip--submitted{background:var(--accent-soft);color:var(--accent-dark)}.assignment-chip--cancelled{color:var(--muted);background:#eef1ee}.assignment-chip--overdue{background:var(--danger-soft);color:var(--danger)}.assignment-chip--waived{color:var(--muted);background:#fff;border:1.5px dashed #b7c1ba}.assignment-recipient-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.assignment-waive-link{color:var(--accent-dark);font:inherit;font-size:var(--font-size-xs);cursor:pointer;background:0 0;border:0;padding:0}.assignment-waive-link:hover{text-decoration:underline}.assignment-waive-link:disabled{color:var(--muted);cursor:default;text-decoration:none}.assignment-content-empty{color:var(--muted);font-size:var(--font-size-xs);margin:0;padding:12px}.assignment-confirm-actions{gap:8px;display:flex}.assignment-score-row{align-items:center;gap:12px;display:flex}.assignment-score-row strong{font-size:var(--font-size-md);color:var(--accent-dark);display:block}.assignment-score-row .muted{font-size:var(--font-size-2xs);margin-top:1px;display:block}.assignment-attempts{color:#49564e;font-size:var(--font-size-3xs);background:#eef1ee;border-radius:999px;align-self:flex-start;align-items:center;gap:5px;padding:4px 9px 4px 7px;font-weight:450;display:inline-flex}.assignment-attempts svg{width:12px;height:12px}.assignment-attempts--unlimited{background:var(--accent-soft);color:var(--accent-dark)}.assignment-card-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-practice-error p{margin-top:0}.workspace--admin{width:100%;max-width:none;margin:0}.admin-app{background:var(--paper);width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;grid-template-columns:256px minmax(0,1fr);margin-top:0;display:grid}.admin-side{border-right:1px solid var(--line);background:#fbfdfb;flex-direction:column;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.admin-brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:16px;padding:2px 8px 18px;display:flex}.admin-brand .brand-mark{border-radius:11px;width:36px;height:36px}.admin-brand h1,.admin-brand strong{font-size:var(--font-size-lg);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:450;display:block}.admin-brand span{color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.1em;text-transform:uppercase;font-weight:450;display:block}.admin-rail{flex-direction:column;gap:6px;display:flex}.admin-rail-tab{width:100%;min-height:2.75rem;color:var(--muted);font-size:var(--font-size-md);text-align:left;white-space:nowrap;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:450;display:flex}.admin-rail-tab:hover:not(:disabled){background:#eef4ee}.admin-rail-tab[aria-selected=true]{background:var(--accent-soft);color:var(--accent-dark)}.admin-rail-dot{border:1.5px solid;border-radius:50%;flex:none;width:8px;height:8px}.admin-rail-tab[aria-selected=true] .admin-rail-dot{background:currentColor}.teacher-area-segments{border:1px solid var(--line);background:#eef2ed;border-radius:13px;align-items:center;gap:4px;width:max-content;margin-bottom:18px;padding:4px;display:flex}.teacher-area-tab{min-height:38px;color:var(--muted);font-size:var(--font-size-sm);box-shadow:none;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:0 14px;font-weight:450;display:flex}.teacher-area-tab:hover:not(:disabled){background:#fffa}.teacher-area-tab[aria-selected=true]{color:var(--accent-dark);background:#fff;box-shadow:0 2px 8px #19374612}.teacher-area-dot{border:1.5px solid;border-radius:50%;flex:none;width:7px;height:7px}.teacher-area-tab[aria-selected=true] .teacher-area-dot{background:currentColor}.assignment-workspace-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.assignment-workspace-head h2{font-size:var(--font-size-lg);letter-spacing:-.015em;margin:0 0 2px}.assignment-workspace-head p{color:var(--muted);font-size:var(--font-size-xs);margin:0}.assignment-table{border:1px solid var(--line);background:#fff;border-radius:16px;margin-top:16px;overflow:hidden;box-shadow:0 9px 24px #19374608}.assignment-row{border-top:1px solid #edf0ee;grid-template-columns:minmax(0,1.6fr) 1fr 1fr 1.2fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.assignment-row.assignment-row--head{font-size:var(--font-size-3xs);text-transform:uppercase;letter-spacing:.06em;color:#8a948d;background:#f7f9f7;border-top:0;padding:11px 18px;font-weight:450}.assignment-row.assignment-row--cancelled{opacity:.6}.assignment-row button.assignment-row-open{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.assignment-row-title strong{font-size:var(--font-size-md);font-weight:450;display:block}.assignment-row-title span{font-size:var(--font-size-2xs);color:var(--muted);margin-top:2px;display:block}.assignment-row-tag{font-size:var(--font-size-2xs);color:#49564e;font-weight:450}.assignment-menu-wrap{justify-self:end;position:relative}.assignment-menu{z-index:5;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:180px;margin-top:6px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 14px 30px #19374618}.assignment-menu button{text-align:left;width:100%;font-size:var(--font-size-xs);color:var(--danger);background:0 0;border:0;padding:10px 14px;font-weight:450;display:block}.assignment-menu button:hover{background:var(--danger-soft)}.assignment-drawer-scrim{z-index:20;background:#141c1647;position:fixed;inset:0}.assignment-drawer{z-index:21;border-left:1px solid var(--line);background:#fff;flex-direction:column;width:min(420px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-14px 0 40px #141c1624}.assignment-drawer-head{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 20px 14px;display:flex}.assignment-drawer-head h3{font-size:var(--font-size-base);letter-spacing:-.015em;margin:0 0 3px}.assignment-drawer-head p{color:var(--muted);font-size:var(--font-size-xs);margin:0}.assignment-drawer-head-actions{gap:4px;display:flex}.assignment-drawer-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow:auto}.assignment-drawer-foot{border-top:1px solid #edf0ee;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.assignment-recipient-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.assignment-recipient-row{font-size:var(--font-size-xs);border-top:1px solid #edf0ee;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:11px 14px;display:grid}.assignment-recipient-row.assignment-recipient-row--head{font-size:var(--font-size-3xs);text-transform:uppercase;letter-spacing:.05em;color:#8a948d;background:#f7f9f7;border-top:0;font-weight:450}.assignment-field{flex-direction:column;gap:6px;display:flex}.assignment-field label{font-size:var(--font-size-xs);color:#425047;font-weight:450}.assignment-field input[type=text],.assignment-field input[type=number],.assignment-field input[type=datetime-local],.assignment-field textarea,.assignment-field select{border:1px solid var(--line);height:38px;font-size:var(--font-size-sm);border-radius:10px;outline:0;padding:0 11px}.assignment-field textarea{resize:vertical;height:68px;padding:9px 11px}.assignment-seg-field{background:#f2f5f2;border-radius:10px;gap:6px;padding:4px;display:flex}.assignment-seg-field button{color:var(--muted);font-size:var(--font-size-xs);background:0 0;border:0;border-radius:7px;flex:1;padding:7px 0;font-weight:450}.assignment-seg-field button[aria-pressed=true]{color:var(--accent-dark);background:#fff;box-shadow:0 2px 6px #19374612}.assignment-content-picker{border:1px solid var(--line);border-radius:12px;max-height:220px;overflow:auto}.assignment-content-option{text-align:left;width:100%;font-size:var(--font-size-xs);background:0 0;border:0;border-top:1px solid #edf0ee;padding:10px 12px;display:block}.assignment-content-option:first-child{border-top:0}.assignment-content-option strong{font-size:var(--font-size-xs);display:block}.assignment-content-option span{font-size:var(--font-size-2xs);color:var(--muted);margin-top:2px;display:block}.assignment-content-option[aria-pressed=true]{background:var(--accent-soft)}.assignment-student-picker{flex-wrap:wrap;gap:6px;display:flex}.assignment-student-picker button{border:1px solid var(--line);color:#49564e;font-size:var(--font-size-xs);background:#fff;border-radius:999px;padding:5px 11px;font-weight:450}.assignment-student-picker button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-dark);border-color:#8fb59d}.admin-side-footer{border-top:1px solid var(--line);gap:10px;margin-top:auto;padding:16px 4px 0;display:grid}.admin-side-footer button{width:100%}.admin-main{background:var(--paper);flex-direction:column;min-width:0;min-height:100vh;display:flex}.admin-topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:10px 32px;display:flex;position:sticky;top:0}.admin-breadcrumbs{font-size:var(--font-size-sm);align-items:center;gap:8px;font-weight:450;display:flex}.breadcrumb-root{color:var(--muted)}.breadcrumb-sep{color:var(--line)}.breadcrumb-current{color:var(--ink)}.admin-topbar-status{align-items:center;display:flex}.admin-topbar-status .foundation-status{min-width:auto;font-size:var(--font-size-2xs);padding:6px 12px}.admin-content{flex:1;width:100%;max-width:1600px;padding:28px 32px 60px}.admin-heading{margin-bottom:20px}.admin-greeting{font-size:var(--font-size-display-3);letter-spacing:-.03em;margin:0 0 4px}.admin-panel{min-width:0}.admin-panel>.admin-area,.admin-panel>.class-area,.admin-panel>.media-assets-area,.admin-panel>.test-content-area{margin-top:0}.class-area,.media-assets-area,.test-content-area{margin-top:30px}.test-content-heading{align-items:end}.test-content-heading-actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.test-content-library-tabs{border-bottom:1px solid var(--line);gap:6px;margin-top:18px;display:flex}.test-content-library-tabs button{color:var(--muted);background:0 0;border-width:0 0 2px;border-radius:0;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 12px;display:flex}.test-content-library-tabs button[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.test-content-library-tabs span,.test-content-library-count{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 7px;font-weight:450}.test-content-library{margin-top:18px;padding:18px}.test-content-table-wrap{overflow-x:auto}.test-content-table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);text-align:left;border-radius:11px;width:100%;min-width:860px;overflow:hidden}.test-content-table th{color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.05em;text-transform:uppercase;background:#f7fbf8;padding:9px 11px}.test-content-table td{border-top:1px solid var(--line);font-size:var(--font-size-xs);vertical-align:middle;padding:11px}.test-content-table td:first-child{min-width:215px}.test-content-table td:first-child .test-content-version-id{margin-top:4px;display:block}.test-content-table td:first-child strong{color:var(--ink)}.test-content-table .test-content-version-id{color:var(--muted);font-size:var(--font-size-3xs)}.test-content-table-actions{text-align:right;white-space:nowrap}.test-content-table-actions>*+*{margin-left:6px}.test-content-delete-confirm{gap:4px;display:inline-flex}.test-content-create{background:#fbfefb;margin-top:18px;padding:18px 20px}.test-content-create-form{justify-content:space-between;align-items:end;gap:16px;display:flex}.test-content-create-form label{margin-top:10px}.test-content-create-form h3{margin-bottom:4px}.test-content-create-form .muted{margin-bottom:0}.test-content-create-form input{min-width:min(420px,100%)}.test-content-recovery{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:12px 14px;display:flex}.test-content-recovery p{margin:0}.test-content-area>.test-content-recovery,.test-content-area>.notice{z-index:30;position:sticky;top:64px}.test-content-toolbar{gap:8px;margin-top:18px;display:flex}.test-content-toolbar button[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-dark);border-color:#9fbea0}.test-content-body{flex-direction:column;margin-top:14px;display:flex;position:relative}.test-content-pane{min-width:0;padding:18px}.test-content-pane--edit{order:1;max-width:none}.test-content-drawer-scrim{z-index:20;background:#141c1647;position:fixed;inset:0}.test-content-pane--outline{z-index:21;border-width:0 1px 0 0;border-radius:0;width:min(380px,100vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:14px 0 40px #1937460c}.test-content-body[data-active-pane=outline] .test-content-pane--outline{transform:translate(0)}.test-content-readiness{background:#fff;border:1px solid #c5d7c2;border-radius:12px;order:0;margin-bottom:14px;box-shadow:0 8px 22px #1937270d}.test-content-readiness-bar,.test-content-readiness-title,.test-content-readiness-actions{align-items:center;display:flex}.test-content-readiness-bar{justify-content:space-between;gap:14px;padding:11px 14px}.test-content-readiness-title{gap:8px;min-width:0}.test-content-readiness-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-dark);border-radius:50%;flex:none;place-items:center;display:grid}.test-content-readiness-icon svg,.test-content-readiness-check svg{width:14px;height:14px}.test-content-readiness-title>span:nth-child(2){gap:1px;display:grid}.test-content-readiness-title strong{color:var(--accent-dark);font-size:var(--font-size-xs);font-weight:600}.test-content-readiness-title small{color:var(--muted);font-size:var(--font-size-3xs)}.test-content-readiness-actions{flex-wrap:wrap;justify-content:end;gap:6px}.test-content-readiness-actions button{min-height:32px;font-size:var(--font-size-xs);justify-content:center;align-items:center;gap:6px;padding:6px 9px;display:inline-flex}.test-content-area button.test-content-readiness-preview{color:var(--accent-dark);background:0 0;border-color:#0000}.test-content-area button.test-content-readiness-preview:hover:not(:disabled){background:var(--accent-soft)}.test-content-area button.test-content-readiness-publish{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff;box-shadow:0 2px 6px #24482c33}.test-content-area button.test-content-readiness-publish:hover:not(:disabled){background:#183d22}.test-content-readiness-details{border-top:1px solid var(--line);padding:0 14px 14px}.test-content-readiness-details>.muted{font-size:var(--font-size-xs);margin:10px 0 0}.pane-heading-actions{align-items:center;gap:8px;display:flex}.pane-heading{justify-content:space-between;align-items:start;gap:10px;margin-bottom:14px;display:flex}.pane-heading h3{margin-bottom:0}.test-content-test-list{gap:7px;display:grid}.test-content-test-item{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fbfdfb;border-radius:10px;gap:4px;padding:10px 11px;display:grid}.test-content-test-item>button:first-child{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.test-content-test-item:hover:not(:disabled),.test-content-test-item--selected{background:var(--accent-soft);color:var(--accent-dark);border-color:#9fbea0}.test-content-test-item span{color:var(--muted);font-size:var(--font-size-3xs);font-weight:450}.test-content-version-id{overflow-wrap:anywhere;font-family:ui-monospace,monospace}.test-content-selected-test{border:1px solid var(--line);background:#fbfdfb;border-radius:10px;gap:5px;padding:11px;display:grid}.test-content-selected-test>span{color:var(--muted);font-size:var(--font-size-2xs);font-weight:450}.test-content-selected-test>button{justify-self:start;margin-top:3px}.test-content-outline-tree{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.outline-passage{font-size:var(--font-size-xs);gap:5px;margin-top:12px;display:grid}.outline-passage-button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin:0 -8px;padding:6px 8px;font-weight:600}.outline-passage-button:hover:not(:disabled){background:#f2f7f2}.outline-passage-button--active{background:var(--accent-soft);color:var(--accent-dark);border-color:#9fbea0}.outline-group-button{color:var(--muted);font-size:var(--font-size-2xs);text-align:left;cursor:pointer;background:0 0;border:0;margin:0 -8px;padding:2px 8px;display:block}.outline-group-button:hover{color:var(--accent-dark);text-decoration:underline}.test-content-editor-section{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.test-content-import-json{flex-direction:column;gap:10px;margin-top:14px;display:flex}.test-content-import-json textarea{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs);min-height:220px}.test-content-import-json-example{border:1px solid var(--line);max-height:320px;font-size:var(--font-size-xs);white-space:pre-wrap;background:#f7fbf7;border-radius:10px;padding:12px;overflow:auto}.test-content-import-json-issues{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);border-radius:11px;padding:12px 14px}.test-content-import-json-issues p{margin:0 0 6px}.test-content-import-json-issues ul{margin:0;padding-left:20px}.question-extraction-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.question-extraction-row>.eyebrow{margin:0}.question-extraction-row>.question-extraction-panel{flex-basis:100%}.question-extraction-panel{border:1px solid var(--accent);background:#fcfefc;border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;box-shadow:0 8px 24px #18352c12}.question-extraction-head,.question-extraction-actions,.question-extraction-guidance-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.question-extraction-head h4{font-size:var(--font-size-md);flex:1;margin:0}.question-extraction-actions .hint,.question-extraction-guidance-actions .hint{flex:1;min-width:200px}.question-extraction-inputs{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;display:grid}@media (max-width:720px){.question-extraction-inputs{grid-template-columns:1fr}}.question-extraction-inputs textarea,.question-extraction-guidance textarea{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs)}.question-extraction-run{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.question-extraction-run .form-field{flex:1;min-width:220px}.question-extraction-explain{border:1px solid var(--accent);background:var(--accent-soft);border-radius:9px;flex-direction:column;gap:2px;max-width:320px;padding:6px 10px;display:flex}.question-extraction-explain label{font-weight:600;font-size:var(--font-size-sm);align-items:center;gap:6px;display:flex}.question-extraction-explain input{width:auto;margin:0}.question-extraction-explain--off{border-color:var(--line);color:var(--muted);background:#fff}.question-extraction-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;display:flex}.question-extraction-tabs .question-extraction-pill{margin-left:auto}.question-extraction-tab{color:var(--muted);font-size:var(--font-size-sm);box-shadow:none;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:4px 10px;font-weight:600}.question-extraction-tab[aria-selected=true]{color:var(--accent-dark);border-bottom-color:var(--accent)}.question-extraction-guidance{border:1px dashed var(--line);background:#fff;border-radius:10px;padding:6px 10px}.question-extraction-guidance summary{cursor:pointer;font-weight:600;font-size:var(--font-size-sm)}.question-extraction-guidance textarea{margin:8px 0}.question-extraction-pill{font-size:var(--font-size-2xs);border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:1px 9px;font-weight:600;display:inline-block}.question-extraction-pill--ok{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.question-extraction-pill--warn{background:var(--warning-soft);border-color:var(--warning-line);color:var(--warning)}.question-extraction-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.question-extraction-step{border:1px solid var(--line);min-width:160px;font-size:var(--font-size-xs);background:#fff;border-radius:10px;flex-direction:column;flex:1;gap:4px;padding:8px 10px;display:flex}.question-extraction-step--running{border-color:var(--accent);background:var(--accent-soft)}.question-extraction-step-title{font-weight:700;font-size:var(--font-size-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.question-extraction-progress{background:var(--line);border-radius:99px;height:6px;display:block;overflow:hidden}.question-extraction-progress span{background:var(--accent);width:45%;height:100%;animation:1.4s ease-in-out infinite question-extraction-slide;display:block}@keyframes question-extraction-slide{0%{margin-left:-45%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.question-extraction-progress span{opacity:.5;width:100%;animation:none}}.question-extraction-note{font-size:var(--font-size-sm);border-radius:10px;margin:0;padding:8px 12px}.question-extraction-note--ok{background:var(--accent-soft);border:1px solid var(--button-border);color:var(--accent-dark)}.question-extraction-note--warn{background:var(--warning-soft);border:1px solid var(--warning-line);color:var(--warning)}.question-extraction-note--bad{background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger)}div.question-extraction-note{margin-top:12px}.question-extraction-pending{margin:0}.question-extraction-chip{border:1px solid var(--warning-line);color:var(--warning);font-size:var(--font-size-2xs);cursor:pointer;background:#fff;border-radius:999px;margin-left:6px;padding:1px 9px;font-weight:700}.question-extraction-issues{font-size:var(--font-size-xs);margin:4px 0 0;padding-left:18px}.question-extraction-groups{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.question-extraction-groups li{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.question-extraction-type{font-size:var(--font-size-2xs);color:var(--accent-dark);background:var(--accent-soft);border-radius:6px;padding:1px 7px;font-weight:700}.question-extraction-raw{white-space:pre-wrap;word-break:break-word;max-height:200px;font-size:var(--font-size-2xs);color:#d9efe0;background:#1c2a21;border-radius:8px;padding:8px 10px;overflow:auto}.question-extraction-save-hint{color:var(--warning);font-size:var(--font-size-sm);align-self:center}.test-content-question-grid tr.test-content-question-row--needs-answer>td{background:var(--warning-soft)}.test-content-question-grid tr.test-content-question-row--needs-answer input,.test-content-question-grid tr.test-content-question-row--needs-answer select{border-color:var(--warning-line)}.test-content-question-grid tr.test-content-question-row--check-answer>td{background:#fffbef}.test-content-question-grid tr.test-content-question-row--check-answer>td:first-child{box-shadow:inset 3px 0 0 var(--warning-line)}.test-content-check-answer{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-2xs);white-space:nowrap;border-radius:999px;margin-top:4px;padding:1px 9px;font-weight:700;display:inline-block}button.test-content-check-answer{cursor:pointer;min-height:0;padding-top:1px;padding-bottom:1px;line-height:1.6}button.test-content-check-answer:hover:not(:disabled){background:#fff}.test-content-question-move{gap:4px;margin-bottom:4px;display:flex}.test-content-question-grid td:nth-child(5) .test-content-question-move button{flex:1;min-width:0;padding-left:0;padding-right:0}.test-content-passage-editor,.test-content-group-editor{background:#fcfefc;border:1px solid #dfe6df;border-radius:12px;margin-top:16px;padding:14px}.test-content-group-editor{background:#f7fbf7;margin-top:18px}.test-content-passage-switcher{font-size:var(--font-size-xs);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.test-content-area{--tc-topbar:var(--admin-topbar-height,57px);--tc-nav-height:48px}.test-content-pane--edit .test-content-passage-switcher{top:var(--tc-topbar);z-index:8;box-sizing:border-box;height:var(--tc-nav-height);border-bottom:1px solid var(--line);background:var(--card);flex-wrap:nowrap;margin:16px -18px 0;padding:6px 18px;position:sticky}.test-content-passage-switcher>span{white-space:nowrap}.test-content-pane--edit .collapsible[open]>.collapsible-summary{top:calc(var(--tc-topbar) + var(--tc-nav-height));z-index:6;background:#fcfefc;padding:8px 0;position:sticky}.test-content-pane--edit .test-content-group-editor[open]>.collapsible-summary{background:#f7fbf7}:is(.test-content-area:has(.test-content-passage-switcher)>.test-content-recovery,.test-content-area:has(.test-content-passage-switcher)>.notice){top:calc(var(--tc-topbar) + var(--tc-nav-height) + 6px)}@media (max-width:720px){.test-content-switcher-unit{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.test-content-question-grid-wrap{max-width:100%;margin-top:14px;overflow-x:auto}.test-content-question-grid{table-layout:fixed;border-collapse:collapse;width:100%;min-width:420px;font-size:var(--font-size-xs)}.test-content-question-grid th{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--font-size-2xs);text-align:left;padding:6px 8px}.test-content-question-grid td{border-bottom:1px solid var(--line);vertical-align:middle;padding:6px 8px}.test-content-question-grid td input,.test-content-question-grid td select{width:100%}.test-content-question-grid tbody tr:not(.test-content-question-grid-details-row) td:first-child{width:34px;overflow:hidden}.test-content-question-number{font-variant-numeric:tabular-nums;font-weight:600}.test-content-question-grid th:first-child{width:34px}.test-content-question-grid tbody tr:not(.test-content-question-grid-details-row) td:nth-child(3){width:116px;overflow:hidden}.test-content-question-grid th:nth-child(3){width:116px}.test-content-question-grid tbody tr:not(.test-content-question-grid-details-row) td:nth-child(4){width:100px;overflow:hidden}.test-content-question-grid th:nth-child(4){width:100px}.test-content-question-grid tbody tr:not(.test-content-question-grid-details-row) td:nth-child(5){width:82px;overflow:hidden}.test-content-question-grid th:nth-child(5){width:82px}.test-content-question-grid td:nth-child(4) button,.test-content-question-grid td:nth-child(5) button{text-overflow:ellipsis;white-space:nowrap;width:100%;padding-left:6px;padding-right:6px;overflow:hidden}.test-content-question-grid-details-row td{background:var(--accent-soft);white-space:normal;padding:12px}.test-content-options-editor{border-top:1px solid #dfe6df;margin-top:14px;padding-top:12px}.test-content-option-row{grid-template-columns:minmax(80px,.35fr) minmax(0,1.65fr);gap:10px;display:grid}.test-content-option-row label{margin-top:8px}.test-content-skill-tabs{gap:32px;margin-top:18px;display:flex}.test-content-skill-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 2px 12px;font-size:17px;font-weight:500;position:relative}.test-content-skill-tabs button[aria-selected=true]{color:var(--ink);font-weight:700}.test-content-skill-tabs button[aria-selected=true]:after{content:"";background:var(--accent);border-radius:999px;width:calc(100% - 4px);height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.test-content-list-editor,.test-content-transcript-editor,.test-content-explanation-editor,.test-content-relevant-audio{border-top:1px solid #dfe6df;margin-top:14px;padding-top:12px}.test-content-list-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.test-content-list-row label{margin-top:8px}.test-content-segment-editor{background:#fff;border:1px solid #dfe6df;border-radius:10px;margin-top:12px;padding:12px}.test-content-explanation-editor{background:#f7fbf7;border:1px solid #dfe6df;border-radius:10px;padding:12px}.test-content-explanation-editor label{margin-top:10px;display:block}.test-content-explanation-editor textarea,.test-content-explanation-editor select{margin-top:6px}.test-content-rename-row{align-items:center;gap:8px;display:flex}.test-content-rename-row input{flex:1;min-width:0}.test-content-explanation-evidence-error{color:var(--danger);font-size:var(--font-size-xs);margin:6px 0 0}.test-content-media-picker{display:contents}.test-content-media-picker .button-row{grid-column:1/-1}.test-content-later-draft{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.test-content-readiness-summary{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-xs);border:1px solid #c5d7c2;border-radius:10px;gap:4px;margin-top:18px;padding:12px;display:grid}.test-content-readiness-summary span{color:var(--muted);font-size:var(--font-size-2xs)}.test-content-issues{gap:9px;margin:16px 0 0;padding:0;list-style:none;display:grid}.test-content-issues li{border-left:3px solid var(--warning-line);color:var(--warning);font-size:var(--font-size-xs);gap:3px;padding-left:9px;display:grid}.test-content-issues li strong{color:var(--ink);font-size:var(--font-size-2xs)}.test-content-preview{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.test-content-preview h4{margin:0 0 10px}.test-content-preview article{border-bottom:1px solid var(--line);margin-top:12px;padding-bottom:10px}.test-content-preview article p{color:var(--muted);font-size:var(--font-size-xs);margin:7px 0 0;line-height:1.55}.test-content-area button.button-add{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #9fbea0}.test-content-area button.button-add:hover:not(:disabled){background:#ddefe2}.test-content-area button.button-danger{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger)}.test-content-area button.button-danger:hover:not(:disabled){background:#fbdede}.test-content-area button.button-warning{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning)}.test-content-area button.button-warning:hover:not(:disabled){background:#f7ecc8}textarea{resize:vertical;width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #bdcbd3;border-radius:10px;padding:12px 13px;line-height:1.5}textarea:focus-visible{outline-offset:2px;outline:3px solid #a9c9a7}.media-assets-recovery{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;padding:12px 14px;display:flex}.media-assets-recovery p{margin:0}.media-upload-zone{text-align:center;background:#f7fcf8;border:1.5px dashed #85aa98;border-radius:14px;justify-items:center;gap:9px;margin:18px 0;padding:28px;display:grid}.media-upload-zone p{color:var(--ink);margin:0;font-weight:450}.media-upload-zone span{color:var(--muted);font-size:var(--font-size-xs)}.media-upload-zone button{margin-top:7px}.media-selected-file{overflow-wrap:anywhere;max-width:100%;color:var(--accent-dark);font-size:var(--font-size-xs)}.media-upload-progress{justify-items:center;gap:8px;width:min(320px,100%);display:grid}.media-upload-progress p{color:var(--accent-dark);font-size:var(--font-size-xs);margin:0;font-weight:600}.media-upload-bar{background:#dfe9e2;border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.media-upload-bar>span{border-radius:inherit;background:#5f8f6f;height:100%;transition:width .12s linear;display:block}.media-upload-bar>span.is-indeterminate{width:40%;animation:1.1s ease-in-out infinite alternate media-upload-slide}@keyframes media-upload-slide{0%{transform:translate(-30%)}to{transform:translate(160%)}}@media (prefers-reduced-motion:reduce){.media-upload-bar>span.is-indeterminate{animation:none}}.media-asset-list{border:1px solid var(--line);background:var(--card);border-radius:14px;margin-top:18px}.media-asset-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.media-asset-row h3{overflow-wrap:anywhere;margin:0}.media-asset-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.media-asset-row .muted{font-size:var(--font-size-xs);margin-top:5px}.media-kind-chip{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-3xs);border:1px solid #bfd3bf;border-radius:99px;padding:4px 8px;font-weight:450}.media-download-link{flex:none;text-decoration:none}.media-asset-count{margin:0;padding:10px 16px}.media-asset-actions{flex:none;align-items:center;gap:8px;display:flex}.media-rename-trigger,.media-delete-trigger{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:12px;font-weight:600}.media-rename-trigger:hover,.media-delete-trigger:hover{background:var(--accent-soft);color:var(--accent-dark)}.media-rename-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.media-rename-input{border:1px solid var(--line);font-size:var(--font-size-sm);border-radius:8px;min-width:180px;padding:4px 8px}.media-delete-confirm-row{gap:6px;display:inline-flex}.media-assets-area button.button-secondary.button-danger{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger)}.media-assets-area button.button-secondary.button-danger:hover:not(:disabled){background:#fbdede}.class-create-form{background:#fbfdf9;margin:18px 0}.class-picker{gap:6px;max-width:360px;margin:18px 0;display:grid}.class-picker .hint{text-align:right}.class-summary{background:linear-gradient(135deg,#f4f8f2,#fff 60%);border-color:#cbdcca;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;display:flex}.class-delete-confirm{border:1px solid var(--danger-line);background:var(--danger-soft);border-radius:12px;margin:18px 0;padding:20px}.class-delete-confirm h4{font-size:var(--font-size-md);margin:0 0 8px}.class-delete-confirm p{line-height:1.6}.class-delete-impact{margin:12px 0}.class-delete-impact dl{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0;display:grid}.class-delete-impact dl>div{border:1px solid var(--danger-line);background:#fff;border-radius:10px;padding:10px 12px}.class-delete-impact dt{color:var(--muted);font-size:var(--font-size-2xs)}.class-delete-impact dd{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:600}.class-delete-name{gap:6px;max-width:420px;margin:14px 0;display:grid}.class-delete-name strong{overflow-wrap:anywhere}.class-area button.button-danger{border:1px solid var(--danger-line);background:var(--danger);color:#fff}.class-area button.button-secondary.button-danger{color:var(--danger);background:#fff}.class-area button.button-danger:hover:not(:disabled){color:#fff;background:#8c2424}.class-summary h3,.class-members h3{font-size:var(--font-size-display-4);letter-spacing:-.025em;margin:8px 0 5px}.class-status-row,.class-form-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-badge--active,.class-owner-chip{color:#315b3a;background:#eaf3e8;border:1px solid #bfd3bf}.status-badge--archived,.class-ended{color:#6e5d26;background:#f8f5ea;border:1px solid #ded8c5}.class-owner-chip,.class-ended{font-size:var(--font-size-2xs);border-radius:99px;padding:5px 9px;font-weight:450;display:inline-flex}.class-inline-form{max-width:680px;margin:16px 0}.class-form-row input{flex:260px}.class-members{margin-top:18px}.class-member-list{border-top:1px solid var(--line);margin-top:14px}.class-member-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.class-member-row:last-child{border-bottom:0}.class-recovery{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-sm);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0;padding:12px 14px;display:flex}.class-recovery p{margin:0}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:560px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;padding:12px 14px}th{color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.06em;text-transform:uppercase;background:#f6f7f5}tr:last-child td{border-bottom:0}.row-selected td{background:#f1f8f0}.button-small{font-size:var(--font-size-xs);padding:8px 10px}.status-text{font-size:var(--font-size-2xs);font-weight:500}.status-text--active{color:var(--success)}.status-text--suspended{color:var(--danger)}.table-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:11px 14px;display:flex}.user-detail{position:sticky;top:18px}.people-area .table-wrap{position:relative;container-type:inline-size}.status-text--archived{color:var(--muted)}.people-view-switch{border:1px solid var(--line);background:#fff;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.people-area .people-view-switch button{box-shadow:none;color:var(--muted);font-size:var(--font-size-xs);background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:6px 12px;font-weight:450;display:inline-flex}.people-area .people-view-switch button:before{content:"";border:1.5px solid;border-radius:50%;width:6px;height:6px}.people-area .people-view-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-dark);font-weight:500}.people-area .people-view-switch button[aria-pressed=true]:before{background:currentColor}.people-area button.people-name-button{box-shadow:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:block}.people-area button.people-name-button:hover{color:var(--accent-dark);text-decoration:underline}.people-action-cell{text-align:right}.people-row-menu-button{letter-spacing:.08em;min-width:40px}.people-row-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:170px;padding:4px;position:fixed;box-shadow:0 14px 30px #19374624}.people-row-menu button{width:100%;box-shadow:none;color:var(--ink);font-size:var(--font-size-xs);text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:450;display:block}.people-row-menu button:hover,.people-row-menu button:focus-visible{background:var(--accent-soft)}.people-row-menu button.people-row-menu-danger{color:var(--danger)}.people-row-menu button.people-row-menu-danger:hover,.people-row-menu button.people-row-menu-danger:focus-visible{background:var(--danger-soft)}.people-archive-confirm-row td{white-space:normal;padding-top:0}.people-archive-confirm{box-sizing:border-box;border:1px solid var(--danger-line);background:var(--danger-soft);max-width:calc(100cqw - 28px);font-size:var(--font-size-xs);border-radius:12px;gap:8px;padding:12px 14px;display:grid;position:sticky;left:14px}.people-archive-confirm ul{margin:0;padding-left:18px}.people-archive-confirm .notice{margin:0}.people-area button.button-danger{border:1px solid var(--danger);background:var(--danger);color:#fff;box-shadow:none}.people-area button.button-danger:hover:not(:disabled){background:#872b2b}.people-import-drawer{width:min(580px,100vw)}.people-import-drawer h3:focus{outline:none}.people-import-steps{font-size:var(--font-size-2xs);color:var(--muted);gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.people-import-steps li{border:1px solid var(--line);border-radius:999px;padding:2px 10px}.people-import-steps li[aria-current=step]{border-color:var(--button-border);background:var(--accent-soft);color:var(--accent-dark);font-weight:500}.people-import-drop{border:1.5px dashed var(--button-border);color:var(--muted);font-size:var(--font-size-xs);text-align:center;cursor:pointer;background:#fbfdfb;border-radius:12px;justify-items:center;gap:4px;padding:28px 18px;display:grid}.people-import-drop strong{color:var(--accent-dark);font-size:var(--font-size-sm);font-weight:500}.people-import-drop.is-dragging,.people-import-drop:focus-within{border-color:var(--accent);background:var(--accent-soft)}.people-import-summary{font-size:var(--font-size-xs);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.people-pill{border:1px solid var(--button-border);background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 9px;font-weight:500;display:inline-block}.people-pill--danger{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.people-import-drawer .notice p{margin:0}.people-import-drawer .notice ul{margin:4px 0 0;padding-left:18px}.people-import-table{min-width:0}.people-import-table td{white-space:normal;vertical-align:top}.people-import-row--problem td{background:#fffaf9}.people-import-problem{color:var(--danger);font-size:var(--font-size-2xs);margin-top:2px;display:block}.people-import-foot{justify-content:space-between}.quiet-rule{background:var(--line);height:1px;margin:24px 0}fieldset{border:0;min-width:0;margin:0;padding:0}legend{color:var(--muted);font-size:var(--font-size-xs);margin-bottom:8px;font-weight:450}.checkbox-list{flex-wrap:wrap;gap:8px;display:flex}.checkbox-label{border:1px solid var(--line);color:var(--ink);font-size:var(--font-size-xs);background:#f8fbfb;border-radius:9px;align-items:center;gap:7px;margin:0;padding:8px 10px;display:inline-flex}.checkbox-label input{width:auto;accent-color:var(--accent)}.create-form{background:#fbfefe;margin-bottom:18px}.unavailable-card{max-width:700px;margin:40px auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:800px){.app-frame--attempt{height:100dvh;min-height:100dvh;padding:12px 14px 20px}.app-frame{padding:18px}.app-frame--admin{padding:0}.app-header,.workspace-heading{align-items:start;display:block}.foundation-status{margin-top:18px}.identity-grid,.admin-grid{grid-template-columns:1fr}.admin-app{grid-template-columns:1fr;min-height:auto}.admin-side{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:16px;position:static}.admin-rail{flex-direction:row;overflow-x:auto}.admin-rail-tab{width:auto}.admin-topbar{flex-wrap:wrap;padding:10px 16px}.admin-main{padding:0}.admin-content{padding:18px 16px 40px}.student-app{min-height:100vh;display:block}.student-side{z-index:20;border-right:0;border-bottom:1px solid var(--line);flex-wrap:wrap;height:auto;padding:6px 16px 0;display:flex;position:sticky;top:0;overflow:visible}.student-brand{border-bottom:0;width:100%;min-height:48px;margin-bottom:4px;padding:0 108px 0 0}.student-nav-label{display:none}.student-nav{flex-direction:row;order:3;width:calc(100% + 32px);margin:10px -16px 0;padding:0 16px 10px;overflow-x:auto}.student-nav button{text-align:center;width:auto;min-width:max-content;padding:0 14px}.student-nav-sub{display:contents}.student-side-footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;margin-top:0;padding:4px 0;display:grid}.student-account{min-width:0;padding:0}.student-side-footer>button{width:auto;min-height:34px;font-size:var(--font-size-2xs);padding:4px 10px;line-height:1.4}.student-language-select{display:none}.student-language-compact{display:inline-flex}.student-language-compact .focused-language-switch{margin-right:0}.student-account small{display:none}.student-account strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-topbar{top:var(--student-side-height,0px);z-index:30;border-bottom:0;flex-wrap:wrap;min-height:0;padding:0;position:sticky}.student-breadcrumbs{display:none}.student-topbar-actions{z-index:30;gap:8px;height:48px;position:fixed;top:6px;right:16px}.student-topbar-help,.student-topbar-actions .student-bell{width:44px;height:44px}.student-topbar-status{flex-basis:100%;order:1;padding:9px 16px}.student-topbar-status:empty{display:none}.student-content{padding:24px 16px 42px}.student-home-grid{flex-direction:column;display:flex}.student-home-main{display:contents}.student-continue-card,.student-returned-card{order:1}.student-home-side{order:2}.student-results-card{order:3}.login-card{min-height:auto}.quiet-panel{max-width:none}.workspace-heading>button{margin-top:18px}.test-content-create-form{flex-direction:column;align-items:stretch}.test-content-heading-actions{justify-content:start;margin-top:18px}.test-content-library-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.test-content-library-tabs button{justify-content:center;padding-inline:8px}.test-content-library{padding:14px}.test-content-table-wrap{overflow:visible}.test-content-table{table-layout:fixed;min-width:0}.test-content-table th,.test-content-table td{padding:9px 7px}.test-content-table th:nth-child(2),.test-content-table td:nth-child(2),.test-content-table th:nth-child(3),.test-content-table td:nth-child(3),.test-content-table th:nth-child(5),.test-content-table td:nth-child(5){display:none}.test-content-table th:first-child{width:48%}.test-content-table th:nth-child(4){width:20%}.test-content-table td:first-child{min-width:0;font-size:var(--font-size-2xs)}.test-content-table .test-content-version-id{white-space:nowrap;text-overflow:ellipsis;max-width:125px;overflow:hidden}.test-content-table-actions>*+*{margin-left:0}.test-content-table-actions button{min-height:32px;font-size:var(--font-size-xs);margin-left:auto;padding:5px 7px;display:block}.test-content-table-actions button:last-child{display:none}.test-content-create-form input{min-width:0}.test-content-toolbar{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.test-content-toolbar button{font-size:var(--font-size-xs);padding:10px 8px}.test-content-readiness-bar{flex-direction:column;align-items:stretch}.test-content-readiness-title{flex-wrap:wrap}.test-content-readiness-actions{justify-content:start}.workspace-actions,.language-recovery,.class-recovery,.media-assets-recovery{align-items:stretch;margin-top:18px}.language-recovery,.class-recovery,.media-assets-recovery{display:grid}.class-summary,.class-member-row,.media-asset-row{flex-direction:column;align-items:flex-start}.user-detail{position:static}}@media (max-width:520px){.student-account small{display:none}.student-side-footer{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.student-account{min-width:0}.student-side-footer>button{width:auto}.student-card-heading,.student-continue-actions{flex-direction:column;align-items:flex-start}.student-continue-actions button,.student-practice-continue>button{width:100%}.student-practice-lane-title-row>span{display:none}.student-practice-subtable .student-practice-entry{grid-template-columns:64px minmax(0,1fr)}.student-practice-subtable .student-practice-entry-type{overflow-wrap:break-word;text-align:center;white-space:normal;min-width:0;padding:4px 6px}.student-practice-subtable{--practice-row-height:132px}.student-practice-subtable--in-progress{--practice-row-height:156px}.student-practice-entry-action{grid-column:2;justify-self:start;padding:3px 0 0}.student-practice-pagination{flex-direction:column;align-items:flex-start}.student-practice-segments{width:100%}.student-practice-segments button{flex:1;padding-inline:8px}.section-heading{display:block}.section-heading>button,.section-heading>.status-badge{margin-top:14px}.form-grid{grid-template-columns:1fr}.form-field--wide{grid-column:auto}}.rp-runner{flex-direction:column;flex:auto;width:100%;min-width:0;min-height:0;display:flex}.rp-desk{border:1px solid var(--line);background:#f2f5f2;border-radius:20px;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px #18352c0f}.rp button:not(.button-secondary):not(.rp-qnum):not(.rp-navbtn):not(.rp-iconbtn):not(.rp-flag):not(.rp-slot-flag):not(.rp-menuitem):not(.vocab-speak):not(.rp-passage-tab):not(.review-evidence-btn):not(.review-chip):not(.focused-language-choice):not(.rp-stack-toggle){border-radius:12px;height:40px;padding:0 18px;transition:background .12s,box-shadow .12s,transform .12s;box-shadow:0 1px 3px #24482c22}.rp button:not(.button-secondary):not(.rp-qnum):not(.rp-navbtn):not(.rp-iconbtn):not(.rp-flag):not(.rp-slot-flag):not(.rp-menuitem):not(.vocab-speak):not(.rp-passage-tab):not(.review-evidence-btn):not(.review-chip):not(.focused-language-choice):not(.rp-stack-toggle):hover:not(:disabled){box-shadow:0 3px 10px #24482c33}.rp button:not(.button-secondary):not(.rp-qnum):not(.rp-navbtn):not(.rp-iconbtn):not(.rp-flag):not(.rp-slot-flag):not(.rp-menuitem):not(.vocab-speak):not(.rp-passage-tab):not(.review-evidence-btn):not(.review-chip):not(.focused-language-choice):not(.rp-stack-toggle):active:not(:disabled){transform:translateY(1px)}.rp button.button-secondary{border-radius:12px;height:40px;box-shadow:0 1px 2px #24482c1f}.rp-header{background:0 0;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px 14px;padding:14px 16px 14px 22px;display:grid;position:relative}.rp-brand{grid-column:1;min-width:0}.rp-brand .eyebrow{margin:0 0 2px}.rp-brand h3{font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.rp-passage-tabs{background:#e8ede9;border-radius:12px;flex:none;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.rp-header .rp-passage-tabs{left:25%}.lp-header .rp-passage-tabs{left:33%}.rp-passage-tab{color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:6px 14px;font-weight:550}.rp-passage-tab:hover:not(:disabled){color:var(--ink)}.rp-passage-tab-active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #19261d12}.rp-header-mid{flex-wrap:wrap;grid-column:2;justify-content:center;align-items:center;gap:8px;display:flex}.rp-header-actions{grid-column:3;justify-content:flex-end;align-items:center;gap:8px;display:flex}.rp-exit{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-line);font-size:var(--font-size-xs);align-items:center;gap:6px;display:inline-flex}.exit-icon{flex:none;width:14px;height:14px}.rp-exit:hover:not(:disabled){background:#fbe9e7}.rp-submit{font-size:var(--font-size-xs)}.rp-more{position:relative}.rp-menu{z-index:10;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #1937461f}.rp-menuitem{text-align:left;width:100%;font-size:var(--font-size-xs);color:var(--ink);background:0 0;border:0;border-radius:8px;padding:9px 10px;font-weight:450;display:block}.rp-menuitem:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}.rp-menuitem-danger{color:var(--danger)}.rp-menuitem-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.rp-pill{font-size:var(--font-size-2xs);border:1px solid var(--line);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:2px 10px;display:inline-block}.rp-timer{font-size:var(--font-size-md);color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:450;display:inline-flex}.rp-timer svg{flex:none;width:13px;height:13px}.rp-timer-warn{color:var(--warning)}.rp-timer-danger{color:var(--danger)}.rp-brand-title-row{align-items:baseline;gap:8px;min-width:0;display:flex}.rp-brand-title-row h3{min-width:0}.rp-exam-tag{background:var(--accent-dark);color:#fff;font-size:var(--font-size-2xs);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;flex:none;padding:1px 8px;font-weight:550;display:inline-block}.rp-saved{background:var(--accent-soft)}.rp-saving{background:var(--warning-soft);border-color:var(--warning-line)}.rp-unsaved{background:var(--danger-soft);border-color:#edbcbc}.rp-stack-toggle{display:none}.rp-split{flex:auto;grid-template-columns:1.02fr .98fr;gap:14px;height:auto;min-height:0;padding:0 16px 10px;display:grid;overflow:hidden}.rp-pane{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 28px #1e2a220f}.rp-pane-scroll{overscroll-behavior:contain;flex:auto;min-height:0;padding:24px 26px;overflow-y:auto}.rp-divider{cursor:col-resize;touch-action:none;z-index:1;border-radius:999px;justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative}.rp-divider-grip{background:var(--line);opacity:0;border-radius:999px;width:4px;height:32px;transition:opacity .12s,background .12s}.rp-divider:hover .rp-divider-grip,.rp-divider:focus-visible .rp-divider-grip{opacity:1;background:var(--accent)}.rp-divider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lp-divider{cursor:col-resize;touch-action:none;z-index:1;border-radius:999px;justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative}.lp-divider-grip{background:var(--line);opacity:0;border-radius:999px;width:4px;height:32px;transition:opacity .12s,background .12s}.lp-divider:hover .lp-divider-grip,.lp-divider:focus-visible .lp-divider-grip{opacity:1;background:var(--accent)}.lp-divider:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rp-pane-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px}.rp-passage-title{font-size:var(--font-size-3xl);text-align:center;letter-spacing:-.025em;margin:0 0 18px;font-weight:450}.rp-passage p,.rp-passage li{font-size:var(--font-size-md);margin:0 0 14px;line-height:1.7}.rp-passage-glossary{border-top:1px solid var(--line);margin:4px 0 18px;padding-top:10px;list-style:none}.rp-passage-glossary li{font-size:var(--font-size-xs);color:var(--muted);margin:0 0 4px;font-style:italic;line-height:1.5}.rp-passage-glossary li:last-child{margin-bottom:0}.rp-passage h4:not(.rp-pane-title),.rp-passage h5{font-size:var(--font-size-base);margin:18px 0 8px;line-height:1.45}.rp-passage h4:not(.rp-pane-title):first-child{margin-top:0}.rp-passage-title:has(+.rp-passage-subheading){margin-bottom:6px}.rp-passage .rp-passage-subheading{text-align:center;font-size:var(--font-size-md);margin:0 0 18px;line-height:1.45}.rp-passage .rp-passage-subheading h2,.rp-passage .rp-passage-subheading h3,.rp-passage .rp-passage-subheading h4{margin:0;line-height:1.3}.rp-passage .rp-passage-subheading h2{font-size:22px}.rp-passage .rp-passage-subheading h3{font-size:18px}.rp-passage .rp-passage-subheading h4{font-size:15px}.rp-save-spin{border:2px solid var(--line);border-top-color:var(--accent);vertical-align:-2px;border-radius:50%;width:12px;height:12px;margin-left:8px;animation:.7s linear infinite rp-save-spin-rotate;display:inline-block}@keyframes rp-save-spin-rotate{to{transform:rotate(360deg)}}.rp-text-answer-wrap{align-items:center;gap:8px;display:inline-flex}.rp-text-answer{border:1px solid var(--line);width:min(280px,100%);height:36px;font-size:var(--font-size-sm);border-radius:8px;outline:0;padding:0 10px}.rp-text-answer:focus{border-color:var(--accent)}.rp-text-answer-filled{border-color:var(--accent);background:var(--accent-soft)}.rp-footer{background:0 0;flex-wrap:nowrap;flex:none;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:8px 16px;display:flex}.rp-foot-side{flex:none;align-items:center;gap:10px;display:flex}.rp-foot-side-right{justify-content:flex-end}.rp-navbtn{border:1px solid var(--line);height:34px;color:var(--ink);background:#fff;border-radius:10px;flex:none;padding:0 12px;font-weight:450}.rp-navbtn:disabled{color:var(--muted);cursor:not-allowed}.rp-qnav{scrollbar-width:thin;scrollbar-color:var(--muted) transparent;flex-wrap:nowrap;flex:auto;align-items:center;gap:4px 10px;min-width:0;padding:4px 2px 10px;display:flex;overflow:auto hidden}.rp-qnav:hover{scrollbar-color:var(--ink) transparent}.rp-qnav::-webkit-scrollbar{height:6px}.rp-qnav::-webkit-scrollbar-track{background:0 0}.rp-qnav::-webkit-scrollbar-thumb{background:var(--muted);border-radius:999px}.rp-qnav:hover::-webkit-scrollbar-thumb{background:var(--ink)}.rp-qnav-group{flex-direction:row;flex:none;align-items:center;gap:6px;display:flex}.rp-qnav-group+.rp-qnav-group{border-left:1px solid var(--line);padding-left:10px}.rp-qnav-label{font-size:var(--font-size-2xs);color:var(--muted);white-space:nowrap;font-weight:450}.rp-qnav-nums{flex-wrap:nowrap;gap:4px;display:flex}.rp-progress-text{font-size:var(--font-size-xs);color:var(--muted);white-space:nowrap}.rp-qnum{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);font-weight:450;font-size:var(--font-size-2xs);background:#fff;border-radius:9px;flex:none;padding:0}.rp-qnum:hover:not(:disabled){background:#eef2ed}.rp-qnum-answered,.rp-qnum-correct{background:var(--accent);border-color:var(--accent-dark);color:#fff}.rp-qnum-incorrect{background:var(--danger);color:#fff;border-color:#822a2a}.rp-qnum-current{border:2px solid var(--accent);color:var(--accent-dark)}.rp-qnum-flagged{border-style:dashed;border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.rp-qnum-idle{background:#fff}.rp-instructions{color:var(--muted);font-size:var(--font-size-sm);margin:0 0 14px;line-height:1.5}.rp-group-header{font-weight:600;font-size:var(--font-size-sm);margin:2px 0 8px;line-height:1.35}.rp-group-header h2,.rp-group-header h3,.rp-group-header h4{margin:0;line-height:1.3}.rp-group-header h2{font-size:22px}.rp-group-header h3{font-size:18px}.rp-group-header h4{font-size:15px}.rp-group-title{text-align:center;font-weight:600;font-size:var(--font-size-sm);margin:0 0 14px;line-height:1.35}.rp-group-title h2,.rp-group-title h3,.rp-group-title h4{margin:0;line-height:1.3}.rp-group-title h2{font-size:22px}.rp-group-title h3{font-size:18px}.rp-group-title h4{font-size:15px}.rp-group{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:22px}.rp-questions .rp-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.rp-qcard{margin-bottom:22px}.rp-qcard:last-child{margin-bottom:0}.rp-qhead{justify-content:space-between;align-items:center;gap:10px;display:flex}.rp-qmeta{font-size:var(--font-size-xs);color:var(--muted);font-weight:450}.rp-qtext{font-size:var(--font-size-md);margin:8px 0 12px;line-height:1.6}.rp-flag{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.rp-flag svg{width:16px;height:16px}.rp-flag:hover:not(:disabled){background:var(--warning-soft)}.rp-flag-on{background:var(--warning-soft);color:var(--warning)}mark.ann-hl{cursor:pointer;background:#fbe0ea;border-radius:3px;padding:0 1px}mark.ann-hl:hover{background:#f6c9dc}span.ann-ul{text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline #2f6fb0;text-decoration:underline #2f6fb0;text-decoration-thickness:2px}span.ann-note{text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline dotted #6f4fb0;text-decoration:underline dotted #6f4fb0}span.ann-note:after{content:"";vertical-align:super;background:#6f4fb0;border-radius:50%;width:5px;height:5px;margin-left:3px;display:inline-block}.ann-toolbar{color:var(--ink);border:1px solid var(--line);z-index:30;white-space:nowrap;background:#fff;border-radius:11px;gap:2px;padding:5px;display:none;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 12px 30px #1937461f}.ann-toolbar.ann-show{display:flex}.ann-toolbar[data-placement=below]{transform:translate(-50%,10px)}.ann-toolbar:after{content:"";border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.ann-toolbar[data-placement=below]:after{border-bottom:0;border-right:0;border-left:1px solid var(--line);border-top:1px solid var(--line);top:-5px;bottom:auto}.ann-toolbar button{color:var(--ink);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:7px 11px;font-size:12.5px;font-weight:550;display:flex}.ann-toolbar button:hover{background:var(--paper)}.ann-toolbar button svg{width:13px;height:13px}.ann-chip{border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.ann-chip-highlight{color:#99315f;background:#fbe0ea}.ann-chip-underline{color:#2f6fb0;background:#dbe9fb}.ann-chip-note{color:#6f4fb0;background:#ebe3fa}.ann-toolbar button:hover .ann-chip-highlight{background:#f6c9dc}.ann-toolbar button:hover .ann-chip-underline{background:#c3ddf7}.ann-toolbar button:hover .ann-chip-note{background:#d7c7f2}.ann-chip-lookup{color:#0f766e;background:#d9f2ee}.ann-toolbar button:hover .ann-chip-lookup{background:#bfe9e2}.ann-lookup-word{margin:2px 2px 0;font-size:14px;font-weight:650}.ann-lookup-pos{text-transform:uppercase;letter-spacing:.05em;color:#0f766e;background:#d9f2ee;border-radius:999px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-block}.ann-ipa{color:var(--muted);font-size:12.5px;font-weight:400}.ann-lookup-example{color:var(--muted);margin:6px 2px 0;font-size:12px;font-style:italic;line-height:1.5}.ann-lookup-example span{color:var(--ink-soft);font-style:normal;font-weight:650}.ann-lookup-vn{color:#0f766e;margin:5px 2px 10px;font-size:13px;font-weight:600;line-height:1.5}.ann-lookup-vn-unavailable{font-size:12px;font-style:italic;font-weight:400}.ann-lookup-meanings{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.ann-lookup-meaning+.ann-lookup-meaning{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.ann-popover-save-done{background:var(--accent-soft);color:var(--accent)}.ann-lookup-loading{animation:1.6s ease-in-out infinite ann-lookup-breathe}.ann-lookup-loading:after{content:"...";vertical-align:bottom;white-space:nowrap;width:1.2em;animation:1.2s steps(4,end) infinite ann-lookup-ellipsis;display:inline-block;overflow:hidden}@keyframes ann-lookup-breathe{0%,to{opacity:.45}50%{opacity:1}}@keyframes ann-lookup-ellipsis{0%{width:0}to{width:1.2em}}.vocab-panel{max-width:720px}.vocab-panel.vocab-split{grid-template:"head head""rail pane"1fr/220px minmax(0,1fr);gap:0 24px;max-width:980px;display:grid}.vocab-page-head{flex-wrap:wrap;grid-area:head;align-items:center;gap:12px 24px;margin-bottom:20px;display:flex}.vocab-page-title{min-width:0}.vocab-page-title h1{font-size:var(--type-page);letter-spacing:-.02em;margin:0;font-weight:600}.vocab-page-title p{color:var(--muted);font-size:var(--type-meta);margin:2px 0 0}.vocab-page-lookup{flex:320px;max-width:420px;margin-left:auto;position:relative}.vocab-rail{grid-area:rail;align-self:start;min-width:0;position:sticky;top:16px}.vocab-rail-scroll{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;max-height:calc(100vh - 140px);padding:6px 8px 10px;position:relative;overflow-y:auto}.vocab-rail-heading{color:#7a857d;font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;margin:12px 8px 6px;font-weight:700}.vocab-rail-group{gap:2px;margin:0;padding:0;list-style:none;display:grid}.vocab-rail-item{width:100%;color:var(--ink);font:inherit;font-size:var(--type-control);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 10px;display:flex}.vocab-rail-item:hover{background:#f0f3ef}.vocab-rail-item[aria-current=page],.vocab-rail-item[aria-current=page]:hover{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.vocab-rail-icon{flex:none}.vocab-rail-name{overflow-wrap:break-word;flex:1;min-width:0}.vocab-rail-count{color:var(--muted);font-size:var(--type-meta);flex:none;font-weight:500}.vocab-rail-new{color:var(--accent-dark);font-weight:650}.vocab-rail-divider{background:var(--line);height:1px;margin:10px 8px 0;display:block}.vocab-rail-form input{flex-basis:100%}.vocab-rail-state{margin-top:8px}.vocab-pane{grid-area:pane;min-width:0}.vocab-lookup{margin:0}.vocab-lookup-bar{background:var(--card);color:var(--accent-dark);border:1.5px solid #c4ccc5;border-radius:12px;align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex}.vocab-lookup-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #43834e1f}.vocab-lookup-bar input{min-width:0;color:var(--ink);font:inherit;font-size:var(--type-control);background:0 0;border:0;outline:0;flex:1;padding:7px 0}.vocab-lookup-submit{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--type-meta);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;padding:6px 11px;font-weight:600}.vocab-lookup-submit:hover{border-color:#cfdfd2}.vocab-lookup-primary{color:#fff;font-size:var(--type-control);cursor:pointer;white-space:nowrap;background:#396b49;border:1px solid #396b49;border-radius:10px;padding:8px 14px;font-weight:600}.vocab-lookup-primary:hover{background:#2f5a3e}.vocab-lookup-submit:disabled,.vocab-lookup-primary:disabled{opacity:.6;cursor:default}.vocab-lookup-add{color:#2e633d;font-size:var(--type-control);cursor:pointer;white-space:nowrap;background:#eef5ef;border:1px solid #0000;border-radius:10px;padding:8px 12px;font-weight:600}.vocab-lookup-add:disabled{color:var(--muted);cursor:default;background:0 0}.vocab-lookup-note{color:var(--muted);font-size:var(--type-meta);margin:8px 2px 0}.vocab-lookup-result{background:var(--card);border:1px solid #c4ccc5;border-radius:14px;margin-top:10px;padding:12px 16px 4px;box-shadow:0 10px 28px #192d1e0d}.vocab-page-lookup .vocab-lookup-result{z-index:20;max-height:min(70vh,560px);margin-top:0;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 48px #192d1e24}.vocab-page-lookup .vocab-lookup-note{margin-top:6px;position:absolute;top:100%;left:0}.vocab-lookup-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vocab-lookup-word{font-size:var(--type-card);font-weight:700}.vocab-lookup-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;margin-left:auto;padding:4px 6px;font-size:15px}.vocab-lookup-close:hover{background:var(--paper);color:var(--ink)}.vocab-lookup-meanings{margin:8px 0 0;padding:0;list-style:none}.vocab-lookup-meaning{border-top:1px solid #eef1ee;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.vocab-lookup-meaning-text{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.vocab-lookup-vn{font-weight:600}.vocab-lookup-example{color:var(--muted);font-size:var(--type-meta);flex-basis:100%;font-style:italic}.vocab-lookup-saved{color:var(--accent-dark);font-size:var(--type-meta);flex-basis:100%}.vocab-lookup-save{flex:none;align-items:center;gap:6px;display:flex}.vocab-lookup-save select{border:1px solid var(--line);background:var(--card);max-width:180px;color:var(--ink);font:inherit;font-size:var(--type-meta);border-radius:9px;padding:7px 8px}.vocab-name-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.vocab-name-form input{background:var(--card);min-width:0;color:var(--ink);font:inherit;border:1px solid #c4ccc5;border-radius:10px;flex:220px;padding:8px 10px}.vocab-list-head{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:28px 0 10px;display:flex}.vocab-list-tile{background:var(--accent-soft);border-radius:12px;place-items:center;width:44px;height:44px;font-size:22px;line-height:1;display:grid}.vocab-list-title{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.vocab-list-title h2{font-size:var(--type-section);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-weight:600}.vocab-list-count{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--type-label);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:2px 9px;font-weight:600}.vocab-list-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.vocab-filter{min-width:0;height:38px;color:var(--muted);background:#eceeea;border:1px solid #0000;border-radius:999px;flex:240px;align-items:center;gap:6px;padding:0 6px 0 13px;display:flex}.vocab-filter:focus-within{background:var(--card);border-color:#c4ccc5;box-shadow:0 0 0 3px #43834e1f}.vocab-filter svg{flex:none}.vocab-filter input{min-width:0;color:var(--ink);font:inherit;font-size:var(--type-control);background:0 0;border:0;outline:0;flex:1;padding:0}.vocab-filter-count{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--type-label);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px;font-weight:600}.vocab-filter-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;padding:4px 7px;font-size:12px}.vocab-filter-clear:hover{background:var(--paper);color:var(--ink)}.vocab-filter-hit{color:inherit;background:#fdf1c7;border-radius:3px;padding:0 1px}.vocab-filter-empty{background:var(--card);color:var(--muted);font-size:var(--type-body);text-align:center;border:1px dashed #c4ccc5;border-radius:14px;padding:18px}.vocab-filter-empty p{margin:0}.vocab-filter-lookup{color:var(--accent-dark);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-weight:600;text-decoration:underline}.vocab-lists-menu-root{display:inline-flex;position:relative}.vocab-lists-button,.vocab-add-word{background:var(--card);color:var(--accent-dark);font-size:var(--type-meta);cursor:pointer;white-space:nowrap;border:1px solid #cfdfd2;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-weight:650;display:inline-flex}.vocab-lists-button:hover,.vocab-add-word:hover{background:#f4f8f3}.vocab-lists-count{background:var(--accent-soft);text-align:center;border-radius:999px;min-width:18px;font-size:11px}.vocab-lists-menu{z-index:20;background:var(--card);border:1px solid #c4ccc5;border-radius:12px;min-width:200px;max-width:min(280px,80vw);max-height:280px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 12px 30px #192d1e1f}.vocab-lists-option{color:var(--ink);font-size:var(--type-control);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:0;padding:7px 8px;font-weight:500;display:flex}.vocab-lists-option span{overflow-wrap:anywhere;flex:1;min-width:0}.vocab-lists-option:hover,.vocab-lists-option-button:hover{background:var(--accent-soft)}.vocab-lists-option input{accent-color:#396b49;flex:none;width:16px;height:16px;margin:0;padding:0}.vocab-lists-option-button{color:var(--ink);font:inherit;font-size:var(--type-control);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px}.vocab-lists-empty{color:var(--muted);font-size:var(--type-meta);margin:0;padding:8px}.vocab-topic-saved{color:var(--muted);font-size:var(--type-meta);white-space:nowrap}.vocab-topic-card .vocab-fields{padding-bottom:12px}.vocab-topic-example{color:var(--muted);margin:0;font-style:italic}@media (max-width:800px){.vocab-panel.vocab-split{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"head""rail""pane"}.vocab-page-head{margin-bottom:0}.vocab-page-lookup{flex-basis:100%;max-width:none}.vocab-page-lookup .vocab-lookup-result,.vocab-page-lookup .vocab-lookup-note{max-height:none;position:static}.vocab-rail{margin:10px 0 4px;position:static}.vocab-list-head{margin-top:16px}.vocab-rail-scroll{scrollbar-width:none;background:0 0;border:0;align-items:center;gap:6px;max-height:none;padding:2px 0 10px;display:flex;overflow:auto hidden}.vocab-rail-heading{display:none}.vocab-rail-group{flex:none;gap:6px;display:flex}.vocab-rail-item{border:1px solid var(--line);background:var(--card);white-space:nowrap;border-radius:999px;width:auto;padding:6px 11px}.vocab-rail-item[aria-current=page],.vocab-rail-item[aria-current=page]:hover{color:#fff;background:#396b49;border-color:#396b49}.vocab-rail-item[aria-current=page] .vocab-rail-count{color:#fffc}.vocab-rail-divider{flex:none;width:1px;height:22px;margin:0 2px}.vocab-lookup-meaning{flex-direction:column}.vocab-lookup-save{width:100%}.vocab-lookup-save select{flex:1;max-width:none}}.vocab-subtabs{gap:32px;margin:0 0 18px;display:flex}.vocab-subtabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 2px 12px;font-size:17px;font-weight:500;position:relative}.vocab-subtabs button[aria-selected=true]{color:var(--ink);font-weight:700}.vocab-subtabs button[aria-selected=true]:after{content:"";background:var(--accent);border-radius:999px;width:calc(100% - 4px);height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.vocab-practice-launch{background:#f7faf7;border:1px solid #dce9df;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 18px;display:flex}.vocab-practice-launch div{gap:2px;font-size:13px;display:grid}.vocab-practice-launch span{color:var(--muted)}.vocab-practice-launch button,.vocab-study-complete button{color:#fff;cursor:pointer;white-space:nowrap;background:#396b49;border:0;border-radius:9px;padding:10px 15px;font-weight:650}.vocab-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:56px;margin-bottom:12px;display:flex}.vocab-toolbar-left{align-items:center;gap:12px;min-width:0;display:flex}.vocab-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.vocab-selection-copy{color:var(--muted);font-size:14px}.vocab-selection-copy strong{color:var(--ink)}.vocab-ghost{background:var(--accent-soft);color:var(--accent-dark);cursor:pointer;border:0;border-radius:8px;padding:8px;font-size:14px;font-weight:700}.vocab-ghost:hover{background:var(--accent-soft)}.vocab-ghost-danger{background:var(--danger-soft);color:var(--danger)}.vocab-ghost-danger:hover{background:var(--danger-soft)}.vocab-confirm-row{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.vocab-batch-error{margin:0 0 12px}.vocab-practice-all,.vocab-practice-selected{cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:9px 12px 9px 13px;font-size:14px;font-weight:800;transition:background .18s,border-color .18s;display:inline-flex}.vocab-practice-all{color:#2e633d;background:#eef5ef;border:1px solid #0000}.vocab-practice-all:hover{background:#e6f0e7;border-color:#cfdfd2}.vocab-practice-selected{color:#fff;background:#396b49;border:1px solid #396b49;box-shadow:0 3px 10px #2f663e1f}.vocab-practice-selected:hover,.vocab-practice-all.vocab-practice-primary:hover{background:#2f5a3e;border-color:#2f5a3e}.vocab-practice-all.vocab-practice-primary{color:#fff;background:#396b49;border-color:#396b49;box-shadow:0 3px 10px #2f663e1f}.vocab-practice-all.vocab-practice-primary .vocab-practice-icon{color:#fff;background:#ffffff29}.vocab-practice-all.vocab-practice-primary .vocab-count-badge{color:#2f5a3e}.vocab-practice-icon{border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;line-height:1;display:grid}.vocab-practice-all .vocab-practice-icon{color:#2f663e;background:#dcebdd}.vocab-practice-selected .vocab-practice-icon{color:#fff;background:#ffffff29}.vocab-practice-text{letter-spacing:-.01em;white-space:nowrap;font-weight:800}.vocab-count-badge{border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 7px;font-size:12px;font-weight:800;display:grid}.vocab-practice-all .vocab-count-badge{color:#4b6552;background:#fff;box-shadow:0 1px 2px #192d1e0a}.vocab-practice-selected .vocab-count-badge{color:#2f5a3e;background:#fff}.vocab-card-selected{background:#fbfefb;border-color:#9fc7a8;box-shadow:0 0 0 2px #3f7d4f0f}.vocab-check-col{justify-content:center;padding-top:16px;padding-left:8px;display:flex}.vocab-check{appearance:none;cursor:pointer;background:#fff;border:1.5px solid #b9c5bc;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;margin:0;transition:border-color .16s,background .16s,box-shadow .16s;display:grid;box-shadow:0 1px 2px #192d1e0a}.vocab-check:hover{border-color:#78a484;box-shadow:0 0 0 4px #3f7d4f12}.vocab-check:checked{background:#396b49;border-color:#396b49;box-shadow:0 0 0 4px #3f7d4f14}.vocab-check:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:7px;height:4px;transform:rotate(-45deg)translateY(-1px)}.vocab-check:disabled{opacity:.4;cursor:not-allowed}.vocab-check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vocab-card-main{min-width:0}.vocab-card-actions{align-items:center;gap:5px;display:inline-flex}.vocab-list-star{color:#9a7932;cursor:pointer;background:0 0;border:0;font-size:19px;line-height:1}.vocab-study{color:#1f2740;background:#f6f7f9;width:min(100%,1320px);margin:0 auto;padding:10px 12px 30px}.vocab-study:fullscreen{padding:30px;overflow:auto}.vocab-study-header,.vocab-study-meta{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.vocab-study-header{margin-bottom:14px}.vocab-study-header h1{letter-spacing:-.03em;margin:5px 0;font-size:26px}.vocab-study-header p{color:#77809a;margin:0;font-size:14px}.vocab-study-back{color:#396b49;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.vocab-study-mode{color:#4e5d8d;white-space:nowrap;background:#eef2ff;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700}.vocab-study-meta{color:#77809a;align-items:center;margin-bottom:10px;font-size:14px}.vocab-study-pill{color:#396b49;background:#eaf3ec;border-radius:999px;padding:9px 13px;font-weight:750}.vocab-study-progress{background:#e9edf3;border-radius:999px;height:8px;margin-bottom:16px;overflow:hidden}.vocab-study-progress span{border-radius:inherit;background:linear-gradient(90deg,#3a6b49,#4f8c61);height:100%;display:block}.vocab-study-card-wrap{position:relative}.vocab-study-star{z-index:2;color:#aab1c2;cursor:pointer;background:0 0;border:0;place-items:center;width:32px;height:32px;padding:0;font-size:22px;line-height:1;transition:color .15s,transform .15s;display:grid;position:absolute;top:20px;right:20px}.vocab-study-star:hover{color:#c98a1f;transform:scale(1.08)}.vocab-study-star[aria-pressed=true]{color:#d59a19}.vocab-study-card{width:100%;min-height:420px;color:inherit;font:inherit;cursor:pointer;text-align:center;perspective:1800px;background:0 0;border:0;border-radius:28px;padding:0;display:block}.vocab-study-card:focus{outline:none}.vocab-study-card:focus-visible{box-shadow:0 0 0 3px #214e3459}@media (forced-colors:active){.vocab-study-card:focus-visible{box-shadow:none;outline:3px solid highlight}}@keyframes vocab-study-slide-next{0%{opacity:0;transform:translate(56px)}to{opacity:1;transform:translate(0)}}@keyframes vocab-study-slide-prev{0%{opacity:0;transform:translate(-56px)}to{opacity:1;transform:translate(0)}}.vocab-study-slide-next{animation:.18s ease-out vocab-study-slide-next}.vocab-study-slide-prev{animation:.18s ease-out vocab-study-slide-prev}@media (prefers-reduced-motion:reduce){.vocab-study-slide-next,.vocab-study-slide-prev{animation:none}}.vocab-study-card-flip{width:100%;height:420px;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.22,.7,.2,1);display:block;position:relative}.vocab-study-card-flip.is-revealed{transform:rotateX(180deg)}.vocab-study-card-face{backface-visibility:hidden;background:#fff;border:1px solid #edf0f5;border-radius:28px;padding:44px 40px 22px;transition:box-shadow .18s;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:0 24px 70px #1e2d4614}.vocab-study-card:hover .vocab-study-card-face{box-shadow:0 28px 75px #1e2d461a}.vocab-study-card-face--back{transform:rotateX(180deg)}.vocab-study-card-inner{flex-direction:column;align-items:center;height:100%;min-height:238px;padding-top:110px;display:flex}.vocab-study-card-face--back .vocab-study-card-inner{justify-content:flex-start;gap:0;padding-top:110px;position:relative}.vocab-study-card-face--back .vocab-study-definition-overlay{position:absolute;top:0;left:0;right:0}.vocab-study-card-face--back .vocab-study-secondary{position:absolute;bottom:0;left:0;right:0}.vocab-study-primary{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;width:100%;display:flex}.vocab-study-secondary{text-align:center;flex-direction:column;align-items:center;width:100%;display:flex}.vocab-study-word{letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(34px,5vw,56px);font-weight:790;line-height:1.04}.vocab-study-pos{color:#9aa2b3;margin-top:10px;font-size:14px;font-weight:700}.vocab-study-pos-inline{margin-top:0}.vocab-study-card-face--front .vocab-study-primary{align-items:baseline}.vocab-study-hint{color:#9aa2b3;margin-top:24px;font-size:13px;font-weight:400;display:block}.vocab-study-hint-btn{color:#3c4454;cursor:pointer;background:#eef1f4;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;max-width:100%;margin-top:14px;padding:7px 16px;font-size:15px;font-weight:600;line-height:1.4;transition:background .15s;display:inline-flex}.vocab-study-hint-btn:hover{background:#e3e8ed}.vocab-study-hint-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vocab-study-hint-btn svg{flex:none}.vocab-study-hint-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocab-study-pron{color:#9aa2b3;margin-bottom:6px;display:block}.vocab-study-pron .vocab-speak{color:var(--accent-dark);border-color:#c6cfd6}.vocab-study-card-face--front .vocab-study-pron{margin-top:10px}.vocab-study-meaning{letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(34px,5vw,56px);font-weight:790;line-height:1.04;display:block}.vocab-study-definition-overlay{text-align:center;width:100%;max-width:560px;margin:0 auto}.vocab-study-section{flex-direction:column;align-items:center;width:100%;display:flex}.vocab-study-label{letter-spacing:.11em;text-transform:uppercase;border-radius:999px;margin-bottom:10px;padding:6px 16px;font-size:12px;font-weight:800;display:inline-block}.vocab-study-definition-overlay .vocab-study-label{color:#5c6c94;background:#edf0fa}.vocab-study-section .vocab-study-label{color:#3d7d59;background:#e7f5ec}.vocab-study-detail{-webkit-line-clamp:4;color:#4f5870;overflow-wrap:anywhere;cursor:help;-webkit-box-orient:vertical;font-size:15px;font-weight:400;line-height:1.55;display:-webkit-box;overflow:hidden}.vocab-study-detail--definition{font-size:15.5px;font-weight:400;line-height:1.55}.vocab-study-detail:hover{-webkit-line-clamp:unset;overflow:visible}.vocab-study-card-face:has(.vocab-study-detail:hover){overflow:visible}.vocab-study-review{flex-wrap:wrap;place-content:flex-start center;align-items:center;gap:10px;min-height:74px;margin:18px 0 2px;display:flex}.vocab-study-review-hint{color:#9aa2b3;text-align:center;flex-basis:100%;margin:2px 0 0;font-size:12.5px;font-weight:500}.vocab-kbd{color:#4f5870;white-space:nowrap;background:#f4f6fa;border:1px solid #e0e5ee;border-bottom-width:2px;border-radius:6px;padding:1px 7px;font-size:.92em;font-weight:700;display:inline-block}.vocab-study-review button{cursor:pointer;min-width:118px;min-height:42px;box-shadow:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:700;transition:transform .16s,background .16s,border-color .16s,color .16s;display:inline-flex}.vocab-study-review button:hover{transform:translateY(-1px)}.vocab-study-review-icon{border-radius:999px;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-weight:800;display:grid}.vocab-study-review-again{color:#616b84;background:#fff;border:1px solid #e4e8f0}.vocab-study-review-again:hover{background:#fafbfd;border-color:#dbe1eb}.vocab-study-review-again .vocab-study-review-icon{color:#768099;background:#f2f4f8}.vocab-study-review-gotit{color:#3f6a4c;background:#eef5f0;border:1px solid #dce9df}.vocab-study-review-gotit:hover{background:#e9f2eb;border-color:#d1e1d6}.vocab-study-review-gotit .vocab-study-review-icon{color:#3f6a4c;background:#dfece2}.vocab-study-nav{grid-template-columns:160px 1fr 160px;align-items:center;gap:14px;margin-top:6px;display:grid}.vocab-study-nav-left,.vocab-study-nav-center,.vocab-study-nav-right{align-items:center;gap:10px;display:flex}.vocab-study-nav-left{justify-content:flex-start}.vocab-study-nav-center{color:#5d6784;justify-content:center;gap:20px;font-weight:700}.vocab-study-nav-right{justify-content:flex-end}.vocab-study-nav-circle{color:#5a6480;cursor:pointer;background:#f1f4f8;border:1px solid #e4e9f1;border-radius:50%;place-items:center;width:52px;height:52px;font-size:21px;display:grid;box-shadow:0 8px 20px #1e2d460a}.vocab-study-nav-circle:hover{background:#eaeef6}.vocab-study-nav-arrow{color:#66728f;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:28px;line-height:1}.vocab-study-nav-arrow:hover{color:#1f2740}.vocab-study-complete{text-align:center;background:#fff;border:1px solid #edf0f5;border-radius:32px;padding:90px 20px;box-shadow:0 24px 70px #1e2d4614}.vocab-study-complete h2{margin:0 0 8px;font-size:32px}.vocab-study-complete p{color:#77809a}@media (max-width:700px){.vocab-practice-launch{flex-direction:column;align-items:stretch}.vocab-toolbar{flex-direction:column;align-items:flex-start}.vocab-toolbar-actions{width:100%}.vocab-toolbar .vocab-filter{flex:none;align-self:stretch}.vocab-card{grid-template-columns:32px 1fr}.vocab-study{padding:4px 0 24px}.vocab-study-header{flex-direction:column}.vocab-study-card{min-height:356px}.vocab-study-card-flip{height:356px}.vocab-study-card-face{padding:32px 16px 18px}.vocab-study-card-inner{min-height:204px;padding-top:85px}.vocab-study-card-face--back .vocab-study-card-inner{gap:0;padding-top:85px}.vocab-study-definition-overlay{width:100%;max-width:none}.vocab-field{grid-template-columns:88px minmax(0,1fr);gap:10px}.vocab-study-nav{grid-template-columns:1fr;gap:18px}.vocab-study-nav-left,.vocab-study-nav-center,.vocab-study-nav-right{justify-content:center}.vocab-study-nav-circle{width:48px;height:48px;font-size:19px}}.vocab-panel-subtitle{color:var(--muted);margin:0 0 20px;font-size:13.5px}.vocab-inline-state{color:var(--muted);font-size:13.5px}.vocab-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.vocab-card{grid-template-columns:36px 1fr;padding:0;display:grid;overflow:hidden}.vocab-card-top{justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.vocab-word{color:var(--ink);flex-direction:column;align-items:flex-start;gap:4px;font-size:18px;font-weight:750;display:inline-flex}.vocab-word-top{flex-wrap:wrap;align-items:center;display:inline-flex}.vocab-pron-line{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.vocab-pos{text-transform:uppercase;letter-spacing:.05em;color:#0f766e;vertical-align:middle;background:#d9f2ee;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-block}.vocab-ipa{color:var(--muted);font-size:13px;font-weight:400}.vocab-speak{border:1px solid var(--line);width:28px;height:28px;color:var(--accent-dark);cursor:pointer;vertical-align:middle;background:#fff;border-radius:50%;justify-content:center;align-items:center;margin-left:0;padding:0;display:inline-flex}.vocab-speak:hover{border-color:var(--accent)}.vocab-speak.is-playing{background:var(--accent-soft);border-color:var(--accent)}.vocab-speak svg{flex-shrink:0;display:block}.vocab-fields{border-top:1px solid var(--line);gap:10px;margin:0;padding:10px 16px;display:grid}.vocab-field{grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;display:grid}.vocab-field-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:0;font-size:11px;font-weight:700}.vocab-def{color:var(--ink);margin:0;font-size:14px;line-height:1.5}.vocab-vn{color:#0f766e;margin:0;font-size:14px;font-weight:650;line-height:1.5}.vocab-vn-unavailable{font-size:12px;font-style:italic;font-weight:400}.vocab-error{color:var(--danger);margin:6px 0 0;font-size:12.5px}.vocab-meta{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:10px;padding:10px 16px;display:flex}.vocab-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.vocab-date{color:var(--muted);font-size:11.5px}.vocab-del,.vocab-del-cancel{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:12px;font-weight:600}.vocab-del:hover{background:var(--danger-soft);color:var(--danger)}.vocab-del-icon{place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.vocab-card .vocab-error{margin:10px 18px 0}.vocab-confirm-row{flex-shrink:0;gap:4px;display:inline-flex}.vocab-del-confirm{background:var(--danger-soft);color:var(--danger);white-space:nowrap;border:0;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:700}.ann-popover{border:1px solid var(--line);z-index:40;background:#fff;border-radius:13px;width:236px;padding:12px;display:none;position:absolute;box-shadow:0 12px 30px #1937461f}.ann-popover.ann-show{display:block}.ann-popover textarea{border:1px solid var(--line);width:100%;min-height:62px;font:inherit;resize:vertical;border-radius:8px;outline:0;padding:8px;font-size:13px}.ann-popover textarea:focus{border-color:#6f4fb0}.ann-popover-text{text-align:center;margin:2px 2px 0;font-size:13px;font-weight:500}.ann-popover-row{align-items:stretch;gap:6px;margin-top:8px;display:flex}.ann-popover-row button{white-space:nowrap;text-align:center;flex:1 1 0;justify-content:center;align-items:center;min-width:0;min-height:32px;line-height:1.25;display:inline-flex}.ann-popover button{border:0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:550}.ann-popover button.vocab-speak,.rp button.vocab-speak,.lp button.vocab-speak,.rp .vocab-speak,.lp .vocab-speak{border:1px solid var(--line);width:28px;height:28px;min-height:0;box-shadow:none;background:#fff;border-radius:50%;flex:none;padding:0}.ann-popover-save{background:var(--accent);color:#fff}.ann-popover-delete{background:var(--danger-soft);color:var(--danger)}.ann-popover-cancel{background:var(--button-bg);color:var(--button-fg)}.rp-answers{gap:6px;display:grid}.rp-answer{border:1px solid var(--line);min-height:36px;font-size:var(--font-size-sm);color:var(--ink);cursor:pointer;border-radius:9px;align-items:center;gap:9px;margin:0;padding:0 10px;font-weight:450;display:flex;position:relative}.rp-answer-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.rp-answer-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.rp-answer-text{z-index:1;position:relative}.rp-answer-input:disabled{cursor:default;opacity:0}.rp-answer:has(>.rp-answer-input:focus-visible){outline-offset:2px;outline:3px solid #a9c9a7}.rp-radio-dot{border:1.5px solid #a0aaa4;border-radius:50%;place-items:center;width:14px;min-width:14px;height:14px;display:grid}.rp-answer-selected .rp-radio-dot{border-color:var(--accent)}.rp-answer-selected .rp-radio-dot:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.rp-questions label:not(.checkbox-label):not(.rp-answer){border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;margin:8px 0;padding:10px 12px;display:flex}.rp-questions label:not(.checkbox-label):not(.rp-answer) input[type=radio]{width:auto;accent-color:var(--accent);flex:none;margin:0}.rp-questions label.rp-picked{border-color:var(--accent);background:var(--accent-soft)}.rp-questions label.rp-was-wrong{border-color:var(--danger);background:var(--danger-soft)}.rp-opt{border:1px solid var(--line);font-size:var(--font-size-sm);border-radius:8px;padding:6px 8px;display:inline-block}.rp-opt-correct{border-color:var(--accent);background:var(--accent-soft)}.rp-opt-wrong{border-color:var(--danger);background:var(--danger-soft)}.rp-fill-answers{flex-wrap:wrap;gap:16px;display:flex}.rp-fill-item{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.rp-fill-caption{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.rp-slot-wrap{vertical-align:middle;align-items:center;gap:4px;max-width:100%;margin:0 2px;display:inline-flex}.rp-slot-no{border:1px solid var(--line);background:var(--paper);min-width:18px;height:18px;color:var(--ink);font-size:var(--font-size-3xs);border-radius:6px;flex:none;place-items:center;padding:0 4px;font-weight:450;display:inline-grid}.rp-slot{box-sizing:border-box;border:1px solid var(--line);width:130px;min-width:0;max-width:100%;min-height:20px;font:inherit;font-size:var(--font-size-sm);resize:none;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:middle;border-radius:8px;padding:2px 8px;line-height:1.15;display:inline-block;overflow:hidden}.rp-slot-flag{width:18px;height:18px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.rp-slot-flag svg{width:11px;height:11px}.rp-slot-flag:hover:not(:disabled){background:var(--warning-soft)}.rp-slot-flag-on{background:var(--warning-soft);color:var(--warning)}.rp-wb-hint{font-size:var(--font-size-xs);color:var(--muted);margin:0 0 8px}.rp-wb-wrap{vertical-align:middle;align-items:center;gap:6px;max-width:100%;margin:0 2px;display:inline-flex}.rp-wb-no{border:1px solid var(--line);background:var(--paper);min-width:18px;height:18px;color:var(--ink);font-size:var(--font-size-3xs);border-radius:6px;flex:none;place-items:center;padding:0 4px;font-weight:450;display:inline-grid}.rp-wb-selectwrap{flex:none;max-width:100%;display:inline-flex}.rp-wb-select{appearance:auto;box-sizing:border-box;text-overflow:ellipsis;border:1.5px solid var(--line);background:var(--paper);width:calc(8.5em + 36px);max-width:240px;min-height:22px;color:var(--ink);line-height:1.1;font:inherit;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;padding:2px 26px 2px 10px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s}@supports (field-sizing:content){.rp-wb-select{field-sizing:content;width:auto}}.rp-wb-select:hover:not(:disabled){border-color:var(--accent)}.rp-wb-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.rp-wb-select-filled{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.rp-wb-select:disabled{cursor:not-allowed;opacity:.75}.rp-wb-progress{font-size:var(--font-size-xs);color:var(--muted);margin:8px 0 0}.rp-mt-hint{font-size:var(--font-size-xs);color:var(--muted);margin:0 0 8px}.rp-mt-bank{border:1px solid var(--line);background:var(--paper);border-radius:16px;margin:0 0 8px;padding:14px 18px}.rp-mt-bank-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-weight:700}.rp-mt-bank ul{margin:0;padding-left:0;list-style:none}.rp-mt-bank li{font-size:var(--font-size-md);margin:4px 0;font-weight:450}.rp-mt-bank .rp-mt-key{color:var(--ink);font-weight:800}.rp-mt-bank li.rp-mt-used{color:var(--muted)}.rp-mt-bank .rp-mt-usedtag{font-size:var(--font-size-xs);font-weight:450}.rp-mt-selectwrap{max-width:100%;display:block}.rp-qcard:has(>.rp-mt-selectwrap)>.rp-qtext{margin-bottom:6px}.rp-mt-select{appearance:auto;box-sizing:border-box;border:1.5px solid var(--line);background:var(--card);width:100%;max-width:min(320px,100%);min-height:36px;color:var(--ink);font:inherit;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;padding:6px 32px 6px 12px;font-weight:450;transition:border-color .15s,background .15s,box-shadow .15s}.rp-mt-select:hover:not(:disabled){border-color:var(--accent)}.rp-mt-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.rp-mt-select-filled{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.rp-mt-select:disabled{cursor:not-allowed;opacity:.75}.rp-mt-progress{font-size:var(--font-size-xs);color:var(--muted);margin:8px 0 0}.rp-confirm{border:1px solid var(--warning-line);background:var(--warning-soft);border-radius:8px;margin-top:12px;padding:10px 12px}.rp-modal-overlay{z-index:60;background:#18221b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rp-modal{background:var(--card);border:1px solid var(--line);border-radius:14px;width:min(420px,100%);padding:20px;box-shadow:0 18px 48px #18221b40}.rp-modal h4{margin:0 0 8px}.rp-modal p{color:var(--muted);margin:0 0 16px}.rp-modal-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.rp-danger-button{background:var(--danger);color:#fff;border:0}.rp-danger-button:hover:not(:disabled){background:#822a2a}.rp-alert{background:var(--danger-soft);border:1px solid #edbcbc;border-radius:8px;margin-top:12px;padding:10px 12px}.review-redo-alert{flex:none;margin:8px 16px 0}.rp-expl{background:var(--accent-soft);border:1px solid var(--line);font-size:var(--font-size-xs);border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.rp-pill-expl{background:var(--accent);border-color:var(--accent-dark);color:#fff;font-weight:450}.rp-evidence{color:var(--accent-dark);border:1px solid var(--accent);font-size:var(--font-size-xs);white-space:nowrap;background:#fff;border-radius:999px;margin-left:auto;padding:5px 14px;font-weight:450;box-shadow:0 1px 4px #24482c22}.rp-evidence:hover:not(:disabled){background:var(--accent-soft)}.rp-evidence-highlight,.lp-evidence-highlight{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;margin-left:-12px;padding:2px 8px 2px 9px;scroll-margin:16px}.rp-evidence-highlight:focus,.lp-evidence-highlight:focus{outline:none}.lp-sentence{border-radius:6px;margin:1px -8px;padding:2px 8px;scroll-margin:16px;transition:background-color .12s,box-shadow .12s;display:block}.lp-sentence-playable{cursor:pointer}.lp-sentence-playable:hover{background:var(--accent-soft)}.lp-sentence-playable:focus-visible{outline:2px solid var(--accent);outline-offset:0}.lp-sentence-active,.lp-sentence-active:hover{color:var(--accent-dark);background:#d3e7d6}.lp-evidence-inline{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.lp-evidence-inline:focus{outline:none}@media (prefers-reduced-motion:reduce){.lp-sentence{transition:none}}.review-toolbar{z-index:5;background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:-24px -26px 0;padding:20px 26px 14px;display:flex;position:sticky;top:-24px}.review-chip-group{flex-wrap:wrap;gap:6px;display:flex}.review-chip{font-size:var(--font-size-2xs);color:var(--muted);border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:8px;padding:6px 9px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.review-chip:hover{color:var(--ink);border-color:#bfcac1}.review-chip-active{color:var(--accent-dark);border-color:var(--button-border);background:var(--accent-soft)}.review-card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:14px 16px}.review-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.review-card-head-left{align-items:center;gap:8px;min-width:0;display:flex}.review-qnum{font-size:var(--font-size-xs);color:var(--ink);font-weight:700}.review-qtype{font-size:var(--font-size-2xs);color:var(--muted);font-weight:600}.review-status{font-size:var(--font-size-3xs);border-radius:999px;flex:none;padding:4px 8px;font-weight:700}.review-status-correct{background:var(--accent-soft);color:var(--accent-dark)}.review-status-incorrect{background:var(--danger-soft);color:var(--danger)}.review-status-unanswered{background:var(--paper);color:var(--muted)}.review-stem{font-size:var(--font-size-sm);color:var(--ink);margin:0;font-weight:400;line-height:1.55}.review-inline{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0 2px;display:inline-flex}.review-inline-wrong{color:var(--danger);font-weight:700;text-decoration:line-through;text-decoration-thickness:1.5px}.review-inline-correct{color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:0 6px;font-weight:700}.review-inline-empty{color:var(--muted);font-weight:700;text-decoration:line-through;text-decoration-thickness:1.2px}.review-inline-other{color:var(--muted);font-weight:600}.review-answer-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.review-answer-label{font-size:var(--font-size-3xs);letter-spacing:.05em;color:var(--muted);text-transform:uppercase;font-weight:700}.review-answer-pill{font-size:var(--font-size-xs);border:1px solid var(--line);background:var(--card);border-radius:8px;padding:5px 9px;font-weight:700}.review-answer-pill-wrong{color:var(--danger);border-color:var(--danger-line);background:var(--danger-soft);text-decoration:line-through;text-decoration-thickness:1.2px}.review-answer-pill-correct{color:var(--accent-dark);border-color:var(--button-border);background:var(--accent-soft)}.review-answer-pill-empty{color:var(--muted);background:var(--paper)}.review-arrow{color:#a3aaa5;font-size:var(--font-size-xs)}.review-explanation{background:var(--paper);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:8px 11px;display:flex}.review-explanation-text{font-size:var(--font-size-xs);color:var(--ink);line-height:1.45}.source-quote{background:var(--accent-soft);color:var(--accent-dark);border-radius:4px;padding:0 3px;font-weight:600}.review-evidence-btn{color:var(--accent-dark);font-size:var(--font-size-2xs);cursor:pointer;background:0 0;border:0;flex:none;padding:4px 0;font-weight:700}.review-evidence-btn:disabled{color:var(--muted);cursor:not-allowed}.review-evidence-btn:hover:not(:disabled){background:0 0;border-color:#0000;text-decoration:underline}.review-evidence-btn:active:not(:disabled){background:0 0;transform:none}.review-mcq-options{gap:8px;margin-top:4px;display:grid}.review-mcq-option{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.review-mcq-marker{background:var(--card);border:1.5px solid #aab3ac;border-radius:50%;flex:none;width:15px;height:15px;margin-top:2px;position:relative}.review-mcq-option-selected .review-mcq-marker:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:3px}.review-mcq-option-wrong{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.review-mcq-option-correct{border-color:var(--button-border);background:var(--accent-soft);color:var(--accent-dark)}.review-mcq-option-neutral{color:var(--ink)}.review-mcq-copy{flex:1;min-width:0}.review-mcq-text{font-size:var(--font-size-xs);color:inherit;font-weight:400;line-height:1.45}.review-mcq-meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.review-mcq-tag{font-size:var(--font-size-3xs);letter-spacing:.02em;font-weight:700}@media (max-width:700px){.review-explanation{align-items:flex-start}}@media (max-width:800px){.app-frame--attempt{height:auto;min-height:100dvh;overflow:visible}.student-practice-shell{margin-top:0;display:block}.student-practice-continue{flex-direction:column;align-items:stretch}.student-practice-lanes{grid-template-columns:1fr}.student-practice-lane--panel{padding:14px}.student-practice-pagination{flex-wrap:wrap}.rp-desk{margin-bottom:0}}@media (max-width:900px){:is(html:has(.app-frame--attempt .lp.card,.app-frame--attempt .rp-runner),body:has(.app-frame--attempt .lp.card,.app-frame--attempt .rp-runner)){height:100dvh;min-height:0;overflow:hidden}.app-frame--attempt:has(.lp.card,.rp-runner){height:100dvh;min-height:0;padding:0;overflow:hidden}.app-frame--attempt .lp.card,.app-frame--attempt .rp-desk{box-shadow:none;border-width:0;border-radius:0}.app-frame--attempt .student-app--focused,.app-frame--attempt .student-practice-shell--focused{min-height:0;display:flex}.rp-header{gap:6px 10px;padding:8px 10px 8px 14px}.rp-brand>.eyebrow{display:none}.rp-brand h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rp-header-actions{flex-wrap:nowrap}.rp-footer{padding:6px 8px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;gap:8px;min-height:0}.rp-navbtn{padding:0 10px}.rp-split{grid-template-rows:minmax(0, var(--rp-split-top,1fr)) 30px minmax(0, var(--rp-split-bottom,1fr));padding:0 10px 4px;grid-template-columns:auto minmax(0,1fr) auto!important}.rp-split[data-passage-hidden]{grid-template-rows:0 30px minmax(0,1fr)}.rp-split[data-questions-hidden]{grid-template-rows:minmax(0,1fr) 30px 0}.rp-split>.rp-passage{grid-area:1/1/auto/-1}.rp-split[data-passage-hidden]>.rp-passage{display:none}.rp-split>.rp-questions{grid-area:3/1/auto/-1}.rp-split[data-questions-hidden]>.rp-questions{display:none}.rp-split>.rp-divider{cursor:row-resize;grid-area:2/1/auto/-1}.rp-split[data-passage-hidden]>.rp-divider,.rp-split[data-questions-hidden]>.rp-divider{visibility:hidden}.rp-split>.rp-divider .rp-divider-grip{opacity:1;width:44px;height:5px}.rp-split>.rp-stack-toggle{z-index:2;border:1px solid var(--line);height:24px;box-shadow:none;color:var(--muted);font-size:var(--font-size-2xs);background:#fff;border-radius:8px;grid-area:2/1;place-self:center start;align-items:center;padding:0 10px;display:inline-flex}.rp-split>.rp-stack-toggle+.rp-stack-toggle{grid-column:3;justify-self:end}.rp-pane-scroll{padding:16px 16px 20px}}.lp.card{background:#f2f5f2;border-radius:20px;flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;position:relative;overflow:clip}.lp button:not(.button-secondary):not(.lp-qnum):not(.lp-navbtn):not(.lp-iconbtn):not(.lp-flag):not(.lp-slot-flag):not(.lp-play):not(.lp-skip-btn):not(.lp-volume-btn):not(.lp-speed):not(.lp-linklike):not(.lp-menuitem):not(.vocab-speak):not(.rp-passage-tab):not(.review-evidence-btn):not(.review-chip):not(.focused-language-choice){border-radius:12px;height:40px;padding:0 18px;transition:background .12s,box-shadow .12s,transform .12s;box-shadow:0 1px 3px #24482c22}.lp button:not(.button-secondary):not(.lp-qnum):not(.lp-navbtn):not(.lp-iconbtn):not(.lp-flag):not(.lp-slot-flag):not(.lp-play):not(.lp-skip-btn):not(.lp-volume-btn):not(.lp-speed):not(.lp-linklike):not(.lp-menuitem):not(.vocab-speak):not(.rp-passage-tab):not(.review-evidence-btn):not(.review-chip):not(.focused-language-choice):hover:not(:disabled){box-shadow:0 3px 10px #24482c33}.lp button:not(.button-secondary):not(.lp-qnum):not(.lp-navbtn):not(.lp-iconbtn):not(.lp-flag):not(.lp-slot-flag):not(.lp-play):not(.lp-skip-btn):not(.lp-volume-btn):not(.lp-speed):not(.lp-linklike):not(.lp-menuitem):not(.vocab-speak):not(.rp-passage-tab):not(.review-evidence-btn):not(.review-chip):not(.focused-language-choice):active:not(:disabled){transform:translateY(1px)}.lp button.button-secondary{border-radius:12px;height:40px;box-shadow:0 1px 2px #24482c1f}.lp-header{background:0 0;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px 14px;padding:14px 16px 14px 22px;display:grid;position:relative}.lp-brand{grid-column:1;min-width:0}.lp-brand .eyebrow{margin:0 0 2px}.lp-brand h3{font-size:var(--font-size-base);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.lp-brand-sub{font-size:var(--font-size-2xs);color:var(--muted);margin-top:2px;display:block}.lp-header-mid{flex-wrap:wrap;grid-column:2;justify-content:center;align-items:center;gap:8px;display:flex}.lp-header-actions{grid-column:3;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lp-pill{font-size:var(--font-size-2xs);border:1px solid var(--line);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:2px 10px;display:inline-block}.lp-timer{font-size:var(--font-size-md);color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:450;display:inline-flex}.lp-timer svg{flex:none;width:13px;height:13px}.lp-saved{background:var(--accent-soft)}.lp-saving{background:var(--warning-soft);border-color:var(--warning-line)}.lp-unsaved{background:var(--danger-soft);border-color:var(--danger-line)}.lp-exit{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-line);font-size:var(--font-size-xs);align-items:center;gap:6px;display:inline-flex}.lp-exit:hover:not(:disabled){background:#fbe9e7}.lp-submit{font-size:var(--font-size-xs)}.lp-more{position:relative}.lp-menu{z-index:10;border:1px solid var(--line);background:#fff;border-radius:12px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #1937461f}.lp-menuitem{text-align:left;width:100%;font-size:var(--font-size-xs);color:var(--ink);background:0 0;border:0;border-radius:8px;padding:9px 10px;font-weight:450;display:block}.lp-menuitem:hover:not(:disabled){background:var(--accent-soft);color:var(--ink)}.lp-menuitem-danger{color:var(--danger)}.lp-menuitem-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.lp-body{flex-direction:column;flex:auto;gap:14px;min-width:0;min-height:0;padding:14px 16px 10px;display:flex;overflow:clip}.lp-panels{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.55fr) minmax(0,.78fr);gap:14px;min-width:0;min-height:0;display:grid;overflow:clip}.lp-questions-panel{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 28px #1e2a220f}.lp-questions-panel-scroll{overscroll-behavior:contain;overflow-wrap:anywhere;flex:auto;min-height:0;padding:24px 26px;position:relative;overflow:hidden auto}.lp-section-block{margin-bottom:26px}.lp-section-block:last-child{margin-bottom:0}.lp-section-block>h2{font-size:var(--font-size-3xl);text-align:left;letter-spacing:-.025em;margin:0 0 18px;font-weight:450}.lp-group{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.lp-section-block:last-child .lp-group:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.lp-instructions{color:var(--muted);font-size:var(--font-size-sm);margin:0 0 14px;line-height:1.5}.lp-group-header{font-weight:600;font-size:var(--font-size-sm);margin:2px 0 8px;line-height:1.35}.lp-group-header h2,.lp-group-header h3,.lp-group-header h4{margin:0;line-height:1.3}.lp-group-header h2{font-size:22px}.lp-group-header h3{font-size:18px}.lp-group-header h4{font-size:15px}.lp-group-title{text-align:center;font-weight:600;font-size:var(--font-size-sm);margin:0 0 14px;line-height:1.35}.lp-group-title h2,.lp-group-title h3,.lp-group-title h4{margin:0;line-height:1.3}.lp-group-title h2{font-size:22px}.lp-group-title h3{font-size:18px}.lp-group-title h4{font-size:15px}.lp-question-row{grid-template-columns:32px 1fr auto;align-items:start;gap:12px;padding:16px 0;display:grid}.lp-question-row>*{min-width:0}.lp-group .lp-question-row:first-of-type{padding-top:4px}.lp-qno{border:1px solid var(--line);width:30px;height:30px;font-size:var(--font-size-xs);color:var(--ink);background:var(--paper);border-radius:9px;place-items:center;font-weight:450;display:grid}.lp-qno-range{white-space:nowrap;align-items:center;width:auto;min-width:30px;padding:0 7px;display:flex}.lp-question-row:has(>.lp-qno-range){grid-template-columns:auto 1fr auto}.lp-qtext{min-width:0;font-size:var(--font-size-md);overflow-wrap:anywhere;margin:4px 0 12px;line-height:1.4}.lp-answers{gap:6px;display:grid}.lp-answer{border:1px solid var(--line);min-height:36px;font-size:var(--font-size-sm);color:var(--ink);cursor:pointer;border-radius:9px;align-items:center;gap:9px;margin:0;padding:0 10px;font-weight:450;display:flex;position:relative}.lp-answer-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.lp-answer-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.lp-answer-text{z-index:1;position:relative}.lp-answer-input:disabled{cursor:default;opacity:0}.lp-answer:has(>.lp-answer-input:focus-visible){outline-offset:2px;outline:3px solid #a9c9a7}.lp-radio-dot{border:1.5px solid #a0aaa4;border-radius:50%;place-items:center;width:14px;min-width:14px;height:14px;display:grid}.lp-answer-selected .lp-radio-dot{border-color:var(--accent)}.lp-answer-selected .lp-radio-dot:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.lp-text-answer-wrap{align-items:center;gap:8px;display:inline-flex}.lp-text-answer{border:1px solid var(--line);width:min(280px,100%);height:36px;font-size:var(--font-size-sm);border-radius:8px;outline:0;padding:0 10px}.lp-text-answer:focus{border-color:var(--accent)}.lp-text-answer-filled{border-color:var(--accent);background:var(--accent-soft)}.lp-slot-wrap{vertical-align:middle;align-items:center;gap:4px;max-width:100%;margin:0 2px;display:inline-flex}.lp-slot-no{border:1px solid var(--line);background:var(--paper);min-width:20px;height:20px;color:var(--ink);font-size:var(--font-size-3xs);border-radius:6px;flex:none;place-items:center;padding:0 4px;font-weight:450;display:inline-grid}.lp-slot{box-sizing:border-box;border:1px solid var(--line);width:130px;min-width:0;max-width:100%;min-height:20px;font:inherit;font-size:var(--font-size-sm);resize:none;white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:middle;border-radius:8px;padding:2px 8px;line-height:1.15;display:inline-block;overflow:hidden}.lp-slot[data-filled=true]{border-color:var(--accent);background:var(--accent-soft)}.lp-slot-flag{width:15px;height:15px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.lp-slot-flag svg{width:11px;height:11px}.lp-slot-flag:hover:not(:disabled){background:var(--warning-soft)}.lp-slot-flag-on{background:var(--warning-soft);color:var(--warning)}.lp-wb-hint{font-size:var(--font-size-xs);color:var(--muted);margin:0 0 8px}.lp-wb-wrap{vertical-align:middle;align-items:center;gap:6px;max-width:100%;margin:0 2px;display:inline-flex}.lp-wb-no{border:1px solid var(--line);background:var(--paper);min-width:20px;height:20px;color:var(--ink);font-size:var(--font-size-3xs);border-radius:6px;flex:none;place-items:center;padding:0 4px;font-weight:450;display:inline-grid}.lp-wb-selectwrap{flex:none;max-width:100%;display:inline-flex}.lp-wb-select{appearance:auto;box-sizing:border-box;text-overflow:ellipsis;border:1.5px solid var(--line);background:var(--paper);width:calc(8.5em + 36px);max-width:240px;min-height:34px;color:var(--ink);font:inherit;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;padding:5px 30px 5px 12px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s}@supports (field-sizing:content){.lp-wb-select{field-sizing:content;width:auto}}.lp-wb-select:hover:not(:disabled){border-color:var(--accent)}.lp-wb-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.lp-wb-select-filled{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.lp-wb-select:disabled{cursor:not-allowed;opacity:.75}.lp-wb-progress{font-size:var(--font-size-xs);color:var(--muted);margin:8px 0 0}.lp-mt-hint{font-size:var(--font-size-xs);color:var(--muted);margin:0 0 8px}.lp-mt-bank{border:1px solid var(--line);background:var(--paper);border-radius:16px;margin:0 0 8px;padding:14px 18px}.lp-mt-bank-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-weight:700}.lp-mt-bank ul{margin:0;padding-left:0;list-style:none}.lp-mt-bank li{font-size:var(--font-size-md);margin:4px 0;font-weight:450}.lp-mt-bank .lp-mt-key{color:var(--ink);font-weight:800}.lp-mt-bank li.lp-mt-used{color:var(--muted)}.lp-mt-bank .lp-mt-usedtag{font-size:var(--font-size-xs);font-weight:450}.lp-mt-selectwrap{max-width:100%;display:block}.lp-question-row>div:has(>.lp-mt-selectwrap)>.lp-qtext{margin-bottom:6px}.lp-mt-select{appearance:auto;box-sizing:border-box;border:1.5px solid var(--line);background:var(--card);width:100%;max-width:min(320px,100%);min-height:36px;color:var(--ink);font:inherit;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;padding:6px 32px 6px 12px;font-weight:450;transition:border-color .15s,background .15s,box-shadow .15s}.lp-mt-select:hover:not(:disabled){border-color:var(--accent)}.lp-mt-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.lp-mt-select-filled{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.lp-mt-select:disabled{cursor:not-allowed;opacity:.75}.lp-mt-progress{font-size:var(--font-size-xs);color:var(--muted);margin:8px 0 0}.lp-flag{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid}.lp-flag svg{width:16px;height:16px}.lp-flag:hover:not(:disabled){background:var(--warning-soft)}.lp-flag-on{background:var(--warning-soft);color:var(--warning)}.lp-player-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex:none;gap:10px;min-width:0;max-width:100%;padding:14px 16px 16px;display:grid;overflow:hidden;box-shadow:0 10px 28px #1e2a220f}.lp-player-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.lp-player-head-actions{flex:none;align-items:center;gap:8px;margin:-4px -6px -4px auto;display:flex}.lp-player-toggle svg{width:16px;height:16px}.lp-player-card-collapsed{padding-block:10px}.lp-player-card .lp-play.lp-play--mini{width:32px;height:32px;box-shadow:none}.lp-player-card .lp-play.lp-play--mini svg{width:15px;height:15px}.lp-player-card .lp-play.lp-play--mini .lp-play-spinner{border-width:2px;width:14px;height:14px}.lp-player-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-sm);flex:auto;font-weight:450;overflow:hidden}.lp-player-range{font-size:var(--font-size-2xs);color:var(--muted);white-space:nowrap;flex:none}.lp-player-section-wrap{flex:0 auto;min-width:0;display:flex;position:relative}.lp-player-section{appearance:none;width:auto;min-width:0;color:var(--ink);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:auto;padding:5px 26px 5px 6px;font-weight:450;overflow:hidden}.lp-player-section:hover,.lp-player-section:focus-visible{background:var(--accent-soft);outline:0}.lp-player-section-chevron{width:14px;height:14px;color:var(--muted);pointer-events:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.lp-player-row{grid-template-columns:1fr auto 1fr;align-items:center;min-width:0;display:grid}.lp-player-controls{align-items:center;gap:10px;display:flex}.lp-player-side{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.lp-seek-zone{gap:6px;min-width:0;display:grid;position:relative}.lp-waveform-hit{height:44px}.lp-waveform{justify-content:space-between;align-items:center;gap:2px;height:100%;display:flex}.lp-wave-bar{background:#cdd5cc;border-radius:2px;flex:1 1 0;min-width:1px;max-width:4px}.lp-wave-bar.is-played{background:var(--accent)}.lp-seek-tooltip{background:var(--ink);color:#fff;font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:2;border-radius:6px;padding:2px 7px;position:absolute;top:-26px;transform:translate(-50%)}.lp-skip-btn,.lp-volume-btn{width:32px;height:32px;color:var(--ink);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.lp-skip-btn{width:44px;height:44px}.lp-skip-btn svg{width:30px;height:30px}.lp-volume-btn svg{width:17px;height:17px}.lp-skip-btn:hover:not(:disabled),.lp-volume-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}.lp-volume-btn[aria-pressed=true]{color:var(--danger)}.lp-play{background:var(--accent);color:#fff;border:0;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;padding:0;display:grid;box-shadow:0 2px 6px #24482c33}.lp-play svg{width:24px;height:24px}.lp-play:hover:not(:disabled){background:var(--accent-dark)}.lp-play.lp-play--loading:disabled{opacity:1;cursor:progress}.lp-play-spinner{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite rp-save-spin-rotate}@media (prefers-reduced-motion:reduce){.lp-play-spinner{animation-duration:2.4s}}.lp-time{text-align:center;font-size:var(--font-size-2xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.lp-speed{background:var(--paper);height:28px;color:var(--ink);font-size:var(--font-size-2xs);border:0;border-radius:999px;flex:none;padding:0 9px;font-weight:450}.lp-speed:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}.lp-seek{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;height:22px;margin:0;padding:0;display:block}.lp-seek:focus-visible{outline:0}.lp-seek::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) 0%, var(--accent) var(--seek-fill,0%), #dde3dc var(--seek-fill,0%), #dde3dc 100%);border-radius:999px;height:8px}.lp-seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);width:18px;height:18px;box-shadow:0 0 0 5px var(--accent-soft), 0 1px 3px #18221b59;border-radius:50%;margin-top:-5px;transition:transform .12s}.lp-seek:hover::-webkit-slider-thumb{transform:scale(1.2)}.lp-seek:focus-visible::-webkit-slider-thumb{transform:scale(1.2)}.lp-seek::-moz-range-track{background:#dde3dc;border-radius:999px;height:8px}.lp-seek::-moz-range-progress{background:var(--accent);border-radius:999px;height:8px}.lp-seek::-moz-range-thumb{background:var(--accent);width:18px;height:18px;box-shadow:0 0 0 5px var(--accent-soft), 0 1px 3px #18221b59;cursor:pointer;border:0;border-radius:50%;transition:transform .12s}.lp-seek:hover::-moz-range-thumb{transform:scale(1.2)}.lp-seek:focus-visible::-moz-range-thumb{transform:scale(1.2)}.lp-player-card .lp-alert{margin:4px 0 2px}.lp-transcript-card-wrap{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex;overflow:clip}.lp-transcript-card{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 28px #1e2a220f}.lp-transcript-card-collapsed{flex:none}.lp-transcript-card-collapsed .lp-transcript-head{border-bottom:0}.lp-transcript-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.lp-transcript-head strong{font-size:var(--font-size-sm)}.lp-linklike{color:var(--accent-dark);font-size:var(--font-size-2xs);background:0 0;border:0;padding:0;font-weight:450}.lp-linklike:hover:not(:disabled){background:0 0;text-decoration:underline}.lp-transcript-body{overflow-wrap:anywhere;font-size:var(--font-size-xs);color:var(--ink);padding:16px 28px 20px;line-height:1.55;overflow:hidden auto}@media (max-width:640px){.lp-transcript-body{padding-inline:20px}}.lp-pane-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.lp-segments{display:none}.lp-review-question{border-bottom:1px solid var(--line);padding:18px 0}.lp-review-question:first-child{padding-top:2px}.lp-review-question:last-child{border-bottom:none;padding-bottom:2px}.lp-qmeta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 8px;display:flex}.lp-qmeta-label{font-size:var(--font-size-xs);color:var(--muted);font-weight:500}.lp-qprompt{margin:0 0 10px}.lp-questions label{border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:6px 8px;display:block}.lp-opt{border:1px solid var(--line);font-size:var(--font-size-sm);border-radius:8px;margin:6px 0;padding:6px 8px;display:block}.lp-opt-correct{border-color:var(--accent);background:var(--accent-soft)}.lp-opt-wrong{border-color:var(--danger);background:var(--danger-soft)}.lp-fill-answers{flex-wrap:wrap;gap:16px;display:flex}.lp-fill-item{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.lp-fill-caption{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.lp-fill-answers .lp-opt{margin:0;display:inline-block}.lp-footer{background:0 0;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:0 16px;display:flex}.lp-foot-side{flex:none;align-items:center;gap:10px;display:flex}.lp-foot-side-right{justify-content:flex-end}.lp-navbtn{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:11px;padding:0 13px;font-weight:450}.lp-navbtn:disabled{color:var(--muted);cursor:not-allowed}.lp-qnav{scrollbar-width:thin;scrollbar-color:var(--muted) transparent;flex-wrap:nowrap;flex:auto;justify-content:flex-start;align-items:center;gap:8px 16px;min-width:0;padding:4px 2px 10px;display:flex;position:relative;overflow:auto hidden}.lp-qnav:hover{scrollbar-color:var(--ink) transparent}.lp-qnav::-webkit-scrollbar{height:6px}.lp-qnav::-webkit-scrollbar-track{background:0 0}.lp-qnav::-webkit-scrollbar-thumb{background:var(--muted);border-radius:999px}.lp-qnav:hover::-webkit-scrollbar-thumb{background:var(--ink)}.lp-qnav-group{flex-direction:row;flex:none;align-items:center;gap:10px;display:flex}.lp-qnav-group+.lp-qnav-group{border-left:1px solid var(--line);padding-left:16px}.lp-qnav-label{font-size:var(--font-size-xs);color:var(--muted);white-space:nowrap;font-weight:450}.lp-qnav-nums{flex-wrap:nowrap;gap:7px;display:flex}.lp-qnum{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);font-weight:450;font-size:var(--font-size-xs);background:#fff;border-radius:10px;padding:0}.lp-qnum:hover:not(:disabled){background:#eef2ed}.lp-qnum-answered,.lp-qnum-correct{background:var(--accent);border-color:var(--accent-dark);color:#fff}.lp-qnum-incorrect{background:var(--danger);color:#fff;border-color:#822a2a}.lp-qnum-current{border:2px solid var(--accent);color:var(--accent-dark)}.lp-qnum-flagged{border-style:dashed;border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.lp-qnum-idle{background:#fff}.lp-progress-text{font-size:var(--font-size-xs);color:var(--muted);white-space:nowrap}.lp-confirm{border:1px solid var(--warning-line);background:var(--warning-soft);border-radius:12px;margin:0 16px 14px;padding:12px 14px}.lp-modal-overlay{z-index:60;background:#18221b73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.lp-modal{background:var(--card);border:1px solid var(--line);border-radius:14px;width:min(420px,100%);padding:20px;box-shadow:0 18px 48px #18221b40}.lp-modal h4{margin:0 0 8px}.lp-modal p{color:var(--muted);margin:0 0 16px}.lp-modal-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lp-danger-button{background:var(--danger);color:#fff;border:0}.lp-danger-button:hover:not(:disabled){background:#822a2a}.lp-alert{border:1px solid var(--danger-line);background:var(--danger-soft);border-radius:12px;margin:0 16px 14px;padding:12px 14px}.lp-lock-note{background:var(--paper);border:1px solid var(--line);font-size:var(--font-size-xs);color:var(--muted);border-radius:11px;align-items:center;gap:7px;margin:0;padding:9px 11px;line-height:1.45;display:flex}.lp-lock-note svg{width:15px;height:15px;color:var(--muted);flex:none}.lp-skip-btn:disabled,.lp-play:disabled,.lp-speed:disabled,.lp-player-section:disabled,.lp-seek:disabled{opacity:.4;cursor:not-allowed}.lp-seek:disabled::-webkit-slider-thumb{cursor:not-allowed}.lp-seek:disabled::-moz-range-thumb{cursor:not-allowed}.lp-review-body{min-height:0;box-shadow:none;background:0 0;border:0;flex-direction:column;flex:auto;margin:0;padding:0 16px 10px;display:flex;overflow:clip}.lp-review-body-scroll{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex;overflow:clip}.lp-review-grid{flex:auto;grid-template-columns:minmax(0,1.55fr) minmax(0,.78fr);gap:0;min-width:0;min-height:0;margin-bottom:0;display:grid;overflow:clip}.lp-review-questions,.lp-review-transcript{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;min-width:0;min-height:0;padding:24px 26px;display:flex;box-shadow:0 10px 28px #1e2a220f}.lp-review-questions{overflow-wrap:anywhere;overscroll-behavior:contain;overflow:hidden auto}.lp-review-questions>*{flex-shrink:0}.lp-review-transcript-col{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.lp-review-transcript-col>.lp-player-card{flex:none}.lp-review-transcript{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.lp-review-transcript-head{flex:none;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.lp-review-transcript-head strong{font-size:var(--font-size-sm)}.lp-review-transcript.lp-review-transcript-collapsed{flex:none;padding-block:14px}.lp-review-transcript-collapsed .lp-review-transcript-head{margin-bottom:0}.lp-review-transcript-scroll{overflow-wrap:anywhere;overscroll-behavior:contain;flex:auto;min-width:0;min-height:0;overflow:hidden auto}.lp-review-transcript p.muted{border:1px dashed var(--line);text-align:center;font-size:var(--font-size-xs);border-radius:10px;padding:16px;display:block}@media (max-width:900px){.lp-review-body-scroll{display:block;overflow:hidden auto}.lp-review-grid{display:block;overflow:visible}.lp-review-questions,.lp-review-transcript,.lp-review-transcript-scroll,.lp-review-transcript-col{overflow:visible}.lp-review-grid{grid-template-columns:1fr}.lp-divider,.lp-review-grid[data-active-view=questions] .lp-review-transcript-col,.lp-review-grid[data-active-view=transcript] .lp-review-questions{display:none}.lp-review-body-scroll>.lp-segments{z-index:2;background:#f2f5f2;padding:6px 10px;position:sticky;bottom:0}}.lp-expl{background:var(--accent-soft);border:1px solid var(--line);font-size:var(--font-size-xs);border-radius:8px;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.lp-pill-expl,.lp-pill-right{background:var(--accent);border-color:var(--accent-dark);color:#fff;font-weight:450}.lp-pill-wrong{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);font-weight:450}.lp-evidence{color:var(--accent-dark);border:1px solid var(--accent);font-size:var(--font-size-xs);white-space:nowrap;background:#fff;border-radius:999px;margin-left:auto;padding:5px 14px;font-weight:450;box-shadow:0 1px 4px #24482c22}.lp-evidence:hover:not(:disabled){background:var(--accent-soft)}@media (max-width:900px){.lp-header{gap:6px 10px;padding:8px 10px 8px 14px}.lp-brand>.eyebrow{display:none}.lp-brand h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lp-header-actions{flex-wrap:nowrap}.lp-footer{padding:6px 8px max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex:none;gap:8px;min-height:0}.lp-navbtn{padding:0 10px}.lp-body{gap:8px;padding:8px 10px 4px}.lp-panels{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}.lp-divider{display:none}.lp-transcript-card-wrap{display:contents}.lp-questions-panel,.lp-transcript-card{grid-area:1/1}.lp-transcript-card-collapsed{align-self:start}.lp-player-card{border-radius:12px;grid-area:2/1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:6px 10px}.lp-player-card>:not(.lp-seek-zone):not(.lp-player-row){grid-column:1/-1}.lp-player-card .lp-waveform-hit{display:none}.lp-player-card .lp-seek-zone{gap:0}.lp-player-card .lp-player-row{align-items:center;gap:6px;display:flex}.lp-player-card .lp-player-row>span[aria-hidden=true]{display:none}.lp-player-card .lp-player-controls,.lp-player-card .lp-player-side{gap:4px}.lp-player-card .lp-play{width:40px;height:40px}.lp-player-card .lp-skip-btn{width:34px;height:34px}.lp-questions-panel-scroll{padding:16px 16px 20px}.lp-segments{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;padding:6px 10px 0;display:grid}.lp-body[data-active-view=questions] .lp-transcript-card,.lp-body[data-active-view=transcript] .lp-questions-panel{display:none}.rp-header:not(.rp-header-simple),.lp-header:not(.lp-header-simple){flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.rp-header:not(.rp-header-simple)>.rp-brand,.lp-header:not(.lp-header-simple)>.lp-brand{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rp-header-mid,.lp-header-mid{margin-right:auto}.rp-header-actions,.lp-header-actions{gap:6px}.runner-exit-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rp-header .rp-exit,.lp-header .lp-exit{padding:0 11px!important}.rp-header .focused-language-switch>.focused-language-choice,.lp-header .focused-language-switch>.focused-language-choice{min-height:30px;padding:4px 9px}.rp-header-simple .runner-exit-label,.lp-header-simple .runner-exit-label{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.rp-header-simple .rp-exit,.lp-header-simple .lp-exit{padding:0 18px!important}}@media (max-width:640px){.lp-header:not(.lp-header-simple)>.rp-passage-tabs{display:none}.rp-header:not(.rp-header-simple)>.rp-passage-tabs{flex-basis:100%;order:3}.rp-header-simple,.lp-header-simple{grid-template-columns:minmax(0,1fr) auto}.rp-header-simple>.rp-brand,.lp-header-simple>.lp-brand{grid-area:1/1}.rp-header-simple .rp-header-actions,.lp-header-simple .lp-header-actions{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:flex-start}}@media (max-width:520px){.rp-progress-text,.lp-progress-text{display:none}}@media (max-width:900px) and (max-height:500px){.lp-player-card:not(.lp-player-card-collapsed) .lp-player-head{display:none}.lp-player-card{padding:4px 12px}}.pr-body{flex:auto;min-height:0;padding:18px 16px 28px;overflow:auto}.pr-stack{gap:16px;max-width:1040px;margin:0 auto;display:grid}.pr-hero,.pr-card{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:0 10px 28px #1e2a220f}.pr-hero{padding:24px 26px 26px}.pr-hero-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:14px 20px;display:grid}.pr-time{justify-self:start;width:68px;height:68px;position:relative}.pr-time-ring{width:100%;height:100%;transform:rotate(-90deg)}.pr-time-ring circle{fill:none;stroke-width:5px}.pr-time-track{stroke:#e7ebe6}.pr-time-used{stroke:var(--accent);stroke-linecap:round}.pr-time-text{font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.pr-time-clock{width:11px;height:11px;color:var(--accent-dark);margin-bottom:2px}.pr-time-text b{color:var(--ink);font-size:.78rem;font-weight:650}.pr-time-text small{color:var(--muted);font-size:.6rem}.pr-headline{text-align:center;padding-top:10px}.pr-headline-label{font-size:var(--font-size-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0;font-weight:600}.pr-headline-value{letter-spacing:-.05em;color:var(--accent-dark);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:clamp(3.75rem,9vw,5.25rem);font-weight:800;line-height:1}button.pr-review{background:var(--accent-soft);color:var(--accent-dark);border:1px solid #cfe0d2;justify-self:end;align-items:center;gap:8px;font-weight:600;display:inline-flex}button.pr-review:hover:not(:disabled){background:#dcebdf;border-color:#b9d3be}.pr-review svg{width:16px;height:16px}.pr-score{justify-content:center;align-items:center;gap:10px;margin:18px 0 0;display:flex}.pr-score svg{width:22px;height:22px;color:var(--accent-dark);flex:none}.pr-score span{line-height:1.2;display:grid}.pr-score b{font-size:var(--font-size-xl);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.pr-score small{font-size:var(--font-size-xs);color:var(--muted)}.pr-distribution{background:#e7ebe6;border-radius:999px;max-width:680px;height:9px;margin:26px auto 0;display:flex;overflow:hidden}.pr-seg{flex-basis:0;min-width:6px;display:block}.pr-tone-correct{background:var(--accent)}.pr-tone-incorrect{background:#c9786c}.pr-tone-unanswered{background:#d3d8d2}.pr-legend{font-size:var(--font-size-xs);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:14px 0 0;padding:0;list-style:none;display:flex}.pr-legend li{align-items:center;gap:6px;display:inline-flex}.pr-legend b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:2px}.pr-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.pr-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.pr-card{padding:20px 22px 12px}.pr-card-title{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 6px;font-weight:600}.pr-rows{margin:0;padding:0;list-style:none}.pr-row{font-size:var(--font-size-sm);justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;display:flex}.pr-row+.pr-row{border-top:1px solid var(--line)}.pr-row-label{min-width:0;color:var(--ink);font-weight:550}.pr-row-label small{font-size:var(--font-size-3xs);color:var(--muted);font-weight:450;display:block}.pr-row-score{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.pr-stack .lp-alert,.pr-stack .rp-alert{margin:0}@media (max-width:760px){.pr-body{padding:12px 12px 20px}.pr-hero{padding:18px 16px 20px}.pr-hero-top{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"time review""headline headline"}.pr-time{grid-area:time}button.pr-review{grid-area:review;align-self:center}.pr-headline{grid-area:headline;padding-top:0}.pr-breakdowns{grid-template-columns:1fr}}:root{--type-label:.75rem;--type-meta:.8125rem;--type-control:.875rem;--type-body:.9375rem;--type-row:1rem;--type-card:1.125rem;--type-section:1.375rem;--type-page:clamp(1.75rem, 3vw, 2.25rem);--type-reading:1rem}body{font-size:var(--type-body);font-weight:400}.completion-template-editor{margin-top:4px}.completion-template-canvas{border:1px solid var(--line);background:#fcfdfb;border-radius:12px;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;display:grid}.completion-insert-divider{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.completion-insert-divider>span{background:var(--line);height:1px}.completion-insert-divider details{position:relative}.completion-insert-divider summary{cursor:pointer;border:1px solid var(--line);width:26px;height:26px;color:var(--accent);background:#fff;border-radius:50%;place-items:center;font-size:17px;font-weight:600;list-style:none;display:grid}.completion-insert-divider summary::-webkit-details-marker{display:none}.completion-insert-menu{z-index:4;border:1px solid var(--line);background:#fff;border-radius:9px;gap:2px;width:max-content;min-width:155px;padding:5px;display:grid;position:absolute;top:32px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #1b2e2224}.completion-insert-menu button,.completion-editor-block-heading button,.completion-list-item>button,.completion-table-row-actions button,.completion-table-editor .button-row button{min-height:28px;color:var(--muted);font-size:var(--type-label);text-align:left;background:0 0;border:0;border-radius:6px;padding:4px 7px}.completion-insert-menu button:hover,.completion-editor-block-heading button:hover,.completion-list-item>button:hover,.completion-table-row-actions button:hover,.completion-table-editor .button-row button:hover{color:var(--accent);background:#edf5ed}.completion-editor-block{background:#fff;border:1px solid #dfe8df;border-radius:9px;min-width:0;padding:10px}.completion-editor-block-heading{color:var(--muted);font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-weight:600;display:flex}.completion-inline-editor{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.completion-inline-text{flex:140px;min-width:60px;position:relative}.completion-inline-text textarea{width:100%;min-height:34px;font:inherit;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px dashed #bfd0bf;border-radius:6px;padding:5px 7px;overflow:hidden}.completion-inline-toolbar{z-index:3;border:1px solid var(--line);background:#173f2a;border-radius:7px;gap:2px;padding:3px;display:flex;position:fixed;left:0;box-shadow:0 5px 14px #1b2e222e}.completion-inline-toolbar button{color:#fff;white-space:nowrap;background:0 0;border:0;border-radius:4px;min-height:24px;padding:3px 6px;font-size:11px}.completion-inline-toolbar button:hover{background:#ffffff29}.completion-editor-blank,.completion-preview-blank{color:#1f5d39;min-height:26px;font-size:var(--type-label);background:#dcecdf;border-radius:5px;align-items:center;gap:3px;padding:3px 6px;font-weight:600;display:inline-flex}.completion-editor-blank button{color:inherit;background:0 0;border:0;padding:0 1px;font-size:16px;line-height:1}.completion-table-editor{min-width:0}.completion-table-scroll{min-width:0;max-width:100%;overflow-x:auto}.completion-table-editor table{border-collapse:collapse;width:100%}.completion-table-editor th,.completion-table-editor td{vertical-align:top;text-align:left;border:1px solid #dfe8df;min-width:130px;padding:6px}.completion-table-editor th{background:#f1f7f1}.completion-template-table,.markdown-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.completion-template-table th,.completion-template-table td,.markdown-table th,.markdown-table td{vertical-align:top;text-align:left;white-space:normal;overflow-wrap:anywhere;border:1px solid #dfe8df;padding:6px}.completion-template-table th,.markdown-table th{background:#f1f7f1}.completion-table-row-actions{min-width:110px!important}.completion-table-row-actions label{color:var(--muted);font-size:var(--type-label);align-items:center;gap:4px;display:flex}.completion-list-editor,.completion-list-item{gap:6px;display:grid}.completion-list-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.completion-template-preview{background:#f5f8f4;border-radius:10px;margin-top:12px;padding:12px}.completion-template-view>:first-child{margin-top:0}.completion-template-view>:last-child{margin-bottom:0}.completion-template-view p{margin:0 0 12px}.completion-template-view ul,.completion-template-view ol{margin:0 0 12px;padding-left:1.5rem}.completion-template-view ul{list-style:outside}.completion-template-view ol{list-style:decimal}.completion-template-view li{margin:0 0 6px;padding-left:.25rem}.completion-template-view li:last-child{margin-bottom:0}@media (max-width:700px){.completion-template-canvas{padding:8px}.completion-list-item{grid-template-columns:1fr}.completion-list-item>button{justify-self:start}}button{font-size:var(--type-control);font-weight:500}input,select,textarea{font-size:var(--type-control);font-weight:400}h1,h2,h3,h4,h5,h6{font-weight:600}strong,b{font-weight:500}.eyebrow,label,legend,th,.test-content-table th,.assignment-row.assignment-row--head,.assignment-recipient-row.assignment-recipient-row--head,.student-practice-subtable-head h3,.student-practice-subtable-head>span,.student-practice-subtable-count,.progress-table-head span,.progress-summary .progress-label,.vocab-field-label,.vocab-pos,.vocab-tag,.assignment-chip,.media-kind-chip{font-size:var(--type-label);font-weight:500}.student-nav button,.admin-rail-tab,.student-breadcrumbs,.admin-breadcrumbs,.progress-segments button,.student-practice-segments button,.teacher-area-tab,.vocab-subtabs button,.test-content-library-tabs button,.test-content-skill-tabs button,.assignment-seg-field button,.assignment-student-picker button,.assignment-content-option,.student-practice-entry-action,.vocab-practice-launch button,.vocab-study-back,.vocab-study-review button,.ann-popover button{font-size:var(--type-control);font-weight:500}.student-welcome h1,.student-section-heading h1,.student-unavailable h1,.student-practice-header h1,.progress-header h1,.vocab-panel>h1,.admin-greeting{font-size:var(--type-page);font-weight:600}.student-welcome>p:last-child,.student-unavailable>p:last-child,.student-practice-header>p:last-child,.progress-subtitle,.vocab-panel-subtitle,.student-empty-state p,.student-empty-copy,.assignment-workspace-head p,.assignment-drawer-head p{font-size:var(--type-body);font-weight:400}.card h2,.section-heading h2,.workspace-heading h2,.student-continue-card h2,.student-practice-lane-title-row h2,.vocab-study-header h1,.vocab-study-complete h2{font-size:var(--type-section);font-weight:600}.card h3,.section-heading h3,.workspace-heading h3,.pane-heading h3,.progress-chart-heading h2,.progress-table-head h2,.assignment-workspace-head h2,.student-card-heading h2,.test-content-preview h4{font-size:var(--type-card);font-weight:600}.student-practice-entry-title,.assignment-row-title strong,.assignment-drawer-head h3,.vocab-word,.media-asset-row h3,.progress-question-head,.progress-practice-row,.progress-summary-stats dd,.ann-lookup-word{font-size:var(--type-row);font-weight:500}.student-practice-entry-collection,.student-practice-entry-meta,.student-practice-progress-line,.student-practice-pagination>p,.student-practice-page-info,.assignment-row-title span,.assignment-row-tag,.assignment-score-row .muted,.assignment-attempts,.vocab-date,.vocab-study-meta,.vocab-study-review-hint,.ann-lookup-example,.ann-lookup-vn,.ann-popover-text{font-size:var(--type-meta);font-weight:400}.vocab-def,.vocab-vn,.vocab-study-header p,.vocab-study-detail,.vocab-study-detail--definition{font-size:var(--type-body);font-weight:400}.vocab-study-mode,.vocab-study-pos,.vocab-study-pill,.vocab-study-label,.vocab-study-hint,.vocab-study-nav-center,.ann-lookup-pos,.ann-lookup-vn-unavailable,.vocab-vn-unavailable,.vocab-error,.vocab-del,.vocab-del-cancel,.vocab-del-confirm{font-size:var(--type-label);font-weight:500}.vocab-subtabs button[aria-selected=true]{font-weight:500}.vocab-study-review-icon{font-weight:600}.student-practice-lane-search input,.assignment-field input[type=text],.assignment-field input[type=number],.assignment-field input[type=datetime-local],.assignment-field textarea,.assignment-field select{font-size:var(--type-control);font-weight:400}.vocab-study-word,.vocab-study-meaning,.progress-band{font-weight:650}.rp-passage p,.rp-passage li,.rp-qtext{font-size:var(--type-reading);font-weight:400}.lp-qtext,.lp-qprompt,.lp-transcript-body{font-size:var(--type-body);font-weight:400;line-height:1.4}.lp-transcript-body b{font-weight:400}.rp-passage-title,.rp-passage h4:not(.rp-pane-title),.rp-passage h5,.lp-section-block h2{font-weight:600}.image-label-editor{width:100%;margin-top:14px}.split-workstation{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 340px;min-height:560px;display:grid;overflow:hidden}.canvas-area{background:#f6faf7;flex-direction:column;gap:12px;padding:16px;display:flex}.canvas-header{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.canvas-container{border:1px solid var(--line);-webkit-user-select:none;user-select:none;background:#eef3f0;border-radius:8px;justify-content:center;align-items:center;min-height:380px;display:flex;position:relative;overflow:hidden}.image-label-diagram-img{object-fit:contain;pointer-events:none;width:100%;height:auto;max-height:520px;display:block}.image-label-empty-canvas{text-align:center;color:var(--muted);padding:48px 24px}.pin-anchor{background:var(--green-dark,#15533d);color:#fff;cursor:pointer;z-index:10;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:12px;font-weight:800;line-height:1;transition:transform .15s,background .15s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 8px #00000040}.pin-anchor:hover{background:var(--green,#1f6b50);transform:translate(-50%,-50%)scale(1.15)}.pin-anchor.selected{z-index:20;background:#0f3627;border-color:#64e3a8;transform:translate(-50%,-50%)scale(1.2);box-shadow:0 0 0 4px #1f6b5059,0 6px 14px #0000004d}.pin-anchor.drag-target{cursor:grab}.pin-anchor.drag-target:active{cursor:grabbing}.pin-anchor.correct{background:#1f6b50;border-color:#a3e6c5}.pin-anchor.incorrect{background:#a33c36;border-color:#ffc9c6}.side-drawer{border-left:1px solid var(--line);background:#fff;flex-direction:column;min-height:0;max-height:640px;display:flex;overflow:hidden}.side-drawer .drawer-header{flex-shrink:0}.side-drawer .image-label-option-bank{min-height:0;max-height:280px;overflow-y:auto}.drawer-header{border-bottom:1px solid var(--line);background:#fafdfb;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.drawer-header h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:12px;font-weight:700}.image-label-mode-buttons{gap:6px;margin-top:4px;display:flex}.image-label-mode-buttons button.active{background:var(--green,#1f6b50);color:#fff;border-color:var(--green,#1f6b50)}.question-card-list{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.side-drawer .question-card-list{min-height:0}.q-card{border:1px solid var(--line);background:var(--paper,#fcfefc);cursor:pointer;border-radius:8px;padding:12px;transition:all .15s}.q-card.focused{border-color:var(--green,#1f6b50);background:var(--mint-soft,#f4faf6);box-shadow:0 0 0 2px #1f6b5033}.q-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.q-badge{background:var(--green,#1f6b50);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:flex}.q-coords{color:var(--soft,#7d8f87);align-items:center;gap:4px;font-family:monospace;font-size:11px;display:flex}.q-coords input{text-align:right;width:52px;padding:2px 4px;font-size:11px}.q-card-body{cursor:default;flex-direction:column;gap:8px;display:flex}.test-content-accepted-answer-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.image-canvas-wrapper{width:100%;line-height:0;position:relative}.image-canvas-wrapper .image-label-empty-canvas{line-height:normal}.image-label-diagram-image{width:100%;height:auto;display:block}.lp-image-label-split{container-type:inline-size}.lp-image-label-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.lp-image-label-figure{position:sticky;top:8px}.lp-image-label-figure .image-label-runner-diagram{margin:0}@container (max-width:620px){.lp-image-label-grid{grid-template-columns:minmax(0,1fr)}.lp-image-label-figure{position:static}}.image-label-runner-diagram{border:1px solid var(--line);background:#fff;border-radius:10px;margin:8px 0 14px;overflow:hidden}@media (max-width:840px){.split-workstation{grid-template-columns:1fr}.side-drawer{border-left:none;border-top:1px solid var(--line);max-height:none;overflow:visible}.side-drawer .image-label-option-bank{max-height:none;overflow:visible}.side-drawer .question-card-list{overflow:visible}}.collapsible>.collapsible-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;list-style:none;display:flex}.collapsible>.collapsible-summary::-webkit-details-marker{display:none}.collapsible>.collapsible-summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.collapsible[open]>.collapsible-summary:before{transform:rotate(45deg)}.collapsible[open]>.collapsible-summary{margin-bottom:10px}.brand-home-link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.brand-home-link .brand-mark{flex:none}.brand-home-link .brand-home-text{color:inherit;font-size:inherit;letter-spacing:normal;text-transform:none;display:block}.brand-home-link .admin-brand-title{color:var(--ink);font-size:var(--font-size-lg);letter-spacing:-.02em;text-transform:none;margin:0;font-weight:450}.brand-home-link:hover:not(:disabled),.brand-home-link:active:not(:disabled){background:0 0;border-color:#0000;transform:none}.dictation-link{color:var(--accent-dark);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:550;text-decoration:underline}.dictation-link:hover:not(:disabled){color:var(--accent);background:0 0}.dictation-link:disabled{color:var(--muted);cursor:default;text-decoration:none}.dictation-level{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-2xs);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-weight:650;display:inline-flex}.dictation-inline-select{font-size:var(--font-size-xs);color:var(--muted);align-items:center;gap:6px;display:inline-flex}.dictation-inline-select select{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:6px 8px}.dictation-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.dictation-check{font-size:var(--font-size-xs);align-items:center;gap:8px;display:flex}.dictation-save{color:var(--muted);font-size:var(--font-size-2xs);align-items:center;gap:8px;margin:0;display:flex}.dictation-save--failed{color:var(--danger)}.dictation-library{gap:20px;display:grid;container-type:inline-size}.dictation-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dictation-search{flex:260px}.dictation-filters .dictation-search{flex:3 260px}.dictation-filters .dictation-inline-select{flex:150px;max-width:220px}@container (max-width:540px){.dictation-filters .dictation-search{flex-basis:100%}.dictation-filters .dictation-inline-select{flex:1 1 0;max-width:none}}.dictation-filters .dictation-inline-select select{border-radius:12px;width:100%;min-width:0;padding:10px 14px}.dictation-search input,.dictation-admin-search input{border:1px solid var(--line);background:var(--card);border-radius:12px;width:100%;padding:10px 14px}.dictation-group{gap:14px;margin-top:8px;display:grid}.dictation-group h2{font-size:var(--font-size-xl,1.25rem);letter-spacing:-.01em;align-items:center;gap:10px;margin:0;display:flex}.dictation-group-count{min-width:26px;height:26px;color:var(--muted);font-size:var(--font-size-2xs);letter-spacing:0;background:#eceeea;border-radius:999px;place-items:center;padding:0 7px;font-weight:600;display:inline-grid}.dictation-lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}@container (max-width:820px){.dictation-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width:540px){.dictation-lesson-grid{grid-template-columns:minmax(0,1fr)}}.dictation-lesson-card{border:1px solid var(--line);background:var(--card);border-radius:18px;flex-direction:column;height:100%;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 9px 24px #19374608}.dictation-lesson-card:hover,.dictation-lesson-card:focus-within{border-color:var(--button-border);box-shadow:0 14px 30px #1937460f}.dictation-lesson-card:hover{transform:translateY(-1px)}.dictation-lesson-card-body{flex:1;align-content:start;gap:18px;padding:20px 20px 18px;display:grid}.dictation-lesson-card-top{align-items:flex-start;gap:14px;display:flex}.dictation-lesson-number{background:var(--paper);width:44px;height:44px;color:var(--accent-dark);font-size:var(--font-size-md);font-variant-numeric:tabular-nums;border-radius:12px;flex:none;place-items:center;font-weight:700;display:grid}.dictation-lesson-heading{flex:1;gap:4px;min-width:0;display:grid}.dictation-lesson-card h3{font-size:var(--font-size-lg);overflow-wrap:anywhere;margin:0;line-height:1.3}.dictation-lesson-card p{margin:0}.dictation-lesson-card .dictation-level{background:var(--paper);color:var(--ink);border-radius:8px;flex:none;margin:2px 0 0;padding:3px 9px}.dictation-lesson-meta{color:var(--muted);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dictation-lesson-description{color:var(--muted);font-size:var(--font-size-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dictation-lesson-progress{gap:8px;display:grid}.dictation-lesson-progress-label{color:var(--muted);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-weight:600;display:flex}.dictation-lesson-card.is-completed .dictation-lesson-progress-label span:last-child{color:var(--success)}.dictation-lesson-card-footer{border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:var(--font-size-xs);justify-content:space-between;align-items:center;gap:8px;padding:14px 20px;font-weight:500;display:flex}.dictation-lesson-card-footer>span{font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dictation-lesson-action{color:var(--accent-dark);font-size:var(--font-size-xs);box-shadow:none;background:0 0;border:0;flex:none;padding:0;font-weight:700}.dictation-lesson-action:after{content:"";position:absolute;inset:0}.dictation-lesson-action:hover:not(:disabled),.dictation-lesson-action:active:not(:disabled){color:var(--accent);background:0 0;border:0;transform:none}.dictation-lesson-action:focus-visible{outline:none}.dictation-lesson-action:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px;border-radius:18px}.dictation-see-all{color:var(--accent-dark);font-size:var(--font-size-sm);box-shadow:none;background:0 0;border:0;justify-self:end;padding:4px 0;font-weight:700}.dictation-see-all:hover:not(:disabled),.dictation-see-all:active:not(:disabled){color:var(--accent);background:0 0;border:0;transform:none}@media (prefers-reduced-motion:reduce){.dictation-lesson-card,.dictation-lesson-card:hover{transition:none;transform:none}}.dictation-mini-progress,.dictation-progress{background:#e7ebe6;border-radius:999px;height:6px;overflow:hidden}.dictation-mini-progress span,.dictation-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s;display:block}.dictation-runner{gap:28px;width:min(760px,100%);margin:0 auto;display:grid}.dictation-runner-top{gap:10px;display:grid}.dictation-runner-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}button.dictation-back{color:var(--accent-dark);font-size:var(--font-size-sm);background:0 0;border:0;justify-self:start;padding:2px 0;font-weight:650}button.dictation-back:hover:not(:disabled){color:var(--accent);background:0 0}.dictation-runner-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.dictation-runner-heading h2{font-size:var(--font-size-2xl);letter-spacing:-.01em;margin:0}.dictation-counter{color:var(--muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}.dictation-stage{gap:22px;display:grid}.dictation-runner>*,.dictation-stage>*{min-width:0}.dictation-card{border:1px solid var(--line);background:var(--card);border-radius:22px;box-shadow:0 12px 32px #1937460f;container:dictation-card/inline-size}.dictation-card-body{gap:18px;padding:28px 32px 22px;display:grid}.dictation-video{aspect-ratio:16/9;background:#0f1511;border-radius:14px;justify-self:center;width:100%;max-width:480px;overflow:hidden}.dictation-video iframe{border:0;width:100%;height:100%}.dictation-player{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.dictation-play{background:var(--accent);border-color:var(--accent);color:#fff;align-items:center;gap:8px;display:inline-flex}.dictation-play:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.dictation-controls{border-bottom:1px solid var(--line);background:var(--paper);border-radius:21px 21px 0 0;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 16px 20px;display:flex}.dictation-controls-lead{align-items:center;gap:14px;min-width:102px;display:flex}button.dictation-replay-button,button.dictation-pause-button{border:1px solid var(--line);background:var(--card);width:48px;height:48px;color:var(--accent-dark);border-radius:999px;flex-shrink:0;place-items:center;padding:0;display:inline-grid;box-shadow:0 4px 12px #1937460d}button.dictation-replay-button:hover:not(:disabled),button.dictation-pause-button:hover:not(:disabled){border-color:var(--button-border);background:var(--accent-soft)}button.dictation-replay-button.is-playing{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.dictation-replay-button svg,.dictation-pause-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.dictation-key-hint{color:var(--muted);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0;display:none}.dictation-key-hint kbd{border:1px solid var(--line);background:var(--card);color:var(--ink);font-family:inherit;font-size:var(--font-size-3xs);border-bottom-width:2px;border-radius:6px;margin:0 4px;padding:1px 6px;font-weight:700}@media (hover:hover) and (pointer:fine){@container dictation-card (min-width:700px){.dictation-key-hint{display:inline}}}button.dictation-pause-button{width:40px;height:40px;box-shadow:none}button.dictation-pause-button:disabled{cursor:default;opacity:.45}.dictation-control-options{align-items:center;gap:4px;display:flex}.dictation-text-select{appearance:none;width:auto;color:var(--muted);cursor:pointer;font-size:var(--font-size-sm);text-align:center;background:0 0;border:0;border-radius:8px;flex:none;padding:6px 10px;font-weight:600}.dictation-text-select:hover,button.dictation-more:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}.dictation-settings{position:relative}button.dictation-more{color:var(--muted);font-size:var(--font-size-sm);letter-spacing:.08em;background:0 0;border:0;border-radius:8px;padding:6px 10px}.dictation-settings-panel{z-index:20;border:1px solid var(--line);background:var(--card);border-radius:14px;gap:12px;width:250px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px #19374622}.dictation-settings-panel label:not(.dictation-check){font-size:var(--font-size-xs);color:var(--muted);gap:4px;display:grid}.dictation-settings-panel select{border:1px solid var(--line);border-radius:10px;padding:6px 8px}.dictation-speaker{color:var(--muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.dictation-input{resize:none;border:0;border-bottom:2px solid var(--line);width:100%;min-height:0;font:inherit;font-size:var(--font-size-base);color:var(--ink);background:0 0;border-radius:0;padding:10px 2px 14px;line-height:1.5;transition:border-color .15s;display:block;overflow:hidden}.dictation-input::placeholder{color:#9aa39c}.dictation-input:focus{border-bottom-color:var(--accent);outline:none}.dictation-input--incorrect,.dictation-input--incorrect:focus{border-bottom-color:#e3b86a}.dictation-input--correct,.dictation-input--correct:focus{border-bottom-color:var(--accent);color:var(--accent-dark)}.dictation-input--revealed,.dictation-input--revealed:focus{border-bottom-color:var(--warning-line);color:var(--warning)}button.dictation-switch{color:var(--muted);font-size:var(--font-size-sm);white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-weight:600;display:inline-flex}button.dictation-switch:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}button.dictation-switch[aria-pressed=true]{color:var(--accent-dark)}.dictation-switch-track{background:#cfd6cf;border-radius:999px;width:30px;height:18px;transition:background .15s;position:relative}.dictation-switch-track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}button.dictation-switch[aria-pressed=true] .dictation-switch-track{background:var(--accent)}button.dictation-switch[aria-pressed=true] .dictation-switch-track:after{transform:translate(12px)}.dictation-tiles{font-size:var(--font-size-base);flex-wrap:wrap;align-items:center;gap:16px 6px;padding:12px 0 6px;line-height:1.5;display:flex}.dictation-tile-word{padding:6px 2px}.dictation-tile-slot{align-items:center;gap:1px;display:inline-flex;position:relative}input.dictation-blank{box-sizing:content-box;min-width:0;max-width:100%;color:var(--ink);font:inherit;font-size:var(--font-size-base);text-align:center;background:#fbfdfb;border:1.5px dashed #9fc7ab;border-radius:10px;padding:6px 8px;transition:border-color .15s,background .15s,box-shadow .15s}input.dictation-blank:focus{border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}input.dictation-blank--correct,input.dictation-blank--correct:focus{background:var(--accent-soft);box-shadow:none;color:var(--accent-dark);border-style:solid;border-color:#cadfce;font-weight:600}input.dictation-blank--wrong,input.dictation-blank--wrong:focus{background:#fde2c4;border-style:solid;border-color:#e3b86a;animation:.3s dictation-shake}input.dictation-blank--wrong:focus{box-shadow:0 0 0 3px #f8dcb8}.dictation-tile-tip{z-index:2;background:var(--accent-dark);color:#fff;font-size:var(--font-size-2xs);white-space:nowrap;border-radius:8px;padding:3px 8px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.dictation-tile-tip:after{content:"";border:5px solid #0000;border-top-color:var(--accent-dark);position:absolute;top:100%;left:50%;transform:translate(-50%)}.dictation-hint-feedback{color:var(--muted);font-size:var(--font-size-sm);margin:0}@keyframes dictation-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){input.dictation-blank--wrong{animation:none}}.dictation-feedback:empty{display:none}.dictation-result{border-radius:14px;gap:6px;padding:12px 16px;display:grid}.dictation-result p{margin:0}.dictation-result--correct{background:var(--accent-soft);color:var(--accent-dark);justify-items:start;gap:10px}.dictation-correct-badge{color:var(--accent-hover);font-size:var(--font-size-xs);background:#dcebdf;border:1px solid #cadfce;border-radius:999px;align-items:center;gap:6px;padding:3px 12px 3px 4px;font-weight:650;line-height:1.4;display:inline-flex}.dictation-correct-badge svg{flex:none;width:18px;height:18px}.dictation-correct-badge circle{fill:var(--accent)}.dictation-correct-badge path{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.dictation-result--revealed{background:var(--warning-soft);color:var(--warning)}.dictation-result--incorrect{background:0 0;padding:0 2px}.dictation-typed,.dictation-answer{font-size:var(--font-size-md);word-break:break-word;line-height:1.6}.dictation-answer--masked{letter-spacing:.02em;color:var(--ink)}mark.dictation-mark-wrong{color:inherit;background:#fde2c4;border-radius:4px;padding:0 2px}mark.dictation-mark-wrong u{-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger);text-decoration-thickness:2px}mark.dictation-mark-hint{color:var(--accent-dark);background:#d5ecd9;border-radius:4px;padding:0 2px;font-weight:650}.dictation-note{font-size:var(--font-size-sm)}.dictation-note span{font-weight:650}.dictation-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.dictation-action-buttons{gap:12px;display:flex}.dictation-action-buttons button{min-width:112px}button.dictation-quiet{color:var(--muted);font-size:var(--font-size-sm);background:0 0;border:0;padding:8px 0;font-weight:600}button.dictation-quiet:hover:not(:disabled){color:var(--accent-dark);background:0 0}.dictation-marking kbd{font-family:inherit;font-size:var(--font-size-3xs);opacity:.75;border:1px solid;border-radius:5px;margin-left:4px;padding:0 5px}.dictation-media-error,.dictation-save-error{background:var(--danger-soft);color:var(--danger);border-radius:11px;margin:0;padding:10px 12px}.dictation-transcript{gap:10px;margin-top:-12px;display:grid}button.dictation-transcript-toggle{color:var(--accent-dark);font-size:var(--font-size-sm);background:0 0;border:0;justify-self:center;padding:6px 10px;font-weight:650}button.dictation-transcript-toggle:hover:not(:disabled){color:var(--accent);background:0 0}.dictation-transcript-list{border:1px solid var(--line);background:var(--card);border-radius:14px;gap:2px;margin:0;padding:8px;list-style:none;display:grid}.dictation-transcript-list button{width:100%;color:var(--ink);text-align:left;border-radius:10px;gap:10px;padding:8px 10px;font-weight:400;text-decoration:none;display:flex}.dictation-transcript-list button:hover:not(:disabled){background:var(--paper)}.dictation-transcript-list li.is-current button{background:var(--accent-soft)}.dictation-transcript-number{min-width:1.5em;color:var(--muted);font-variant-numeric:tabular-nums}.dictation-complete{border:1px solid var(--line);background:var(--card);text-align:center;border-radius:20px;justify-items:center;gap:12px;width:min(560px,100%);margin:24px auto;padding:32px 24px;display:grid}.dictation-complete h2{margin:0}.dictation-complete-mark{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);border-radius:50%;place-items:center;font-size:2rem;display:grid}.dictation-complete-counts{flex-wrap:wrap;justify-content:center;gap:12px;margin:4px 0;display:flex}.dictation-complete-counts div{background:var(--paper);border-radius:12px;min-width:96px;padding:10px}.dictation-complete-counts dt{color:var(--muted);font-size:var(--font-size-2xs)}.dictation-complete-counts dd{font-size:var(--font-size-2xl);margin:2px 0 0;font-weight:700}.dictation-complete-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.assignment-recipient-group .assignment-recipient-row>span:last-child{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.dictation-inspection{background:var(--paper);font-size:var(--font-size-xs);border-radius:12px;margin:0 0 8px;padding:10px 12px}.dictation-inspection ol{gap:6px;margin:0;padding-left:1.4em;display:grid}.dictation-inspection li{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.dictation-outcome{color:var(--muted);white-space:nowrap}.dictation-outcome--solved{color:var(--success);font-weight:600}.dictation-outcome--solved_with_hints{color:var(--accent-dark)}.dictation-outcome--revealed{color:var(--warning)}.dictation-admin{gap:16px;display:grid}.dictation-admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dictation-admin-head h3{font-size:var(--font-size-2xl);margin:4px 0}.dictation-admin-head p{margin:0}.dictation-admin-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.dictation-admin-table th,.dictation-admin-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px}.dictation-admin-table th{color:var(--muted);font-size:var(--font-size-2xs);font-weight:600}.dictation-status{font-size:var(--font-size-2xs);border-radius:999px;padding:2px 9px;font-weight:600}.dictation-status--draft{background:var(--warning-soft);color:var(--warning)}.dictation-status--published{background:var(--accent-soft);color:var(--success)}.dictation-status--archived{color:var(--muted);background:#eceeed}.library-visibility{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:8px 0;display:flex}.library-visibility-label{font-size:var(--font-size-xs);font-weight:650}.library-visibility-hint{flex-basis:100%;margin:0}.library-visibility-chip{background:var(--paper);color:var(--muted);font-size:var(--font-size-2xs);white-space:nowrap;border-radius:999px;margin-left:6px;padding:2px 9px;font-weight:600;display:inline-block}.dictation-create{gap:16px;display:grid}.dictation-create label,.dictation-meta-row label,.dictation-source-body label{font-size:var(--font-size-xs);gap:6px;font-weight:550;display:grid}.dictation-create input,.dictation-create select,.dictation-create textarea,.dictation-meta-row input,.dictation-meta-row select,.dictation-source-body input,.dictation-source-body select,.dictation-variant-form input{border:1px solid var(--line);background:var(--card);font:inherit;border-radius:10px;padding:9px 11px;font-weight:400}.dictation-create-grid,.dictation-meta-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.dictation-meta-row--compact{grid-template-columns:minmax(120px,1fr) minmax(200px,2fr)}.dictation-source-picker{border:1px solid var(--line);border-radius:14px;gap:12px;margin:0;padding:14px;display:grid}.dictation-source-picker legend{padding:0 6px;font-weight:650}.dictation-segmented{background:var(--paper);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.dictation-segmented label{cursor:pointer;font-size:var(--font-size-xs);border-radius:9px;align-items:center;padding:7px 12px;display:inline-flex}.dictation-segmented label.is-selected{background:var(--card);font-weight:650;box-shadow:0 1px 4px #19374622}.dictation-segmented input{opacity:0;pointer-events:none;position:absolute}.dictation-source-body{gap:10px;display:grid}.dictation-source-body p{margin:0}.dictation-choice-list{gap:4px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.dictation-choice-list button{border-color:var(--line);background:var(--card);width:100%;color:var(--ink);text-align:left;gap:2px;font-weight:400;display:grid}.dictation-choice-list button.is-selected{border-color:var(--accent);background:var(--accent-soft)}.dictation-choice-list button span{color:var(--muted);font-size:var(--font-size-2xs)}.dictation-field-error{color:var(--danger)}.dictation-create-actions{justify-content:flex-end;display:flex}.dictation-editor{gap:14px;display:grid}.dictation-editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dictation-findings{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-xs);border-radius:12px;padding:10px 14px}.dictation-findings ul{margin:6px 0 0;padding-left:1.2em}.dictation-findings .dictation-link{color:var(--warning);font-weight:400}.dictation-ready{background:var(--accent-soft);color:var(--success);font-size:var(--font-size-xs);border-radius:12px;margin:0;padding:10px 14px}.dictation-editor-body{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.dictation-clip-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dictation-clip-row{border:1px solid var(--line);background:var(--card);border-radius:14px;gap:8px;padding:10px 12px;display:grid}.dictation-clip-row.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.dictation-clip-row.is-marking{border-color:var(--accent);background:var(--accent-soft)}.dictation-clip-row.is-untimed .dictation-clip-number{background:var(--warning-soft);color:var(--warning)}.dictation-clip-row.needs-review{border-left:4px solid var(--warning-line)}.dictation-review-badge{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-xs);border-radius:999px;padding:1px 8px;font-weight:600}.dictation-clip-row textarea{resize:vertical;border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;padding:8px 10px}.dictation-clip-text{margin:0}.dictation-clip-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dictation-clip-head>button{padding:6px 10px}.dictation-clip-number{background:var(--paper);min-width:28px;height:28px;font-size:var(--font-size-2xs);border-radius:8px;place-items:center;font-weight:650;display:grid}.dictation-time-field{align-items:center;gap:2px;display:inline-flex}.dictation-time-field input{border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:8px;width:76px;padding:5px 7px}.dictation-nudge{border-radius:7px;min-width:26px;padding:3px 6px}.dictation-clip-details{gap:10px;display:grid}.dictation-words{font-size:var(--font-size-2xs);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dictation-word{border-color:var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:3px 7px;font-weight:400}.dictation-word.has-variants{border-color:var(--accent);background:var(--accent-soft)}.dictation-variant-form{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.dictation-variant-form label{font-size:var(--font-size-2xs);flex:220px;gap:4px;display:grid}.dictation-clip-tools{flex-wrap:wrap;gap:6px;display:flex}.dictation-clip-tools button{padding:6px 10px}.dictation-danger{color:var(--danger)}.dictation-timing-panel{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:12px;padding:14px;display:grid;position:sticky;top:16px}.dictation-clock{font-size:var(--font-size-3xl);font-variant-numeric:tabular-nums;margin:0;font-weight:650}.dictation-autotime{border:1px solid var(--line);font-size:var(--font-size-xs);border-radius:12px;gap:8px;padding:10px;display:grid}.dictation-autotime label{gap:4px;display:grid}.dictation-autotime input{width:100%;font-family:var(--font-mono,monospace)}.dictation-autotime p{margin:0}.test-content-autotime{justify-items:start;margin-bottom:12px}.test-content-autotime label{justify-self:stretch}.test-content-transcript-player{margin-bottom:12px}.test-content-transcript-player .dictation-clock{font-size:var(--font-size-xl)}.test-content-transcript-player p:last-child{font-size:var(--font-size-xs);flex-basis:100%;margin:0}.test-content-segment-list .test-content-segment-editor{border-radius:14px;margin-top:0;padding:10px 12px}.test-content-segment-remove{margin-left:auto}.test-content-segment-fields{grid-template-columns:minmax(96px,160px) 1fr;align-items:start;gap:8px;display:grid}.test-content-segment-fields input{border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;padding:8px 10px}@media (max-width:640px){.test-content-segment-fields{grid-template-columns:1fr}}.dictation-autotime-done{color:var(--accent-dark)}.dictation-marking{font-size:var(--font-size-xs);gap:10px;display:grid}.dictation-marking p{margin:0}.dictation-marking-live{background:var(--accent-soft);color:var(--accent-dark);border-radius:10px;padding:10px}@media (max-width:900px){.dictation-editor-body{grid-template-columns:1fr}.dictation-timing-panel{order:-1;position:static}}@media (max-width:640px){.dictation-runner,.dictation-stage>*,.dictation-card-body>*{min-width:0}.dictation-card{border-radius:18px}.dictation-controls{border-radius:17px 17px 0 0;gap:6px;padding:10px 6px 10px 10px}.dictation-controls-lead{gap:6px;min-width:78px}button.dictation-replay-button{width:40px;height:40px}button.dictation-pause-button{width:32px;height:32px}.dictation-control-options{flex:auto}.dictation-card-body{padding:22px 16px 18px}.dictation-control-options{flex-wrap:wrap;justify-content:flex-end;gap:0;min-width:0}.dictation-text-select,button.dictation-more,button.dictation-switch{font-size:var(--font-size-xs);padding:6px 3px}button.dictation-switch{gap:4px}.dictation-actions{flex-direction:column;align-items:stretch}.dictation-action-buttons{grid-template-columns:1fr 1fr;display:grid}.dictation-action-buttons button{min-width:0}.dictation-admin-table th:nth-child(2),.dictation-admin-table td:nth-child(2),.dictation-admin-table th:nth-child(3),.dictation-admin-table td:nth-child(3),.dictation-admin-table th:nth-child(4),.dictation-admin-table td:nth-child(4){display:none}}.dictation-create,.dictation-create>*,.dictation-create-grid>*,.dictation-source-picker,.dictation-source-body,.dictation-source-body>*{min-width:0}.dictation-create input,.dictation-create select,.dictation-create textarea{box-sizing:border-box;width:100%;max-width:100%}.dictation-segmented label{position:relative}.dictation-segmented input{width:100%;height:100%;margin:0;inset:0}.dictation-check input{flex:none;width:auto;margin:0}.dictation-inline-select>span{white-space:nowrap}.runner-tour-blocker{z-index:1000;position:fixed}.runner-tour-spot{z-index:1001;outline-offset:2px;pointer-events:none;border-radius:12px;outline:2px solid #fff;transition:top .24s,left .24s,width .24s,height .24s;position:fixed;box-shadow:0 0 0 200vmax #141e1785}.runner-tour-spot[data-waiting]{animation:1.6s ease-in-out infinite runner-tour-waiting}@keyframes runner-tour-waiting{50%{outline-color:#9fd3aa}}.runner-tour-card{z-index:1002;background:var(--card);width:min(340px,100vw - 24px);color:var(--ink);border-radius:16px;padding:16px 16px 14px;position:fixed;box-shadow:0 24px 64px #222f2629}.runner-tour-step{font-size:var(--type-label);color:var(--muted);margin:0 0 4px}.runner-tour-title{font-size:var(--type-row);letter-spacing:0;margin:0 0 6px;font-weight:600}.runner-tour-body{font-size:var(--type-meta);margin:0 0 12px;line-height:1.55}.runner-tour-task{border:1px dashed var(--button-border);font-size:var(--type-meta);background:#f4f8f4;border-radius:11px;align-items:flex-start;gap:9px;margin:0 0 12px;padding:9px 11px;line-height:1.45;display:flex}.runner-tour-task strong{font-weight:500}.runner-tour-task[data-done]{background:var(--accent-soft);color:var(--accent-dark);border-style:solid;border-color:#9fcaa8}.runner-tour-tick{border:2px solid var(--button-border);color:#fff;border-radius:999px;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;display:grid}.runner-tour-task[data-done] .runner-tour-tick{border-color:var(--accent);background:var(--accent)}.runner-tour-keyboard{color:var(--muted);font-size:var(--type-label);margin-top:2px;display:block}.runner-tour-notes{font-size:var(--type-meta);gap:8px;margin:0 0 12px;padding:0;line-height:1.45;list-style:none;display:grid}.runner-tour-notes li{border-left:2px solid var(--accent-soft);padding-left:12px}.runner-tour-notes strong{font-weight:500;display:block}.runner-tour-advance{background:var(--accent-soft);border-radius:99px;height:3px;margin:-4px 0 10px;overflow:hidden}.runner-tour-advance span{background:var(--accent);width:0;height:100%;animation:.9s linear forwards runner-tour-advance;display:block}@keyframes runner-tour-advance{to{width:100%}}.runner-tour-waiting{color:var(--muted);font-size:var(--type-label);white-space:nowrap;align-self:center}.runner-tour-mark-wrap{position:relative}.runner-tour-mark{border-bottom:1.5px dashed var(--accent);color:var(--ink);cursor:text}.runner-tour-mark:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.runner-tour-mark-toolbar{top:100%;left:50%}.runner-tour-clock{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);font-size:var(--type-meta);border-radius:10px;margin:0 0 12px;padding:8px 10px;line-height:1.45}.runner-tour-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.runner-tour-nav{gap:6px;display:flex}.runner-tour-card button{font-size:var(--type-control);border-radius:10px;padding:8px 14px}.runner-tour-nav button:not(.button-secondary){background:var(--accent);border-color:var(--accent-dark);color:#fff}.runner-tour-nav button:not(.button-secondary):hover:not(:disabled){background:var(--accent-hover)}.runner-tour-nav button.runner-tour-exam{background:var(--accent-dark)}.runner-tour-card button.runner-tour-text{color:var(--muted);background:0 0;border-color:#0000;padding-inline:4px}.runner-tour-more{border-top:1px solid var(--line);color:var(--muted);font-size:var(--type-meta);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;margin:12px 0 0;padding-top:10px;display:flex}.runner-tour-card button.runner-tour-link{color:var(--accent-dark);font-size:var(--type-meta);text-underline-offset:3px;background:0 0;border-color:#0000;padding:4px;text-decoration:underline}.runner-tour-card button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rp .runner-tour-replay,.lp .runner-tour-replay,.dictation-runner .runner-tour-replay,.wr-desk .runner-tour-replay,.sp-room .runner-tour-replay{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);font-size:var(--type-control);box-shadow:none;background:#fff;border-radius:999px;flex:none;padding:0}.rp .runner-tour-replay:hover:not(:disabled),.lp .runner-tour-replay:hover:not(:disabled),.dictation-runner .runner-tour-replay:hover:not(:disabled),.wr-desk .runner-tour-replay:hover:not(:disabled),.sp-room .runner-tour-replay:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}@media (max-width:640px){.runner-tour-card{border-radius:18px 18px 0 0;width:auto;padding:16px 18px 22px;bottom:0;right:0;top:auto!important;left:0!important}.runner-tour-card[data-sheet=top]{border-radius:0 0 18px 18px;bottom:auto;top:0!important}}@media (prefers-reduced-motion:reduce){.runner-tour-spot{transition:none}.runner-tour-spot[data-waiting],.runner-tour-advance span{animation:none}}.runner-tour-preview{z-index:900;background:var(--paper);flex-direction:column;padding:16px;display:flex;position:fixed;inset:0}.runner-tour-preview--page{padding:28px 16px;overflow-y:auto}.runner-tour-preview--page>.wr-desk,.runner-tour-preview--page>.sp-room{width:min(1180px,100%);margin:0 auto}.sp-save--sandbox{color:var(--muted)}.sp-room .runner-tour-replay{align-self:center}.runner-tour-preview-ribbon{z-index:1003;background:var(--accent-dark);color:#fff;font-size:var(--type-label);white-space:nowrap;border-radius:0 0 10px 10px;margin:0;padding:4px 12px;position:fixed;top:0;left:50%;transform:translate(-50%)}.runner-tour-preview-sample{color:var(--muted)}@media (max-width:900px){.runner-tour-preview .rp-split,.runner-tour-preview .lp-body{flex:auto}.rp-header .rp-passage-tabs,.lp-header .rp-passage-tabs{justify-self:start;max-width:100%;position:static;overflow-x:auto;transform:none}}.writing-admin-tabs{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:3px;display:inline-flex}.writing-admin-tabs button{color:var(--muted);font-size:var(--font-size-sm);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-weight:600}.writing-admin-tabs button:hover:not(.is-active){color:var(--ink);background:0 0}.writing-admin-tabs button.is-active{color:var(--accent-dark);background:#fff;box-shadow:0 1px 2px #00000014}.writing-admin-body{gap:16px;display:grid}.writing-admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.writing-admin-toolbar .dictation-admin-search{flex:260px}.writing-admin-status{align-items:center;gap:10px;display:inline-flex}.writing-admin-form{border:1px solid var(--line);background:#fff;border-radius:12px;gap:16px;padding:16px;display:grid}.writing-admin-form h4{margin:0}.writing-admin-form label{transform:none}.writing-admin-plain{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.writing-admin-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;display:grid}.writing-admin-fieldset{border:1px solid var(--line);border-radius:10px;gap:8px;min-width:0;margin:0;padding:12px 14px;display:grid}.writing-admin-fieldset legend{font-size:var(--font-size-sm);padding:0 4px;font-weight:600}.writing-admin-choice{align-items:center;gap:8px;font-weight:500;display:inline-flex}.writing-admin-note{font-size:var(--font-size-2xs);margin:4px 0 0}.writing-admin-images{gap:10px;margin:0;padding:0;list-style:none;display:grid}.writing-admin-images li{border:1px solid var(--line);background:var(--paper);border-radius:10px;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;display:grid}.writing-admin-images img{object-fit:contain;background:#fff;border-radius:6px;width:88px;height:66px}.writing-admin-exercise{align-items:center;gap:12px;display:flex}.writing-admin-thumb{border:1px solid var(--line);cursor:zoom-in;background:#fff;border-radius:8px;flex:none;padding:0;overflow:hidden}.writing-admin-thumb:hover:not(:disabled){border-color:var(--accent);background:#fff}.writing-admin-thumb img{object-fit:contain;width:72px;height:50px;display:block}.writing-admin-inline-select{width:100%;min-width:150px;max-width:250px;font-size:var(--font-size-sm);border-radius:8px;padding:6px 8px}.writing-admin-row-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.writing-admin-row-error{max-width:240px;color:var(--danger);font-size:var(--font-size-2xs);margin:6px 0 0}.inline-text-field{width:100%;min-width:0;color:var(--ink);font-size:var(--font-size-sm);text-overflow:ellipsis;background:0 0;border-color:#0000;border-radius:8px;padding:5px 7px}.inline-text-field:hover:not(:disabled){border-color:var(--line);background:#fff}.inline-text-field:focus{background:#fff;border-color:#bdcbd3}.inline-text-field:disabled{opacity:1}.inline-text-field::placeholder{color:var(--muted)}.test-content-table .inline-text-field{font-size:var(--font-size-xs)}.test-content-table td:first-child .inline-text-field{font-weight:650}.admin-row-title .inline-text-field{font-weight:600}.admin-row-title{align-items:center;gap:6px;min-width:220px;display:flex}.admin-row-select{width:auto;min-width:64px;font-size:var(--font-size-sm);border-radius:8px;padding:5px 7px}.admin-row-saving{font-size:var(--font-size-2xs)}.test-library-source{align-items:center;gap:4px;min-width:170px;display:flex}.test-library-source .test-library-number{text-align:center;flex:0 0 52px}.writing-admin-image-fields{gap:6px;min-width:0;display:grid}.writing-admin-image-fields strong{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.writing-admin-add-image{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.writing-admin-add-image select{flex:220px}.writing-admin-upload{border:1px solid var(--line);font-size:var(--font-size-sm);cursor:pointer;border-radius:8px;align-items:center;padding:8px 14px;font-weight:600;display:inline-flex}@media (max-width:640px){.writing-admin-images li{grid-template-columns:64px minmax(0,1fr)}.writing-admin-images li .button-row{grid-column:1/-1}.writing-admin-images img{width:64px;height:48px}}:root{--wr-del:#b3261e;--wr-del-soft:#fbe4e1;--wr-ins:#1f6b35;--wr-ins-soft:#dff1e3;--wr-hl:#fff1b8;--wr-hl-active:#ffd54a;--wr-del-active:#f6b8b1;--wr-ins-active:#cde9d3;--wr-resolved-active:#e3e8e5;--wr-ai:#5b4fb3;--wr-ai-soft:#ece9fb;--wr-ai-line:#cfc8f3;--wr-brace:#7fa886;--wr-brace-active:#2f6b3b;--wr-passage-tint:#43834e1c}.wr-desk,.wr-submitted,.wr-returned,.wr-review{gap:14px;display:grid}.student-content:has(>.wr-submitted){width:min(100%,1440px);padding:24px clamp(16px,3vw,32px) 40px}.wr-submitted{--wr-shell-top:var(--student-topbar-height,0px)}.wr-bar{top:var(--wr-shell-top,0px);z-index:5;border:1px solid var(--line);background:var(--card);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 16px;display:flex;position:sticky;box-shadow:0 6px 18px #1937460a}.wr-desk-bar{grid-template-columns:minmax(0,1fr) auto minmax(max-content,1fr);display:grid}.wr-desk-clock{justify-content:center;display:flex}.wr-desk-actions{justify-content:flex-end;gap:8px;display:flex}.wr-desk-actions button{white-space:nowrap}.wr-desk-dialog{max-height:calc(100dvh - 40px);color:var(--ink);margin:auto;overflow-y:auto}.wr-desk-dialog::backdrop{background:#18221b73}.wr-desk-dialog p.wr-error,.wr-desk-dialog p.wr-under{color:var(--warning)}.wr-bar-title{gap:2px;min-width:0;display:grid}.wr-bar-title strong,.wr-bar-title h1{font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wr-bar-title h1{font-weight:500;line-height:inherit;margin:0}.wr-bar-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.wr-bar-title>.wr-bar-subtitle{color:var(--muted);font-size:var(--font-size-xs)}button.wr-bar-button,button.wr-small{border-radius:10px;padding:7px 12px}.wr-stat{border:1px solid var(--button-border);background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-xs);white-space:nowrap;border-radius:999px;justify-self:start;padding:2px 10px;font-weight:500}.wr-stat strong{font-variant-numeric:tabular-nums;font-weight:700}.wr-stat.is-under{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}button.wr-link{box-shadow:none;color:var(--accent-dark);font-size:var(--font-size-xs);background:0 0;border:0;padding:0;text-decoration:underline}button.wr-link:hover:not(:disabled){background:0 0}button.wr-link--danger{color:var(--danger)}.wr-link-text{color:var(--accent-dark);font-size:var(--font-size-xs)}.wr-banner,.wr-notice{border:1px solid var(--line);background:var(--card);font-size:var(--font-size-sm);border-radius:12px;margin:0;padding:10px 14px}.wr-banner--done{border-color:var(--button-border);background:var(--accent-soft);color:var(--accent-dark)}.wr-banner--warn,.wr-notice--warn{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}.wr-save-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.wr-notice p{margin:0 0 8px}.wr-confirm{border:1px solid var(--button-border);background:var(--card);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 16px;display:flex;box-shadow:0 10px 26px #18352c14}.wr-confirm p{color:var(--muted);font-size:var(--font-size-sm);margin:4px 0 0}.wr-confirm p.wr-under{color:var(--warning)}.wr-error{color:var(--danger);font-size:var(--font-size-xs);margin:6px 0 0}.wr-inline-actions{flex-wrap:wrap;gap:8px;display:flex}.wr-hint{color:var(--muted);font-size:var(--font-size-xs);align-items:flex-start;gap:6px;margin:0;display:flex}.wr-hint svg{flex:none;width:15px;height:15px}.wr-hint em{font-style:italic}.wr-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}.wr-split--revise{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.wr-split--resizable{grid-template-columns:minmax(0, var(--wr-left)) 14px minmax(0, var(--wr-right));gap:0}.wr-split>*{min-width:0}.wr-divider{display:flex}.wr-divider .rp-divider-grip{opacity:1}.wr-side{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;gap:12px;padding:16px;display:grid}.wr-side--prompt{top:calc(var(--wr-shell-top,0px) + 86px);max-height:calc(100vh - var(--wr-shell-top,0px) - 110px);position:sticky;overflow:auto}.wr-editor-col{gap:8px;display:grid}.wr-editor-panel{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0}.wr-editor-panel:focus-within{border-color:#a9c9a7;box-shadow:0 0 0 2px #a9c9a7}.wr-editor-meta{border-bottom:1px solid var(--line);background:#f2f5f2;border-radius:13px 13px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:11px 16px;display:flex}.wr-editor-label{color:var(--ink);font-size:var(--font-size-sm);font-weight:600}.wr-paper{border:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:var(--type-body);background:#fff;border-radius:12px;padding:22px 26px;line-height:1.75}.wr-editor-frame{display:grid;position:relative}.wr-editor-frame .wr-paper{border:0;border-radius:0 0 13px 13px}.wr-editor-content,.wr-editor-backdrop{white-space:pre-wrap;overflow-wrap:break-word;line-height:1.45}.wr-editor-content p,.wr-editor-backdrop p{min-height:1.45em;margin:0}.wr-editor-content p+p,.wr-editor-backdrop p+p{margin-top:.45em}.wr-editor-backdrop{scrollbar-gutter:stable;color:#0000;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wr-applied{background:var(--wr-ins-soft);box-shadow:0 2px 0 var(--accent);color:#0000;border-radius:3px}.wr-applied-gap,.wr-mark-gap{position:relative}.wr-mark{color:#0000;background:#fff8dc;border-radius:3px}.wr-mark.is-active{background:var(--wr-hl)}.wr-mark-gap:after{content:"";background:#ecd488;border-radius:1px;width:2px;height:1.3em;position:absolute;top:.15em;left:-1px}.wr-mark-gap.is-active:after{background:#d9a91f}.wr-applied-gap:after{background:var(--accent);content:"";border-radius:1px;width:2px;height:1.3em;position:absolute;top:.15em;left:-1px}div.wr-editor-content{resize:vertical;scrollbar-gutter:stable;min-height:68vh;font-size:var(--type-body);position:relative;overflow:auto}div.wr-editor-content:focus-visible{outline:none}div.wr-editor-content.has-highlights{background:0 0}.wr-editor-content[data-empty=true]:before{color:var(--muted);content:attr(data-placeholder);pointer-events:none;position:absolute;top:22px;left:26px}.wr-paper--marked{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:20px;padding:30px 36px}.wr-returned .wr-paper--marked{min-height:420px}.wr-prompt{font-size:var(--font-size-sm);gap:10px;display:grid}.wr-prompt-heading{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.wr-prompt-kind{color:var(--accent-dark);font-size:var(--font-size-2xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:600}.wr-prompt-minimum{border:1px solid var(--line);color:var(--muted);font-size:var(--font-size-2xs);white-space:nowrap;background:#fff;border-radius:999px;padding:2px 8px;font-weight:500}.wr-prompt-text{margin:0}.markdown-prose{white-space:normal;overflow-wrap:anywhere}.markdown-prose>:first-child{margin-top:0}.markdown-prose>:last-child{margin-bottom:0}.markdown-prose p,.markdown-prose ul,.markdown-prose ol,.markdown-prose table{margin:0 0 .75em}.markdown-prose ul,.markdown-prose ol{padding-left:1.4em}.markdown-prose h1,.markdown-prose h2,.markdown-prose h3,.markdown-prose h4{font-size:var(--type-body);margin:1em 0 .4em;font-weight:650;line-height:1.4}.markdown-prose .markdown-table{font-size:var(--font-size-sm)}.wr-prompt-figure{margin:0}.wr-prompt-figure img{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;max-width:100%;height:auto;display:block}button.wr-prompt-image-button{cursor:zoom-in;background:0 0;border:0;border-radius:10px;width:100%;padding:0;display:block}button.wr-prompt-image-button:hover:not(:disabled),button.wr-prompt-image-button:active:not(:disabled){background:0 0;transform:none}.wr-image-viewer{--wr-image-fit-width:calc((100vw - 48px) * .8);--wr-image-fit-height:calc((100dvh - 48px) * .8);background:#18221beb;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;position:fixed;inset:0;overflow:hidden}.wr-image-viewer[open]{place-items:center;display:grid}.wr-image-viewer::backdrop{background:0 0}.wr-image-viewer img{width:auto;max-width:var(--wr-image-fit-width);height:auto;max-height:var(--wr-image-fit-height);background:#fff;border-radius:8px;display:block}@media (max-width:640px){.wr-image-viewer{--wr-image-fit-width:calc(100vw - 48px);--wr-image-fit-height:calc(100dvh - 48px)}}button.wr-image-viewer-close{width:40px;height:40px;color:var(--ink);background:#ffffffeb;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}button.wr-image-viewer-close:hover:not(:disabled){background:#fff}button.wr-image-viewer-close:focus-visible{outline:3px solid #fff9}.wr-image-viewer-close svg{width:18px;height:18px}.wr-prompt-details{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:12px 20px}.wr-prompt-details summary{cursor:pointer;font-size:var(--font-size-sm);font-weight:600}.wr-prompt-details[open] summary{margin-bottom:10px}.wr-hl{background:var(--wr-hl);cursor:pointer;border-radius:2px}.wr-del{background:var(--wr-del-soft);color:var(--wr-del);cursor:pointer;border-radius:2px;text-decoration:line-through;text-decoration-thickness:2px}.wr-ins{color:var(--wr-ins);cursor:pointer;border-radius:2px;padding:0 1px;font-weight:550;text-decoration:none}.wr-paper .wr-del+.wr-ins{margin-left:.35em}.wr-paper .wr-hl.is-active{background:var(--wr-hl-active)}.wr-paper .wr-del.is-active{background:var(--wr-del-active)}.wr-paper .wr-ins.is-active{background:var(--wr-ins-active)}.wr-paper .wr-hl.is-resolved{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px;background:0 0;text-decoration-thickness:1px}.wr-paper .wr-del.is-resolved{color:var(--muted);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);background:0 0;text-decoration-thickness:1px}.wr-paper .wr-ins.is-resolved{color:var(--muted);font-weight:400}.wr-paper .wr-hl.is-resolved.is-active,.wr-paper .wr-del.is-resolved.is-active,.wr-paper .wr-ins.is-resolved.is-active{background:var(--wr-resolved-active)}button.wr-pin.is-resolved:not(.is-active){border-color:var(--line);color:var(--muted);background:0 0}.wr-pending{background:#dfe9fb}.wr-caret{background:var(--accent);vertical-align:-3px;width:2px;height:1.1em;display:inline-block}button.wr-pin{border:1px solid var(--button-border);background:var(--accent-soft);min-width:18px;height:18px;box-shadow:none;color:var(--accent-dark);vertical-align:super;border-radius:6px;place-items:center;margin:0 1px;padding:0 3px;font-size:10px;font-weight:600;line-height:1;display:inline-grid}button.wr-pin:hover:not(:disabled){background:var(--button-bg-hover)}button.wr-pin--ai{background:var(--wr-ai-soft);color:var(--wr-ai);border-color:#cbc5f0}button.wr-pin.is-active{border-color:var(--accent);background:var(--accent);color:#fff}button.wr-pin--ai.is-active{border-color:var(--wr-ai);background:var(--wr-ai)}.wr-review-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid;position:relative}.wr-waiting-note{border:1px solid var(--warning-line);background:var(--warning-soft);min-width:0;color:var(--warning);font-size:var(--font-size-xs);border-left:4px solid #e0b43c;border-radius:10px;margin:0;padding:6px 12px;line-height:1.35}.wr-waiting-note .wr-icon{vertical-align:-3px;margin-right:6px}.wr-waiting-note strong{font-weight:700}.wr-margin{--wr-margin-top:90px;top:var(--wr-margin-top);border:1px solid var(--line);background:var(--accent-soft);border-radius:16px;min-width:0;position:sticky}.wr-review .wr-margin{--wr-margin-top:96px}.wr-margin-heading{border-bottom:1px solid var(--line);font-size:var(--font-size-xs);background:#fff;border-radius:16px 16px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.wr-margin-scroll{height:min(640px, calc(100dvh - var(--wr-margin-top) - 64px));overscroll-behavior:none;overflow-anchor:none;scrollbar-gutter:stable;border-radius:0 0 16px 16px;overflow-y:auto}.wr-margin-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wr-margin-cards{gap:10px;padding:8px;display:grid}.wr-margin-item{min-width:0}.wr-margin-cards.is-pulled>.wr-margin-item{transform:translateY(var(--wr-pull,0));will-change:transform}.wr-review-grid--passages{grid-template-columns:200px minmax(0,1fr) 300px;gap:18px 14px}.wr-review-grid--passages>.wr-paper--marked{padding-left:50px;padding-right:24px}.wr-passage-rail{z-index:1;min-width:0;position:relative}.wr-passage-braces{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.wr-brace,.wr-brace-link{fill:none;stroke:var(--wr-brace);stroke-linecap:round;stroke-linejoin:round}.wr-brace{stroke-width:2px}.wr-brace-link{stroke-width:1.5px}.wr-passage-braces .is-active .wr-brace{stroke:var(--wr-brace-active);stroke-width:3px}.wr-passage-braces .is-active .wr-brace-link{stroke:var(--wr-brace-active);stroke-width:2px}.wr-passage-braces .is-resolved:not(.is-active) .wr-brace{stroke:#b9c2bb;stroke-dasharray:3 4}.wr-brace-hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.wr-brace-dot{fill:#fff;stroke:var(--wr-brace);stroke-width:1.5px}.wr-passage-braces .is-active .wr-brace-dot{fill:var(--wr-brace-active);stroke:var(--wr-brace-active)}.wr-brace-letter{fill:var(--accent-dark);text-anchor:middle;dominant-baseline:central;font-size:10px;font-weight:700}.wr-passage-braces .is-active .wr-brace-letter{fill:#fff}.wr-passage-item{position:absolute;left:0;right:8px}.wr-passage-item>.wr-card{position:relative;box-shadow:0 4px 14px #18352c12}.wr-passage-item>.wr-card:after{border:inherit;background:inherit;content:"";border-bottom:0;border-left:0;border-radius:0 3px 0 0;width:12px;height:12px;position:absolute;top:16px;right:-7px;transform:rotate(45deg)}.wr-passage-item .wr-card-who:has(>b){flex-wrap:wrap}.wr-passage-item .wr-card-who:has(>b) b{flex:auto}.wr-card-number--passage{border:1.5px solid var(--wr-brace);background:#fff;border-radius:50%}.wr-card.is-active .wr-card-number--passage{border-color:var(--wr-brace-active);background:var(--wr-brace-active)}.wr-paper .wr-passage-on:not(.wr-hl,.wr-del,.wr-pending){background:var(--wr-passage-tint)}.wr-card-quote--passage{border-left:2px solid var(--wr-brace);color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-left:8px;display:-webkit-box;overflow:hidden}.wr-mark--passage{background:0 0}.wr-mark--passage.is-active{background:var(--wr-passage-tint)}@media (max-width:1440px){.wr-review-grid--passages{grid-template-columns:180px minmax(0,1fr) 260px}}@media (max-width:760px){.wr-review-grid.wr-review-grid--passages{grid-template-columns:minmax(0,1fr)}.wr-review-grid--passages>.wr-paper--marked{padding-left:42px}.wr-review-grid--passages>.wr-passage-rail{order:1}.wr-review-grid--passages>.wr-margin{order:2}.wr-passage-rail.is-phone{gap:10px;display:grid}.wr-passage-rail.is-phone .wr-passage-item{position:static}.wr-passage-rail.is-phone .wr-passage-item>.wr-card:after{display:none}}.wr-returned{--wr-rail:260px;--wr-panel:340px}.wr-returned .wr-desk-clock{align-items:center;gap:12px}@media (min-width:761px){.wr-returned .wr-review-grid{grid-template-columns:minmax(0,860px);justify-content:center}.wr-returned .wr-review-grid:has(>.wr-margin){grid-template-columns:minmax(0, 860px) var(--wr-panel)}.wr-returned .wr-review-grid--passages{grid-template-columns:var(--wr-rail) minmax(0, 860px)}.wr-returned .wr-review-grid--passages:has(>.wr-margin){grid-template-columns:var(--wr-rail) minmax(0, 1fr) var(--wr-panel)}.wr-returned .wr-margin{--wr-margin-top:88px}.wr-returned .wr-margin-scroll{height:calc(100dvh - var(--wr-margin-top) - 64px)}}@media (max-width:1280px){.wr-returned{--wr-rail:200px;--wr-panel:300px}}@media (max-width:1100px){.wr-returned{--wr-rail:180px;--wr-panel:260px}.wr-returned .wr-desk-bar{grid-template-columns:minmax(0,1fr) auto auto}}@media (max-width:760px){.wr-returned .wr-bar{position:static}.wr-returned .wr-desk-bar{grid-template-columns:minmax(0,1fr)}.wr-returned .wr-desk-clock,.wr-returned .wr-desk-actions{flex-wrap:wrap;justify-content:flex-start}}.wr-card{border:1px solid var(--line);font-size:var(--font-size-xs);cursor:default;background:#fff;border-radius:16px;gap:10px;padding:14px 16px;display:grid}.wr-card.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft), 0 6px 18px #18352c14}.wr-card.is-active .wr-card-number{background:var(--accent);color:#fff}.wr-card.is-active .wr-card-number--ai{background:var(--wr-ai)}.wr-card.is-resolved{opacity:.7}.wr-card-who{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.wr-card-who:has(>b){flex-wrap:nowrap}.wr-card-who b{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;margin-right:auto;overflow:hidden}.wr-card-who .wr-card-number{flex:none}.wr-card-who:has(>b) .wr-chip{text-align:center;white-space:normal;border-radius:12px;flex:0 1000 auto}.wr-card-who:has(>b) .wr-chip--ai{white-space:nowrap;flex:none}.wr-card-number{background:var(--accent-soft);min-width:22px;height:22px;color:var(--accent-dark);font-size:var(--font-size-3xs);border-radius:7px;place-items:center;padding:0 4px;font-weight:650;display:inline-grid}.wr-card-number--ai{background:var(--wr-ai-soft);color:var(--wr-ai)}.wr-card-quote{overflow-wrap:anywhere}.wr-card-comment{color:var(--ink);white-space:pre-wrap;margin:0;line-height:1.55}.wr-chip{background:var(--accent-soft);color:var(--accent-dark);font-size:var(--font-size-3xs);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-weight:550;display:inline-flex}.wr-chip--ai{background:var(--wr-ai-soft);color:var(--wr-ai)}.wr-thread{gap:6px;display:grid}.wr-replies{gap:4px;margin:0;padding:0;list-style:none;display:grid}.wr-replies li{border-left:2px solid var(--line);white-space:pre-wrap;padding-left:8px}.wr-resolved{color:var(--muted);margin:0}.wr-thread-actions{flex-wrap:wrap;gap:8px 12px;display:flex}button.wr-thread-button{font-size:var(--font-size-xs);border-radius:10px;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}button.wr-thread-button--quiet{border-color:var(--line);background:var(--paper);color:var(--muted)}button.wr-thread-button--quiet:hover:not(:disabled){color:var(--ink);background:#eceeeb;border-color:#c5ccc6}.wr-reply-form{gap:6px;display:grid}.wr-reply-form textarea{padding:8px 10px}.wr-card--composer{gap:8px}.wr-kind-pick{flex-wrap:wrap;gap:4px;display:flex}.wr-kind-pick button{font-size:var(--font-size-2xs);background:#fff;border-radius:8px;padding:4px 9px}.wr-kind-pick button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.wr-composer-kind{font-size:var(--font-size-xs)}.wr-field{gap:4px;display:grid}.wr-field>span{color:var(--muted);font-size:var(--font-size-2xs)}.wr-field input,.wr-field select{background:#fff;border:1px solid #bdcbd3;border-radius:8px;width:100%;padding:7px 9px}.wr-field textarea{padding:8px 10px}.wr-floaty{z-index:6;background:var(--ink);border-radius:10px;gap:2px;padding:4px;display:flex;position:absolute;box-shadow:0 10px 24px #0003}.wr-floaty button{box-shadow:none;color:#fff;font-size:var(--font-size-2xs);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:7px 10px}.wr-floaty button:hover:not(:disabled){background:#ffffff26}.wr-gradebar{border:1px solid var(--line);background:#fbfcfa;border-radius:14px;gap:10px;padding:10px 16px;display:grid}.wr-gradebar-row{font-size:var(--font-size-xs);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.wr-crit{align-items:center;gap:6px;display:inline-flex}.wr-crit select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 6px}.wr-taskband strong{color:var(--accent-dark);font-size:var(--font-size-xl)}.wr-grow{flex:1}.wr-summary textarea{min-height:64px}.wr-chip--warn{background:var(--warning-soft);color:var(--warning)}.wr-ai-control{display:inline-flex;position:relative}button.wr-ai-button{border:1px solid var(--wr-ai-line);color:var(--wr-ai);background:#fff;align-items:center;gap:4px;font-weight:600;display:inline-flex}button.wr-ai-button:hover:not(:disabled),button.wr-ai-button[aria-expanded=true]{background:var(--wr-ai-soft)}.wr-ai-popover{z-index:20;border:1px solid var(--line);width:min(300px,100vw - 32px);font-size:var(--font-size-xs);background:#fff;border-radius:14px;gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #1a2a1f26}.wr-ai-field{gap:4px;display:grid}.wr-ai-note{color:var(--muted);font-size:var(--font-size-3xs);margin:0}.wr-ai-note--warn{color:var(--warning)}.wr-ai-model{width:100%;min-width:0;font-size:var(--font-size-3xs)}.wr-ai-lang{border:1px solid var(--line);border-radius:10px;justify-self:start;display:inline-flex;overflow:hidden}.wr-ai-lang button{color:var(--ink);background:#fff;border:0;border-radius:0;padding:5px 12px;font-weight:600}.wr-ai-lang button+button{border-left:1px solid var(--line)}.wr-ai-lang button[aria-pressed=true]{background:var(--wr-ai);color:#fff}button.wr-ai-start{border:1px solid var(--wr-ai);background:var(--wr-ai);color:#fff;font-weight:600}.wr-ai-pill{border:1px solid var(--wr-ai-line);background:var(--wr-ai-soft);color:var(--wr-ai);font-size:var(--font-size-3xs);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-weight:600;display:inline-flex}.wr-ai-dot{background:var(--wr-ai);border-radius:50%;width:7px;height:7px;margin-right:4px;animation:1.2s ease-in-out infinite wr-ai-pulse;display:inline-block}.wr-ai-pill .wr-ai-dot{margin-right:0}@keyframes wr-ai-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.wr-ai-dot{animation:none}}.wr-ai-banner{font-size:var(--font-size-xs);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;padding:9px 14px;display:flex}.wr-ai-banner--quiet{color:var(--muted);background:#fbfaff}.wr-ai-banner--done{background:var(--wr-ai-soft);color:#2f2770}.wr-ai-banner--fail{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning)}.wr-ai-banner b{font-weight:650}.wr-ai-detail{opacity:.85}button.wr-link.wr-ai-link{color:var(--wr-ai)}.wr-ai-wide{flex-basis:100%;margin:0}.wr-rounds{flex-wrap:wrap;gap:4px;display:inline-flex}.wr-rounds button{font-size:var(--font-size-2xs);background:#fff;border-radius:999px;padding:4px 12px}.wr-rounds button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.wr-icon{flex:none;width:15px;height:15px}button.wr-fb-revise{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff;align-items:center;gap:8px;display:inline-flex}button.wr-fb-revise:hover:not(:disabled){background:#183d22;border-color:#183d22}.wr-fb-error{grid-column:1/-1;margin:0}.wr-score{border:1px solid var(--line);background:var(--card);border-radius:20px;align-items:flex-start;gap:20px 24px;padding:20px 22px;display:flex}.wr-score-band{background:var(--accent-soft);border-radius:18px;flex:none;align-content:center;justify-items:center;gap:4px;min-width:112px;min-height:112px;padding:14px;display:grid}.wr-score-band strong{color:var(--accent-dark);font-size:var(--font-size-score);line-height:1}.wr-score-band span{color:var(--accent-dark);font-size:var(--font-size-3xs);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;font-weight:500}.wr-score-body{flex:auto;gap:14px;min-width:0;display:grid}.wr-score-criteria{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:0;padding:0 0 14px;list-style:none;display:flex}.wr-score-criteria li{border:1px solid var(--line);background:var(--paper);font-size:var(--font-size-xs);border-radius:999px;align-items:center;gap:10px;padding:4px 5px 4px 14px;font-weight:500;display:inline-flex}.wr-band-badge{font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 6px;font-weight:650;display:inline-grid}.wr-band-badge--high{color:var(--accent-dark);background:#dcebdf}.wr-band-badge--mid{color:var(--warning);background:#fcebb6}.wr-band-badge--low{color:var(--danger);background:#f8d9d6}.wr-band-badge--none{background:var(--line);color:var(--muted)}.wr-score-teacher{gap:8px;display:grid}.wr-score-who{align-items:center;gap:10px;display:flex}.wr-avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-dark);font-size:var(--font-size-2xs);border-radius:999px;place-items:center;font-weight:650;display:inline-grid}button.wr-show-more{box-shadow:none;color:var(--muted);font-size:var(--font-size-xs);background:0 0;border:0;margin-left:auto;padding:4px 6px}button.wr-show-more:hover:not(:disabled){color:var(--ink);background:0 0}.wr-score-summary{color:var(--muted);font-size:var(--font-size-sm);white-space:pre-wrap;margin:0;padding-left:56px;line-height:1.65}.wr-score-summary.is-clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wr-score-teacher.is-expandable,.sp-summary.is-expandable{cursor:pointer}.wr-checklist{min-width:0;position:sticky;top:84px}.wr-checklist .wr-margin{--wr-margin-top:84px;position:static}.wr-checklist .wr-margin-heading{flex-wrap:wrap;gap:8px}.wr-checklist .wr-margin-heading h2{font-size:var(--font-size-sm);margin:0}.wr-checklist-notice{flex-basis:100%;margin:0}.wr-check-who{align-items:center;gap:8px;display:flex}.wr-check{border:1px solid var(--line);font-size:var(--font-size-xs);background:#fff;border-radius:14px;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:12px 14px;display:grid}.wr-check.is-active{border-color:var(--button-border);box-shadow:0 0 0 3px var(--accent-soft), 0 6px 18px #18352c14}.wr-check.is-done{background:var(--paper)}.wr-check.is-done .wr-check-body>:not(button){opacity:.6}.wr-check-box{width:18px;height:18px;margin-top:1px;display:grid}.wr-check-box input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0}.wr-check-body{justify-items:start;gap:6px;display:grid}.wr-check-body p{margin:0}.wr-check-meta,.wr-check-status{color:var(--muted);font-size:var(--font-size-2xs)}button.practice-start-back,button.practice-start-primary{min-height:44px;font-size:var(--font-size-sm);justify-content:center;align-items:center;gap:8px;display:inline-flex}button.practice-start-back{color:var(--danger);background:0 0;border-color:#0000;padding:10px 12px}button.practice-start-back:hover:not(:disabled){background:var(--danger-soft);border-color:#0000}.practice-start-back svg{flex-shrink:0}button.practice-start-primary{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff;flex-shrink:0;padding:12px 22px;box-shadow:0 3px 8px #24482c1a}button.practice-start-primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}button.practice-start-primary:disabled{box-shadow:none}.practice-start-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;display:flex}.practice-start-actions .practice-start-back{margin-inline-start:-12px}.practice-start-actions .practice-start-primary{margin-inline-start:auto}.wr-start{border:1px solid var(--line);background:var(--card);border-radius:20px;gap:24px;width:100%;max-width:600px;margin:32px auto;padding:32px;display:grid;box-shadow:0 8px 28px #18221b06}.wr-start-head{gap:10px;min-width:0;display:grid}.wr-start-head .eyebrow{margin:0}.wr-start h1{font-size:var(--font-size-display-3);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;line-height:1.3}.wr-start-facts{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.wr-start-facts li{background:var(--accent-soft);border-radius:12px;flex:160px;gap:4px;min-width:0;padding:16px 18px;display:grid}.wr-start-facts strong{color:var(--accent-dark);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums}.wr-start-facts span{color:var(--muted);font-size:var(--font-size-xs)}.wr-start-note{color:var(--muted);font-size:var(--font-size-md);margin:0;line-height:1.65}@media (max-width:640px){.wr-start{gap:20px;margin:12px auto;padding:24px 20px}.wr-start-facts li{flex-basis:120px;padding:14px}}.student-skill-tabs{margin:-6px 0 22px;display:inline-flex}.student-skill-tabs-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:-6px 0 22px;display:flex}.student-skill-tabs-row .student-skill-tabs{margin:0}button.student-skill-history{text-underline-offset:3px;font-weight:600}.wr-queue{gap:14px;display:grid}.wr-queue-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.wr-queue-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wr-queue-head h2{font-size:var(--font-size-lg);margin:0 0 2px}.wr-queue-head p{margin:0}.wr-queue-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}button.wr-queue-row{border:1px solid var(--line);background:var(--card);width:100%;box-shadow:none;color:var(--ink);text-align:left;border-radius:12px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,.7fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}button.wr-queue-row:hover:not(:disabled){border-color:var(--button-border);background:var(--card)}.wr-queue-row>span{gap:2px;min-width:0;display:grid}.wr-queue-row small{color:var(--muted);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-area-count{background:var(--accent);color:#fff;min-width:20px;height:20px;font-size:var(--font-size-3xs);border-radius:999px;place-items:center;padding:0 6px;font-weight:600;display:inline-grid}.wr-progress{gap:14px;display:grid}.wr-progress>p{margin:0}.wr-progress-card{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:12px;padding:16px 20px;display:grid}.wr-progress-card h2{font-size:var(--font-size-lg);margin:0}.wr-progress-card p{margin:0}.wr-progress-stats{flex-wrap:wrap;gap:12px 32px;display:flex}.wr-progress-stats div{display:grid}.wr-progress-stats span,.wr-progress-stats small{color:var(--muted);font-size:var(--font-size-xs)}.wr-progress-stats strong{color:var(--accent-dark);font-size:var(--font-size-display-4)}.wr-progress-criteria{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.wr-progress-criteria li{font-size:var(--font-size-xs);background:#fbfcfa;border-radius:10px;justify-content:space-between;gap:8px;padding:8px 12px;display:flex}.wr-progress-trend{color:var(--accent);margin:0}.wr-progress-trend figcaption{color:var(--muted);font-size:var(--font-size-xs);margin-bottom:6px}.wr-progress-trend svg{width:100%;height:auto;display:block}.wr-progress-trend circle{fill:var(--accent)}@media (max-width:760px){.wr-split,.wr-split--revise{grid-template-columns:1fr}.wr-divider{display:none}.wr-split--resizable{gap:16px}.wr-desk-bar{grid-template-columns:minmax(0,1fr) auto}.wr-desk-bar>.wr-bar-title{grid-column:1/-1}.wr-desk-actions{flex-wrap:wrap}.wr-split--revise .wr-side{order:-1}.wr-side--prompt{max-height:none;position:static}.wr-bar{padding:10px 12px}.wr-paper{padding:16px}div.wr-editor-content{min-height:58vh}.wr-editor-content[data-empty=true]:before{top:16px;left:16px}.wr-review-grid{grid-template-columns:1fr}.wr-score{flex-direction:column;padding:16px}.wr-score-band{grid-auto-flow:column;align-items:baseline;gap:10px;min-width:0;min-height:0}.wr-score-body{width:100%}.wr-score-summary{padding-left:0}.wr-paper--marked{padding:18px}.wr-returned .wr-paper--marked{min-height:0}.wr-margin,.wr-checklist{position:static}.wr-margin-scroll{height:min(480px,55dvh)}.wr-floaty{z-index:41;right:12px;bottom:calc(var(--wr-sheet-height,0px) + 12px);position:fixed;top:auto!important;left:12px!important}.wr-margin.wr-margin--sheet{z-index:40;border:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;flex-direction:column;transition:height .26s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;inset:auto 0 0;box-shadow:0 -6px 24px #18221b24}.wr-margin--sheet.is-dragging{transition:none}.wr-sheet-grab{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:18px 18px 0 0;flex:none;justify-content:flex-start;min-height:60px;padding:18px 12px 8px 16px;position:relative}.wr-sheet-grab:before{content:"";background:#c7cfc8;border-radius:4px;width:38px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.wr-margin--sheet.is-peek .wr-margin-heading{border-bottom-color:#0000}.wr-sheet-hint{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wr-sheet-toggle{border:1px solid var(--line);width:34px;height:30px;color:var(--accent-dark);background:#fff;border-radius:8px;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.wr-margin--sheet .wr-margin-scroll{border-radius:0;flex:auto;height:auto;min-height:0}.wr-margin--sheet.is-peek .wr-margin-scroll{visibility:hidden}.wr-sheet-spacer{order:3}.wr-floaty button{white-space:normal;flex:1 1 0;min-width:0;padding:9px 4px}.teacher-area-segments{width:auto;max-width:100%;overflow-x:auto}.teacher-area-tab{flex:none}button.wr-queue-row{grid-template-columns:minmax(0,1fr) auto}.wr-queue-exercise,.wr-queue-words{grid-column:1}.wr-queue-status{grid-area:1/2}.wr-desk--runner>.wr-desk-bar{flex-wrap:nowrap;gap:6px;padding:8px 10px 8px 14px;display:flex}.wr-desk--runner>.wr-desk-bar>.wr-bar-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wr-desk--runner>.wr-desk-bar .wr-desk-clock{white-space:nowrap;flex:none;margin-right:auto}.wr-desk--runner>.wr-desk-bar .wr-desk-actions{flex-wrap:nowrap;gap:6px}.wr-desk--runner>.wr-desk-bar .wr-desk-actions>.rp-exit,.wr-desk--runner>.wr-desk-bar .wr-desk-actions>.rp-submit{height:36px;min-height:0;padding-block:0}.wr-desk--runner>.wr-desk-bar .wr-desk-actions>.rp-exit{padding-inline:11px}.wr-desk--runner>.wr-desk-bar .focused-language-switch>.focused-language-choice{min-height:30px;padding:4px 9px}:is(html:has(.wr-desk--drafting),body:has(.wr-desk--drafting)){height:100dvh;min-height:0;overflow:hidden}.app-frame:has(.wr-desk--drafting){top:var(--wr-viewport-top,0px);height:var(--wr-viewport-height,100dvh);flex-direction:column;min-height:0;padding:0;display:flex;position:fixed;left:0;right:0;overflow:hidden}:is(.app-frame:has(.wr-desk--drafting)>.workspace,.app-frame:has(.wr-desk--drafting) .student-app--focused){flex-direction:column;flex:auto;min-height:0;display:flex}.student-content--focused>.wr-desk--drafting{flex-direction:column;flex:auto;gap:0;width:100%;min-height:0;padding:0;display:flex}.wr-desk--drafting>.wr-desk-bar{box-shadow:none;border-width:0 0 1px;border-radius:0;position:static}.wr-desk--drafting>.wr-banner{margin:6px 8px 0}.wr-desk--drafting>.wr-split--stack{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0, var(--wr-left)) 30px minmax(0, var(--wr-right));flex:auto;align-items:stretch;gap:0;min-height:0;padding:6px 8px 4px}.wr-split--stack>*{grid-column:1/-1}.wr-split--stack>:first-child{grid-row:1}.wr-split--stack>:last-child{grid-row:3}.wr-split--stack>.wr-divider{cursor:row-resize;grid-row:2;width:auto;height:auto;display:flex}.wr-split--stack>.wr-divider .rp-divider-grip{width:44px;height:5px}.wr-split--stack>.wr-stack-toggle{z-index:2;border:1px solid var(--line);height:24px;box-shadow:none;color:var(--muted);font-size:var(--font-size-2xs);background:#fff;border-radius:8px;grid-area:2/1;place-self:center start;align-items:center;padding:0 10px;display:inline-flex}.wr-split--stack>.wr-stack-toggle+.wr-stack-toggle{grid-column:3;justify-self:end}.wr-split--stack[data-hidden-pane=left]{grid-template-rows:0 30px minmax(0,1fr)}.wr-split--stack[data-hidden-pane=right]{grid-template-rows:minmax(0,1fr) 30px 0}.wr-split--stack[data-hidden-pane=left]>:first-child,.wr-split--stack[data-hidden-pane=right]>:last-child{display:none}.wr-split--stack[data-hidden-pane]>.wr-divider{visibility:hidden}.wr-split--stack>.wr-side--prompt{overscroll-behavior:contain;align-content:start;min-height:0;max-height:none;padding:12px 14px;overflow:auto}.wr-split--stack>.wr-editor-col{flex-direction:column;gap:4px;min-height:0;display:flex}.wr-split--stack .wr-editor-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.wr-split--stack .wr-editor-meta{padding:6px 12px}.wr-split--stack .wr-editor-frame{flex:auto;grid-template-rows:minmax(0,1fr);min-height:0}.wr-split--stack div.wr-editor-content{overscroll-behavior:contain;resize:none;height:100%;min-height:0}.wr-split--stack .wr-hint{font-size:var(--font-size-2xs)}}@media (min-width:761px) and (max-width:900px){.wr-desk--runner .runner-exit-label{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}}@media (max-width:400px){.wr-desk--runner>.wr-desk-bar{gap:4px;padding-inline:8px}.wr-desk--runner>.wr-desk-bar .wr-desk-actions{gap:4px}.wr-desk--runner>.wr-desk-bar .focused-language-switch>.focused-language-choice{padding-inline:7px}.wr-desk--runner>.wr-desk-bar .wr-desk-actions>.rp-submit{padding-inline:10px}.wr-desk--runner>.wr-desk-bar .wr-desk-actions>.rp-exit{padding-inline:9px}}.test-extraction{gap:1rem;padding:1.25rem;display:grid}.test-extraction-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.test-extraction-head p{margin:.25rem 0 0}.test-extraction h4{font-size:var(--font-size-md);margin:0 0 .6rem;font-weight:500}.test-extraction-grid{gap:1.5rem;display:grid}.test-extraction-grid--audio{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.test-extraction-seg{background:#f1f4f0;border-radius:9px;gap:.25rem;margin-bottom:.75rem;padding:.2rem;display:inline-flex}.test-extraction-seg button{font-size:var(--font-size-sm);color:var(--button-fg);background:0 0;border:0;padding:.3rem .8rem}.test-extraction-seg button.is-on{background:var(--card);font-weight:500;box-shadow:0 1px 2px #00000014}.test-extraction-drop{text-align:center;cursor:pointer;background:#f8fbf7;border:1.5px dashed #aabdab;border-radius:11px;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 1rem;display:flex;position:relative}.test-extraction-drop:hover,.test-extraction-drop:focus-within{background:var(--accent-soft)}.test-extraction-drop.is-filled{background:var(--card);text-align:left;border-style:solid;border-color:#c6d6c7;justify-content:flex-start}.test-extraction-drop--compact{margin-top:.6rem;padding:.85rem}.test-extraction-drop,.test-extraction-replace,.test-extraction-slot-name,.test-extraction-inline-file{overflow:hidden}.test-extraction-drop input,.test-extraction-replace input,.test-extraction-slot-name input,.test-extraction-inline-file input{opacity:0;cursor:pointer;width:100%;min-width:0;height:100%;padding:0;position:absolute;inset:0}.test-extraction-drop:focus-within,.test-extraction-replace:focus-within,.test-extraction-slot-name:focus-within{outline-offset:3px;outline:3px solid #739b79}.test-extraction-drop strong,.test-extraction-drop small{display:block}.test-extraction-drop strong{font-weight:500}.test-extraction-drop small,.test-extraction-note{color:var(--muted);font-size:var(--font-size-xs)}.test-extraction-file-icon{background:var(--accent-soft);height:2.5rem;color:var(--success);font-size:var(--font-size-3xs);border-radius:6px;flex:0 0 2.1rem;place-items:center;font-weight:500;display:grid}.test-extraction-inline-file{color:var(--button-fg);font-size:var(--font-size-xs);cursor:pointer;margin-top:.4rem;text-decoration:underline;display:inline-block;position:relative}.test-extraction-check{font-size:var(--font-size-sm);align-items:center;gap:.5rem;margin-top:.9rem;display:flex}.test-extraction-check input{width:auto;accent-color:var(--success)}.test-extraction-more{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.6rem}.test-extraction-more>summary{color:var(--success);font-size:var(--font-size-sm);cursor:pointer}.test-extraction-slots{grid-template-columns:minmax(0,1fr);gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.test-extraction-slot{border:1px solid var(--line);min-height:3rem;font-size:var(--font-size-sm);border-radius:9px;align-items:center;gap:.6rem;padding:.45rem .7rem;display:flex;overflow:hidden}.test-extraction-slot.is-empty{color:var(--muted);border-style:dashed}.test-extraction-slot-number{background:var(--accent-soft);height:1.6rem;color:var(--success);font-size:var(--font-size-2xs);border-radius:7px;flex:0 0 1.6rem;place-items:center;display:grid}.test-extraction-slot-name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;min-width:0;position:relative;overflow:hidden}.test-extraction-slot-duration{color:var(--muted);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums}.test-extraction-play{width:1.9rem;height:1.9rem;font-size:var(--font-size-3xs);border-radius:50%;flex:0 0 1.9rem;place-items:center;padding:0;display:grid}.test-extraction-play.is-on{background:var(--success);border-color:var(--success);color:#fff}.test-extraction-replace{cursor:pointer;position:relative}.test-extraction-library{width:auto;min-width:0;min-height:2rem;font-size:var(--font-size-2xs);flex:0 7.5rem;padding:.2rem .45rem}.test-extraction-asr{border:1px solid var(--line);background:#fafcf9;border-radius:10px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:.25rem .75rem;margin-top:.75rem;padding:.75rem .9rem;display:grid}.test-extraction-asr .test-extraction-note{grid-column:1/-1;margin:0}.test-extraction-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.9rem;display:flex}.test-extraction-error{border:1px solid var(--danger-line);background:var(--danger-soft);color:var(--danger);font-size:var(--font-size-sm);border-radius:9px;margin:0;padding:.6rem .8rem}.test-extraction-banner{background:var(--card);font-size:var(--font-size-sm);border:1px solid #c6d6c7;border-radius:11px;gap:.75rem;margin:.75rem 0 1rem;padding:.85rem 1rem;display:grid}.test-extraction-banner.is-running{background:var(--accent-soft)}.test-extraction-banner.has-failures{border-color:var(--warning-line)}.test-extraction-banner-head{color:var(--success);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.test-extraction-banner-head strong{font-weight:500}.test-extraction-bar{background:var(--card);border-radius:9px;flex:10rem;max-width:16rem;height:5px;overflow:hidden}.test-extraction-bar span{background:var(--success);height:100%;transition:width .4s;display:block}.test-extraction-units{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.test-extraction-unit{border:1px solid var(--line);background:var(--card);border-radius:9px;gap:.35rem;padding:.55rem .65rem;display:grid}.test-extraction-unit.is-failed{border-color:var(--danger-line)}.test-extraction-unit-name{justify-content:space-between;align-items:center;gap:.5rem;font-weight:500;display:flex}.test-extraction-unit-failure{color:var(--danger);font-size:var(--font-size-xs);justify-items:start;gap:.4rem;display:grid}.test-extraction-unit-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.test-extraction-retry-note{border-top:1px solid var(--line);gap:.4rem;padding-top:.4rem;display:grid}.test-extraction-retry-note label{font-size:var(--font-size-xs);gap:.25rem;display:grid}.test-extraction-retry-note textarea{resize:vertical;width:100%;min-height:4.5rem}.test-extraction-retry-warning{color:var(--danger);font-size:var(--font-size-xs);margin:0}.test-extraction-steps{flex-wrap:wrap;gap:.3rem;display:flex}.test-extraction-step{color:var(--muted);font-size:var(--font-size-2xs);background:#f1f3f0;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem;display:inline-flex}.test-extraction-step:before{content:"";background:#c3cac2;border-radius:50%;width:.4rem;height:.4rem}.test-extraction-step.run,.test-extraction-step.done{background:var(--accent-soft);color:var(--success)}.test-extraction-step.run:before{background:var(--success);animation:.9s infinite alternate test-extraction-blink}.test-extraction-step.done:before{content:"✓";width:auto;height:auto;font-size:var(--font-size-3xs);background:0 0}@keyframes test-extraction-blink{to{opacity:.3}}@media (prefers-reduced-motion:reduce){.test-extraction-step.run:before{animation:none}}.test-extraction-review>summary{color:var(--warning);cursor:pointer;font-weight:500}.test-extraction-review ul{color:var(--ink);margin:.4rem 0 0;padding-left:1.2rem}.test-extraction-lock{border:0;min-width:0;margin:0;padding:0}.test-extraction-lock:disabled{opacity:.72}@media (max-width:760px){.test-extraction{padding:1rem}.test-extraction-head{flex-direction:column}.test-extraction-grid--audio,.test-extraction-asr{grid-template-columns:1fr}.test-extraction-actions{flex-direction:column;align-items:stretch}}button.button-link,label.button-link{color:var(--button-fg);font-size:var(--font-size-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:.2rem 0;text-decoration:underline}button.button-link:hover:not(:disabled){color:var(--accent-dark);background:0 0}button.sp-primary{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;align-items:center;gap:8px;display:inline-flex}button.sp-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.sp-primary:disabled{opacity:.55;cursor:not-allowed}button.sp-link-button{color:var(--accent-dark);text-underline-offset:3px;background:0 0;border:0;padding:2px 0;font-weight:550;text-decoration:underline}button.sp-link-button:hover:not(:disabled){color:var(--accent);background:0 0}.sp-note,.sp-waiting{border:1px solid var(--warning-line);background:var(--warning-soft);color:var(--warning);border-radius:14px;padding:12px 16px}.sp-waiting p{margin:4px 0 0}.sp-room,.sp-returned,.sp-start,.sp-mic{gap:16px;max-width:920px;margin:0 auto;display:grid}.sp-room-bar{z-index:5;border:1px solid var(--line);background:var(--card);border-radius:20px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:grid;position:sticky;top:0;box-shadow:0 2px 3px #18221b05}.sp-room{gap:24px;width:100%;max-width:none}.sp-room-notice{border-radius:18px;align-items:center;gap:16px;margin:0;padding:18px 24px;font-weight:550;display:flex}.sp-room-notice svg{flex-shrink:0}.sp-room-title{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.sp-room-title strong{font-size:var(--font-size-lg);font-weight:550}.sp-room-title span{color:var(--muted);font-size:var(--font-size-xs)}.sp-room-actions{justify-content:flex-end;gap:12px;display:flex}.sp-stepper{flex-wrap:wrap;justify-content:center;gap:12px;margin:0;padding:0;list-style:none;display:flex}button.sp-step{background:var(--card);border-color:var(--line);width:44px;height:44px;color:var(--muted);font-size:var(--font-size-lg);border-radius:999px;padding:0}button.sp-step.is-done{background:var(--accent-soft);border-color:var(--button-border);color:var(--accent-dark)}button.sp-step.is-failed{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}button.sp-step[aria-current=step]{outline:2px solid var(--accent);outline-offset:2px;color:var(--ink)}.sp-card{border:1px solid var(--line);background:var(--card);border-radius:20px;gap:16px;padding:24px;display:grid}.sp-room .sp-card{border-radius:28px;gap:24px;min-height:460px;padding:36px 56px 32px;box-shadow:0 2px 3px #18221b05}.sp-room .sp-card-part{letter-spacing:.08em;font-weight:650}.sp-room .sp-question{font-size:var(--font-size-3xl);overflow-wrap:anywhere;font-weight:650}.sp-card-part{color:var(--muted);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:550}.sp-question{font-size:var(--font-size-2xl);margin:0;line-height:1.4}.sp-question--small{font-size:var(--font-size-lg)}.sp-cue-card{border:1px dashed var(--button-border);background:var(--accent-soft);border-radius:14px;padding:16px 20px}.sp-cue-card h2{font-size:var(--font-size-xl);margin:4px 0 8px}.sp-cue-card p,.sp-cue-card ul{margin:4px 0}.sp-cue-lead{color:var(--muted);font-size:var(--font-size-xs)}.sp-examiner audio,.sp-answer audio,.sp-answer-block audio,.sp-admin-audio audio{width:100%;max-width:420px}.sp-recorder,.sp-prep{justify-items:center;gap:10px;padding:8px 0;display:grid}.sp-recorder{align-content:center;min-height:220px;padding:24px 0 32px}.sp-recorder .sp-clock{color:var(--muted);font-size:var(--font-size-base);font-weight:400}.sp-prep{justify-items:stretch}.sp-prep-clock,.sp-clock{font-variant-numeric:tabular-nums;margin:0;font-weight:550}.sp-prep-clock{font-size:var(--font-size-xl);text-align:center}button.sp-record{color:var(--ink);font-size:var(--font-size-lg);background:0 0;border:0;border-radius:16px;justify-items:center;gap:14px;padding:0;display:grid}.sp-record-icon{border:1px solid var(--button-border);background:color-mix(in srgb, var(--button-bg) 55%, var(--card));width:88px;height:88px;color:var(--accent-dark);border-radius:999px;place-items:center;transition:background .15s;display:grid;box-shadow:0 8px 24px #18221b05}button.sp-record:hover:not(:disabled){background:0 0}button.sp-record:hover:not(:disabled) .sp-record-icon{background:var(--button-bg-hover)}.sp-record-label{font-weight:650}button.sp-record.is-recording{color:var(--danger)}button.sp-record.is-recording .sp-record-icon{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}button.sp-record.is-recording svg{animation:1s ease-in-out infinite sp-pulse}@media (prefers-reduced-motion:reduce){button.sp-record.is-recording svg{animation:none}}@keyframes sp-pulse{50%{opacity:.35}}.sp-meter{background:var(--line);border-radius:999px;width:min(260px,100%);height:6px;overflow:hidden}.sp-meter span{background:var(--accent);transform-origin:0;height:100%;transition:transform 80ms linear;display:block}.sp-meter--large{width:min(360px,100%);height:10px}.sp-answer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sp-save{font-size:var(--font-size-xs);font-weight:550}.sp-save--saved{color:var(--success)}.sp-save--uploading{color:var(--muted)}.sp-save--failed{color:var(--danger)}.sp-card-nav{border-top:1px solid var(--line);justify-content:space-between;gap:8px;padding-top:24px;display:flex}.sp-room .button-secondary{background:color-mix(in srgb, var(--button-bg) 55%, var(--card))}.sp-room .button-secondary:hover:not(:disabled){background:var(--button-bg-hover)}.sp-room .sp-answer{justify-content:center}@media (max-width:1024px){.sp-room-bar{grid-template-columns:minmax(0,1fr) auto}.sp-stepper{grid-area:2/1/auto/-1}}@media (min-width:1025px){.sp-stepper{max-width:360px}}@media (max-width:480px){.sp-room-title{grid-column:1/-1}.sp-room-actions{grid-area:2/1/auto/-1}.sp-stepper{grid-row:3}}.sp-dialog-backdrop{z-index:50;background:#18221b59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sp-dialog{background:var(--card);border-radius:20px;gap:12px;width:min(460px,100%);padding:24px;display:grid}.sp-dialog h2{font-size:var(--font-size-xl);margin:0}.sp-mic{border:1px solid var(--line);background:var(--card);border-radius:20px;max-width:560px;padding:24px}.sp-mic h2{margin:0}.sp-head-card{border:1px solid var(--line);background:var(--card);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.sp-head-card h1{font-size:var(--font-size-2xl);margin:2px 0 4px}.sp-head-meta{color:var(--muted);font-size:var(--font-size-xs);margin:0}.sp-start{gap:20px;width:100%;max-width:760px;margin:32px auto}.sp-start .sp-head-card,.sp-start .sp-scope-card{padding:28px;box-shadow:0 8px 28px #18221b06}.sp-start .sp-head-card>div,.sp-start .sp-scope-head>div,.sp-start .sp-scope-card--full>div{flex:1;min-width:0}.sp-start .sp-head-card h1{font-size:var(--font-size-display-3);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 12px;line-height:1.3}.sp-start .sp-head-meta,.sp-start .sp-scope-card p{font-size:var(--font-size-md);line-height:1.65}.sp-start .sp-scope-head{gap:16px}.sp-start .practice-start-primary{justify-self:end;max-width:100%;margin-inline-start:auto}.sp-start .sp-scope-questions li{font-size:var(--font-size-md);padding:14px 0;line-height:1.6}.sp-start .sp-scope-questions li>span{overflow-wrap:anywhere;min-width:0}.sp-start .sp-scope-questions small{color:var(--muted);font-size:var(--font-size-xs);margin-bottom:4px}.sp-start .sp-link-button{min-height:44px;font-size:var(--font-size-sm);flex-shrink:0}@media (max-width:640px){.sp-start{gap:16px;margin:12px auto}.sp-start .sp-head-card,.sp-start .sp-scope-card{padding:24px 20px}.sp-start .sp-head-card{flex-direction:column}.sp-start .sp-scope-head,.sp-start .sp-scope-questions li{flex-direction:column;align-items:stretch}.sp-start .practice-start-primary,.sp-start .sp-link-button{align-self:flex-end}}.sp-head-actions{flex-wrap:wrap;gap:8px;display:flex}button.sp-exit{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.sp-scope-card{border:1px solid var(--line);background:var(--card);border-radius:18px;gap:12px;padding:18px 20px;display:grid}.sp-scope-card--full{background:var(--accent-soft);border-color:var(--button-border);grid-template-columns:1fr auto;align-items:center}.sp-view-tabs{width:fit-content;margin:-8px 0 20px;display:flex}.sp-view-tabs[hidden]{display:none}.sp-part-search{max-width:420px;margin:0 0 18px}.student-practice-lanes.sp-part-lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sp-part-lanes .student-practice-lane-title-row h2{font-size:23px}.sp-part-entry .student-practice-progress-line{flex-wrap:wrap;row-gap:4px}.student-practice-subtable--in-progress .sp-part-entry .student-practice-entry-title{margin-top:0}.sp-part-entry-open{max-width:100%;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;box-shadow:none;cursor:pointer;background:0 0;border:0;padding:0;display:block;overflow:hidden}.student-practice-lane--speaking .student-practice-subtable .student-practice-entry-title,.student-practice-lane--writing .student-practice-subtable .student-practice-entry-title,.student-practice-lane--speaking .sp-part-entry-open{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.student-practice-lane--speaking .student-practice-subtable:not(.student-practice-subtable--in-progress),.student-practice-lane--writing .student-practice-subtable:not(.student-practice-subtable--in-progress){--practice-row-height:116px}@media (max-width:520px){.student-practice-lane--speaking .student-practice-subtable:not(.student-practice-subtable--in-progress),.student-practice-lane--writing .student-practice-subtable:not(.student-practice-subtable--in-progress){--practice-row-height:152px}}.sp-part-entry-open:hover,.sp-part-entry-open:focus-visible{background:0 0;text-decoration:underline;transform:none}@media (max-width:1180px){.student-practice-lanes.sp-part-lanes{grid-template-columns:1fr}}.sp-part-lanes .student-practice-lane{container-type:inline-size}@container (max-width:440px){.student-practice-subtable .sp-part-entry{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding-inline:12px}.sp-part-entry .student-practice-scope-label{display:none}.sp-part-entry .student-practice-entry-action{font-size:var(--font-size-md);padding-left:4px}.sp-part-entry .student-practice-entry-action-word{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.sp-scope-card h2{font-size:var(--font-size-xl);margin:0}.sp-scope-card p{color:var(--muted);margin:2px 0 0}.sp-scope-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sp-scope-questions{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sp-scope-questions li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.sp-scope-questions small{color:var(--muted);font-size:var(--font-size-3xs);display:block}.sp-score-card{border:1px solid var(--line);background:var(--card);border-radius:20px;grid-template-columns:auto 1fr;gap:16px 24px;padding:20px 24px;display:grid}.sp-band-tile{background:var(--accent-soft);border-radius:16px;place-items:center;min-width:120px;padding:12px;display:grid}.sp-band-tile span{color:var(--muted);font-size:var(--font-size-xs)}.sp-band-tile strong{font-size:2rem}.sp-band-tile--mid{background:var(--warning-soft)}.sp-band-tile--low{background:var(--danger-soft)}.sp-criteria{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sp-criteria li{justify-content:space-between;gap:12px;display:flex}.sp-band-badge{text-align:center;background:var(--line);border-radius:999px;min-width:32px;padding:2px 10px;font-weight:600}.sp-band-badge--good{background:var(--accent-soft);color:var(--accent-dark)}.sp-band-badge--mid{background:var(--warning-soft);color:var(--warning)}.sp-band-badge--low{background:var(--danger-soft);color:var(--danger)}.sp-summary{border-top:1px solid var(--line);grid-column:1/-1;padding-top:12px}.sp-summary p{white-space:pre-wrap;margin:6px 0}.sp-summary--clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sp-answers{gap:16px;margin:0;padding:0;list-style:none;display:grid}.sp-answer-block{border:1px solid var(--line);background:var(--card);border-radius:18px;gap:10px;padding:18px 20px;display:grid}.sp-transcript-box{background:var(--paper);border-radius:12px;padding:12px 14px}.sp-transcript-label{color:var(--muted);font-size:var(--font-size-3xs);margin:0 0 6px}.sp-transcript{margin:0;line-height:1.9}button.sp-word{color:inherit;font:inherit;-webkit-user-select:text;user-select:text;background:0 0;border:0;border-radius:4px;padding:0 1px;font-weight:400}button.sp-word:hover:not(:disabled){background:var(--accent-soft)}button.sp-word.is-marked{background:#fff1b8}button.sp-word.is-playing{outline:2px solid var(--accent)}.sp-comment-list{gap:8px;display:grid}button.sp-time{font-size:var(--font-size-3xs);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px}.sp-comment-author{font-weight:550}.sp-comment-quote{color:var(--muted);font-size:var(--font-size-xs);display:block}.sp-comment-text{white-space:pre-wrap;margin:4px 0}.sp-replies{border-left:2px solid var(--line);gap:4px;margin:4px 0;padding-left:12px;list-style:none;display:grid}.sp-reply-form{flex-wrap:wrap;gap:6px;display:flex}.sp-reply-form input{flex:180px}.sp-review-switch{margin-bottom:12px}.sp-grade{gap:10px;display:grid}.sp-grade-bands{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.sp-grade-band{font-size:var(--font-size-xs);gap:4px;font-weight:550;display:grid}.sp-check-listening{color:var(--warning);font-weight:500}.sp-grade-overall{background:var(--accent-soft);border-radius:12px;gap:2px;padding:6px 12px;display:grid}.sp-grade-overall span{font-size:var(--font-size-3xs);color:var(--muted)}.sp-grade-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-ai-control{align-items:center;gap:6px;display:inline-flex}.sp-confirm{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.sp-grade-note{margin:0}.sp-ai-banner{background:var(--accent-soft);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.sp-ai-banner p{margin:0}.sp-ai-banner--failed{background:var(--warning-soft);color:var(--warning)}.sp-timeline{background:var(--line);border-radius:999px;max-width:420px;height:10px;position:relative}button.sp-timeline-mark{background:var(--accent);border:0;border-radius:999px;min-width:6px;height:10px;padding:0;position:absolute;top:0}button.sp-timeline-mark.is-ai{background:#7a5bc4}.sp-no-transcript{margin:0}.sp-admin-part{border:1px solid var(--line);background:var(--card);border-radius:16px;gap:10px;padding:16px;display:grid}.sp-admin-part-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sp-admin-part-head h4{margin:0}.sp-admin-group{background:var(--paper);border-radius:12px;gap:8px;padding:12px;display:grid}.sp-admin-question{gap:6px;display:grid}.sp-admin-inline{align-items:center;gap:6px;display:flex}.sp-admin-inline input{flex:auto;min-width:0}.sp-admin-audio{font-size:var(--font-size-xs);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-admin-bullets{gap:6px;display:grid}.sp-stale{background:var(--warning-soft);color:var(--warning)}.sp-voice-settings{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:640px){.sp-room-bar{gap:16px 8px;padding:16px;position:static}.sp-room{gap:16px}.sp-room-actions{gap:6px}.sp-room-actions button{padding:10px 12px}.sp-room-title strong{font-size:var(--font-size-sm)}.sp-room-title span{font-size:var(--font-size-2xs)}.sp-room-notice{font-size:var(--font-size-xs);gap:12px;padding:16px}.sp-room .sp-card{border-radius:20px;gap:20px;min-height:420px;padding:24px 20px}.sp-room .sp-question{font-size:var(--font-size-2xl)}.sp-recorder{min-height:200px}.sp-room .sp-examiner audio,.sp-room .sp-answer audio{min-width:0}.sp-card-nav button{padding:10px 14px}.sp-card,.sp-head-card,.sp-score-card,.sp-answer-block{padding:16px}.sp-score-card,.sp-scope-card--full{grid-template-columns:1fr}.sp-question{font-size:var(--font-size-xl)}button.sp-step{width:40px;height:40px}}.content-import-drawer{border:0;border-left:1px solid var(--line);width:min(620px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);margin:0 0 0 auto;padding:0}.content-import-drawer:not([open]){display:none}.content-import-drawer::backdrop{background:#141c1647}.content-import-drawer textarea{min-height:220px;font-family:var(--font-lexend), sans-serif;font-size:var(--font-size-xs)}.content-import-drawer .assignment-drawer-head>div{min-width:0}.content-import-drawer .assignment-drawer-body{overscroll-behavior:contain}.content-import-drawer .assignment-drawer-foot{flex-shrink:0}.content-import-guide,.content-import-empty{font-size:var(--font-size-xs)}.content-import-empty{border:1px dashed var(--line);border-radius:8px;padding:20px}.content-import-summary{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.content-import-rows{margin:12px 0 0;padding:0;list-style:none}.content-import-rows>li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:8px;padding:14px 0;display:flex}.content-import-rows>li>button{white-space:normal;text-align:left;align-self:flex-start;max-width:100%}.content-import-issues{color:var(--danger);font-size:var(--font-size-xs);padding-left:18px}.content-import-issues code{white-space:normal;overflow-wrap:anywhere}.content-import-publish{font-size:var(--font-size-sm);cursor:pointer;align-items:center;gap:8px;margin-right:auto;display:inline-flex}.content-import-drawer .assignment-drawer-foot{flex-wrap:wrap;align-items:center}@media (max-width:480px){.content-import-drawer .assignment-drawer-foot>button{width:100%}}.content-import-type-guide{font-size:var(--font-size-xs)}.content-import-type-guide summary{cursor:pointer;color:var(--accent-dark)}.content-import-type-guide ul{padding-left:18px}.content-import-type-guide li{overflow-wrap:anywhere;margin-top:10px}.content-import-type-guide code{-webkit-user-select:all;user-select:all}.student-test-preview{z-index:1200;background:var(--background,#f2f5f2);flex-direction:column;min-width:0;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.student-test-preview-bar{color:#695421;background:#fff8e6;border-bottom:1px solid #dccb9d;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.student-test-preview-bar>span{flex:1}.student-test-preview-bar label{align-items:center;gap:6px;margin:0;display:flex}.student-test-preview-bar button,.student-test-preview-bar select{min-height:36px;padding:8px 12px}.student-test-preview-bar select{width:auto}.student-test-preview-notice{background:var(--accent-soft);margin:0;padding:8px 16px}.student-test-preview-runner{flex-direction:column;flex:1;min-width:0;min-height:0;padding:16px;display:flex}@media (max-width:900px){.student-test-preview-bar{gap:6px;padding:8px}.student-test-preview-bar>span{flex-basis:calc(100% - 170px)}.student-test-preview-runner{padding:8px;display:block;overflow-y:auto}}.sp-sample-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);align-items:start;gap:1.25rem;display:grid}.sp-review-answer{min-width:0}.sp-sample-layout .sp-answers{margin-top:.75rem}.sp-answer-picker{flex-wrap:wrap;gap:.4rem;display:flex}.sp-answer-picker button{border:1px solid var(--line);background:var(--card);color:var(--muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:.5rem;padding:.45rem .75rem}.sp-answer-picker button[aria-pressed=true]{border-color:var(--button-border);background:var(--accent-soft);color:var(--accent-dark)}.sp-sample-panel{border:1px solid var(--line);background:var(--card);border-radius:.85rem;min-width:0;padding:1.25rem}.sp-sample-panel h2{font-size:var(--font-size-lg);margin:.25rem 0 .75rem}.sp-sample-fields{border:0;gap:1rem;min-width:0;margin:0;padding:0;display:grid}.sp-sample-fields textarea{resize:vertical;width:100%}.sp-sample-ai,.sp-sample-proposal{gap:.65rem;display:grid}.sp-sample-proposal{background:var(--accent-soft);border-radius:.5rem;padding:.85rem}.sp-sample-voice{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:.65rem;padding-top:1rem;display:flex}.sample-choice{font-size:var(--font-size-sm);align-items:start;gap:.55rem;display:flex}.sample-choice input[type=checkbox]{width:1rem;min-width:1rem;height:1rem;accent-color:var(--accent);flex:0 0 1rem;margin-top:.2rem;padding:0}.sample-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.returned-sample,.wr-sample-return{border:1px solid var(--button-border);background:var(--accent-soft);border-radius:.65rem;margin:1rem 0;padding:1rem}.returned-sample summary,.wr-sample-return summary{cursor:pointer;color:var(--accent-dark);font-weight:600}.returned-sample audio,.sp-sample-panel audio{width:100%;margin-top:.75rem}.wr-sample-return{gap:.75rem;display:grid}@media (max-width:900px){.sp-sample-layout{grid-template-columns:minmax(0,1fr)}}.insights-panel{flex-direction:column;gap:14px;min-width:0;display:flex}.insights-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;display:flex}.insights-title{font-size:var(--font-size-xl);letter-spacing:-.02em;margin:0 0 2px}.insights-muted,.insights-footnote{color:var(--muted);font-size:var(--font-size-xs);margin:0}.insights-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.insights-select,.insights-search{border:1px solid var(--line);background:var(--card);min-height:34px;font:inherit;font-size:var(--font-size-sm);border-radius:9px;padding:5px 10px}.insights-search{min-width:170px}.insights-window,.insights-groups{flex-wrap:wrap;width:max-content;max-width:100%}.insights-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:2px}.insights-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.insights-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.insights-kpi{border:1px solid var(--line);background:var(--card);border-radius:13px;padding:11px 14px}.insights-kpi dt{color:var(--muted);font-size:var(--font-size-2xs);font-weight:650}.insights-kpi dd{font-size:var(--font-size-xl);letter-spacing:-.02em;margin:4px 0 0;font-weight:700}.insights-kpi dd small{color:var(--muted);font-size:var(--font-size-xs);letter-spacing:0;font-weight:550}.insights-table-wrap{border:1px solid var(--line);background:var(--card);border-radius:13px;overflow-x:auto}.insights-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.insights-table thead th{color:var(--muted);font-size:var(--font-size-2xs);text-align:left;white-space:nowrap;background:#eef2ee;padding:8px 10px;font-weight:700}.insights-table td,.insights-table tbody th{border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap;text-align:left;padding:9px 10px;font-weight:450}.insights-row{cursor:pointer}.insights-row:hover>*,.insights-row.is-selected>*{background:var(--accent-soft)}.insights-name-col{z-index:1;background:var(--card);text-transform:none;letter-spacing:normal;min-width:190px;max-width:260px;position:sticky;left:0;white-space:normal!important}.insights-name-col .insights-chips{margin-top:4px}.insights-table thead .insights-name-col{background:#eef2ee}.insights-num{text-align:right!important}.insights-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.insights-name{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;display:block}.insights-name:hover{text-decoration:underline}.insights-sub{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:var(--font-size-2xs);font-weight:450;display:block}.insights-sub-inline{color:var(--muted);font-size:var(--font-size-2xs)}.insights-dots{vertical-align:middle;gap:2px;display:inline-flex}.insights-dots i{background:#edf0ed;border-radius:2px;width:7px;height:14px;display:block}.insights-dots i.insights-dot--1{background:#93c29d}.insights-dots i.insights-dot--2{background:#5c9e68}.insights-dots i.insights-dot--3{background:#2f6b3a}.insights-counts{font-variant-numeric:tabular-nums;font-size:var(--font-size-xs);gap:7px;display:inline-flex}.insights-levels{font-size:var(--font-size-xs);grid-template-columns:repeat(4,40px);display:inline-grid}.insights-level{flex-direction:column;display:flex}.insights-level-letter{color:var(--muted);font-size:var(--font-size-2xs);font-weight:700}.insights-level b{font-variant-numeric:tabular-nums}.insights-up{color:var(--success)}.insights-down{color:var(--danger)}.insights-chips{flex-wrap:wrap;gap:4px;display:inline-flex}.insights-chip{border:1px solid var(--line);background:var(--card);font-size:var(--font-size-2xs);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:650;display:inline-flex}.insights-chip--good{border-color:var(--button-border);background:var(--accent-soft);color:var(--success)}.insights-chip--warn{border-color:var(--warning-line);background:var(--warning-soft);color:var(--warning)}.insights-chip--bad{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.insights-drawer{width:min(540px,100vw)}.insights-section h4{font-size:var(--font-size-md);justify-content:space-between;gap:8px;margin:0 0 8px;display:flex}.insights-section h4 small{color:var(--muted);font-size:var(--font-size-2xs);font-weight:450}.insights-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.insights-mini-stats div{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.insights-mini-stats b{font-size:var(--font-size-lg);display:block}.insights-mini-stats span{color:var(--muted);font-size:var(--font-size-2xs)}.insights-calendar{grid-template-rows:repeat(7,12px);grid-auto-columns:12px;grid-auto-flow:column;gap:3px;display:grid;overflow-x:auto}.insights-calendar i,.insights-legend i{border-radius:3px;width:12px;height:12px;display:block}.insights-cal-pad{visibility:hidden}.insights-cal-0{background:#edf0ed}.insights-cal-1{background:#c9e0cd}.insights-cal-2{background:#93c29d}.insights-cal-3{background:#5c9e68}.insights-cal-4{background:#2f6b3a}.insights-legend{color:var(--muted);font-size:var(--font-size-2xs);align-items:center;gap:4px;margin:6px 0 0;display:flex}.insights-bars{gap:5px;display:grid}.insights-bar-group{color:var(--muted);font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 2px;font-weight:700}.insights-bar{font-size:var(--font-size-xs);grid-template-columns:minmax(0,150px) minmax(0,1fr) 36px;align-items:center;gap:10px;display:grid}.insights-bar>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.insights-bar-track{background:#edf0ed;border-radius:4px;height:10px;overflow:hidden}.insights-bar-track i{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}.insights-bar b{text-align:right;font-variant-numeric:tabular-nums}.insights-level-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.insights-level-tile{border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.insights-level-skill{color:var(--muted);font-size:var(--font-size-2xs);font-weight:700}.insights-level-tile b{font-size:var(--font-size-xl)}.insights-level-tile b small{font-size:var(--font-size-2xs)}.insights-struggles,.insights-visits{gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.insights-struggles li{border:1px solid var(--line);font-size:var(--font-size-sm);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-weight:600;display:flex}.insights-visits li{border-top:1px solid var(--line);font-size:var(--font-size-xs);grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding-top:6px;display:grid}.insights-visits li>span:last-child{grid-column:1/-1}@media (max-width:900px){.insights-kpis,.insights-level-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-search{flex:140px;min-width:0}}.insights-subs{flex-direction:column;gap:6px;display:flex}.insights-subrow{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);text-align:left;font:inherit;cursor:pointer;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:8px 11px;display:grid}.insights-subrow:hover{background:var(--accent-soft)}.insights-subrow[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.insights-subrow-title{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.insights-subrow-meta{color:var(--muted);font-size:var(--font-size-2xs);text-overflow:ellipsis;white-space:nowrap;grid-column:1;overflow:hidden}.insights-subrow-score{font-variant-numeric:tabular-nums;flex-direction:column;grid-area:1/2/span 2;align-items:flex-end;display:flex}.insights-subrow-score b{font-size:var(--font-size-sm)}.insights-subrow-score span{color:var(--muted);font-size:var(--font-size-2xs)}.insights-skill-tag{border:1px solid var(--line);color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.05em;text-transform:uppercase;vertical-align:1px;border-radius:5px;margin-right:6px;padding:0 5px;font-weight:750;display:inline-block}.insights-view-all{align-self:flex-start}.insights-sheet-scrim{z-index:22;background:#141c1647;position:fixed;inset:0}.insights-sheet{z-index:23;background:var(--card);border-left:1px solid var(--line);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:min(1040px,100vw);display:grid;position:fixed;top:0;bottom:0;right:0;box-shadow:-14px 0 40px #141c1629}.insights-sheet-head{border-bottom:1px solid #edf0ee;align-items:center;gap:10px;padding:12px 18px;display:flex}.insights-sheet-head p{color:var(--muted);font-size:var(--font-size-xs);flex:1;margin:0}.insights-sheet .iconbtn{min-width:34px;min-height:34px}.insights-sheet-body{grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.insights-sheet-rail{border-right:1px solid #edf0ee;flex-direction:column;gap:6px;padding:12px;display:flex;overflow-y:auto}.insights-sheet-main{padding:16px 20px 28px;overflow-y:auto}.insights-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;margin-bottom:14px;display:flex}.insights-detail-head h3{font-size:var(--font-size-xl);letter-spacing:-.02em;margin:4px 0 0}.insights-detail-actions{align-items:center;gap:6px;display:flex}.insights-detail{flex-direction:column;gap:18px;min-width:0;display:flex}.insights-stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.insights-stat-tiles>div{border:1px solid var(--line);border-radius:10px;min-width:0;padding:8px 10px}.insights-stat-tiles b{font-size:var(--font-size-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block}.insights-stat-tiles b small{color:var(--muted);font-size:var(--font-size-xs);letter-spacing:0;font-weight:550}.insights-stat-tiles span{color:var(--muted);font-size:var(--font-size-2xs)}.insights-warn-text{color:var(--warning)}.insights-timebar{flex-direction:column;gap:4px;display:flex}.insights-timebar-track{background:#e8ece7;border-radius:6px;height:10px;position:relative;overflow:hidden}.insights-timebar-track i{background:var(--accent);border-radius:6px;position:absolute;inset:0 auto 0 0}.insights-timebar-legend{color:var(--muted);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.insights-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.insights-detail-subhead{margin-top:14px!important}.insights-qmap{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px;display:grid}.insights-q{border:1px solid var(--button-border);background:var(--accent-soft);height:32px;color:var(--success);font-size:var(--font-size-2xs);font-variant-numeric:tabular-nums;border-radius:7px;place-items:center;font-weight:750;text-decoration:none;display:grid}.insights-q--wrong{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.insights-q--blank{color:var(--muted);background:#edf0ed;border-style:dashed;border-color:#cfd5ce}.insights-answers-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.insights-answers-head h4{margin:0}.insights-segment{width:max-content;max-width:100%}.insights-answer-table{border:1px solid var(--line);border-radius:12px;margin-bottom:6px;overflow-x:auto}.insights-answer-table table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.insights-answer-table th{color:var(--muted);font-size:var(--font-size-3xs);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#eef2ed;padding:8px 10px;font-weight:750}.insights-answer-table td{border-top:1px solid var(--line);vertical-align:top;padding:8px 10px}.insights-answer-part td{background:var(--paper);color:var(--muted);font-size:var(--font-size-xs);font-weight:700}.insights-mark{white-space:nowrap;font-weight:700}.insights-mark--correct{color:var(--success)}.insights-mark--wrong{color:var(--danger)}.insights-mark--blank{color:var(--muted)}.insights-answer-wrong{color:var(--danger);text-decoration:line-through;text-decoration-thickness:1px}.insights-prose{font-size:var(--font-size-sm);white-space:pre-wrap;margin:0;line-height:1.6}.insights-items{gap:12px;margin:0;padding-left:1.4em;display:grid}.insights-item-cue{color:var(--muted);font-size:var(--font-size-sm);margin:0 0 6px}.insights-essay{border:1px solid var(--line);background:var(--paper);font-size:var(--font-size-md);white-space:pre-wrap;border-radius:12px;padding:14px 16px;line-height:1.7}.insights-speaking-list,.insights-clip-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.insights-speaking-list>li{border:1px solid var(--line);font-size:var(--font-size-sm);border-radius:10px;padding:10px 12px}.insights-speaking-list p{margin:0 0 6px}.insights-speaking-list ul{color:var(--muted);margin:0 0 6px;padding-left:18px}.insights-audio{align-items:center;gap:10px;display:flex}.insights-audio audio{flex:1;min-width:0;height:36px}.insights-clip-list li{border-top:1px solid var(--line);font-size:var(--font-size-sm);grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding-top:8px;display:grid}.insights-student-view{z-index:30;background:var(--paper);flex-direction:column;gap:10px;padding:12px;display:flex;position:fixed;inset:0}.insights-student-view-bar{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}@media (max-width:900px){.insights-sheet-body{grid-template-columns:minmax(0,1fr)}.insights-sheet-rail{display:none}.insights-sheet-main{padding:14px 16px 24px}.insights-stat-tiles,.insights-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.insights-detail-columns{grid-template-columns:minmax(0,1fr)}}.insights-sheet-rail .insights-subrow{grid-template-columns:minmax(0,1fr)}.insights-sheet-rail .insights-subrow-score{flex-direction:row;grid-area:auto/1;align-items:baseline;gap:6px}.insights-segment button{white-space:nowrap}.insights-answer-table .insights-mark{font-size:var(--font-size-md)}.insights-answer-table td{white-space:normal}.insights-answer-table td.insights-num{white-space:nowrap}.assignment-edit-form{flex-direction:column;gap:16px;display:flex}.assignment-detail-instructions{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:760px) and (prefers-reduced-motion:reduce){.wr-margin.wr-margin--sheet{transition:none}}.dictation-conversion{background:#fbfdfb;border:1px solid #c5d7c2;border-radius:10px;margin-top:14px}.dictation-conversion-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.dictation-conversion-head>div:first-child{gap:2px;display:grid}.dictation-conversion-head small,.dictation-conversion-rows small{color:var(--muted);font-size:var(--font-size-2xs);display:block}.dictation-conversion-head .button-row{margin:0}.dictation-conversion-rows{margin:0;padding:0;list-style:none}.dictation-conversion-rows li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.dictation-conversion-rows li:last-child{border-bottom:0}.dictation-conversion-title{font-weight:500}.dictation-conversion-ok{color:var(--success)}.dictation-conversion-warn{color:var(--warning)}.dictation-conversion-rows .dictation-conversion-error{color:var(--danger)}.assignment-timing fieldset{border:0;min-width:0;margin:0;padding:0}.assignment-timing legend{margin-bottom:8px;font-size:13px;font-weight:600}.assignment-timing .assignment-timing-choice{border:1px solid var(--line);cursor:pointer;border-radius:7px;align-items:flex-start;gap:10px;margin:7px 0;padding:12px;display:flex}.assignment-timing-choice:has(input:checked){background:#f1f6ed;border-color:#7ca987}.assignment-timing .assignment-timing-choice input{accent-color:#277457;flex-shrink:0;width:auto;margin:3px 0 0}.assignment-timing-choice strong{font-size:13px;display:block}.assignment-timing-choice small{color:var(--muted);margin-top:4px;font-weight:400;line-height:1.4;display:block}.assignment-timing-minutes{max-width:190px;margin-top:14px}.assignment-timing-outcome{background:#f1f6ed;border-left:3px solid #7ca987;margin-top:14px;padding:12px 14px}.assignment-timing-outcome p{margin:0}.topic-admin h1{margin:4px 0 6px}.topic-admin-subtitle{color:var(--muted);font-size:var(--type-body);margin:0 0 18px}.topic-admin-state{color:var(--muted);font-size:var(--type-body)}.topic-admin-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.topic-admin-lists,.topic-admin-editor{border:1px solid var(--line);background:var(--card);border-radius:14px}.topic-admin-lists{padding:8px}.topic-admin-lists ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.topic-admin-lists li{align-items:center;gap:2px;display:flex}.topic-admin-list-item{min-width:0;color:var(--ink);font-size:var(--type-control);text-align:left;background:0 0;border:0;border-radius:9px;flex:1;align-items:center;gap:8px;padding:8px;font-weight:500;display:flex}.topic-admin-list-item:hover{background:#f0f3ef}.topic-admin-list-item[aria-current=true],.topic-admin-list-item[aria-current=true]:hover{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.topic-admin-grip{color:#a8b2aa;cursor:grab;letter-spacing:-.2em}.topic-admin-list-name{overflow-wrap:break-word;flex:1;min-width:0}.topic-admin-count{color:var(--muted);font-size:var(--type-meta);font-weight:500}.topic-admin-move{gap:2px;display:inline-flex}.topic-admin-move button,.topic-admin-word-move button,.topic-admin-row-actions button,.topic-admin-icons button{color:var(--muted);font-size:var(--type-meta);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:3px 7px}.topic-admin-move button:hover:not(:disabled),.topic-admin-word-move button:hover:not(:disabled),.topic-admin-row-actions button:hover:not(:disabled){background:var(--paper);color:var(--ink)}.topic-admin-move button:disabled,.topic-admin-word-move button:disabled{opacity:.35}.topic-admin-new{width:100%;color:var(--accent-dark);background:0 0;border:1px dashed #c4ccc5;border-radius:9px;margin-top:6px;padding:8px;font-weight:650}.topic-admin-inline{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.topic-admin-inline input,.topic-admin-manual input,.topic-admin-words input{width:100%;min-width:0;font-size:var(--type-control);border:1px solid #c4ccc5;border-radius:9px;padding:7px 9px}.topic-admin-inline input{flex:200px;width:auto}.topic-admin-primary{color:#fff;background:#396b49;border-color:#396b49;font-weight:650}.topic-admin-primary:hover:not(:disabled){background:#2f5a3e}.topic-admin-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000;font-weight:650}.topic-admin-editor{min-width:0;padding:16px}.topic-admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.topic-admin-identity{flex:320px;gap:8px;min-width:0;display:grid}.topic-admin-icons{flex-wrap:wrap;gap:4px;display:flex}.topic-admin-icons button{border-color:var(--line);background:var(--card);width:32px;height:32px;color:var(--ink);padding:0;font-size:15px}.topic-admin-icons button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.topic-admin-name{max-width:320px;font-size:var(--type-card);border:1px solid #c4ccc5;border-radius:10px;padding:7px 10px;font-weight:700}.topic-admin-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topic-admin-status,.topic-admin-confirm,.topic-admin-note{color:var(--muted);font-size:var(--type-meta)}.topic-admin-table-wrap{overflow-x:auto}.topic-admin-words{border-collapse:collapse;table-layout:fixed;width:100%;min-width:600px;font-size:var(--type-control)}.topic-admin-words th:first-child{width:56px}.topic-admin-words th:nth-child(2){width:18%}.topic-admin-words th:nth-child(3){width:104px}.topic-admin-words th:nth-child(4){width:22%}.topic-admin-words th:nth-child(6){width:116px}.topic-admin-words td{white-space:normal;overflow-wrap:break-word}.topic-admin-word-move button{padding:3px 5px}.topic-admin-words th{border-bottom:1px solid var(--line);color:#7a857d;font-size:var(--type-label);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding:8px 6px;font-weight:700}.topic-admin-words td{vertical-align:top;border-bottom:1px solid #eef1ee;padding:8px 6px}.topic-admin-words tr[draggable=true]{cursor:grab}.topic-admin-editing td{background:#fbfefb}.topic-admin-word{font-weight:700;display:block}.topic-admin-ipa{color:var(--muted);font-size:var(--type-meta);align-items:center;gap:4px;display:inline-flex}.topic-admin-example{color:var(--muted)}.topic-admin-empty{color:var(--muted);padding:16px 6px}.topic-admin-row-actions{text-align:right}.topic-admin-row-actions button{margin:0 0 4px 4px}.topic-admin-add{border:1px dashed #c4ccc5;border-radius:12px;margin-top:12px;padding:12px}.topic-admin-add .topic-admin-inline{margin-top:0}.topic-admin-meanings{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.topic-admin-meaning{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);font-size:var(--type-control);text-align:left;border-radius:10px;align-items:flex-start;gap:8px;padding:8px 10px;font-weight:500;display:flex}.topic-admin-meaning:hover:not(:disabled){border-color:#9fc7ab}.topic-admin-meaning-text{flex:1;gap:2px;display:grid}.topic-admin-meaning-text span{color:var(--muted);font-size:var(--type-meta)}.topic-admin-meaning-add{color:var(--muted);font-size:var(--type-meta);white-space:nowrap}.topic-admin-manual{grid-template-columns:1fr 140px 1.4fr 1.6fr auto auto;align-items:center;gap:8px;margin-top:10px;display:grid}@media (max-width:900px){.topic-admin-grid{grid-template-columns:minmax(0,1fr)}.topic-admin-manual{grid-template-columns:1fr 1fr}}.student-practice-all{width:100%;min-width:0}.student-practice-all>h2{font-size:var(--font-size-xl);margin:18px 0}.student-practice-all>.student-practice-lane-search{margin:0 0 20px}.student-practice-all .student-practice-subtable+.student-practice-subtable{margin-top:24px}.student-practice-lane-title-row>.student-practice-view-all{white-space:nowrap;flex:none;margin:0}.student-practice-scope-badge{color:#30593f;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.student-practice-scope-icon{background:#e8f0e8;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.student-practice-scope-icon svg{width:28px;height:28px}.student-practice-scope-label{text-align:center;max-width:100%;font-size:10.5px;font-weight:600;line-height:13px}.student-practice-scope-badge--listening{color:#345b6b}.student-practice-scope-badge--listening .student-practice-scope-icon{background:#e4eff4}.student-practice-scope-badge--partial .student-practice-scope-icon{background:#fff;border:1.5px solid #c9d9c8;border-radius:50%}.student-practice-scope-badge--listening.student-practice-scope-badge--partial .student-practice-scope-icon{border-color:#cbdce4}.practice-shelf--reading,.practice-shelf--writing,.practice-shelf--listening,.practice-shelf--speaking{--shelf-head:#eef6f0;--shelf-head-line:#dbe8de;--shelf-head-ink:#1f3325;--shelf-head-muted:#697d6d;--shelf-doc-bg:#deeee2;--shelf-doc:#316b48;--shelf-hover-line:#b8d5bf;--shelf-symbol-line:#cbdccc;--shelf-symbol:#547b60;--shelf-symbol-bg:#fafdfb;--shelf-code:#6d806f;--shelf-start-bg:#f7fcf8;--shelf-start-ink:#285d3d;--shelf-start-line:#b3d1bb;--shelf-skill:#3a8b5b;--shelf-skill-hover:#2d7049;--shelf-skill-soft:#e9f3e8;--shelf-skill-ink:#315c40}.practice-shelf--listening{--shelf-head:#eef5f8;--shelf-head-line:#d7e6ec;--shelf-head-ink:#1e3340;--shelf-head-muted:#677c86;--shelf-doc-bg:#dcebf1;--shelf-doc:#2f6c80;--shelf-hover-line:#b6d2dd;--shelf-symbol-line:#c7dbe3;--shelf-symbol:#3f7488;--shelf-symbol-bg:#f9fcfd;--shelf-code:#5f7884;--shelf-start-bg:#f7fbfd;--shelf-start-ink:#2b5d6e;--shelf-start-line:#b3cfda;--shelf-skill:#357f97;--shelf-skill-hover:#2a6a80;--shelf-skill-soft:#e3f0f5;--shelf-skill-ink:#2b5d6e}.practice-shelf--writing{--shelf-head:#f3f1fa;--shelf-head-line:#e2ddf2;--shelf-head-ink:#2b2545;--shelf-head-muted:#726c88;--shelf-doc-bg:#e6e1f6;--shelf-doc:#5546a3;--shelf-hover-line:#cbc2ea;--shelf-symbol-line:#d6cfee;--shelf-symbol:#5f53a6;--shelf-symbol-bg:#fbfaff;--shelf-code:#6f6890;--shelf-start-bg:#faf9fe;--shelf-start-ink:#4a3f8c;--shelf-start-line:#c9c0e8;--shelf-skill:#6152b3;--shelf-skill-hover:#4f4199;--shelf-skill-soft:#ece8fa;--shelf-skill-ink:#4a3f8c}.practice-shelf--speaking{--shelf-head:#fbf1f4;--shelf-head-line:#f0dbe2;--shelf-head-ink:#41222d;--shelf-head-muted:#86666f;--shelf-doc-bg:#f5dfe7;--shelf-doc:#9a3b60;--shelf-hover-line:#e8c2d0;--shelf-symbol-line:#ecd0da;--shelf-symbol:#9a4566;--shelf-symbol-bg:#fffafc;--shelf-code:#8a6570;--shelf-start-bg:#fefafb;--shelf-start-ink:#87304f;--shelf-start-line:#e6bccb;--shelf-skill:#a8456b;--shelf-skill-hover:#8d3657;--shelf-skill-soft:#f9e6ed;--shelf-skill-ink:#87304f}.practice-shelf{width:100%;min-width:0;color:var(--ink)}.practice-shelf-back{color:var(--accent);font-size:var(--type-row);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:600;display:inline-flex}.practice-shelf-back svg{width:18px;height:18px}.practice-shelf-title{font-size:var(--type-page);letter-spacing:-.02em;margin:14px 0 22px;font-weight:600}.practice-shelf-title:focus{outline:none}.practice-shelf-toolbar{z-index:5;align-items:center;gap:12px;display:flex;position:relative}.practice-shelf-search{background:#fff;border:1px solid #dfe7de;border-radius:13px;flex:1;align-items:center;gap:12px;min-width:0;height:52px;margin:0;padding:0 13px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 6px #1e3d2505}.practice-shelf-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #49966221}.practice-shelf-search svg{color:#91a096;flex:none;width:20px;height:20px}.practice-shelf-search input{width:100%;min-width:0;color:var(--ink);font-size:var(--type-body);background:0 0;border:0;outline:0}.practice-shelf-search kbd{color:var(--muted);font:inherit;font-size:var(--type-meta);background:#f7f9f6;border:1px solid #e0e6de;border-radius:6px;padding:1px 8px}.practice-shelf-filter{flex:none;position:relative}.practice-shelf-filter-trigger{color:#254733;height:52px;font-size:var(--type-control);cursor:pointer;background:#fff;border:1px solid #dfe7de;border-radius:13px;align-items:center;gap:10px;padding:0 17px;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #1e3d2505}.practice-shelf-filter-trigger:hover,.practice-shelf-filter-trigger[aria-expanded=true]{background:#f6faf6;border-color:#b3ceb9}.practice-shelf-filter-trigger svg{width:19px;height:19px}.practice-shelf-filter-count{color:#326143;min-width:21px;height:21px;font-size:var(--type-label);background:#dbece0;border-radius:20px;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.practice-shelf-popover{z-index:30;background:#fff;border:1px solid #dce6dc;border-radius:16px;width:400px;max-width:calc(100vw - 36px);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 52px #203f2526,0 3px 12px #203f250d}.practice-shelf-popover-head{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;padding:11px 12px 10px 16px;display:flex}.practice-shelf-popover-head h3{font-size:var(--type-row);margin:0;font-weight:600}.practice-shelf-popover-close{color:#86978a;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:20px;line-height:1;display:grid}.practice-shelf-popover-close:hover{color:#244b31;background:#eef4ee}.practice-shelf-fields{gap:12px;max-height:min(60vh,520px);padding:14px 16px;display:grid;overflow-y:auto}.practice-shelf-field{gap:7px;margin:0;display:grid}label.practice-shelf-field{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:8px}.practice-shelf-field-label{color:#78877b;font-size:var(--type-label);letter-spacing:.04em;text-transform:uppercase;font-weight:700}@media (max-width:480px){label.practice-shelf-field{grid-template-columns:96px minmax(0,1fr)}label.practice-shelf-field .practice-shelf-field-label{letter-spacing:.01em}.practice-shelf-select select{padding-left:10px}}.practice-shelf-status-options{flex-wrap:wrap;gap:6px;display:flex}.practice-shelf-status-options>button{color:#4d6153;min-height:32px;font-size:var(--type-meta);cursor:pointer;background:#fff;border:1px solid #dfe8df;border-radius:999px;padding:0 11px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.practice-shelf-status-options>button:hover{background:#f4f9f4;border-color:#b9d2bf}.practice-shelf-status-options>button[aria-pressed=true]{color:#fff;background:#336d4a;border-color:#336d4a}.practice-shelf-status-options>button:focus-visible{outline-offset:2px;outline:2px solid #336d4a}.practice-shelf-select{display:block;position:relative}.practice-shelf-select:after{content:"";pointer-events:none;border-bottom:2px solid #778a7d;border-right:2px solid #778a7d;width:6px;height:6px;position:absolute;top:50%;right:13px;transform:translateY(-70%)rotate(45deg)}.practice-shelf-select select{color:#293b2d;width:100%;height:38px;font:inherit;font-size:var(--type-meta);appearance:none;text-overflow:ellipsis;background:#f9fbf9;border:1px solid #dfe8df;border-radius:10px;padding:0 32px 0 12px;font-weight:500}.practice-shelf-select select:hover{background:#fff;border-color:#b9d2bf}.practice-shelf-popover-foot{background:#fafcf9;border-top:1px solid #edf1ed;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.practice-shelf-reset{color:#6f8174;font-size:var(--type-meta);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 12px;font-weight:600}.practice-shelf-reset:hover{color:#315d3c;background:#eef4ee}.practice-shelf-apply{color:#fff;font-size:var(--type-meta);cursor:pointer;background:#336d4a;border:0;border-radius:999px;padding:9px 20px;font-weight:600;box-shadow:0 2px 6px #336d4a40}.practice-shelf-apply:hover{background:#245c3b}.practice-shelf-message{color:var(--muted);text-align:center;margin:36px 0}.practice-shelf-message p{margin:0 0 12px}.practice-shelf-sections{margin-top:36px}.practice-shelf-section{margin-bottom:28px}.practice-shelf-section-head{flex-wrap:wrap;align-items:center;gap:8px 13px;margin-bottom:14px;display:flex}.practice-shelf-section-head h3{font-size:var(--type-section);letter-spacing:-.02em;margin:0;font-weight:600}.practice-shelf-section-bar{background:#e8eee8;border-radius:20px;width:103px;height:7px;overflow:hidden}.practice-shelf-section-bar>span{border-radius:inherit;background:var(--shelf-skill);height:100%;display:block}.practice-shelf-section-meta{color:var(--muted);font-size:var(--type-meta);font-weight:500}.practice-shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.practice-shelf-card{background:#fff;border:1px solid #e1e9e2;border-radius:17px;flex-direction:column;min-width:0;transition:box-shadow .18s,transform .18s,border-color .18s;display:flex;overflow:hidden;box-shadow:0 3px 8px #163a2308;container-type:inline-size}.practice-shelf-card:hover{border-color:var(--shelf-hover-line);transform:translateY(-2px);box-shadow:0 10px 22px #1f4a2917}.practice-shelf-card-head{border-bottom:1px solid var(--shelf-head-line);background:var(--shelf-head);flex:1 0 auto;align-items:center;gap:12px;min-height:75px;padding:13px 14px;display:flex}.practice-shelf-card-head:last-child{border-bottom:0}.practice-shelf-doc{background:var(--shelf-doc-bg);width:39px;height:39px;color:var(--shelf-doc);border-radius:11px;flex:none;place-items:center;display:grid}.practice-shelf-doc svg{width:26px;height:26px}.practice-shelf-card-info{flex:1;min-width:0}.practice-shelf-card-info h4{color:var(--shelf-head-ink);font-size:var(--type-row);overflow-wrap:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 4px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.practice-shelf-card-info p{color:var(--shelf-head-muted);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.practice-shelf-start{border:1px solid var(--shelf-start-line);background:var(--shelf-start-bg);min-width:68px;color:var(--shelf-start-ink);font-size:var(--type-control);cursor:pointer;border-radius:11px;flex:none;padding:8px 12px;font-weight:600}.practice-shelf-start:hover{background:#fff}.practice-shelf-start--continue{border-color:var(--shelf-skill);background:var(--shelf-skill);color:#fff}.practice-shelf-start--continue:hover{background:var(--shelf-skill-hover)}.practice-shelf-ring{background:conic-gradient(var(--ring) var(--p), #e8eee8 0);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:4px;display:grid}.practice-shelf-ring>span{color:#203025;width:100%;height:100%;font-size:var(--type-label);background:#fff;border-radius:50%;place-items:center;font-weight:700;display:grid}.practice-shelf-ring--green,.practice-shelf-score--green{--ring:#2f8f4e}.practice-shelf-ring--amber,.practice-shelf-score--amber{--ring:#d9a300}.practice-shelf-ring--red,.practice-shelf-score--red{--ring:#c94a3d}.practice-shelf-rows{flex-direction:column;display:flex}.practice-shelf-row{width:100%;min-width:0;min-height:51px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #ebefeb;align-items:center;gap:10px;padding:7px 14px;transition:background .16s,opacity .16s;display:flex}.practice-shelf-row:last-child{border-bottom:0}.practice-shelf-row:hover{background:#f7faf7}.practice-shelf-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.practice-shelf-row-index{min-width:54px;max-width:120px;color:var(--shelf-code);font-size:var(--type-label);flex:none;align-items:center;gap:6px;font-weight:600;display:inline-flex}.practice-shelf-symbol{border:1.5px solid var(--shelf-symbol-line);background:var(--shelf-symbol-bg);width:27px;height:27px;color:var(--shelf-symbol);border-radius:50%;flex:none;place-items:center;display:grid}.practice-shelf-symbol svg{width:16px;height:16px}.practice-shelf-code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-shelf-row-title{min-width:0;font-size:var(--type-meta);overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.practice-shelf-row:has(+.practice-shelf-outline){border-bottom:0}.practice-shelf-outline{color:var(--muted);font-size:var(--type-meta);background:#fff;border-bottom:1px solid #ebefeb;gap:10px;padding:2px 14px 12px 51px;line-height:1.4;display:grid}.practice-shelf-card-head+.practice-shelf-outline{padding-top:12px}.practice-shelf-outline:last-child{border-bottom:0}.practice-shelf-outline-title{color:var(--ink);margin:0 0 3px;font-weight:600}.practice-shelf-outline ol{margin:0;padding-left:18px}.practice-shelf-outline li+li{margin-top:2px}.practice-shelf-dot{background:#a0aca2;border-radius:50%;flex:none;width:9px;height:9px;margin-left:3px}.practice-shelf-score{border:3px solid var(--ring);width:33px;height:33px;font-size:var(--type-label);background:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.practice-shelf-pill{font:inherit;font-size:var(--type-label);white-space:nowrap;border:0;border-radius:20px;flex:none;padding:3px 9px;font-weight:600}.practice-shelf-pill--progress{background:var(--shelf-skill-soft);color:var(--shelf-skill-ink)}.practice-shelf-pill--waiting{background:var(--warning-soft);box-shadow:inset 0 0 0 1px var(--warning-line);color:var(--warning)}.practice-shelf-pill--done{color:#5f665f;background:#f0f2f0}.practice-shelf-pill--button{cursor:pointer}.practice-shelf .is-dim{opacity:.38}@container (max-width:320px){.practice-shelf-row{flex-wrap:wrap;row-gap:4px}.practice-shelf-row:has(.practice-shelf-pill) .practice-shelf-row-title{flex-basis:calc(100% - 64px)}.practice-shelf-row .practice-shelf-pill{margin-left:64px}}@container (max-width:400px){.practice-shelf-card-head:has(>.practice-shelf-start,>.practice-shelf-pill){flex-wrap:wrap;row-gap:10px}.practice-shelf-card-head:has(>.practice-shelf-start,>.practice-shelf-pill) .practice-shelf-card-info{flex-basis:calc(100% - 51px)}.practice-shelf-card-head>.practice-shelf-start,.practice-shelf-card-head>.practice-shelf-pill{margin-left:51px}}@media (max-width:1300px){.practice-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.practice-shelf-title{margin:12px 0 18px}.practice-shelf-toolbar{gap:9px}.practice-shelf-search{height:48px;padding:0 11px}.practice-shelf-search kbd{display:none}.practice-shelf-filter-trigger{gap:8px;height:48px;padding:0 12px}.practice-shelf-grid{grid-template-columns:1fr}.practice-shelf-sections{margin-top:28px}.practice-shelf-section-bar{width:65px}}@media (prefers-reduced-motion:reduce){.practice-shelf-card,.practice-shelf-row{transition:none}.practice-shelf-card:hover{transform:none}}.student-practice-lane--writing.student-practice-lane--panel{background:#f3f1fa;border-color:#e0dbf1}.student-practice-lane--speaking.student-practice-lane--panel{background:#fbf1f4;border-color:#f0d8e0}.student-practice-lane--writing .student-practice-subtable--in-progress .student-practice-subtable-head{background:#e8e3f7}.student-practice-lane--speaking .student-practice-subtable--in-progress .student-practice-subtable-head{background:#f6e2e9}.student-practice-lane--writing .student-practice-subtable--in-progress .student-practice-subtable-count,.student-practice-lane--writing .student-practice-subtable--in-progress .student-practice-entry-type{color:#4a3f8c;background:#ddd6f3}.student-practice-lane--speaking .student-practice-subtable--in-progress .student-practice-subtable-count,.student-practice-lane--speaking .student-practice-subtable--in-progress .student-practice-entry-type{color:#87304f;background:#f1d3de}.student-practice-lane--writing .student-practice-entry-action{color:#4a3f8c}.student-practice-lane--speaking .student-practice-entry-action{color:#87304f}.student-practice-lane--writing .student-practice-progress>span{background:#8f84cc}.student-practice-lane--speaking .student-practice-progress>span{background:#c98aa3}.student-practice-lane--writing .student-practice-count-pill{color:#4a3f8c;background:#ece8fa}.student-practice-lane--speaking .student-practice-count-pill{color:#87304f;background:#f9e6ed}.student-practice-lane--writing .student-practice-subtable--in-progress .student-practice-page-btn[aria-current=page]{color:#4a3f8c;background:#ece8fa}.student-practice-lane--speaking .student-practice-subtable--in-progress .student-practice-page-btn[aria-current=page]{color:#87304f;background:#f9e6ed}.student-practice-lane--writing .student-practice-view-all{color:#4a3f8c}.student-practice-lane--speaking .student-practice-view-all{color:#87304f}.student-practice-scope-badge--writing{color:#4a3f8c}.student-practice-scope-badge--writing .student-practice-scope-icon{background:#e6e1f6}.student-practice-scope-badge--writing.student-practice-scope-badge--partial .student-practice-scope-icon{background:#fff;border-color:#d6cfee}.student-practice-scope-badge--speaking{color:#87304f}.student-practice-scope-badge--speaking .student-practice-scope-icon{background:#f5dfe7}.student-practice-scope-badge--speaking.student-practice-scope-badge--partial .student-practice-scope-icon{background:#fff;border-color:#ecd0da}.test-content-scope{gap:.75rem;margin-block:1rem;display:grid}.test-content-scope .test-extraction-seg{flex-wrap:wrap}.test-content-scope-number{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.test-content-scope-number label{margin:0}.test-content-scope-number select{width:auto;min-width:4rem}.wr-items,.wr-items-sheet{align-content:start;gap:14px;display:grid}.wr-item-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px 20px}.wr-paper--marked .wr-items{gap:22px}.wr-item-section{min-width:0}.wr-item-section-head{white-space:normal;margin-bottom:12px}.wr-item-section-title{color:var(--accent-dark);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.wr-item-section-instruction{color:var(--muted);font-size:var(--type-meta);margin:2px 0 0}.wr-item-list{margin:0;padding:0;list-style:none;display:grid}.wr-item{border-top:1px solid #eef0ee;grid-template-columns:26px minmax(0,1fr);gap:4px 12px;padding:12px 0;display:grid}.wr-item:first-child{border-top:0;padding-top:0}.wr-item-number{background:var(--accent-soft);width:26px;height:26px;color:var(--accent-dark);font-size:var(--type-label);white-space:normal;border-radius:8px;place-items:center;font-weight:700;display:inline-grid}.wr-item-number.is-done{background:var(--accent);color:#fff}.wr-item-body{min-width:0}.wr-item-label{color:inherit;font:inherit;text-transform:none;letter-spacing:normal;margin:0;display:block}.wr-item-cue{white-space:normal;margin:2px 0 8px;font-weight:550;line-height:1.5}.wr-paper--marked .wr-item-cue{color:var(--muted);font-size:var(--type-meta);margin-bottom:4px;font-weight:500}.wr-item-answer{white-space:pre-wrap}.wr-item-blank{color:var(--muted);font-style:italic}.wr-item-sample{border:1px dashed var(--button-border);font-size:var(--type-meta);white-space:pre-wrap;background:#f3f8f3;border-radius:10px;margin-top:8px;padding:7px 10px;line-height:1.55}.wr-item-sample b{color:var(--accent-dark);font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;margin-right:4px}.wr-item-input{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);font:inherit;font-size:var(--type-body);resize:vertical;field-sizing:content;background:#fcfdfc;border-radius:10px;padding:9px 11px;line-height:1.6;display:block}.wr-item-input--paragraph{min-height:104px}.wr-item-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff;outline:none}.wr-item-input[readonly]{background:var(--paper)}.wr-item-foot{color:var(--muted);font-size:var(--type-label);justify-content:space-between;gap:10px;margin-top:4px;display:flex}.wr-item-feedback{gap:8px;margin-top:10px;display:grid}.wr-items-apply{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wr-items-apply .wr-notice{margin:0}.wr-side--items{grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-width:0;display:grid}.wr-desk--items .wr-desk-clock{gap:10px}.wr-item-outline{border:1px solid var(--line);font-size:var(--type-meta);background:#fff;border-radius:14px;padding:10px 8px}.wr-item-outline ul{grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.wr-item-outline-section{color:var(--muted);font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;margin:8px 6px 2px;font-weight:700}.wr-item-outline li:first-child .wr-item-outline-section{margin-top:0}.wr-item-outline button{width:100%;min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:4px 6px;display:flex}.wr-item-outline button:hover,.wr-item-outline button:focus-visible{background:var(--accent-soft)}.wr-item-outline-tick{border:1.5px solid var(--button-border);color:#fff;border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:10px;display:grid}.wr-item-outline button.is-done .wr-item-outline-tick{border-color:var(--accent);background:var(--accent)}.wr-item-outline-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:760px){.wr-item-outline{display:none}.wr-item-card{padding:14px}}.writing-format-choice{gap:6px}.writing-format-choice legend{margin-bottom:4px;font-weight:600}.writing-items-editor{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.writing-items-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.writing-items-mode{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px;display:inline-flex}.writing-items-mode button{color:var(--muted);font-size:var(--type-meta);background:0 0;border:0;border-radius:999px;padding:4px 14px}.writing-items-mode button[aria-pressed=true]{background:var(--accent-dark);color:#fff}.writing-items-paste{grid-template-columns:minmax(0,1fr) minmax(280px,380px);align-items:start;gap:16px;display:grid}.writing-items-syntax code{background:var(--accent-soft);color:var(--accent-dark);border-radius:4px;padding:0 4px;font-size:.75rem}.writing-items-source{font:.8125rem/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.writing-items-preview{gap:10px;max-height:calc(100vh - 32px);display:grid;position:sticky;top:16px;overflow:auto}.writing-items-preview-title{justify-content:space-between;gap:8px;margin:0;display:flex}.writing-items-preview .wr-item-card{padding:12px 14px}.writing-items-box{border:1px solid var(--line);min-height:30px;color:var(--muted);font-size:var(--type-meta);border-radius:8px;padding:4px 8px}.writing-items-box.is-paragraph{min-height:56px}.writing-items-builder{gap:12px;display:grid}.writing-items-section{border:1px solid var(--line);background:var(--paper);border-radius:12px;gap:10px;padding:12px;display:grid}.writing-items-section legend{padding:0 4px;font-weight:600}.writing-items-rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.writing-items-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,2fr) minmax(130px,.7fr) minmax(0,1fr);gap:8px 12px;padding-top:10px;display:grid}.writing-items-sample{grid-column:1/3}.writing-items-row-actions{flex-wrap:wrap;align-items:end;gap:6px;display:flex}@media (max-width:900px){.writing-items-paste,.writing-items-row{grid-template-columns:1fr}.writing-items-sample{grid-column:auto}.writing-items-preview{max-height:none;position:static}}.writing-items-builder>button{justify-self:start}
