:root{color-scheme:light;font-family:Inter,Noto Sans SC,Microsoft YaHei,PingFang SC,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17211f;--ink-soft: #42504c;--ink-muted: #63706b;--paper: #f3f5f1;--surface: #ffffff;--surface-soft: #eef2ee;--surface-raised: #fafbf9;--line: #d7ddd8;--line-strong: #bdc8c1;--teal: #17675f;--teal-dark: #104d48;--teal-soft: #dcece8;--teal-pale: #edf6f3;--amber: #a96112;--amber-soft: #f8e9cb;--coral: #ad493c;--coral-soft: #f5e2de;--blue: #3f6173;--blue-soft: #e1ebef;--danger: #b42318;--danger-soft: #fee9e7;--success: #276749;--success-soft: #e2f1e8;--warning: #8a4c0c;--warning-soft: #fff0d5;--ring: #0f766e;--shadow-sm: 0 1px 2px rgba(23, 33, 31, .06);--shadow-md: 0 8px 24px rgba(23, 33, 31, .08);--nav-width: 248px;--topbar-height: 84px}*{box-sizing:border-box}html{min-width:320px;background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.55;letter-spacing:0}button,input,select,textarea{color:inherit;font:inherit;letter-spacing:0}button,select,label,input[type=checkbox],input[type=radio]{touch-action:manipulation}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a,button,input,select,textarea{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 3px #0f766e38;outline:2px solid var(--ring);outline-offset:2px}h1,h2,h3,p,ul,ol,dl,dd,blockquote{margin-top:0}h1,h2,h3{color:var(--ink);line-height:1.25;letter-spacing:0}h1{margin-bottom:0;font-size:24px;font-weight:720}h2{margin-bottom:8px;font-size:21px;font-weight:700}h3{margin-bottom:8px;font-size:17px;font-weight:680}p{color:var(--ink-soft)}svg{flex:0 0 auto}.skip-link{position:fixed;z-index:2000;top:8px;left:8px;transform:translateY(-150%);border-radius:6px;background:var(--ink);color:#fff;padding:10px 14px;text-decoration:none}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{min-height:100vh;min-height:100dvh}.side-nav{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:var(--nav-width);flex-direction:column;border-right:1px solid var(--line);background:#f8faf7;padding:20px 16px}.brand{display:flex;width:100%;min-height:56px;align-items:center;gap:12px;border-radius:8px;background:transparent;padding:6px 8px;text-align:left;transition:background-color .18s ease}.brand:hover{background:var(--surface-soft)}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:var(--teal);color:#fff;box-shadow:var(--shadow-sm)}.brand>span:last-child,.target-note>span,.nav-item span,.page-heading>div,.exam-title>div{min-width:0}.brand strong,.brand small{display:block}.brand strong{font-size:18px;line-height:1.25}.brand small{margin-top:2px;color:var(--ink-muted);font-size:12px}.target-note{display:flex;align-items:flex-start;gap:10px;margin:18px 8px 14px;border-left:3px solid var(--amber);background:var(--amber-soft);padding:11px 10px;color:var(--warning)}.target-note strong,.target-note small{display:block}.target-note strong{font-size:13px}.target-note small{margin-top:2px;color:#6e5636;font-size:11px;line-height:1.4}.nav-list{display:grid;gap:4px}.nav-item{position:relative;display:flex;width:100%;min-height:48px;align-items:center;gap:12px;border-radius:7px;background:transparent;color:var(--ink-soft);padding:0 12px;text-align:left;transition:background-color .18s ease,color .18s ease}.nav-item:hover{background:var(--surface-soft);color:var(--ink)}.nav-item[data-active=true]{background:var(--teal-soft);color:var(--teal-dark);font-weight:650}.nav-item[data-active=true]:before{position:absolute;left:-16px;width:3px;height:24px;border-radius:0 3px 3px 0;background:var(--teal);content:""}.settings-link{margin-top:auto}.content-note{margin:14px 8px 0;color:var(--ink-muted);font-size:11px;line-height:1.5}.workspace{min-height:100vh;min-height:100dvh;margin-left:var(--nav-width)}.topbar{position:sticky;z-index:30;top:0;display:flex;min-height:var(--topbar-height);align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(215,221,216,.9);background:#f3f5f1f5;padding:14px clamp(20px,3vw,40px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-heading{display:flex;align-items:center;gap:12px}.eyebrow,.overline{margin-bottom:4px;color:var(--teal-dark);font-size:12px;font-weight:720;letter-spacing:0;text-transform:none}.topbar-actions{display:flex;align-items:center;gap:8px}.icon-button{display:inline-grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink-soft);transition:border-color .18s ease,background-color .18s ease,color .18s ease}.icon-button:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--ink)}.icon-button.small{width:44px;height:44px}.back-button{margin-left:-8px}.mobile-settings{display:none}.main-content{width:100%;max-width:1440px;margin:0 auto;padding:28px clamp(20px,3vw,40px) 56px}.bottom-nav{display:none}.page-stack{display:grid;gap:24px}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading.compact{align-items:center}.section-heading h2,.section-heading h3{margin-bottom:0}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:7px;padding:10px 16px;font-size:14px;font-weight:680;line-height:1.2;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.button.primary{border:1px solid var(--teal);background:var(--teal);color:#fff;box-shadow:0 3px 10px #17675f24}.button.primary:hover{border-color:var(--teal-dark);background:var(--teal-dark)}.button.secondary{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.button.secondary:hover{border-color:var(--teal);background:var(--teal-pale);color:var(--teal-dark)}.button.ghost,.text-button{min-height:44px;background:transparent;color:var(--teal-dark)}.button.ghost:hover,.text-button:hover{background:var(--teal-pale)}.button.success{border:1px solid #a5c7b2;background:var(--success-soft);color:var(--success)}.button.danger{border:1px solid var(--danger);background:var(--danger);color:#fff}.button.large{min-height:50px;padding-inline:20px}.button.compact{min-height:44px;padding:8px 12px;font-size:13px}.submit-wide{width:100%}.segmented-control{display:inline-flex;min-height:44px;align-items:center;gap:2px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:3px}.segmented-control button{min-height:44px;border-radius:5px;background:transparent;color:var(--ink-muted);padding:7px 12px;font-size:13px;font-weight:620;white-space:nowrap;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.segmented-control button[data-active=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);padding:10px 12px;font-size:16px;transition:border-color .18s ease,box-shadow .18s ease}input:hover,select:hover,textarea:hover{border-color:#94a49a}input:focus,select:focus,textarea:focus{border-color:var(--ring)}textarea{line-height:1.65;resize:vertical}.exam-pill,.confidence-badge,.due-label{display:inline-flex;min-height:26px;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--ink-soft);padding:3px 9px;font-size:11px;font-weight:700;white-space:nowrap}.exam-pill[data-exam=pets3]{border-color:#dfb7b0;background:var(--coral-soft);color:#83392f}.exam-pill[data-exam=english2]{border-color:#dfc693;background:var(--amber-soft);color:#7b480f}.exam-pill[data-exam=both]{border-color:#a6ccc5;background:var(--teal-soft);color:var(--teal-dark)}.exam-code{display:inline-grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:7px;background:var(--surface-soft);color:var(--ink);font-size:12px;font-weight:780;font-variant-numeric:tabular-nums}.exam-code.pets,.exam-code[data-exam=pets3]{background:var(--coral-soft);color:#83392f}.exam-code.english2,.exam-code[data-exam=english2]{background:var(--amber-soft);color:#7b480f}.score-meter{min-width:0}.meter-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:var(--ink-muted);font-size:12px}.meter-label strong{color:var(--ink);font-variant-numeric:tabular-nums}.meter-track{height:7px;overflow:hidden;border-radius:4px;background:var(--surface-soft)}.meter-track span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .28s ease-out}.score-meter[data-tone=amber] .meter-track span{background:var(--amber)}.score-meter[data-tone=coral] .meter-track span{background:var(--coral)}.panel-footnote,.source-note,.muted-copy{margin-bottom:0;color:var(--ink-muted);font-size:12px;line-height:1.55}.inline-error{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;border-left:3px solid var(--danger);background:var(--danger-soft);color:#7f1d16;padding:10px 12px;font-size:13px}.modal-backdrop{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;overflow-y:auto;background:#121b199e;padding:20px}.onboarding-dialog{width:min(100%,560px);border-radius:8px;background:var(--surface);box-shadow:0 24px 70px #09121042;padding:28px}.dialog-progress{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:24px}.dialog-progress span{height:4px;border-radius:2px;background:var(--line)}.dialog-progress span[data-active=true]{background:var(--teal)}.dialog-icon{display:grid;width:44px;height:44px;place-items:center;margin-bottom:14px;border-radius:8px;background:var(--teal-soft);color:var(--teal-dark)}.onboarding-dialog h2{font-size:25px}.dialog-intro{margin-bottom:20px;color:var(--ink-muted)}.choice-stack{display:grid;gap:8px}.choice-row{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:11px 13px;text-align:left;transition:border-color .18s ease,background-color .18s ease}.choice-row:hover,.choice-row[data-selected=true]{border-color:var(--teal);background:var(--teal-pale)}.choice-row strong,.choice-row small{display:block}.choice-row small{margin-top:2px;color:var(--ink-muted);font-size:12px}.choice-check{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:#fff}.choice-row[data-selected=true] .choice-check{border-color:var(--teal);background:var(--teal)}.minute-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.minute-option{display:grid;min-height:68px;place-content:center;border:1px solid var(--line);border-radius:7px;background:var(--surface);text-align:center}.minute-option:hover,.minute-option[data-selected=true]{border-color:var(--teal);background:var(--teal-pale);color:var(--teal-dark)}.minute-option strong{font-size:20px;font-variant-numeric:tabular-nums}.minute-option span{font-size:11px}.date-fields,.exam-identity-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 16px;border:0;border-top:1px solid var(--line);padding:16px 0 0}.date-fields legend,.exam-identity-fields legend{display:flex;align-items:center;gap:7px;padding:0 8px 0 0;color:var(--ink-soft);font-size:13px;font-weight:680}.date-fields label,.exam-identity-fields label{display:grid;gap:6px;color:var(--ink-soft);font-size:12px}.exam-identity-fields{grid-template-columns:repeat(3,1fr)}.evidence-note{display:flex;align-items:flex-start;gap:7px;margin-bottom:0;border-left:3px solid var(--amber);background:var(--warning-soft);color:#6d470f;padding:10px 12px;font-size:12px}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.next-session-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;border:1px solid #aac9c3;border-left:5px solid var(--teal);border-radius:8px;background:var(--surface);padding:24px 26px;box-shadow:var(--shadow-sm)}.next-session-copy h2{margin-bottom:6px;font-size:24px}.next-session-copy>p:not(.overline){margin-bottom:12px}.session-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--ink-muted);font-size:13px}.session-meta span{display:inline-flex;align-items:center;gap:6px}.next-session-action{display:flex;align-items:center;gap:20px}.daily-progress{min-width:82px;color:var(--ink-muted);text-align:right;font-variant-numeric:tabular-nums}.daily-progress span{color:var(--ink);font-size:25px;font-weight:750}.daily-progress small{display:block;font-size:11px}.spec-status-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:2px 4px 16px}.spec-status-strip>div{display:flex;min-width:0;align-items:center;gap:10px}.spec-status-strip p{min-width:0;margin:0}.spec-status-strip strong,.spec-status-strip small{display:block}.diagnostic-callout{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;border-left:4px solid var(--blue);background:var(--blue-soft);padding:13px 15px}.diagnostic-callout>span{display:grid;width:40px;height:40px;place-items:center;border-radius:7px;background:#fff;color:var(--blue)}.diagnostic-callout strong{color:#2d4c5d;font-size:13px}.diagnostic-callout p{margin:2px 0 0;color:#486372;font-size:12px}.spec-status-strip strong{font-size:13px}.spec-status-strip small{overflow:hidden;margin-top:1px;color:var(--ink-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.roadmap-entry-strip{display:grid;grid-template-columns:42px minmax(220px,1fr) minmax(130px,260px) auto;align-items:center;gap:14px;border-block:1px solid var(--line);padding:13px 4px}.roadmap-entry-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:7px;background:var(--teal-soft);color:var(--teal-dark)}.roadmap-entry-copy,.roadmap-entry-copy strong,.roadmap-entry-copy small{display:block;min-width:0}.roadmap-entry-copy p{margin-bottom:1px}.roadmap-entry-copy strong{font-size:14px}.roadmap-entry-copy small{overflow:hidden;margin-top:2px;color:var(--ink-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.roadmap-entry-progress,.roadmap-progress-track,.weekly-target-track{overflow:hidden;border-radius:4px;background:var(--surface-soft)}.roadmap-entry-progress{height:8px}.roadmap-entry-progress>span,.roadmap-progress-track>span,.weekly-target-track>span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.85fr);align-items:start;gap:20px}.confidence-badge{border-color:#a7c9b6;background:var(--success-soft);color:var(--success)}.confidence-badge[data-low=true]{border-color:#dec38e;background:var(--warning-soft);color:var(--warning)}.task-list{display:grid;gap:0;margin:16px 0 0;padding:0;list-style:none}.task-row{position:relative;display:flex;min-width:0;align-items:center;border-top:1px solid var(--line)}.task-main{display:grid;min-width:0;min-height:70px;flex:1;grid-template-columns:26px 36px minmax(0,1fr) auto 18px;align-items:center;gap:10px;background:transparent;padding:9px 4px;text-align:left}.task-main:hover .task-copy strong,.task-main:hover .task-arrow{color:var(--teal-dark)}.task-index{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);font-size:11px;font-weight:700}.task-icon{display:grid;width:36px;height:36px;place-items:center;border-radius:7px;background:var(--surface-soft);color:var(--teal-dark)}.task-copy{min-width:0}.task-copy strong,.task-copy small{display:block}.task-copy strong{color:var(--ink);font-size:14px}.task-copy small{overflow:hidden;margin-top:2px;color:var(--ink-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.task-time{color:var(--ink-muted);font-size:12px;white-space:nowrap}.task-arrow{color:var(--line-strong)}.task-check{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:7px;background:transparent;color:var(--ink-muted)}.task-check:hover{background:var(--success-soft);color:var(--success)}.task-row[data-complete=true] .task-index{border-color:var(--success);background:var(--success);color:#fff}.task-row[data-complete=true] .task-copy strong,.task-row[data-complete=true] .task-copy small{color:var(--ink-muted)}.dashboard-aside{display:grid;gap:14px}.info-dot{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);font-size:12px;font-weight:700}.exam-readiness-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}.exam-readiness-row.spaced{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.exam-title{display:flex;align-items:center;gap:9px}.exam-title strong,.exam-title small{display:block}.exam-title strong{font-size:14px}.exam-title small{color:var(--ink-muted);font-size:11px}.readiness-number{font-size:23px;font-variant-numeric:tabular-nums}.readiness-panel .panel-footnote{margin-top:18px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.stat-item{display:flex;min-width:0;min-height:76px;align-items:center;gap:9px;border-right:1px solid var(--line);background:transparent;color:var(--teal-dark);padding:12px;text-align:left}.stat-item:last-child{border-right:0}button.stat-item:hover{background:var(--teal-pale)}.stat-item strong,.stat-item small{display:block}.stat-item strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.stat-item small{color:var(--ink-muted);font-size:10px}.strategy-section{border-top:1px solid var(--line);padding-top:22px}.strategy-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;margin-top:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.strategy-column{min-width:0;border-right:1px solid var(--line);padding:22px}.strategy-column:last-child{border-right:0}.roadmap-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);align-items:stretch;gap:28px;border:1px solid #aac9c3;border-left:5px solid var(--teal);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:24px 26px}.roadmap-hero[data-phase=strengthening]{border-left-color:var(--amber)}.roadmap-hero[data-phase=sprint],.roadmap-hero[data-phase=final]{border-left-color:var(--coral)}.roadmap-hero[data-phase=undated],.roadmap-hero[data-phase=expired]{border-left-color:var(--blue)}.roadmap-hero-copy h2{margin-bottom:7px;font-size:24px}.roadmap-hero-copy>p:not(.overline){max-width:720px;margin-bottom:14px;color:var(--ink-soft)}.roadmap-hero-meta{display:flex;flex-wrap:wrap;gap:10px 16px;color:var(--ink-muted);font-size:12px}.roadmap-hero-meta span{display:inline-flex;align-items:center;gap:6px}.roadmap-week-progress{display:grid;align-content:center;gap:13px;border-left:1px solid var(--line);padding-left:26px}.roadmap-week-progress p{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;color:var(--ink-muted);font-size:12px}.roadmap-week-progress p>strong{color:var(--ink);font-size:26px;font-variant-numeric:tabular-nums}.roadmap-week-progress p small{margin-left:3px;color:var(--ink-muted);font-size:10px;font-weight:500}.roadmap-progress-track{height:9px}.roadmap-date-alert{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;border-left:4px solid var(--blue);background:var(--blue-soft);padding:13px 15px;color:var(--blue)}.roadmap-date-alert strong{color:#2d4c5d;font-size:13px}.roadmap-date-alert p{margin:2px 0 0;color:#486372;font-size:12px}.exam-roadmap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exam-roadmap-card{min-width:0;border:1px solid var(--line);border-top:4px solid var(--coral);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:19px}.exam-roadmap-card[data-exam=english2]{border-top-color:var(--amber)}.exam-roadmap-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px}.exam-roadmap-head h3{margin-bottom:0;font-size:16px}.exam-roadmap-head>strong{color:var(--ink);font-size:16px;font-variant-numeric:tabular-nums}.exam-roadmap-date{display:flex;align-items:center;gap:7px;margin:15px 0 10px;border-top:1px solid var(--line);padding-top:12px;color:var(--ink-muted);font-size:12px}.exam-roadmap-card>p{margin:12px 0 0;color:var(--ink-muted);font-size:11px}.roadmap-budget-note{display:inline-flex;min-height:32px;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);color:var(--ink-muted);padding:5px 9px;font-size:11px}.weekly-target-list{margin:15px 0 0;border-top:1px solid var(--line);padding:0;list-style:none}.weekly-target-row{display:grid;min-height:74px;grid-template-columns:30px 40px minmax(180px,1fr) 82px minmax(120px,.55fr) 44px;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:9px 0}.weekly-target-rank{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--teal-dark);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.weekly-target-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:7px;background:var(--teal-pale);color:var(--teal-dark)}.weekly-target-copy,.weekly-target-copy strong,.weekly-target-copy small,.weekly-mock-row>span:nth-child(2),.weekly-mock-row>span:nth-child(2) strong,.weekly-mock-row>span:nth-child(2) small{display:block;min-width:0}.weekly-target-copy strong,.weekly-mock-row>span:nth-child(2) strong{font-size:13px}.weekly-target-copy small,.weekly-mock-row>span:nth-child(2) small{margin-top:2px;color:var(--ink-muted);font-size:11px}.weekly-target-minutes{text-align:right;white-space:nowrap}.weekly-target-minutes strong,.weekly-target-minutes small{display:block}.weekly-target-minutes strong{font-size:13px;font-variant-numeric:tabular-nums}.weekly-target-minutes small{color:var(--ink-muted);font-size:9px}.weekly-target-track{height:8px}.weekly-target-row[data-complete=true] .weekly-target-rank{border-color:var(--success);background:var(--success);color:#fff}.weekly-target-row[data-complete=true] .weekly-target-track>span{background:var(--success)}.weekly-mock-row{display:grid;min-height:70px;grid-template-columns:40px minmax(0,1fr) 82px auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.weekly-review-footer{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:14px;background:var(--surface-soft);color:var(--teal-dark);padding:12px 14px}.weekly-review-footer p{margin:0}.weekly-review-footer strong,.weekly-review-footer span{display:block}.weekly-review-footer strong{color:var(--ink);font-size:12px}.weekly-review-footer span{margin-top:1px;color:var(--ink-muted);font-size:10px}.weekly-review-footer .text-button{display:inline-flex;align-items:center;gap:6px;padding-inline:10px;font-size:12px;font-weight:680}.roadmap-phase-section{border-top:1px solid var(--line);padding-top:20px}.roadmap-phase-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0;border-block:1px solid var(--line);padding:0;list-style:none}.roadmap-phase-list li{position:relative;display:grid;min-width:0;grid-template-columns:30px minmax(0,1fr);align-content:start;gap:10px;border-right:1px solid var(--line);padding:18px 16px}.roadmap-phase-list li:last-child{border-right:0}.phase-number{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-muted);font-size:11px;font-weight:700}.roadmap-phase-list strong,.roadmap-phase-list small{display:block}.roadmap-phase-list strong{font-size:13px}.roadmap-phase-list small{margin-top:2px;color:var(--ink-muted);font-size:10px}.roadmap-phase-list p{margin:8px 0 0;color:var(--ink-soft);font-size:12px}.roadmap-phase-list li[data-current=true]{background:var(--teal-pale)}.roadmap-phase-list li[data-current=true] .phase-number{border-color:var(--teal);background:var(--teal);color:#fff}.current-phase-label{grid-column:2;justify-self:start;border:1px solid #a7c9b6;border-radius:5px;background:var(--success-soft);color:var(--success);padding:3px 7px;font-size:9px;font-weight:700}.strategy-column.common{border-top:4px solid var(--teal)}.strategy-column.pets{border-top:4px solid var(--coral)}.strategy-column.english2{border-top:4px solid var(--amber)}.strategy-label{color:var(--ink-muted);font-size:11px;font-weight:720}.strategy-column h3{margin-top:7px;font-size:18px}.strategy-column p{margin-bottom:12px;font-size:13px}.strategy-column ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.strategy-column li{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:12px}.strategy-column li svg{color:var(--teal)}.strategy-column>button{display:inline-flex;min-height:44px;align-items:center;gap:7px;background:transparent;color:var(--teal-dark);padding:7px 0;font-size:13px;font-weight:680}.diagnostic-intro{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding-bottom:20px}.diagnostic-intro>span{display:grid;width:52px;height:52px;place-items:center;border-radius:8px;background:var(--teal-soft);color:var(--teal-dark)}.diagnostic-intro h2{margin-bottom:4px;font-size:23px}.diagnostic-intro p{margin-bottom:0;color:var(--ink-muted);font-size:13px}.diagnostic-intro>strong{color:var(--teal-dark);font-size:18px;font-variant-numeric:tabular-nums}.diagnostic-objective,.diagnostic-self{max-width:980px;width:100%;margin:0 auto}.diagnostic-objective>.section-heading,.diagnostic-self>.section-heading{align-items:center;margin-bottom:14px}.diagnostic-objective>.section-heading>span,.diagnostic-self>.section-heading>span{color:var(--ink-muted);font-size:12px;font-variant-numeric:tabular-nums}.diagnostic-objective .question-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.self-rating-list{display:grid;gap:10px}.self-rating-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(430px,1.25fr);align-items:center;gap:18px;margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:15px 17px}.self-rating-row legend{display:grid;width:100%;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:0 10px;padding:0}.self-rating-row legend>span{display:grid;width:36px;height:36px;grid-row:1 / 3;place-items:center;border-radius:7px;background:var(--surface-soft);color:var(--teal-dark)}.self-rating-row legend strong{font-size:14px}.self-rating-row legend small{color:var(--ink-muted);font-size:11px;line-height:1.45}.self-rating-row>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.self-rating-row label{display:grid;min-height:48px;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);color:var(--ink-soft);padding:6px;text-align:center;cursor:pointer}.self-rating-row label[data-selected=true]{border-color:var(--teal);background:var(--teal-pale);color:var(--teal-dark)}.self-rating-row input{position:absolute;width:1px;height:1px;opacity:0}.self-rating-row label span{font-size:11px;font-weight:650}.diagnostic-submit{position:sticky;z-index:10;bottom:12px;display:flex;max-width:980px;width:100%;align-items:center;justify-content:space-between;gap:16px;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:#fffffff7;box-shadow:var(--shadow-md);padding:10px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.diagnostic-submit p{margin:0;color:var(--ink-muted);font-size:12px}.diagnostic-result{max-width:800px;margin:0 auto}.diagnostic-skill-results{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.diagnostic-skill-row{display:grid;min-height:64px;grid-template-columns:150px minmax(0,1fr) 36px;align-items:center;gap:14px;border-top:1px solid var(--line);padding:10px 15px}.diagnostic-skill-row:first-child{border-top:0}.diagnostic-skill-row>span strong,.diagnostic-skill-row>span small{display:block}.diagnostic-skill-row>span strong{font-size:13px}.diagnostic-skill-row>span small{color:var(--ink-muted);font-size:10px}.diagnostic-skill-row>strong{text-align:right;font-variant-numeric:tabular-nums}.practice-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px}.practice-intro>div:first-child{max-width:680px}.practice-intro h2{font-size:24px}.practice-intro p:last-child{margin-bottom:0}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{display:flex;min-width:0;min-height:280px;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:20px;transition:border-color .18s ease,box-shadow .18s ease}.module-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.module-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.module-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;background:var(--teal-soft);color:var(--teal-dark)}.module-icon.pets3{background:var(--coral-soft);color:#873a31}.module-icon.english2{background:var(--amber-soft);color:#7b480f}.module-card h3{margin-top:18px;font-size:18px}.module-card>p{min-height:62px;margin-bottom:16px;color:var(--ink-muted);font-size:13px}.module-card .score-meter{margin-top:auto}.module-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.module-footer>span{color:var(--ink-muted);font-size:12px;white-space:nowrap}.exam-map{border-top:1px solid var(--line);padding-top:22px}.exam-map-table{overflow:hidden;margin-top:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.map-row{display:grid;grid-template-columns:.8fr 1fr 1.15fr 1.5fr;border-top:1px solid var(--line)}.map-row:first-child{border-top:0}.map-row span{padding:13px 15px;color:var(--ink-soft);font-size:13px}.map-row span:first-child{color:var(--ink);font-weight:680}.map-header{background:var(--surface-soft)}.map-header span{color:var(--ink-muted);font-size:11px;font-weight:720}.exam-map .source-note{margin-top:10px}.course-scope-banner{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;border-left:4px solid var(--amber);background:var(--warning-soft);padding:13px 15px}.course-scope-banner[data-status=ready]{border-left-color:var(--success);background:var(--success-soft)}.course-scope-banner[data-status=protected]{border-left-color:var(--blue);background:var(--blue-soft)}.course-scope-banner>span{display:grid;width:40px;height:40px;place-items:center;border-radius:7px;background:var(--surface);color:var(--warning)}.course-scope-banner[data-status=ready]>span{color:var(--success)}.course-scope-banner[data-status=protected]>span{color:var(--blue)}.course-scope-banner strong{font-size:13px}.course-scope-banner p{margin:2px 0 0;color:var(--ink-muted);font-size:12px}.course-gate-page{max-width:900px;margin:0 auto}.course-gate{border:1px solid var(--line);border-left:5px solid var(--blue);border-radius:8px;background:var(--surface);padding:30px;box-shadow:var(--shadow-sm)}.course-gate>span{display:grid;width:52px;height:52px;place-items:center;margin-bottom:16px;border-radius:8px;background:var(--blue-soft);color:var(--blue)}.course-gate h2{font-size:24px}.course-gate>p:not(.overline){max-width:720px;margin-bottom:20px}.course-gate-actions{display:flex;flex-wrap:wrap;gap:10px}.safe-training-band{display:grid;grid-template-columns:minmax(210px,1fr) repeat(3,auto);align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.safe-training-band h2{margin-bottom:0}.safe-training-band button{display:inline-flex;min-height:44px;align-items:center;gap:7px;border-radius:6px;background:transparent;color:var(--teal-dark);padding:8px 10px;font-size:13px;font-weight:680;transition:background-color .18s ease}.safe-training-band button:hover{background:var(--teal-pale)}.workshop-version-bar{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;border-left:4px solid var(--amber);background:var(--warning-soft);padding:12px 14px}.workshop-version-bar strong,.workshop-version-bar small{display:block}.workshop-version-bar strong{font-size:13px}.workshop-version-bar small{color:var(--ink-muted);font-size:11px}.workshop-version-bar>span:last-child{color:var(--warning);font-size:12px;font-weight:680;font-variant-numeric:tabular-nums}.workshop-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px}.workshop-tabs button{position:relative;display:flex;min-width:0;min-height:48px;align-items:center;justify-content:center;gap:7px;border-radius:6px;background:transparent;color:var(--ink-muted);padding:8px;font-size:12px;font-weight:650;transition:background-color .18s ease,color .18s ease}.workshop-tabs button:hover{background:var(--surface-soft);color:var(--ink)}.workshop-tabs button[data-active=true]{background:var(--teal-soft);color:var(--teal-dark)}.workshop-tabs button[data-complete=true]:not([data-active=true]){color:var(--success)}.workshop-overview{max-width:960px;width:100%;margin:0 auto}.workshop-overview-copy{max-width:720px;margin-bottom:18px}.workshop-overview-copy h2{font-size:23px}.workshop-overview-copy p:last-child{margin-bottom:0}.workshop-task-list{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.workshop-task-list>button{display:grid;width:100%;min-height:76px;grid-template-columns:26px 40px minmax(0,1fr) 20px;align-items:center;gap:11px;border-top:1px solid var(--line);background:transparent;padding:11px 15px;text-align:left;transition:background-color .18s ease}.workshop-task-list>button:first-child{border-top:0}.workshop-task-list>button:hover{background:var(--teal-pale)}.workshop-task-list>button>span:nth-child(3){min-width:0}.workshop-task-list strong,.workshop-task-list small{display:block}.workshop-task-list strong{font-size:14px}.workshop-task-list small{margin-top:2px;color:var(--ink-muted);font-size:11px;white-space:normal}.version-caution{display:flex;align-items:flex-start;gap:9px;margin-top:14px;border-left:3px solid var(--amber);background:var(--warning-soft);padding:10px 12px;color:var(--warning)}.version-caution p{margin:0;color:#6d470f;font-size:12px}.workshop-exercise{max-width:980px;width:100%;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.workshop-exercise-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:15px}.workshop-exercise-header h2{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:23px}.exercise-score{min-width:82px;color:var(--ink-muted);text-align:right;font-variant-numeric:tabular-nums}.exercise-score strong,.exercise-score span{display:block}.exercise-score strong{color:var(--ink);font-size:22px}.exercise-score span{font-size:10px}.heading-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:16px 0;border-left:3px solid var(--amber);background:var(--warning-soft);padding:12px 14px}.heading-options>span{display:grid;min-width:0;grid-template-columns:24px minmax(0,1fr);gap:6px;color:#5f4b2a;font-size:12px}.heading-options strong{color:var(--warning)}.insertion-options{grid-template-columns:1fr}.exercise-introduction{margin:16px 0 0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75}.workshop-question-list{border-top:1px solid var(--line)}.matching-question,.insertion-question,.inline-blank-question,.word-form-question{position:relative;border-bottom:1px solid var(--line);padding:17px 0}.matching-question[data-result=correct],.insertion-question[data-result=correct],.inline-blank-question[data-result=correct],.word-form-question[data-result=correct]{border-left:3px solid var(--success);padding-left:13px}.matching-question[data-result=wrong],.insertion-question[data-result=wrong],.inline-blank-question[data-result=wrong],.word-form-question[data-result=wrong]{border-left:3px solid var(--danger);padding-left:13px}.question-copy{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px}.question-copy>span{display:grid;width:26px;height:26px;place-items:center;border-radius:5px;background:var(--surface-soft);color:var(--ink-muted);font-size:11px;font-weight:700}.question-copy p,.insertion-question>p,.inline-blank-question>p,.word-form-question>p{color:#283430;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75}.question-copy p{margin-bottom:12px}.matching-question>label{display:grid;max-width:580px;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:9px;margin-left:36px;color:var(--ink-muted);font-size:11px}.insertion-question{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 10px}.insertion-question>.question-number{grid-row:1 / 4}.insertion-question>p{grid-column:2;margin-bottom:10px}.insertion-question>label{display:grid;grid-column:2;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:10px;color:var(--ink-muted);font-size:11px}.word-bank{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;border-left:3px solid var(--amber);background:var(--warning-soft);padding:12px 14px}.word-bank span{border:1px solid #ddc084;border-radius:5px;background:var(--surface);color:#664009;padding:5px 9px;font-family:Georgia,Times New Roman,serif;font-size:13px}.inline-blank-question,.word-form-question{display:grid;grid-template-columns:28px minmax(120px,auto) minmax(180px,280px) minmax(100px,1fr);align-items:center;gap:8px}.inline-blank-question>p,.word-form-question>p{margin:0}.inline-blank-question select{min-width:160px}.word-form-question>label{display:grid;gap:4px}.word-form-question>label span{color:var(--ink-muted);font-size:10px}.word-form-question input{min-width:150px}.workshop-evidence{display:flex;grid-column:1 / -1;align-items:flex-start;gap:9px;margin-top:12px;border-left:3px solid var(--danger);background:var(--danger-soft);color:var(--danger);padding:10px 12px}.workshop-evidence[data-correct=true]{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.workshop-evidence strong{color:var(--ink);font-size:12px}.workshop-evidence p{margin:2px 0 0;color:var(--ink-soft);font-size:12px}.workshop-submit-bar{position:sticky;z-index:10;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px -10px -10px;border:1px solid var(--line);border-radius:8px;background:#fffffff7;box-shadow:var(--shadow-md);padding:10px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workshop-submit-bar p{margin:0;color:var(--ink-muted);font-size:12px}.training-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:22px}.training-main{min-width:0}.training-aside{position:sticky;top:calc(var(--topbar-height) + 18px);border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px}.training-aside h3{font-size:19px}.session-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--ink-muted);font-size:12px}.session-progress-track{height:5px;overflow:hidden;margin-bottom:18px;border-radius:3px;background:var(--line)}.session-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .24s ease-out}.session-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.session-switcher.compact{margin-bottom:16px}.session-switcher button{display:flex;min-width:0;min-height:64px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:10px 12px;text-align:left;transition:border-color .18s ease,background-color .18s ease}.session-switcher button:hover,.session-switcher button[data-active=true]{border-color:var(--teal);background:var(--teal-pale)}.session-switcher button>span:last-child{min-width:0}.session-switcher strong,.session-switcher small{display:block}.session-switcher strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.session-switcher small{margin-top:2px;color:var(--ink-muted);font-size:11px}.question-stack{display:grid;gap:14px}.question-block{min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px}.question-block legend{width:100%;padding:0 0 13px;color:var(--ink);font-weight:660;line-height:1.55}.question-number{display:inline-grid;width:25px;height:25px;place-items:center;margin-right:8px;border-radius:6px;background:var(--surface-soft);color:var(--ink-soft);font-size:11px}.option-list{display:grid;gap:8px}.answer-option{display:grid;min-height:48px;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);padding:8px 11px;cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.answer-option:hover{border-color:var(--line-strong)}.answer-option[data-selected=true]{border-color:var(--teal);background:var(--teal-pale)}.answer-option[data-correct=true]{border-color:#88b89b;background:var(--success-soft)}.answer-option[data-wrong=true]{border-color:#dfa39c;background:var(--danger-soft)}.answer-option input{position:absolute;width:1px;height:1px;opacity:0}.option-letter{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink-soft);font-size:11px;font-weight:720}.answer-option[data-selected=true] .option-letter{border-color:var(--teal);background:var(--teal);color:#fff}.answer-option[data-correct=true] .option-letter{border-color:var(--success);background:var(--success);color:#fff}.answer-option[data-wrong=true] .option-letter{border-color:var(--danger);background:var(--danger);color:#fff}.option-copy{min-width:0;color:var(--ink-soft);font-size:14px}.option-state{color:var(--success)}.answer-option[data-wrong=true] .option-state{color:var(--danger)}.answer-explanation{margin-top:12px;border-left:3px solid var(--danger);background:var(--danger-soft);padding:11px 12px}.answer-explanation[data-correct=true]{border-left-color:var(--success);background:var(--success-soft)}.answer-explanation strong{color:var(--ink);font-size:13px}.answer-explanation p{margin:4px 0 0;font-size:13px}.session-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px}.session-complete{max-width:720px;margin:24px auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:38px;text-align:center;box-shadow:var(--shadow-md)}.complete-icon{display:grid;width:56px;height:56px;place-items:center;margin:0 auto 14px;border-radius:50%;background:var(--success-soft);color:var(--success)}.session-complete h2{font-size:25px}.result-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0;border-block:1px solid var(--line)}.result-strip span{border-right:1px solid var(--line);padding:15px 8px}.result-strip span:last-child{border-right:0}.result-strip strong,.result-strip small{display:block}.result-strip strong{font-size:22px;font-variant-numeric:tabular-nums}.result-strip small{color:var(--ink-muted);font-size:11px}.session-complete .session-actions{justify-content:center}.vocab-card{min-height:390px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-md);padding:24px}.vocab-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.word-heading{margin:38px 0 26px;text-align:center}.word-heading h2{margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:42px;font-weight:650}.word-heading span{color:var(--ink-muted);font-size:15px}.recall-prompt{display:grid;justify-items:center;color:var(--teal);text-align:center}.recall-prompt p{margin:10px 0 20px}.vocab-answer{max-width:700px;margin:0 auto}.meaning-row{display:flex;align-items:baseline;justify-content:center;gap:9px;font-size:18px}.meaning-row span{color:var(--ink-muted);font-size:12px;font-style:italic}.vocab-answer blockquote{margin:22px 0;border-left:3px solid var(--teal);background:var(--teal-pale);padding:15px 18px}.vocab-answer blockquote p{margin-bottom:5px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:17px}.vocab-answer blockquote small{color:var(--ink-muted)}.collocation{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:13px}.collocation span{color:var(--ink-muted);font-size:11px}.collocation strong{font-size:14px}.recall-rating{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 0;border:0;padding:0}.recall-rating legend{width:100%;margin-bottom:8px;color:var(--ink-soft);text-align:center;font-size:13px;font-weight:650}.rating-button{min-height:58px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.rating-button:hover{border-color:var(--line-strong)}.rating-button.again:hover{background:var(--danger-soft);color:var(--danger)}.rating-button.hard:hover{background:var(--warning-soft);color:var(--warning)}.rating-button.known:hover{background:var(--success-soft);color:var(--success)}.rating-button span,.rating-button small{display:block}.rating-button span{font-weight:680}.rating-button small{color:var(--ink-muted);font-size:10px}.active-recall-note dl{margin:18px 0 0}.active-recall-note dl div{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0}.active-recall-note dt{color:var(--ink-muted);font-size:12px}.active-recall-note dd{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.reading-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);align-items:start;gap:20px}.passage-panel,.questions-panel{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px}.passage-panel{position:sticky;top:calc(var(--topbar-height) + 18px)}.passage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:15px}.passage-heading span:first-child{color:var(--teal-dark);font-size:11px;font-weight:700}.passage-heading h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:23px}.time-estimate{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted)!important;white-space:nowrap}.passage-copy{margin-top:20px}.passage-copy p{margin-bottom:18px;color:#283430;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.8}.paragraph-number{display:inline-grid;width:22px;height:22px;place-items:center;margin-right:8px;border-radius:4px;background:var(--surface-soft);color:var(--ink-muted);font-family:inherit;font-size:10px;vertical-align:2px}.evidence-tip{display:flex;gap:10px;border-left:3px solid var(--teal);background:var(--teal-pale);padding:11px 12px;color:var(--teal-dark)}.evidence-tip p{margin:0;font-size:12px}.questions-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.questions-heading h2{margin:0;font-size:18px}.success-icon{color:var(--success)}.questions-panel .question-block{margin-bottom:14px;padding:0 0 16px;border:0;border-bottom:1px solid var(--line);border-radius:0}.sticky-submit{position:sticky;bottom:12px;display:flex;justify-content:flex-end;border:1px solid var(--line);border-radius:8px;background:#fffffff5;padding:10px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.audio-workbench{margin-bottom:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px}.audio-context h2{margin-bottom:5px}.audio-context p:last-child{margin-bottom:18px}.audio-player{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:18px}.audio-play{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:var(--teal);color:#fff;transition:background-color .18s ease}.audio-play:hover{background:var(--teal-dark)}.audio-status strong,.audio-status span{display:block}.audio-status strong{font-size:14px}.audio-status span{margin-top:2px;color:var(--ink-muted);font-size:11px}.speed-control{display:flex;min-height:40px;align-items:center;gap:3px;border:1px solid var(--line);border-radius:6px;background:var(--surface-soft);padding:3px 5px}.speed-control>svg{margin-inline:4px;color:var(--ink-muted)}.speed-control button{min-width:44px;min-height:44px;border-radius:4px;background:transparent;color:var(--ink-muted);font-size:11px}.speed-control button[data-active=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.transcript-panel{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px}.transcript-heading{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding-bottom:11px;color:var(--teal-dark)}.transcript-heading h3{margin:0}.transcript-heading span{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--success);font-size:11px}.transcript-panel>p{margin:15px 0 0;font-family:Georgia,Times New Roman,serif;line-height:1.8}.listening-method ol,.cloze-method ol{display:grid;gap:0;margin:14px 0 0;padding:0;list-style:none}.listening-method li,.cloze-method li{display:flex;gap:10px;border-top:1px solid var(--line);padding:12px 0}.listening-method li>span,.cloze-method li>span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--teal-dark);font-size:11px;font-weight:700}.listening-method li strong{font-size:13px}.listening-method li p,.cloze-method li p{margin:2px 0 0;color:var(--ink-muted);font-size:12px}.listening-method .panel-footnote{margin-top:12px}.cloze-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.cloze-summary h2{margin:0}.answered-count{margin-left:auto;color:var(--ink-muted);font-size:13px;font-variant-numeric:tabular-nums}.sticky-actions{position:sticky;bottom:12px;border:1px solid var(--line);border-radius:8px;background:#f3f5f1f5;padding:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mini-result{display:flex;align-items:flex-start;gap:9px;margin-top:14px;background:var(--success-soft);color:var(--success);padding:11px}.mini-result strong{font-size:13px}.mini-result p{margin:1px 0 0;font-size:11px}.output-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:0;list-style:none;overflow:hidden}.output-stepper li{display:flex;min-width:0;min-height:50px;align-items:center;gap:8px;border-right:1px solid var(--line);padding:8px 12px;color:var(--ink-muted);font-size:12px}.output-stepper li:last-child{border-right:0}.output-stepper li>span{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-raised);font-size:10px;font-weight:700}.output-stepper li[data-complete=true]{color:var(--success)}.output-stepper li[data-complete=true]>span{border-color:#8bb8a0;background:var(--success-soft)}.output-stepper li[data-active=true]{background:var(--teal-pale);color:var(--teal-dark)}.output-stepper li[data-active=true]>span{border-color:var(--teal);background:var(--teal);color:#fff}.writing-toolbar{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px}.select-field{display:grid;min-width:250px;grid-template-columns:auto minmax(170px,1fr);align-items:center;gap:8px;color:var(--ink-muted);font-size:12px}.select-field select{min-height:44px}.writing-timer{display:flex;min-height:44px;align-items:center;gap:8px;margin-left:auto;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:3px 3px 3px 11px;color:var(--ink-muted)}.writing-timer strong{min-width:54px;color:var(--ink);font-variant-numeric:tabular-nums}.writing-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start;gap:20px}.prompt-panel,.writing-editor,.model-answer{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px}.prompt-panel{position:sticky;top:calc(var(--topbar-height) + 18px)}.prompt-panel h2{margin-top:14px}.english-prompt{color:#26332f;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75}.requirement-list{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none}.requirement-list li{display:flex;align-items:flex-start;gap:7px;color:var(--ink-soft);font-size:12px}.requirement-list li svg{margin-top:1px;color:var(--teal)}.outline-builder{display:grid;gap:12px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.subsection-heading{display:flex;align-items:center;gap:10px}.subsection-heading>span{display:grid;width:36px;height:36px;place-items:center;border-radius:7px;background:var(--teal-soft);color:var(--teal-dark)}.subsection-heading strong,.subsection-heading small{display:block}.subsection-heading small{color:var(--ink-muted);font-size:10px}.outline-builder label{display:grid;gap:5px;color:var(--ink-muted);font-size:11px}.outline-builder input{min-height:44px;font-size:14px}.editor-heading,.model-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.editor-heading h2,.model-heading h2{margin-bottom:0}.save-state{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:11px}.evidence-count{color:var(--teal-dark);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.editor-textarea-label{display:block;margin-top:15px;color:var(--ink-soft);font-size:12px;font-weight:680}.prior-output-note{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;border-left:3px solid var(--success);background:var(--success-soft);padding:9px 11px;color:var(--success);font-size:12px}.prior-output-note svg{flex:0 0 auto;margin-top:1px}.prior-output-note span{min-width:0}.prior-output-note button{min-height:44px;flex:0 0 auto;margin:-7px -7px -7px auto;background:transparent;color:var(--success);padding:7px 9px;font-size:11px;font-weight:700}.writing-editor>textarea{min-height:410px;margin-top:15px;border-color:var(--line);background:#fdfefd;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.8}.draft-snapshot{margin-top:16px;border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:0 7px 7px 0;background:var(--surface-raised);padding:16px;color:#26332f;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75;white-space:pre-wrap}.revision-focus-band{display:flex;align-items:flex-start;gap:11px;margin-top:16px;border-left:4px solid var(--amber);background:var(--amber-soft);padding:12px 14px 12px 11px;color:var(--warning)}.revision-focus-band>svg{flex:0 0 auto;margin-top:1px}.revision-focus-band strong{font-size:13px}.revision-focus-band ul{display:grid;gap:4px;margin:5px 0 0;padding-left:18px;color:var(--ink-soft);font-size:12px}.editor-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px;color:var(--ink-muted);font-size:11px}.editor-status span:first-child{color:var(--warning)}.editor-status span:first-child[data-in-range=true]{color:var(--success)}.editor-status strong{font-size:15px;font-variant-numeric:tabular-nums}.self-review{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.checklist{display:grid;gap:8px;margin-top:12px}.checklist.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist label{display:flex;min-height:44px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);padding:9px 11px;color:var(--ink-soft);font-size:13px;cursor:pointer}.checklist label:has(input:checked){border-color:#8bb8a0;background:var(--success-soft);color:var(--success)}.checklist input{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--success)}.self-review .panel-footnote{margin-top:10px}.model-answer{border-left:4px solid var(--teal)}.model-copy{max-width:780px;margin-top:16px}.model-copy p{margin-bottom:12px;color:#26332f;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.8}.writing-reference-action{display:flex;justify-content:flex-end;border-top:1px solid var(--line);padding-top:14px}.result-check{color:var(--success)}.revision-result-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);overflow:hidden}.revision-result-strip span{display:grid;min-width:0;min-height:72px;align-content:center;gap:2px;border-right:1px solid var(--line);padding:10px 12px}.revision-result-strip span:last-child{border-right:0}.revision-result-strip small{color:var(--ink-muted);font-size:10px}.revision-result-strip strong{font-size:15px;font-variant-numeric:tabular-nums}.writing-comparison{border-top:1px solid var(--line);padding-top:22px}.draft-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.draft-compare-grid article{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.draft-compare-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 14px}.draft-compare-grid article>div span{color:var(--ink-muted);font-size:11px}.draft-compare-grid article>p{margin:0;padding:16px;color:#26332f;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.75;white-space:pre-wrap}.evidence-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.evidence-groups>div{min-width:0;border-top:3px solid var(--line-strong);border-radius:0 0 7px 7px;background:var(--surface);padding:13px 14px}.evidence-groups>div[data-tone=success]{border-color:var(--success)}.evidence-groups>div[data-tone=warning]{border-color:var(--amber)}.evidence-groups>div[data-tone=danger]{border-color:var(--coral)}.evidence-groups strong{font-size:12px}.evidence-groups ul,.evidence-groups p{margin:7px 0 0;color:var(--ink-muted);font-size:11px}.evidence-groups ul{display:grid;gap:4px;padding-left:17px}.speaking-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}.prompt-number{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--ink-soft);font-size:11px;font-weight:700}.session-switcher button[data-active=true] .prompt-number{background:var(--teal);color:#fff}.speaking-prompt{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px}.speaking-prompt h2{max-width:800px;margin:15px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:600;line-height:1.6}.speaking-focus-band{display:flex;align-items:flex-start;gap:12px;margin-top:16px;border-left:4px solid var(--amber);background:var(--amber-soft);padding:13px 15px 13px 12px;color:var(--warning)}.speaking-focus-band>svg{flex:0 0 auto;margin-top:2px}.speaking-focus-band h3{margin:2px 0 4px;font-size:15px}.speaking-focus-band p:last-child{max-width:720px;margin-bottom:0;color:var(--ink-soft);font-size:12px}.speaking-hints{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);padding-top:15px}.speaking-hints span{display:flex;min-width:0;align-items:center;gap:7px;border-right:1px solid var(--line);padding:0 10px;color:var(--ink-muted);font-size:11px}.speaking-hints span:first-child{padding-left:0}.speaking-hints span:last-child{border-right:0}.speaking-hints strong{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal-dark);font-size:9px}.recorder-panel{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px}.recorder-visual{display:flex;align-items:center;gap:24px}.timer-ring{position:relative;width:116px;height:116px;flex:0 0 116px}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke-width:7}.timer-ring-track{stroke:var(--surface-soft)}.timer-ring-value{stroke:var(--teal);stroke-linecap:round;transition:stroke-dashoffset .2s linear}.recorder-visual[data-state=recording] .timer-ring-value{stroke:var(--coral)}.timer-ring>span{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.timer-ring strong,.timer-ring small{display:block}.timer-ring strong{font-size:22px;font-variant-numeric:tabular-nums}.timer-ring small{color:var(--ink-muted);font-size:10px}.recorder-copy h3{margin-bottom:5px;font-size:19px}.recorder-copy p:last-child{margin-bottom:0;color:var(--ink-muted);font-size:12px}.recorder-controls{display:flex;align-items:center;gap:12px;margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.recorder-controls audio{width:min(100%,360px);height:42px}.fallback-response{display:grid;gap:6px;margin-top:16px;color:var(--ink-soft);font-size:12px}.fallback-response textarea{min-height:130px}.fallback-response small{color:var(--ink-muted);font-size:11px}.speaking-review{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px}.next-focus-fieldset{margin:18px 0 0;border:0;border-top:1px solid var(--line);padding:16px 0 0}.next-focus-fieldset legend{padding:0;color:var(--ink);font-size:14px;font-weight:700}.next-focus-fieldset>p{margin:4px 0 10px;color:var(--ink-muted);font-size:11px}.next-focus-fieldset>div{display:grid;gap:8px}.next-focus-fieldset label{display:flex;min-height:52px;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-raised);padding:10px 12px;cursor:pointer}.next-focus-fieldset label:has(input:checked){border-color:var(--amber);background:var(--amber-soft)}.next-focus-fieldset input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin-top:2px;accent-color:var(--amber)}.next-focus-fieldset strong,.next-focus-fieldset small{display:block}.next-focus-fieldset strong{color:var(--ink-soft);font-size:12px}.next-focus-fieldset small{margin-top:2px;color:var(--ink-muted);font-size:10px;line-height:1.5}.speaking-result,.speaking-history{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:20px}.speaking-result-heading{display:flex;align-items:flex-start;gap:11px}.speaking-result-heading>svg{flex:0 0 auto;color:var(--success)}.speaking-result-heading h2{margin-bottom:0}.speaking-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.speaking-evidence-grid>div{min-width:0;border-top:3px solid var(--success);background:var(--success-soft);padding:12px 14px}.speaking-evidence-grid>div:last-child{border-color:var(--amber);background:var(--amber-soft)}.speaking-evidence-grid small,.speaking-evidence-grid strong{display:block}.speaking-evidence-grid small{color:var(--ink-muted);font-size:10px}.speaking-evidence-grid strong{margin-top:2px;font-size:16px}.speaking-evidence-grid ul{display:grid;gap:4px;margin:7px 0 0;padding-left:17px;color:var(--ink-soft);font-size:11px}.next-recording-plan{display:flex;align-items:flex-start;gap:10px;margin:14px 0;border-left:4px solid var(--amber);background:var(--amber-soft);padding:12px;color:var(--warning)}.next-recording-plan>svg{flex:0 0 auto}.next-recording-plan strong{color:var(--ink);font-size:13px}.next-recording-plan p{margin:3px 0 0;color:var(--ink-soft);font-size:11px}.speaking-history-list{display:grid;margin-top:12px;border-top:1px solid var(--line)}.speaking-history-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:11px 2px}.speaking-history-list article>div{display:flex;align-items:baseline;gap:9px}.speaking-history-list article span{color:var(--ink-muted);font-size:10px}.speaking-history-list article p{display:flex;align-items:flex-start;gap:6px;margin:0;color:var(--ink-soft);font-size:11px}.speaking-history-list article p svg{flex:0 0 auto;color:var(--amber)}.speaking-method ol{display:grid;gap:0;margin:12px 0 0;padding:0;list-style:none}.speaking-method li{display:flex;gap:10px;border-top:1px solid var(--line);padding:12px 0;color:var(--teal-dark)}.speaking-method li strong{font-size:13px}.speaking-method li p{margin:1px 0 0;color:var(--ink-muted);font-size:11px}.speaking-method .panel-footnote{margin-top:12px}.output-row{grid-template-columns:40px minmax(0,1fr) auto}.speaking-output-row .review-type-icon{background:var(--amber-soft);color:var(--warning)}.speaking-output-row .review-row-copy p{display:flex;align-items:center;gap:5px}.review-summary,.mock-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:2px 0 20px}.review-summary h2,.mock-intro h2{font-size:24px}.review-summary p:last-child,.mock-intro p:last-child{margin-bottom:0}.review-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.review-tabs button{position:relative;display:inline-flex;min-height:46px;align-items:center;gap:8px;background:transparent;color:var(--ink-muted);padding:8px 14px;font-size:13px;font-weight:650}.review-tabs button:after{position:absolute;right:10px;bottom:-1px;left:10px;height:3px;border-radius:3px 3px 0 0;background:transparent;content:""}.review-tabs button[data-active=true]{color:var(--teal-dark)}.review-tabs button[data-active=true]:after{background:var(--teal)}.review-tabs button span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:11px;background:var(--surface-soft);font-size:10px}.review-list{display:grid;gap:10px}.review-row,.mistake-row{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.review-row{display:grid;min-height:82px;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:13px 15px}.review-type-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:7px;background:var(--teal-soft);color:var(--teal-dark)}.review-row-copy{min-width:0}.review-title-line{display:flex;align-items:baseline;gap:9px}.review-title-line h3{margin:0}.review-title-line>span{color:var(--ink-muted);font-size:11px}.review-row-copy p{overflow:hidden;margin:3px 0 0;color:var(--ink-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.list-cta{justify-self:end;margin-top:6px}.mistake-row{padding:18px}.mistake-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mistake-meta>span:last-child{color:var(--ink-muted);font-size:11px}.mistake-row h3{font-size:15px}.mistake-answer{border-left:3px solid var(--teal);background:var(--teal-pale);padding:10px 12px}.mistake-answer p{margin-bottom:4px;font-size:13px}.mistake-answer p:last-child{margin-bottom:0}.mistake-reason-row{display:grid;grid-template-columns:20px auto minmax(220px,360px);align-items:center;gap:9px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px;color:var(--teal-dark)}.mistake-reason-row label{color:var(--ink-soft);font-size:12px;font-weight:650}.mistake-reason-row select{min-height:44px;font-size:14px}.mistake-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.empty-state{display:grid;min-height:280px;place-items:center;place-content:center;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-raised);padding:28px;color:var(--ink-muted);text-align:center}.empty-state h3{margin:12px 0 5px}.empty-state p{max-width:460px;margin-bottom:16px;font-size:13px}.retest-entry-band{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;border-left:4px solid var(--teal);border-radius:0 7px 7px 0;background:var(--teal-pale);padding:14px 16px 14px 12px}.retest-entry-band>span,.retest-intro-icon{display:grid;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal-dark)}.retest-entry-band>span{width:44px;height:44px}.retest-entry-band strong,.retest-entry-band p{display:block}.retest-entry-band p{margin:3px 0 0;color:var(--ink-muted);font-size:12px}.retest-intro{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:2px 0 22px}.retest-intro-icon{width:58px;height:58px}.retest-intro h2{font-size:24px}.retest-intro p:last-child{max-width:700px;margin-bottom:0;color:var(--ink-muted)}.retest-queue-preview{border-top:1px solid var(--line);padding-top:20px}.retest-queue-preview .section-heading>span{color:var(--ink-muted);font-size:12px}.retest-queue-preview ol,.retest-result-list ol{margin:0;border-top:1px solid var(--line);padding:0;list-style:none}.retest-queue-preview li{display:grid;grid-template-columns:32px minmax(0,1fr) 150px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:13px 4px}.retest-queue-number{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--teal-dark);font-size:11px;font-weight:750}.retest-queue-preview li p{overflow:hidden;margin:3px 0 0;color:var(--ink-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.retest-queue-preview li>span:last-child{color:var(--ink-soft);font-size:12px;font-weight:650;text-align:right}.retest-queue-preview li>span:last-child small{display:block;margin-bottom:2px;color:var(--ink-muted);font-size:10px;font-weight:500}.retest-untagged-note{display:flex;align-items:center;gap:7px;margin:0;color:var(--warning);font-size:12px}.retest-empty{min-height:420px}.retest-progress{position:sticky;z-index:15;top:var(--topbar-height);display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:20px;margin:-28px calc(clamp(20px,3vw,40px)*-1) 4px;border-bottom:1px solid var(--line);background:#fffffff7;padding:12px clamp(20px,3vw,40px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.retest-progress>div{display:flex;min-width:0;align-items:center;gap:10px}.retest-progress>div>span:last-child{min-width:0}.retest-progress strong,.retest-progress small{display:block}.retest-progress strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retest-progress small{margin-top:2px;color:var(--ink-muted);font-size:11px}.retest-progress-track{display:block;overflow:hidden;height:7px;border-radius:7px;background:var(--surface-soft)}.retest-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .2s ease}.retest-question-workspace{width:min(100%,820px);margin:0 auto}.retest-question-workspace>header{border-bottom:1px solid var(--line);padding:8px 0 16px}.retest-question-workspace>header .overline{display:flex;align-items:center;gap:6px}.retest-question-workspace>header h2{font-size:22px}.retest-reading-context,.retest-transcript{margin:18px 0;border-left:4px solid var(--teal);background:var(--surface);box-shadow:var(--shadow-sm);padding:18px 20px}.retest-reading-context p,.retest-transcript p{margin-bottom:12px;color:#263430;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.72}.retest-reading-context p:last-child,.retest-transcript p:last-child{margin-bottom:0}.retest-transcript strong{display:block;margin-bottom:8px;color:var(--teal-dark)}.retest-audio-player{display:grid;grid-template-columns:54px minmax(0,1fr) 22px;align-items:center;gap:12px;margin:18px 0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px 14px}.retest-audio-player strong,.retest-audio-player span{display:block}.retest-audio-player span{margin-top:2px;color:var(--ink-muted);font-size:11px}.retest-audio-player>svg{color:var(--teal)}.retest-question-workspace>.question-block{margin-top:18px}.retest-transfer-status{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;margin-top:14px;border-left:4px solid var(--danger);background:var(--danger-soft);color:var(--danger);padding:12px 14px}.retest-transfer-status[data-correct=true]{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.retest-transfer-status p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}.retest-action-bar{position:sticky;z-index:14;bottom:12px;display:flex;width:min(100%,820px);align-items:center;justify-content:space-between;gap:16px;margin:8px auto 0;border:1px solid var(--line);border-radius:8px;background:#fffffff7;box-shadow:var(--shadow-md);padding:10px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.retest-action-bar>span{color:var(--ink-muted);font-size:12px}.retest-result-hero{max-width:720px;margin:0 auto;text-align:center}.retest-result-hero>span{display:grid;width:62px;height:62px;margin:0 auto 14px;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal-dark)}.retest-result-hero h2{font-size:24px}.retest-score{display:flex;align-items:baseline;justify-content:center;margin:12px 0}.retest-score strong{font-size:54px;font-variant-numeric:tabular-nums;line-height:1}.retest-score span{color:var(--ink-muted);font-size:18px}.retest-result-hero .score-meter{max-width:460px;margin:0 auto}.retest-result-hero>p:last-child{max-width:620px;margin:14px auto 0;color:var(--ink-muted)}.retest-result-list{border-top:1px solid var(--line);padding-top:20px}.retest-result-list li{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:13px 4px}.retest-result-list li>span{color:var(--danger)}.retest-result-list li[data-correct=true]>span{color:var(--success)}.retest-result-list li p{margin:3px 0 0;color:var(--ink-muted);font-size:12px}.retest-result-list li>strong:last-child{color:var(--danger);font-size:12px}.retest-result-list li[data-correct=true]>strong:last-child{color:var(--success)}.retest-result-actions{display:flex;justify-content:center;gap:9px;margin-top:20px}.mock-shield{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border-radius:50%;background:var(--teal-soft);color:var(--teal-dark)}.mock-mode-control{display:grid;width:min(100%,560px);grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mock-mode-control button{position:relative;display:grid;min-height:64px;align-content:center;gap:2px;border-right:1px solid var(--line);background:transparent;color:var(--ink-muted);padding:9px 14px;text-align:left}.mock-mode-control button:last-child{border-right:0}.mock-mode-control button:after{position:absolute;right:12px;bottom:0;left:12px;height:3px;border-radius:3px 3px 0 0;background:transparent;content:""}.mock-mode-control button[data-active=true]{background:var(--teal-pale);color:var(--teal-dark)}.mock-mode-control button[data-active=true]:after{background:var(--teal)}.mock-mode-control strong,.mock-mode-control small{display:block}.mock-mode-control strong{font-size:14px}.mock-mode-control small{font-size:11px}.mock-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mock-option{position:relative;display:flex;min-height:300px;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.mock-option[data-recommended=true]{border-top:4px solid var(--teal);padding-top:19px}.mock-option-labels{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}.mock-option-labels:empty{display:none}.recommended-label,.rotation-label{align-self:flex-start;border:1px solid #a7c9b6;border-radius:5px;background:var(--success-soft);color:var(--success);padding:3px 7px;font-size:10px;font-weight:700}.rotation-label{border-color:var(--line);background:var(--teal-pale);color:var(--teal-dark)}.mock-option-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mock-option-head>span:last-child{display:inline-flex;align-items:center;gap:5px;color:var(--ink-muted);font-size:12px}.mock-option h3{margin-top:14px;font-size:20px}.mock-option>p{color:var(--ink-muted);font-size:13px}.mock-option ul{display:grid;gap:7px;margin:auto 0 18px;padding:0;list-style:none}.mock-option li{display:flex;align-items:center;gap:7px;color:var(--ink-soft);font-size:12px}.mock-option li svg{color:var(--success)}.mock-history,.mistake-insights,.history-section,.activity-section{border-top:1px solid var(--line);padding-top:20px}.history-row{display:grid;min-height:58px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);color:var(--teal-dark);padding:9px 4px}.history-row span{min-width:0}.history-row strong,.history-row small{display:block}.history-row strong{color:var(--ink);font-size:13px}.history-row small{color:var(--ink-muted);font-size:10px}.empty-inline{margin-top:12px;border:1px dashed var(--line-strong);border-radius:7px;background:var(--surface-raised);color:var(--ink-muted);padding:18px;font-size:13px;text-align:center}.mock-session-bar{position:sticky;z-index:15;top:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-28px calc(clamp(20px,3vw,40px)*-1) 20px;border-bottom:1px solid var(--line);background:#fffffff7;padding:12px clamp(20px,3vw,40px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.assessment-scope-note{display:flex;max-width:960px;align-items:flex-start;gap:9px;margin:0 auto 14px;border-left:4px solid var(--blue);background:var(--blue-soft);color:var(--blue);padding:11px 13px}.assessment-scope-note p{margin:0;color:#486372;font-size:12px}.assessment-scope-note strong{color:var(--blue)}.assessment-section-nav{display:grid;max-width:960px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));overflow:hidden;margin:0 auto 22px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.assessment-section-nav button{display:grid;min-width:0;min-height:62px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border-right:1px solid var(--line);background:transparent;color:var(--ink-soft);padding:8px 12px;text-align:left}.assessment-section-nav button:last-child{border-right:0}.assessment-section-nav button:hover{background:var(--teal-pale);color:var(--teal-dark)}.assessment-section-nav button>span:first-child{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:10px;font-weight:700}.assessment-section-nav strong,.assessment-section-nav small{display:block;min-width:0}.assessment-section-nav strong{font-size:12px}.assessment-section-nav small{color:var(--ink-muted);font-size:10px;font-variant-numeric:tabular-nums}.assessment-section-stack{display:grid;max-width:960px;gap:26px;margin:0 auto}.assessment-section{scroll-margin-top:calc(var(--topbar-height) + 92px);border-top:1px solid var(--line-strong);padding-top:22px}.assessment-section>header{max-width:760px;margin-bottom:16px}.assessment-section>header h2{margin-bottom:5px;font-size:22px}.assessment-section>header>p:last-child{margin:0;color:var(--ink-muted);font-size:13px}.assessment-audio-player{display:grid;grid-template-columns:54px minmax(0,1fr) 32px;align-items:center;gap:14px;margin-bottom:18px;border-block:1px solid var(--line);background:var(--surface-raised);padding:14px 16px;color:var(--teal-dark)}.assessment-audio-player>div strong,.assessment-audio-player>div span{display:block}.assessment-audio-player>div strong{color:var(--ink);font-size:14px}.assessment-audio-player>div span{margin-top:2px;color:var(--ink-muted);font-size:11px}.assessment-audio-player .audio-play:disabled{background:var(--line-strong);color:var(--surface)}.assessment-passage{margin-bottom:18px;border-left:4px solid var(--teal);background:var(--surface-raised);padding:17px 20px}.assessment-passage p{position:relative;max-width:78ch;margin:0 auto 15px;padding-left:28px;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.75}.assessment-passage p:last-child{margin-bottom:0}.assessment-passage p>span{position:absolute;top:3px;left:0;display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--ink-muted);font-family:Inter,Noto Sans SC,sans-serif;font-size:9px}.assessment-transcript{margin-bottom:18px;border-left:4px solid var(--success);background:var(--success-soft);padding:15px 17px}.assessment-transcript>strong{color:var(--success);font-size:13px}.assessment-transcript p{margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.75}.assessment-questions{max-width:880px}.assessment-result-hero{border-bottom:1px solid var(--line);padding-bottom:22px}.assessment-skill-summary{max-width:960px;margin:0 auto}.assessment-skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:14px;border-block:1px solid var(--line)}.assessment-skill-grid article{min-width:0;border-right:1px solid var(--line);padding:16px}.assessment-skill-grid article:last-child{border-right:0}.assessment-skill-grid article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.assessment-skill-grid article>div:first-child strong{font-size:13px}.assessment-skill-grid article>div:first-child span{color:var(--ink-muted);font-size:11px;font-variant-numeric:tabular-nums}.assessment-next-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.mock-session-bar>div:first-child{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:10px}.mock-session-bar>div:first-child>span:last-child{min-width:0;flex:1 1 auto}.mock-session-bar strong,.mock-session-bar small{display:block}.mock-session-bar small{color:var(--ink-muted);font-size:11px}.mock-timer{display:flex;min-width:106px;min-height:46px;flex:0 0 106px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);font-variant-numeric:tabular-nums}.mock-timer[data-warning=true]{border-color:#dea49d;background:var(--danger-soft);color:var(--danger)}.mock-questions,.result-questions{max-width:880px;margin:0 auto}.mock-submit-bar{position:sticky;bottom:12px;display:flex;max-width:880px;align-items:center;justify-content:space-between;gap:16px;margin:18px auto 0;border:1px solid var(--line);border-radius:8px;background:#fffffff7;box-shadow:var(--shadow-md);padding:10px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mock-submit-bar>span{color:var(--ink-muted);font-size:12px}.result-hero{max-width:720px;margin:0 auto;text-align:center}.result-hero h2{margin-bottom:8px;font-size:24px}.mock-score{margin:15px 0;font-variant-numeric:tabular-nums}.mock-score strong{font-size:54px;line-height:1}.mock-score span{color:var(--ink-muted);font-size:20px}.centered-action{justify-self:center}.evidence-banner{display:flex;align-items:flex-start;gap:11px;border-left:4px solid var(--blue);background:var(--blue-soft);padding:13px 15px;color:var(--blue)}.evidence-banner strong{color:#2d4c5d;font-size:13px}.evidence-banner p{margin:2px 0 0;color:#486372;font-size:12px}.exam-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.exam-progress-card{border:1px solid var(--line);border-top:4px solid var(--coral);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);padding:20px}.exam-progress-card.english2{border-top-color:var(--amber)}.exam-progress-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:18px}.exam-progress-head h2{margin-bottom:0;font-size:17px}.exam-progress-head>strong{font-size:32px;font-variant-numeric:tabular-nums}.exam-subskills{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px;border-top:1px solid var(--line);padding-top:13px}.exam-subskills span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-muted);font-size:11px}.exam-subskills strong{color:var(--ink);font-size:14px}.progress-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:16px}.skill-table{margin-top:14px}.skill-row{display:grid;min-height:58px;grid-template-columns:110px minmax(0,1fr) 34px;align-items:center;gap:14px;border-top:1px solid var(--line)}.skill-row>span strong,.skill-row>span small{display:block}.skill-row>span strong{font-size:13px}.skill-row>span small{color:var(--ink-muted);font-size:10px}.skill-row>strong{text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.progress-summary{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.mistake-insights-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);align-items:stretch;gap:18px;margin-top:14px}.reason-summary-list{margin:0;border-top:1px solid var(--line);padding:0;list-style:none}.reason-summary-row{display:grid;min-height:68px;grid-template-columns:30px minmax(145px,.75fr) minmax(110px,1fr) 48px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 4px}.reason-rank{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--teal-dark);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.reason-summary-copy,.reason-summary-copy strong,.reason-summary-copy small{display:block;min-width:0}.reason-summary-copy strong{font-size:13px}.reason-summary-copy small{margin-top:2px;color:var(--ink-muted);font-size:10px}.reason-summary-track{overflow:hidden;height:8px;border-radius:4px;background:var(--surface-soft)}.reason-summary-track>span{display:block;height:100%;border-radius:inherit;background:var(--teal)}.reason-summary-count{color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums;text-align:right}.reason-summary-count small{margin-left:2px;color:var(--ink-muted);font-size:10px;font-weight:500}.mistake-insight-note{display:grid;align-content:start;grid-template-columns:24px minmax(0,1fr);gap:8px 10px;border-left:4px solid var(--amber);background:var(--warning-soft);padding:16px;color:var(--warning)}.mistake-insight-note strong{color:#664009;font-size:14px}.mistake-insight-note p{margin:3px 0 0;color:#6f521f;font-size:11px}.mistake-insight-note .untagged-note{grid-column:1 / -1;margin-top:6px;border-top:1px solid rgba(169,97,18,.24);padding-top:9px;font-weight:650}.summary-stat{display:flex;min-height:78px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 16px;color:var(--teal-dark)}.summary-stat:last-child{border-bottom:0}.summary-stat strong,.summary-stat small{display:block}.summary-stat strong{color:var(--ink);font-size:17px}.summary-stat small{color:var(--ink-muted);font-size:10px}.activity-chart{display:grid;height:190px;grid-template-columns:repeat(7,minmax(30px,1fr));align-items:end;gap:10px;margin-top:14px;border-bottom:1px solid var(--line-strong);background-image:repeating-linear-gradient(to top,transparent 0,transparent 45px,rgba(215,221,216,.6) 46px);padding:16px 12px 0}.chart-column{display:flex;height:100%;flex-direction:column-reverse;align-items:center;gap:5px}.chart-column>span{width:min(34px,70%);min-height:8px;border-radius:4px 4px 0 0;background:var(--teal)}.chart-column small{color:var(--ink-muted);font-size:10px;font-variant-numeric:tabular-nums}.history-table .history-row{grid-template-columns:minmax(0,1fr) 110px 60px}.history-table .history-row>span:nth-child(2){color:var(--ink-muted);font-size:12px}.history-table .history-row>strong{text-align:right}.settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:18px}.settings-data-stack{display:grid;gap:16px}.settings-exam-notice{display:flex;gap:10px;margin:16px 0 20px;border-left:4px solid var(--amber);background:var(--warning-soft);padding:12px 14px;color:var(--warning)}.settings-exam-notice strong{color:#664009;font-size:13px}.settings-exam-notice ul{margin:5px 0 0;padding-left:18px;color:#6f521f;font-size:11px}.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-field{display:grid;align-content:start;gap:6px}.settings-field-wide,.settings-date-fields,.settings-form-actions,.settings-form>.inline-message{grid-column:1 / -1}.settings-field label,.settings-date-fields legend{color:var(--ink-soft);font-size:12px;font-weight:650}.settings-field small,.settings-helper{color:var(--ink-muted);font-size:10px;line-height:1.5}.settings-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;border:0;border-top:1px solid var(--line);padding:17px 0 0}.settings-date-fields legend{padding-right:8px}.input-with-unit{position:relative}.input-with-unit input{padding-right:54px}.input-with-unit>span{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--ink-muted);font-size:11px}.settings-form-actions{display:flex;justify-content:flex-end}.settings-section-copy{margin:14px 0 16px;color:var(--ink-muted);font-size:12px}.settings-data-actions{display:grid;gap:8px}.settings-data-actions .button{justify-content:flex-start}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.inline-message{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;border-left:3px solid var(--blue);background:var(--blue-soft);color:#2d4c5d;padding:10px 12px;font-size:12px}.inline-message.error{border-left-color:var(--danger);background:var(--danger-soft);color:#7f1d16}.inline-message.success{border-left-color:var(--success);background:var(--success-soft);color:var(--success)}.settings-danger-panel{border-color:#e0b1ab}.settings-danger-panel .section-heading>svg{color:var(--danger)}.reset-confirmation{border:1px solid #e0b1ab;border-radius:7px;background:var(--danger-soft);padding:12px}.reset-confirmation p{margin-bottom:10px;color:#7f1d16;font-size:12px}.reset-confirmation-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-feedback{min-height:1px}@media(max-width:1180px){:root{--nav-width: 220px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(285px,.8fr)}.next-session-action{align-items:flex-end;flex-direction:column;gap:10px}.daily-progress{text-align:right}.reading-layout{grid-template-columns:1fr}.passage-panel{position:static}.settings-grid{grid-template-columns:minmax(0,1fr) 290px}}@media(max-width:980px){.dashboard-grid,.settings-grid{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:minmax(0,1fr) 300px}.strategy-grid{grid-template-columns:1fr 1fr}.strategy-column.common{grid-column:1 / -1;border-right:0;border-bottom:1px solid var(--line)}.training-layout{grid-template-columns:minmax(0,1fr) 250px}.writing-layout{grid-template-columns:1fr}.prompt-panel{position:static}.settings-data-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.self-rating-row{grid-template-columns:1fr}.speaking-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-hero{grid-template-columns:1fr}.roadmap-week-progress{border-top:1px solid var(--line);border-left:0;padding-top:18px;padding-left:0}.weekly-target-row{grid-template-columns:30px 40px minmax(0,1fr) 76px minmax(100px,.45fr) 44px}}@media(max-width:860px){:root{--topbar-height: 72px}.side-nav{display:none}.workspace{margin-left:0}.topbar{min-height:var(--topbar-height);padding:10px 18px}.mobile-settings{display:inline-grid}.main-content{padding:22px 18px 104px}.mock-submit-bar,.retest-action-bar{bottom:calc(78px + env(safe-area-inset-bottom))}.retest-progress{margin-inline:-18px;padding-inline:18px}.bottom-nav{position:fixed;z-index:50;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:68px;border-top:1px solid var(--line);background:#fffffff7;padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));box-shadow:0 -7px 22px #17211f14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav-item{position:relative;display:grid;min-width:0;min-height:54px;place-content:center;justify-items:center;gap:2px;border-radius:6px;background:transparent;color:var(--ink-muted)}.bottom-nav-item:before{position:absolute;top:0;width:22px;height:3px;border-radius:0 0 3px 3px;background:transparent;content:""}.bottom-nav-item[data-active=true]{background:var(--teal-pale);color:var(--teal-dark)}.bottom-nav-item[data-active=true]:before{background:var(--teal)}.bottom-nav-item span{font-size:10px;font-weight:650}.training-layout{grid-template-columns:1fr}.training-aside{position:static}.mock-session-bar{top:var(--topbar-height);margin-top:-22px}}@media(max-width:720px){h1{font-size:20px}h2{font-size:19px}.eyebrow{font-size:10px}.page-stack{gap:18px}.next-session-band{grid-template-columns:1fr;gap:18px;padding:20px}.next-session-copy h2{font-size:21px}.next-session-action{align-items:stretch;flex-direction:row;justify-content:space-between}.daily-progress{text-align:left}.spec-status-strip{grid-template-columns:1fr;gap:10px}.spec-status-strip .text-button{justify-self:start}.roadmap-entry-strip{grid-template-columns:42px minmax(0,1fr)}.roadmap-entry-progress{grid-column:2}.roadmap-entry-strip .button{width:100%;grid-column:1 / -1}.diagnostic-callout{grid-template-columns:44px minmax(0,1fr)}.diagnostic-callout .button{grid-column:1 / -1;width:100%}.diagnostic-objective .question-stack{grid-template-columns:1fr}.diagnostic-submit{align-items:stretch;flex-direction:column}.dashboard-aside,.strategy-grid{grid-template-columns:1fr}.strategy-column,.strategy-column.common{grid-column:auto;border-right:0;border-bottom:1px solid var(--line)}.strategy-column:last-child{border-bottom:0}.practice-intro{align-items:stretch;flex-direction:column}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.practice-intro .segmented-control{width:100%}.course-scope-banner{grid-template-columns:44px minmax(0,1fr)}.course-scope-banner .button{grid-column:1 / -1;width:100%}.safe-training-band{grid-template-columns:1fr}.safe-training-band button{justify-content:space-between;border-top:1px solid var(--line)}.workshop-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.heading-options{grid-template-columns:1fr}.inline-blank-question,.word-form-question{grid-template-columns:28px minmax(0,1fr)}.inline-blank-question>p,.inline-blank-question>label,.word-form-question>p,.word-form-question>label{grid-column:2}.inline-blank-question select,.word-form-question input{width:100%;min-width:0}.module-grid{grid-template-columns:1fr}.module-card{min-height:260px}.map-header{display:none}.map-row{grid-template-columns:1fr;padding:12px 14px}.map-row span{padding:4px 0}.map-row span:first-child{margin-bottom:4px;font-size:15px}.map-row span:nth-child(2):before,.map-row span:nth-child(3):before,.map-row span:nth-child(4):before{display:inline-block;min-width:78px;color:var(--ink-muted);font-size:10px;font-weight:650}.map-row span:nth-child(2):before{content:"PETS-3"}.map-row span:nth-child(3):before{content:"英语（二）"}.map-row span:nth-child(4):before{content:"训练方式"}.session-switcher,.speaking-switcher{grid-template-columns:1fr}.vocab-card{min-height:370px;padding:18px}.word-heading{margin:30px 0 22px}.word-heading h2{font-size:38px}.reading-layout{gap:14px}.passage-panel,.questions-panel{padding:17px}.passage-heading{align-items:flex-start;flex-direction:column}.writing-toolbar{display:grid;grid-template-columns:1fr auto}.writing-toolbar .segmented-control{grid-template-columns:repeat(2,1fr)}.select-field{min-width:0;grid-column:1 / -1;grid-row:2}.writing-timer{margin-left:0}.writing-editor>textarea{min-height:360px}.speaking-hints{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0}.speaking-hints span:nth-child(2){border-right:0}.recorder-visual{align-items:center;flex-direction:column;text-align:center}.recorder-controls{align-items:stretch;flex-direction:column}.recorder-controls audio{width:100%}.checklist.two-column{grid-template-columns:1fr}.review-summary,.mock-intro{align-items:flex-start;flex-direction:column}.retest-intro{grid-template-columns:50px minmax(0,1fr);align-items:start}.retest-intro-icon{width:50px;height:50px}.retest-intro>.button{width:100%;grid-column:1 / -1}.retest-queue-preview li{grid-template-columns:30px minmax(0,1fr)}.retest-queue-preview li p{overflow:visible;text-overflow:clip;white-space:normal}.retest-queue-preview li>span:last-child{grid-column:2;text-align:left}.retest-progress{grid-template-columns:1fr;gap:8px}.retest-result-list li{grid-template-columns:24px minmax(0,1fr);align-items:start}.retest-result-list li>strong:last-child{grid-column:2}.mock-options,.exam-progress-grid,.progress-grid,.exam-roadmap-grid{grid-template-columns:1fr}.roadmap-hero{gap:20px;padding:20px}.roadmap-date-alert{grid-template-columns:24px minmax(0,1fr)}.roadmap-date-alert .button{width:100%;grid-column:1 / -1}.weekly-target-row{grid-template-columns:28px 36px minmax(0,1fr) auto 44px}.weekly-target-track{grid-column:3 / -1}.weekly-mock-row{grid-template-columns:38px minmax(0,1fr) auto}.weekly-mock-row .button{width:100%;grid-column:2 / -1}.weekly-review-footer{grid-template-columns:24px minmax(0,1fr)}.weekly-review-footer .text-button{justify-self:start;grid-column:2}.roadmap-phase-list{grid-template-columns:1fr}.roadmap-phase-list li{border-right:0;border-bottom:1px solid var(--line)}.roadmap-phase-list li:last-child{border-bottom:0}.mistake-insights-layout{grid-template-columns:1fr}.mock-session-bar{align-items:flex-start}.mock-session-bar>div:first-child>span:last-child{min-width:0}.mock-session-bar>div:first-child strong{overflow:hidden;max-width:190px;text-overflow:ellipsis;white-space:nowrap}.mock-submit-bar{align-items:stretch;flex-direction:column}.assessment-section-nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.assessment-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-skill-grid article:nth-child(2n){border-right:0}.settings-data-stack{grid-template-columns:1fr}}@media(max-width:520px){.topbar{padding-inline:14px}.main-content{overflow-x:clip;padding:18px 14px 98px}.mock-session-bar,.retest-progress{margin-inline:-14px;padding-inline:14px}.retest-entry-band{grid-template-columns:44px minmax(0,1fr)}.retest-entry-band>.button{width:100%;grid-column:2}.retest-reading-context,.retest-transcript{padding:15px 12px}.retest-reading-context p,.retest-transcript p{font-size:16px}.retest-audio-player{grid-template-columns:54px minmax(0,1fr);padding-inline:10px}.retest-audio-player>svg{display:none}.retest-action-bar{align-items:stretch;flex-direction:column}.retest-action-bar .button{width:100%}.retest-result-actions{align-items:stretch;flex-direction:column}.retest-result-actions .button{width:100%}.page-heading{gap:7px}.back-button{width:44px;height:44px;margin-left:-6px}.mobile-settings{width:44px;height:44px}.next-session-band{padding:17px 15px}.next-session-action{align-items:stretch;flex-direction:column}.daily-progress{display:flex;align-items:baseline;gap:4px}.daily-progress small{display:inline}.next-session-action .button{width:100%}.diagnostic-intro{grid-template-columns:44px minmax(0,1fr);gap:10px}.diagnostic-intro>span{width:44px;height:44px}.diagnostic-intro>strong{grid-column:2}.self-rating-row{padding:13px}.self-rating-row>div{grid-template-columns:1fr}.diagnostic-skill-row{grid-template-columns:105px minmax(0,1fr) 30px;gap:8px;padding-inline:11px}.panel{padding:17px 15px}.task-main{grid-template-columns:24px 32px minmax(0,1fr) 16px;gap:8px}.task-icon{width:32px;height:32px}.task-time{display:none}.task-copy small{white-space:normal}.task-check{width:44px;flex-basis:44px}.quick-stats{grid-template-columns:1fr}.stat-item{min-height:60px;border-right:0;border-bottom:1px solid var(--line)}.stat-item:last-child{border-bottom:0}.section-heading{align-items:flex-start}.section-heading>.button.ghost{display:none}.mock-mode-control{width:100%}.mock-mode-control button{min-height:70px;padding-inline:10px}.assessment-scope-note{margin-inline:0}.assessment-section-nav{grid-template-columns:1fr}.assessment-section-nav button,.assessment-section-nav button:nth-child(2n){border-right:0;border-bottom:1px solid var(--line)}.assessment-section-nav button:last-child{border-bottom:0}.assessment-section{scroll-margin-top:calc(var(--topbar-height) + 88px)}.assessment-section>header h2{font-size:20px}.assessment-audio-player{grid-template-columns:54px minmax(0,1fr);padding-inline:10px}.assessment-audio-player>svg{display:none}.assessment-passage{padding:15px 12px}.assessment-passage p{padding-left:26px;font-size:16px}.assessment-skill-grid{grid-template-columns:1fr}.assessment-skill-grid article,.assessment-skill-grid article:nth-child(2n){border-right:0;border-bottom:1px solid var(--line)}.assessment-skill-grid article:last-child{border-bottom:0}.assessment-next-actions{align-items:stretch;flex-direction:column}.assessment-next-actions .button{width:100%}.roadmap-entry-progress{grid-column:1 / -1}.roadmap-entry-copy small{overflow:visible;white-space:normal}.roadmap-hero{padding:18px 16px}.roadmap-hero-copy h2{font-size:21px}.roadmap-hero-meta{display:grid;gap:7px}.roadmap-week-progress p{align-items:flex-start;flex-direction:column;gap:3px}.roadmap-week-progress .button{width:100%}.exam-roadmap-head{grid-template-columns:36px minmax(0,1fr)}.exam-roadmap-head>strong{grid-column:2;justify-self:start}.weekly-roadmap .section-heading{align-items:flex-start;flex-direction:column;gap:8px}.weekly-target-row{grid-template-columns:28px 36px minmax(0,1fr) 44px;align-items:start;gap:8px;padding-block:12px}.weekly-target-rank,.weekly-target-icon{margin-top:2px}.weekly-target-copy{grid-column:3}.weekly-target-copy small{line-height:1.45}.weekly-target-minutes{grid-column:3;grid-row:2;text-align:left}.weekly-target-minutes strong,.weekly-target-minutes small{display:inline}.weekly-target-minutes small{margin-left:3px}.weekly-target-track{grid-column:3 / -1;grid-row:3}.weekly-target-row>.icon-button{grid-column:4;grid-row:1 / 3}.weekly-mock-row{align-items:start}.weekly-mock-row .weekly-target-minutes{grid-column:3;grid-row:1;text-align:right}.mistake-insights .section-heading{align-items:stretch;flex-direction:column;gap:8px}.mistake-insights .section-heading>.button.ghost{display:inline-flex;width:100%}.module-footer{align-items:stretch;flex-direction:column}.module-footer .button{width:100%}.course-gate{padding:22px 16px}.course-gate-actions{align-items:stretch;flex-direction:column}.course-gate-actions .button{width:100%}.workshop-version-bar{grid-template-columns:36px minmax(0,1fr);padding-inline:11px}.workshop-version-bar>span:last-child{grid-column:2}.workshop-tabs button{justify-content:flex-start;padding-inline:11px}.workshop-overview-copy h2{font-size:20px}.workshop-task-list>button{grid-template-columns:24px 36px minmax(0,1fr) 18px;gap:8px;padding-inline:11px}.workshop-exercise{padding:16px 13px}.workshop-exercise-header{align-items:flex-start}.workshop-exercise-header h2{font-size:20px}.matching-question>label,.insertion-question>label{grid-template-columns:1fr;gap:5px}.matching-question>label{margin-left:36px}.workshop-submit-bar{align-items:stretch;flex-direction:column;margin-inline:0}.workshop-submit-bar .button{width:100%}.question-block{padding:15px 12px}.answer-option{grid-template-columns:26px minmax(0,1fr) 18px;gap:8px;padding-inline:8px}.option-copy{overflow-wrap:anywhere}.result-strip{grid-template-columns:1fr}.result-strip span{border-right:0;border-bottom:1px solid var(--line)}.result-strip span:last-child{border-bottom:0}.session-complete{padding:26px 16px}.session-actions{align-items:stretch;flex-direction:column-reverse}.session-actions .button{width:100%}.recall-rating{gap:6px}.rating-button{min-width:0;padding-inline:4px}.audio-workbench{padding:16px}.audio-player{grid-template-columns:52px minmax(0,1fr)}.speed-control{grid-column:1 / -1;justify-content:center}.writing-toolbar{grid-template-columns:1fr}.writing-toolbar .segmented-control,.writing-timer,.select-field{grid-column:1}.writing-timer{grid-row:3;justify-self:stretch;justify-content:space-between}.prompt-panel,.writing-editor,.model-answer{padding:16px}.writing-editor>textarea{min-height:320px}.editor-heading,.editor-status{align-items:flex-start;flex-direction:column}.speaking-prompt,.recorder-panel,.speaking-review{padding:16px}.speaking-prompt h2{font-size:20px}.speaking-hints{grid-template-columns:1fr}.speaking-hints span,.speaking-hints span:nth-child(2){border-right:0;padding:4px 0}.review-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.review-tabs button{justify-content:center;padding-inline:4px;font-size:11px}.review-row{grid-template-columns:38px minmax(0,1fr) auto;gap:9px}.review-row .due-label{display:none}.review-row .button{grid-column:2 / -1;justify-self:end}.mistake-actions{align-items:stretch;flex-direction:column}.mistake-actions .button{width:100%}.mistake-reason-row{grid-template-columns:20px minmax(0,1fr)}.mistake-reason-row select{grid-column:1 / -1}.exam-progress-head{grid-template-columns:36px minmax(0,1fr) auto}.exam-progress-head>strong{font-size:26px}.exam-subskills{grid-template-columns:1fr}.skill-row{grid-template-columns:84px minmax(0,1fr) 30px;gap:8px}.reason-summary-row{grid-template-columns:30px minmax(0,1fr) 44px;gap:8px}.reason-summary-track{grid-column:2 / -1}.activity-chart{gap:5px;padding-inline:3px}.history-table .history-row{grid-template-columns:minmax(0,1fr) auto}.history-table .history-row>span:nth-child(2){display:none}.settings-form,.settings-date-fields,.exam-identity-fields,.date-fields{grid-template-columns:1fr}.settings-field-wide,.settings-date-fields,.settings-form-actions,.settings-form>.inline-message{grid-column:1}.settings-form-actions .button,.settings-data-actions .button,.reset-confirmation-actions .button{width:100%}.minute-grid{grid-template-columns:repeat(2,1fr)}.onboarding-dialog{padding:20px 16px}.dialog-actions{align-items:stretch;flex-direction:column-reverse}.dialog-actions .button,.dialog-actions .text-button{width:100%}}@media(max-width:360px){.mock-session-bar>div:first-child strong{overflow:visible;max-width:none;text-overflow:clip;white-space:normal;line-height:1.25}}@media(max-width:980px){.evidence-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.output-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.output-stepper li{min-height:46px;padding:7px 9px}.output-stepper li:nth-child(2){border-right:0}.output-stepper li:nth-child(-n+2){border-bottom:1px solid var(--line)}.output-stepper li>span{width:24px;height:24px;flex-basis:24px}.draft-compare-grid,.evidence-groups,.speaking-evidence-grid{grid-template-columns:1fr}.revision-result-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.revision-result-strip span:nth-child(2){border-right:0}.revision-result-strip span:nth-child(-n+2){border-bottom:1px solid var(--line)}.writing-reference-action,.writing-reference-action .button,.speaking-result>.button{width:100%}.writing-reference-action{justify-content:stretch}.speaking-history-list article{grid-template-columns:1fr;gap:5px}.speaking-history-list article>div{align-items:flex-start;flex-direction:column;gap:1px}.output-row .review-row-copy p{overflow:visible;text-overflow:clip;white-space:normal}}@media(max-width:430px){.output-stepper li{gap:6px;font-size:10px}.draft-snapshot,.draft-compare-grid article>p{padding:13px;font-size:15px}.revision-result-strip span{padding:9px}.revision-result-strip strong{font-size:13px}.speaking-focus-band,.next-recording-plan{padding-right:10px}.next-focus-fieldset label{padding-inline:9px}.prior-output-note{flex-wrap:wrap}.prior-output-note button{width:100%;margin:2px 0 -5px}}@media(max-width:720px)and (orientation:landscape){.speaking-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.output-stepper{grid-template-columns:repeat(4,minmax(0,1fr))}.output-stepper li,.output-stepper li:nth-child(-n+2){border-bottom:0}.output-stepper li:nth-child(2){border-right:1px solid var(--line)}.output-stepper li:last-child{border-right:0}.speaking-hints{grid-template-columns:repeat(2,minmax(0,1fr))}.recorder-visual{align-items:center;flex-direction:row;text-align:left}.recorder-controls{align-items:center;flex-direction:row}}
