:root{--navy:#212430;--gold:#e1c583;--gold-deep:#d6b870;--bg:#f8f5ee;--surface:#fff;--surface-2:#f0ebdf;--ink:#1b1e29;--muted:#565b69;--primary:#212430;--on-primary:#fff;--primary-soft:#e7e8ee;--accent:#9a7628;--accent-text:#7d5f1a;--accent-soft:#f5ecd6;--correct:#1e7a4c;--correct-soft:#e4f2ea;--incorrect:#b3261e;--incorrect-soft:#fbe9e7;--border:#e4ded0;--border-strong:#c7bfae;--focus:#7d5f1a;--header-ink:#f1ece0;--radius:14px;--radius-sm:10px;--font-brand:"Cormorant Garamond", Garamond, "Times New Roman", serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-sans:"Source Sans 3", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--maxw:72rem;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#212430;--surface:#2a2e3b;--surface-2:#333847;--ink:#f1eee6;--muted:#b3b6c1;--primary:#e1c583;--on-primary:#212430;--primary-soft:#3a3729;--accent:#e1c583;--accent-text:#e1c583;--accent-soft:#3a3729;--correct:#5bc08b;--correct-soft:#1e3328;--incorrect:#f2867e;--incorrect-soft:#3c2629;--border:#3b4050;--border-strong:#545a6d;--focus:#e1c583;color-scheme:dark}}:root[data-theme=dark]{--bg:#212430;--surface:#2a2e3b;--surface-2:#333847;--ink:#f1eee6;--muted:#b3b6c1;--primary:#e1c583;--on-primary:#212430;--primary-soft:#3a3729;--accent:#e1c583;--accent-text:#e1c583;--accent-soft:#3a3729;--correct:#5bc08b;--correct-soft:#1e3328;--incorrect:#f2867e;--incorrect-soft:#3c2629;--border:#3b4050;--border-strong:#545a6d;--focus:#e1c583;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);flex-direction:column;min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.6;display:flex}@media (width>=48rem){body{font-size:1.125rem}}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;margin:0 0 .5em;font-weight:600;line-height:1.2}h1{font-size:clamp(1.75rem,5vw,2.6rem)}h2{font-size:clamp(1.35rem,3.5vw,1.75rem)}h3{font-size:1.15rem}p{margin:0 0 1em}a{color:var(--primary);text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}img,svg{max-width:100%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-sm);z-index:100;padding:.6rem 1rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:.75rem}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1rem}@media (width>=48rem){.wrap{padding:0 1.5rem}}main{flex:1;padding:1.5rem 0 3rem}.narrow{max-width:46rem}.site-header{background:var(--navy);color:var(--header-ink);border-bottom:2px solid var(--gold-deep)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;min-height:4.25rem;padding-top:.4rem;padding-bottom:.4rem;display:flex}.brand{color:var(--header-ink);align-items:center;gap:.85rem;min-width:0;text-decoration:none;display:inline-flex}.brand img{width:auto;height:52px;display:block}.brand-label{font-family:var(--font-brand);color:var(--gold);white-space:nowrap;border-left:1px solid #e1c58373;padding-left:.85rem;font-size:1.2rem;font-weight:600;line-height:1.15}.site-nav{flex-wrap:wrap;align-items:center;gap:.25rem;margin-left:auto;display:flex}.site-nav a{color:var(--header-ink);border-bottom:2px solid #0000;border-radius:8px;align-items:center;min-height:44px;padding:.5rem .65rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{background:#ffffff14}.site-nav a[aria-current=page]{color:var(--gold);border-bottom-color:var(--gold);border-radius:8px 8px 0 0}.site-header :focus-visible{outline-color:var(--gold)}@media (width<=40rem){.brand img{height:40px}.brand{gap:.6rem}.brand-label{padding-left:.6rem;font-size:1rem}.site-nav{border-top:1px solid #e1c58340;flex-wrap:nowrap;order:3;justify-content:space-between;gap:0;width:100%;margin-left:0;padding-top:.15rem}.site-nav a{padding:.5rem .4rem;font-size:.92rem}}@media (width<=22.5rem){.brand img{height:34px}.brand-label{font-size:.92rem}}.site-header .theme-toggle{color:var(--header-ink);background:0 0;border-color:#e1c5838c;margin-left:auto}.site-header .theme-toggle:hover{background:#ffffff14}@media (width>=40.01rem){.site-header .theme-toggle{margin-left:.25rem}}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:1.5rem 0 2rem;font-size:.92rem}.site-footer a{color:var(--muted)}.btn{border:2px solid var(--primary);background:var(--primary);min-height:48px;color:var(--on-primary);font:inherit;cursor:pointer;text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn-secondary{color:var(--primary);background:0 0}.btn-secondary:hover{background:var(--primary-soft);filter:none}.btn-quiet{border-color:var(--border-strong);color:var(--ink);background:0 0}.btn-quiet:hover{background:var(--surface-2);filter:none}.btn-danger{border-color:var(--incorrect);color:var(--incorrect);background:0 0}.btn-small{min-height:44px;padding:.4rem .9rem;font-size:.95rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}@media (width>=48rem){.card{padding:1.5rem}}.grid{gap:1rem;display:grid}@media (width>=40rem){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=60rem){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=40rem) and (width<=59.99rem){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 .35rem;font-size:.82rem;font-weight:700}.muted{color:var(--muted)}.small{font-size:.92rem}.stack>*+*{margin-top:1rem}.section{margin-top:2.25rem}.pill{background:var(--surface-2);color:var(--ink);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.85rem;font-weight:700;display:inline-flex}.pill-done{background:var(--correct-soft);color:var(--correct);border-color:#0000}.pill-progress{background:var(--primary-soft);color:var(--primary);border-color:#0000}.notice{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:var(--radius-sm);padding:.6rem .9rem;font-size:.95rem}.breadcrumb{margin-bottom:1rem;font-size:.92rem}.breadcrumb a{color:var(--muted)}.hero{background:var(--navy);color:#f1ece0;border-radius:calc(var(--radius) + 6px);border:1px solid #e1c58359;padding:1.5rem;position:relative;overflow:hidden}@media (width>=48rem){.hero{padding:2.5rem}}.hero>*{z-index:1;position:relative}.hero h1{font-family:var(--font-brand);color:#fff;letter-spacing:0;font-size:clamp(2rem,6vw,3rem);font-weight:600}.hero p.lead{color:#d9d6cc;max-width:40rem;font-size:1.12em}.hero .eyebrow,.hero a:not(.btn){color:var(--gold)}.hero .btn{background:var(--gold);border-color:var(--gold);color:var(--navy)}.hero .btn-secondary{color:var(--gold);background:0 0}.hero .btn-secondary:hover{background:#e1c5831f}.hero .muted{color:#c9c6bc}.hero-grid{align-items:center;gap:1.25rem;display:grid}.hero-logo{width:200px;max-width:60%;height:auto;display:block}@media (width>=48rem){.hero-grid{grid-template-columns:auto minmax(0,1fr);gap:2.5rem}.hero-logo{width:230px;max-width:none}}.gold-rule{background:linear-gradient(90deg, transparent, var(--gold-deep), transparent);border:0;height:1px;margin:1.5rem 0}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (width>=48rem){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;padding:.9rem 1rem}.stat .value{font-family:var(--font-serif);overflow-wrap:anywhere;font-size:1.6rem;font-weight:600;line-height:1.15}.stat .value.text{font-size:1.05rem;font-family:var(--font-sans);font-weight:700}.stat .label{color:var(--muted);font-size:.88rem}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--border-strong);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:1.15rem}.timeline>li{margin-bottom:.9rem;padding-left:3.25rem;position:relative}.step-dot{background:var(--surface);border:2px solid var(--border-strong);width:2.35rem;height:2.35rem;color:var(--muted);border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;display:grid;position:absolute;top:.9rem;left:0}.step-online .step-dot{border-color:var(--primary);color:var(--primary)}.step-done .step-dot{background:var(--accent);border-color:var(--accent);color:var(--navy)}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.9rem 1rem;display:flex}.step-card h3{margin:0;font-size:1.05rem}.step-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.step-card .step-label{color:var(--accent-text);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:700}.check{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;font-weight:600;display:inline-flex}.check input{width:1.3rem;height:1.3rem;accent-color:var(--primary)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .5rem}th{color:var(--muted);font-size:.85rem;font-weight:700}.table-scroll{overflow-x:auto}.bars{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.bar-row{gap:.3rem;display:grid}.bar-head{flex-wrap:wrap;justify-content:space-between;gap:.75rem;font-weight:600;display:flex}.bar-head .num{font-variant-numeric:tabular-nums;white-space:nowrap}.bar-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:.7rem;overflow:hidden}.bar-fill{background:var(--accent);border-radius:999px;height:100%}.bar-row.weak .bar-fill{background:var(--incorrect)}.bar-sub{color:var(--muted);font-size:.88rem}.weak-tag{color:var(--accent-text);font-size:.85rem;font-weight:700}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);max-width:min(32rem,100vw - 2rem);padding:1.5rem}dialog::backdrop{background:#0a100e8c}textarea,input[type=text],input[type=number],select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:44px;padding:.6rem .75rem}textarea{word-break:break-all;width:100%;min-height:6rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}label{font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=64rem){#theme-label{display:none}.theme-toggle{padding-left:.75rem;padding-right:.75rem}}@media (width>=40.01rem) and (width<=64rem){.site-nav a{padding:.5rem .45rem}}.howto{border-top:3px solid var(--accent);margin-top:1rem}.howto h2{margin-bottom:.5rem;font-size:1.2rem}.howto ol{gap:.35rem;margin:0;padding-left:1.4rem;display:grid}.howto li::marker{color:var(--accent-text);font-weight:700}@media (width>=60rem){.howto ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding-left:1.2rem}}.mode-choice{border:0;gap:.75rem;margin:0;padding:0;display:grid}.mode-choice legend{margin-bottom:.5rem;padding:0;font-weight:700}.mode-option{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);align-items:flex-start;gap:.75rem;padding:.9rem 1rem;font-weight:400;display:flex}.mode-option:hover{border-color:var(--border-strong)}.mode-option.selected{border-color:var(--primary);background:var(--primary-soft)}.mode-option input{width:1.25rem;height:1.25rem;accent-color:var(--primary);flex:none;margin-top:.2rem}.mode-option strong{display:block}.runner-head{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);margin:-1.5rem 0 1rem;padding:.6rem 0 .7rem;position:sticky;top:0}.runner-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.runner-head-row+.runner-head-row{margin-top:.15rem}.q-count{font-variant-numeric:tabular-nums;font-weight:700}.timer{font-variant-numeric:tabular-nums;background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:.2rem .75rem;font-size:1.1rem;font-weight:700}.timer-low{background:var(--incorrect-soft);color:var(--incorrect)}.progress{background:var(--surface-2);border-radius:999px;height:6px;margin-top:.5rem;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .25s}.runner-body{gap:1.5rem;display:grid}@media (width>=60rem){.runner-body{grid-template-columns:minmax(0,1fr) 19rem;align-items:start}.runner-side{position:sticky;top:7.5rem}.nav-open{display:none}}@media (width<=59.99rem){.runner-side{display:none}}.runner-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100vh - 9rem);padding:1rem;overflow-y:auto}.side-h{font-size:1.05rem}.question{border:0;min-width:0;margin:0;padding:0}.q-stem{font-family:var(--font-serif);float:left;width:100%;margin-bottom:1rem;padding:0;font-size:1.2rem;font-weight:600;line-height:1.45}@media (width>=48rem){.q-stem{font-size:1.35rem}}.options{clear:both;gap:.65rem;display:grid}.option{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:.75rem;min-height:56px;padding:.85rem 1rem;font-weight:400;display:flex;position:relative}.option:hover{border-color:var(--border-strong)}.option input{opacity:0;width:1px;height:1px;position:absolute}.option:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.opt-letter{border:2px solid var(--border-strong);width:2rem;height:2rem;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.opt-text{padding-top:.15rem}.option.is-selected{border-color:var(--primary);background:var(--primary-soft)}.option.is-selected .opt-letter{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.option.is-locked{cursor:default}.option.is-correct{border-color:var(--correct);background:var(--correct-soft)}.option.is-correct .opt-letter{background:var(--correct);border-color:var(--correct);color:var(--surface)}.option.is-incorrect{border-color:var(--incorrect);background:var(--incorrect-soft)}.option.is-incorrect .opt-letter{background:var(--incorrect);border-color:var(--incorrect);color:var(--surface)}.opt-flag{margin-top:.25rem;font-size:.9rem;font-weight:700;display:block}.is-correct .opt-flag{color:var(--correct)}.is-incorrect .opt-flag{color:var(--incorrect)}.feedback{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);border-left:6px solid var(--correct);margin-top:1rem;padding:1rem 1.1rem}.feedback.fb-wrong{border-left-color:var(--incorrect)}.fb-verdict{font-weight:700}.fb-right .fb-verdict{color:var(--correct)}.fb-wrong .fb-verdict{color:var(--incorrect)}.feedback details{margin-top:.5rem}details summary{cursor:pointer;color:var(--primary);align-items:center;min-height:44px;font-weight:700;display:flex}.feedback ul{padding-left:1.1rem}.feedback li{margin-bottom:.4rem}.runner-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.1rem;display:flex}.is-flagged{border-color:var(--accent);color:var(--accent-text);background:var(--surface-2)}.runner-nav{grid-template-columns:1fr auto 1fr;gap:.6rem;margin-top:1.25rem;display:grid}.runner-nav>:last-child{justify-self:end}.runner-nav>:first-child{justify-self:start}@media (width>=60rem){.runner-nav{grid-template-columns:1fr 1fr}}@media (width<=26rem){.runner-nav .btn{padding-left:.75rem;padding-right:.75rem}}.runner-foot{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem;padding-top:1rem;display:flex}.kbd-help{margin-top:.75rem}@media (hover:none){.kbd-help{display:none}}.nav-grid{grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.nav-cell{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:8px;font-size:.9rem;font-weight:600;position:relative}.nav-cell.answered{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.nav-cell.right{background:var(--correct-soft);border-color:var(--correct);color:var(--correct)}.nav-cell.wrong{background:var(--incorrect-soft);border-color:var(--incorrect);color:var(--incorrect)}.nav-cell.current{outline:3px solid var(--ink);outline-offset:1px}.nav-flag{color:var(--accent-text);font-size:.7rem;position:absolute;top:0;right:3px}.nav-legend{flex-wrap:wrap;gap:.4rem .9rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.nav-legend li{align-items:center;gap:.35rem;display:inline-flex}.sw{border:1px solid var(--border-strong);background:var(--surface);border-radius:3px;width:.9rem;height:.9rem;display:inline-block}.sw-answered{background:var(--primary-soft);border-color:var(--primary)}.sw-current{outline:2px solid var(--ink)}dialog.sheet{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:40rem;max-height:80vh;margin:auto auto 0;padding:1rem 1rem 1.5rem;overflow-y:auto}@media (width>=60rem){dialog.sheet{border-radius:var(--radius);margin:auto}}.sheet-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.sheet-head h2{margin:0;font-size:1.2rem}dialog ul{padding-left:1.2rem}.score-big{margin:.25rem 0 .5rem}.score-num{font-family:var(--font-serif);color:var(--primary);font-size:clamp(2.2rem,8vw,3.2rem);font-weight:700}.score-pct{color:var(--muted);font-size:1.4rem;font-weight:700}.readiness{border-left:4px solid var(--accent);padding-left:.8rem}.link-list{padding-left:1.1rem}.link-list>li{margin-bottom:.75rem}.weak-list{gap:1rem;padding-left:1.4rem;display:grid}.fc-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.flip{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;perspective:1400px;border-radius:calc(var(--radius) + 4px);background:0 0;border:0;margin:1.25rem 0 1rem;padding:0;display:block}.flip-inner{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.3,.7,.2,1);display:grid}.is-flipped .flip-inner{transform:rotateY(180deg)}.face{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background:var(--surface);-webkit-backface-visibility:hidden;backface-visibility:hidden;flex-direction:column;grid-area:1/1;gap:.75rem;min-height:16rem;padding:1.5rem;display:flex}.face-back{background:var(--primary-soft);border-color:var(--primary);transform:rotateY(180deg)}.face-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-size:.8rem;font-weight:700}.face-text{font-family:var(--font-serif);flex:1;align-items:center;font-size:1.3rem;font-weight:600;line-height:1.45;display:flex}.face-back .face-text{font-family:var(--font-sans);font-size:1.15rem;font-weight:400}.face-hint{color:var(--muted);font-size:.88rem}@media (prefers-reduced-motion:reduce){.flip-inner,.is-flipped .flip-inner{transition:none;transform:none}.face-back{transform:none}.flip:not(.is-flipped) .face-back,.flip.is-flipped .face-front{visibility:hidden}}.fc-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.fc-actions .btn{min-height:56px}.fc-missed{border-color:var(--incorrect);color:var(--incorrect)}.boxes{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.boxes li{background:var(--surface-2);border-radius:var(--radius-sm);align-content:start;gap:.2rem;padding:.75rem;display:grid}.boxes strong{font-family:var(--font-serif);font-size:1.5rem}.boxes span{color:var(--muted);font-size:.85rem}.report-grid{gap:1rem;display:grid}@media (width>=36rem){.report-grid{grid-template-columns:2fr 1fr}}.report-grid select,.report-grid input{width:100%}.hero .score-num{color:var(--gold)}.hero .score-pct{color:#c9c6bc}.hero .readiness{border-left-color:var(--gold)}
