:root{--ground:#f3f2ee;--surface:#fff;--surface-alt:#edece6;--ink:#141a22;--ink-2:#3d4855;--ink-3:#6b7684;--rule:#e0ded6;--rule-strong:#c9c6bc;--navy:#16283f;--navy-soft:#24405f;--navy-ink:#f6f5f1;--brass:#a8842c;--brass-wash:#f6f0df;--ok:#1c6b47;--ok-bg:#e9f2ec;--ok-line:#c6ded1;--danger:#8e2222;--danger-bg:#f9eceb;--danger-line:#ebcfcc;--attention:#8a5b10;--attention-bg:#f8f0e2;--paper:var(--ground);--card:var(--surface);--muted:var(--ink-3);--line:var(--rule);--gold:var(--brass);--radius:3px;--shadow:none;--step--1:.8125rem;--step-0:1rem;--step-1:1.1875rem;--step-2:1.5rem;--step-3:2rem;--step-4:2.75rem;--measure:62ch;--display:Newsreader, Georgia, "Times New Roman", serif;--body:"IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--data:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:16px;line-height:1.6}h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;text-wrap:balance;margin:0 0 .5rem;font-weight:500}h1{font-size:var(--step-3);line-height:1.12}h2{font-size:var(--step-2);line-height:1.18}h3{font-family:var(--body);font-size:var(--step-0);letter-spacing:0;margin:1.5rem 0 .375rem;font-weight:600}a{color:var(--navy);text-underline-offset:.18em}a:hover{color:var(--brass)}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.auth-wrap{place-items:center;min-height:100dvh;padding:2rem 1.25rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);width:100%;max-width:24rem;padding:2.25rem 2rem}.brand{margin-bottom:1.75rem}.brand-mark{font-family:var(--data);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.brand-mark:before{content:"";border:1px solid var(--brass);flex:none;width:.5rem;height:.5rem;transform:rotate(45deg)}.brand-sub{color:var(--ink-3);font-size:var(--step--1);margin-top:.5rem;display:block}label{font-size:var(--step--1);color:var(--ink-2);margin-bottom:.375rem;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],input[type=date],input[type=tel],select,textarea{width:100%;font:inherit;font-size:var(--step-0);color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:.625rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #16283f1a}textarea{resize:vertical;min-height:5rem}.field{margin-bottom:1.125rem}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row .field{flex:12rem}.optional{color:var(--ink-3);font-weight:400;font-size:var(--step--1)}button.primary{font:inherit;font-size:var(--step--1);letter-spacing:.06em;text-transform:uppercase;color:var(--navy-ink);background:var(--navy);border:1px solid var(--navy);border-radius:var(--radius);cursor:pointer;padding:.6875rem 1.25rem;font-weight:500;transition:background .15s}button.primary:hover:not(:disabled){background:var(--navy-soft)}button.primary:disabled{opacity:.45;cursor:not-allowed}button.small,a.small{font:inherit;font-size:var(--step--1);color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);cursor:pointer;padding:.375rem .75rem;font-weight:500;text-decoration:none;display:inline-block}button.small:hover:not(:disabled),a.small:hover{border-color:var(--navy)}button.small:disabled{opacity:.45;cursor:not-allowed}button.small.ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}button.small.bad{color:var(--danger);border-color:var(--danger-line);background:var(--danger-bg)}.note{font-size:var(--step--1);color:var(--ink-3);text-align:center;max-width:var(--measure);margin:1.25rem 0 0}.alert{font-size:var(--step--1);border:1px solid var(--rule);border-radius:0 var(--radius) var(--radius) 0;border-left-width:2px;margin:0 0 1.125rem;padding:.75rem .875rem;line-height:1.5}.alert-error{color:var(--danger);background:var(--danger-bg);border-color:var(--danger-line);border-left-color:var(--danger)}.alert-ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line);border-left-color:var(--ok)}.topbar{background:var(--surface);border-bottom:1px solid var(--rule);align-items:center;gap:1rem;padding:.875rem clamp(1rem,4vw,2.5rem);display:flex}.topbar .brand-mark{color:var(--ink)}.topbar-right{font-family:var(--data);letter-spacing:.04em;color:var(--ink-3);align-items:center;gap:1rem;margin-left:auto;font-size:.75rem;display:flex}.topnav{gap:1.25rem;display:flex}.topnav a{font-size:var(--step--1);color:var(--ink-2);text-decoration:none}.topnav a:hover{color:var(--brass)}.linkbtn{font:inherit;font-size:var(--step--1);color:var(--ink-2);cursor:pointer;text-underline-offset:.18em;background:0 0;border:0;padding:0;text-decoration:underline}.linkbtn:hover{color:var(--brass)}.linkbtn-dark{color:var(--ink)}.rail{background:var(--surface-alt);border-bottom:1px solid var(--rule);display:flex}.rail span{font-family:var(--data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;border-bottom:2px solid #0000;flex:1 1 0;padding:.5rem .75rem .5625rem;font-size:.6875rem}.rail .on{color:var(--ink);background:var(--surface);border-bottom-color:var(--brass)}main.page{max-width:44rem;margin:0 auto;padding:clamp(2rem,5vw,3.25rem) clamp(1rem,4vw,2.5rem) 5rem}main.page-wide{max-width:66rem}.crumb{font-family:var(--data);letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.5rem;font-size:.75rem}.crumb a{color:var(--ink-3);text-decoration:none}.crumb a:hover{color:var(--brass)}.lede{font-size:var(--step-1);color:var(--ink-2);max-width:var(--measure);margin:0 0 1.5rem;line-height:1.5}.muted{color:var(--ink-3);font-size:var(--step--1);max-width:var(--measure)}.card{border:0;border-top:1px solid var(--rule);background:0 0;border-radius:0;margin:2.25rem 0 0;padding:1.75rem 0 0}.card h2{font-family:var(--body);font-size:var(--step-0);letter-spacing:.01em;margin-bottom:.625rem;font-weight:600}.card h3:first-of-type{margin-top:1rem}.next-up{border-left:2px solid var(--brass);margin:0 0 2rem;padding:.125rem 0 .125rem 1rem}.next-up .lbl{font-family:var(--data);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.3125rem;font-size:.6875rem;display:block}.next-up .val{font-size:var(--step-1);font-weight:500;line-height:1.3;display:block}.next-up .meta{font-size:var(--step--1);color:var(--ink-3);max-width:var(--measure);margin-top:.3125rem;display:block}.eyebrow{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 1rem;font-size:.6875rem}h1.arrival{font-size:clamp(2.25rem, 6vw, var(--step-4));letter-spacing:-.025em;max-width:16ch;margin-bottom:1rem;line-height:1.05}.phases{counter-reset:phase;margin:0;padding:0;list-style:none}.phases li{counter-increment:phase;border-top:1px solid var(--rule);grid-template-columns:2rem 1fr;gap:0 1rem;padding:1.25rem 0;display:grid}.phases li:first-child{border-top:0;padding-top:.5rem}.phases li:before{content:counter(phase, decimal-leading-zero);font-family:var(--data);color:var(--brass);font-variant-numeric:tabular-nums;padding-top:.25rem;font-size:.75rem}.phases .when{font-family:var(--data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.25rem;font-size:.6875rem;display:block}.phases strong{font-size:var(--step-1);font-weight:500;line-height:1.3;display:block}.phases p{font-size:var(--step--1);color:var(--ink-2);max-width:var(--measure);margin:.375rem 0 0}dl.kv{gap:0;margin:0;display:grid}dl.kv div{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1.5rem;padding:.625rem 0;display:flex}dl.kv div:last-child{border-bottom:0}dl.kv dt{font-family:var(--data);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0;font-size:.75rem}dl.kv dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:500}.table-scroll{overflow-x:auto}table.grid{border-collapse:collapse;width:100%;font-size:var(--step--1)}table.grid th{text-align:left;font-family:var(--data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding:.625rem .75rem .625rem 0;font-size:.6875rem;font-weight:500}table.grid td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.75rem .75rem .75rem 0}table.grid tr:last-child td{border-bottom:0}table.grid .num{text-align:right;font-family:var(--data);font-variant-numeric:tabular-nums;padding-right:1rem}.pill{font-family:var(--data);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;background:0 0;border:0;padding:0;font-size:.6875rem;font-weight:500}.pill-upcoming{color:var(--attention)}.pill-running{color:var(--ok)}.pill-finished{color:var(--ink-3)}.pill-cancelled{color:var(--danger)}.qr{border:1px solid var(--rule);background:#fff;width:11rem;height:11rem;margin:1.25rem 0;padding:.5rem;display:block}.secret{font-family:var(--data);font-size:var(--step--1);letter-spacing:.05em;word-break:break-all;background:var(--surface-alt);border:1px solid var(--rule);border-radius:var(--radius);margin:0 0 1rem;padding:.625rem .75rem}.req{border-bottom:1px solid var(--rule);align-items:flex-start;gap:1.25rem;padding:1rem 0;display:flex}.req:first-of-type{padding-top:.5rem}.req:last-of-type{border-bottom:0}.req-main{flex:auto;min-width:0}.req-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.tick{border:1px solid var(--rule-strong);color:#0000;border-radius:0;flex:none;place-items:center;width:1.125rem;height:1.125rem;margin-top:.25rem;font-size:.625rem;display:inline-grid}.tick-on{background:var(--ok);border-color:var(--ok);color:#fff}.req-hint,.req-file,.req-note{font-size:var(--step--1);color:var(--ink-3);margin:.3125rem 0 0 1.875rem}.req-file{font-family:var(--data)}.req-note{color:var(--danger);background:var(--danger-bg);border-left:2px solid var(--danger);padding:.375rem .625rem;display:inline-block}.checklist-done{background:var(--ok-bg);border-left:2px solid var(--ok);color:var(--ink);font-size:var(--step--1);align-items:flex-start;gap:.75rem;margin:0 0 1rem;padding:.875rem 1rem;line-height:1.5;display:flex}.req-action{flex:none}.upload{font-size:var(--step--1);letter-spacing:.04em;color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:.375rem .75rem;font-weight:500;display:inline-block;position:relative}.upload:hover{border-color:var(--navy)}.upload input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #16283f1a}.review-row{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;display:flex}.review-row input{font-size:var(--step--1);flex:14rem;padding:.375rem .625rem}ul.plain{font-size:var(--step--1);color:var(--ink-2);margin:.75rem 0 0;padding-left:1rem}ul.plain li{margin-bottom:.375rem}.qblock{border-bottom:1px solid var(--rule);border-width:0 0 1px;margin:0;padding:1.5rem 0}.qblock:first-of-type{padding-top:.5rem}.qblock:last-of-type{border-bottom:0}.qblock legend{font-size:var(--step-0);align-items:baseline;gap:.625rem;margin-bottom:.875rem;padding:0;font-weight:500;line-height:1.45;display:flex}.qnum{font-family:var(--data);color:var(--brass);font-variant-numeric:tabular-nums;flex:none;font-size:.75rem}.opt{border:1px solid var(--rule);border-radius:var(--radius);font-size:var(--step--1);cursor:pointer;align-items:flex-start;gap:.625rem;margin-bottom:.5rem;padding:.625rem .75rem;display:flex}.opt:hover{border-color:var(--navy)}.opt input{flex:none;width:auto;margin-top:.1875rem}.opt-right{border-color:var(--ok);background:var(--ok-bg)}.opt-wrong{border-color:var(--danger);background:var(--danger-bg)}.why{font-size:var(--step--1);color:var(--ink-3);border-left:2px solid var(--rule-strong);margin:.5rem 0 0;padding-left:.75rem}.why-missed{color:var(--ink-2);border-left-color:var(--brass)}.finish{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.75rem;padding-top:1.5rem;display:flex}.finish button{width:auto}.score-card{border-top-color:var(--brass);border-top-width:2px}.score-figure{font-family:var(--display);align-items:baseline;gap:.5rem;margin:0 0 .5rem;display:flex}.score-figure .n{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.75rem,9vw,3.5rem);font-weight:500;line-height:1}.score-figure .of{font-size:var(--step-1);color:var(--ink-3)}.attempts{color:var(--ink-3);font-size:var(--step--1);font-weight:400;font-family:var(--data)}.row{flex-wrap:wrap;align-items:center;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.alert-attention{color:var(--attention);background:var(--attention-bg);border-color:var(--rule-strong);border-left-color:var(--attention)}.plan-steps{gap:.25rem;margin:0 0 .25rem;display:flex}.plan-steps button{box-sizing:content-box;background:var(--rule);cursor:pointer;background-clip:content-box;border:0;border-radius:0;flex:1 1 0;min-width:1.5rem;height:3px;padding:.6875rem 0}.plan-steps button:disabled{cursor:default}.plan-steps button.seen{background:var(--rule-strong)}.plan-steps button.on{background:var(--brass)}.plan-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.plan-head .eyebrow{margin-bottom:.5rem}.saved-note{font-family:var(--data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:.6875rem}.saved-note.saved-error{color:var(--danger)}.plan-q{border:0;border-bottom:1px solid var(--rule);min-width:0;margin:0;padding:1.5rem 0}.plan-q:first-of-type{padding-top:.5rem}.plan-q:last-of-type{border-bottom:0;padding-bottom:0}.plan-q .qlabel{float:none;width:auto;font-size:var(--step-0);color:var(--ink);max-width:var(--measure);margin:0 0 .25rem;padding:0;font-weight:500;line-height:1.45;display:block}.qhint{font-size:var(--step--1);color:var(--ink-3);max-width:var(--measure);margin:0 0 .75rem;line-height:1.5}.plan-q .opt:last-of-type{margin-bottom:0}.slider{align-items:center;gap:1rem;display:flex}.slider input[type=range]{width:auto;min-width:0;accent-color:var(--brass);flex:auto}.slider output{text-align:right;min-width:6.5rem;font-family:var(--data);font-size:var(--step-0);font-variant-numeric:tabular-nums;color:var(--ink);flex:none}.people{flex-direction:column;gap:.5rem;display:flex}.person{grid-template-columns:1fr 1.4fr auto;align-items:center;gap:.5rem;display:grid}@media (max-width:40rem){.person{grid-template-columns:1fr}}.counter{font-size:var(--step--1);color:var(--ink-3)}.counter b{color:var(--ink);font-family:var(--data)}.week-grid{min-width:28rem}.week-grid td{padding:.1875rem .1875rem .1875rem 0}.week-grid th[scope=row]{font-family:var(--data);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;vertical-align:middle;padding-right:.75rem;font-size:.6875rem;font-weight:500}.week-grid select{font-size:var(--step--1);padding:.375rem .5rem}.calc{background:var(--navy);color:var(--navy-ink);border-radius:var(--radius);margin:1.5rem 0 0;padding:1.5rem clamp(1rem,3vw,1.75rem)}.calc-title{font-family:var(--display);font-size:var(--step-1);color:var(--brass-wash);margin:0 0 .25rem;font-weight:500}.calc-sub{font-size:var(--step--1);color:color-mix(in srgb, var(--navy-ink) 62%, var(--navy));max-width:var(--measure);margin:0 0 1.25rem;line-height:1.5}.calc-rows{flex-direction:column;gap:.625rem;margin:0;display:flex}.calc-rows div{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.calc-rows dt{font-size:var(--step--1);color:color-mix(in srgb, var(--navy-ink) 80%, var(--navy));margin:0}.calc-rows dd{font-family:var(--data);font-size:var(--step-1);font-variant-numeric:tabular-nums;letter-spacing:-.01em;flex:none;margin:0}.calc-rows .calc-split{border-top:1px solid var(--navy-soft);margin-top:.5rem;padding-top:1.125rem}.calc-rows .calc-big dd{font-size:var(--step-3);color:var(--brass-wash);line-height:1.1}.verdict{border-radius:var(--radius);font-size:var(--step--1);background:color-mix(in srgb, var(--navy-ink) 10%, transparent);border-left:2px solid color-mix(in srgb, var(--navy-ink) 30%, transparent);margin:1.125rem 0 0;padding:.75rem .875rem;line-height:1.55}.verdict-bad{border-left-color:var(--danger-line)}.verdict-ok{border-left-color:var(--ok-line)}.plan-nav{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.plan-nav .primary{order:2;margin-left:auto}.plan-nav .small{order:1}.plan-nav .primary~.small{order:3;margin-left:0}.plan-title{font-family:var(--display);font-size:var(--step-2);letter-spacing:-.015em;margin:0 0 1rem;font-weight:500}.plan-doc p,.plan-doc li{max-width:var(--measure);color:var(--ink-2)}.plan-doc p{margin:0 0 .75rem}.plan-doc h3{margin-top:1.75rem}.plan-doc ul{margin:0 0 .75rem;padding-left:1.125rem}.plan-doc li{margin-bottom:.25rem}.plan-doc b{color:var(--ink);font-weight:600}.plan-doc .num{font-family:var(--data);font-variant-numeric:tabular-nums;color:var(--ink)}dl.kv.cohort-answers div{grid-template-columns:11rem 1fr;align-items:start;gap:.25rem 1.5rem;display:grid}dl.kv.cohort-answers dt{font-family:var(--body);font-size:var(--step--1);letter-spacing:0;text-transform:none;color:var(--ink);font-weight:500}dl.kv.cohort-answers dd{text-align:left;color:var(--ink-2);font-weight:400;font-size:var(--step--1);line-height:1.55}@media (max-width:40rem){dl.kv.cohort-answers div{grid-template-columns:1fr}}@media print{.topbar,.rail,.plan-steps,.plan-nav,.saved-note{display:none!important}.calc{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card{break-inside:avoid}}
