:root{--navy:#0b1829;--navy-mid:#132238;--navy-light:#1c3050;--orange:#e07830;--orange-lt:#f09050;--gold:#c9953a;--gold-lt:#d4a840;--grey-dk:#4a5a64;--grey-mid:#a8b4bc;--grey-lt:#e8ecee;--grey-surface:#dbe0e4;--cream:#f5f1e8;--faf:#faf7f0;--white:#fff;--black:#000;--gold-ink:#8a5c1a;--orange-ink:#a34e12;--maths:#e07830;--physics:#78aaee;--chemistry:#6abda0;--biology:#b08ada;--science:#c9953a;--grad-navy-depth:linear-gradient(135deg, #0b1829 0%, #1c3050 50%, #132238 100%);--grad-gold-burn:linear-gradient(135deg, #e07830 0%, #c9953a 60%, #d4a840 100%);--grad-navy-ember:linear-gradient(160deg, #0b1829 0%, #132238 40%, #1c2040 70%, #e0783026 100%);--grad-navy-gold:linear-gradient(135deg, #0b1829 0%, #132238 35%, #c9953a 100%);--grad-cream:linear-gradient(180deg, #f5f1e8 0%, #faf7f0 50%, #f5f1e8 100%);--shadow-soft:0 20px 80px #020a1838;--shadow-gold:0 0 0 1px #c9953a2e, 0 18px 70px #c9953a17;--surface:var(--white);--surface-raised:var(--cream);--surface-sunken:var(--grey-lt);--surface-inverse:var(--navy);--surface-inverse-raised:var(--navy-mid);--ink:var(--navy-mid);--ink-strong:var(--navy);--ink-muted:var(--grey-dk);--ink-inverse:var(--cream);--ink-inverse-muted:var(--grey-mid);--rule:#13223821;--rule-strong:#1322384d;--accent:var(--gold);--accent-ink:var(--gold-ink);--accent-inverse:var(--gold-lt);--on-accent:var(--navy);--warm:var(--orange);--warm-ink:var(--orange-ink);--warm-inverse:var(--orange-lt);--header-h:4.75rem;--sticky-context-h:3rem;--ink-rgb:19 34 56;--ink-muted-rgb:74 90 100;--inverse-rgb:245 241 232;--accent-rgb:201 149 58;--surface-inverse-rgb:11 24 41;--brand-navy-rgb:11 24 41;--accent-warm-rgb:224 120 48;--accent-warm-ink-rgb:163 78 18;--surface-sunken-rgb:232 236 238;--surface-raised-rgb:245 241 232;--paper:#fbf9f3;--paper-rule:#364b5b1f;--paper-margin:#c9953a38;--paper-ink:#172234}[data-theme=dark]{--surface:var(--black);--surface-raised:var(--navy);--surface-sunken:var(--navy-mid);--surface-inverse:var(--black);--surface-inverse-raised:var(--navy);--ink:var(--cream);--ink-strong:var(--faf);--ink-muted:var(--grey-mid);--ink-inverse:var(--faf);--ink-inverse-muted:var(--grey-mid);--rule:rgb(var(--inverse-rgb) / .18);--rule-strong:rgb(var(--inverse-rgb) / .38);--accent:var(--gold-lt);--accent-ink:var(--gold-lt);--accent-inverse:var(--gold-lt);--on-accent:var(--navy);--warm:var(--orange);--warm-ink:var(--orange-lt);--warm-inverse:var(--orange-lt);--ink-rgb:245 241 232;--ink-muted-rgb:168 180 188;--inverse-rgb:245 241 232;--accent-rgb:212 168 64;--surface-inverse-rgb:0 0 0;--surface-sunken-rgb:19 34 56;--surface-raised-rgb:11 24 41;--paper:var(--black);--paper-rule:rgb(var(--ink-muted-rgb) / .2);--paper-margin:rgb(var(--accent-rgb) / .36);--paper-ink:var(--cream)}*{box-sizing:border-box}html,body{background:var(--surface);width:100%;min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:87.5%}input,textarea,select{font-size:16px}body,input,textarea,select,button{font-family:var(--font-montserrat), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}body{color:var(--ink-inverse);font-weight:300;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-cormorant), "Songti SC", "STSong", "SimSun", serif}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:rgb(var(--accent-rgb) / .3);color:var(--ink-inverse)}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.praxis-shell{min-height:100dvh;padding:max(2rem, env(safe-area-inset-top)) max(2rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(2rem, env(safe-area-inset-left));isolation:isolate;background:linear-gradient(115deg, rgb(var(--surface-raised-rgb) / .025), transparent 36%), radial-gradient(circle at 50% 43%, var(--surface-sunken) 0%, var(--surface-inverse-raised) 48%, var(--surface-inverse) 112%);place-items:center;display:grid;position:relative;overflow:hidden}.praxis-shell:before{z-index:-1;border:1px solid rgb(var(--accent-rgb) / .22);content:"";pointer-events:none;position:absolute;inset:1rem}.praxis-shell:after{z-index:-1;aspect-ratio:1;border:1px solid rgb(var(--inverse-rgb) / .055);width:min(76vw,48rem);box-shadow:0 0 0 5rem rgb(var(--inverse-rgb) / .012), 0 0 0 10rem rgb(var(--inverse-rgb) / .008);content:"";pointer-events:none;border-radius:50%;position:absolute}.welcome{text-align:center;width:min(38rem,88vw);animation:.9s cubic-bezier(.22,1,.36,1) both arrive}.brand-mark{width:4.25rem;height:4.25rem;margin:0 auto 1.5rem;display:block}.eyebrow,.edition,.status{letter-spacing:.24em;text-transform:uppercase;font-size:.7rem;font-weight:500}.eyebrow{color:var(--accent-inverse);margin:0 0 .65rem}h1{color:var(--ink-inverse);letter-spacing:-.02em;margin:0;font-size:clamp(4.5rem,13vw,9rem);font-weight:400;line-height:.9}.gold-rule{align-items:center;gap:.8rem;width:9rem;margin:2rem auto;display:flex}.gold-rule:before,.gold-rule:after{background:rgb(var(--accent-rgb) / .7);content:"";flex:1;height:1px}.gold-rule span{aspect-ratio:1;background:var(--accent);width:.33rem;transform:rotate(45deg)}.invitation{max-width:31rem;color:rgb(var(--inverse-rgb) / .82);font-family:var(--font-cormorant), serif;margin:0 auto;font-size:clamp(1.15rem,2.5vw,1.5rem);font-style:italic;line-height:1.5}.status{color:var(--ink-inverse-muted);letter-spacing:.15em;margin:2.5rem 0 0}.edition{right:max(2.25rem, calc(env(safe-area-inset-right) + 1rem));bottom:max(2.25rem, calc(env(safe-area-inset-bottom) + 1rem));color:rgb(var(--accent-rgb) / .62);writing-mode:vertical-rl;margin:0;position:absolute}.orb{z-index:-1;filter:blur(1px);pointer-events:none;border-radius:50%;position:absolute}.orb-one{aspect-ratio:1;border:1px solid rgb(var(--accent-rgb) / .12);width:28rem;top:-14rem;right:-10rem}.orb-two{aspect-ratio:1;background:radial-gradient(circle, rgb(var(--accent-warm-rgb) / .07), transparent 67%);width:20rem;bottom:-10rem;left:-7rem}@keyframes arrive{0%{opacity:0;transform:translateY(1rem)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-height:540px){.brand-mark{width:3rem;height:3rem;margin-bottom:.8rem}.gold-rule{margin-block:1rem}.status{margin-top:1.25rem}}@media (prefers-reduced-motion:reduce){.welcome{animation:none}}.login-shell{min-height:100dvh;padding:max(1.5rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));background:var(--surface);place-items:center;display:grid;position:relative;overflow:auto}.login-card{width:min(30rem,100%);min-width:0;max-width:100%;color:var(--ink);background:0 0;position:relative;overflow:visible}.login-card:after{content:none}.login-lockup{border-bottom:1px solid rgb(var(--ink-rgb) / .14);align-items:center;gap:.8rem;min-height:4.4rem;padding:0 0 1rem;display:flex}.login-lockup img{width:2.5rem;height:2.5rem}.login-lockup p,.login-lockup span{text-transform:uppercase}.login-lockup p{color:var(--accent-ink);letter-spacing:.2em;margin:0 0 .15rem;font-size:.62rem;font-weight:600}.login-lockup span{color:var(--ink);font-family:var(--font-cormorant), serif;letter-spacing:.09em;font-size:1.38rem;font-weight:500}.login-layout,.login-reset-layout{grid-template-columns:minmax(0,1fr);align-items:center;min-height:0;padding:2rem 0 0;display:grid}.login-layout>*,.login-reset-layout>*,.login-form,.login-form label,.login-form input{min-width:0}.login-preface{align-self:center}.login-kicker,.login-step{letter-spacing:.17em;text-transform:uppercase;font-size:.64rem;font-weight:600}.login-kicker{color:var(--warm-ink);margin:0 0 1.25rem}.login-preface h1{max-width:32rem;color:var(--ink);letter-spacing:-.035em;margin:0;font-size:clamp(3.2rem,6.5vw,5.4rem);font-weight:400;line-height:1.04}.login-preface>p:last-of-type{max-width:31rem;color:var(--ink-muted);margin:1.5rem 0 0;font-size:.95rem;font-weight:400;line-height:1.75}.login-margin-note{border-top:1px solid rgb(var(--ink-rgb) / .18);color:var(--accent-ink);font-family:var(--font-cormorant), serif;align-items:center;gap:.8rem;margin-top:clamp(2.5rem,6vw,4.5rem);padding-top:.85rem;font-size:1rem;font-style:italic;display:flex}.login-margin-note span{color:var(--warm-ink);font-family:var(--font-montserrat), sans-serif;letter-spacing:.12em;font-size:.663rem;font-style:normal;font-weight:600}.login-access{padding:0;position:relative}.login-step{color:var(--accent-ink);margin:0 0 .55rem}.login-access h1,.login-access h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 1.65rem;font-size:clamp(2rem,7vw,2.6rem);font-weight:500;line-height:1.08}.login-form{gap:1.05rem;display:grid}.login-form label{color:var(--ink);letter-spacing:.13em;text-transform:uppercase;gap:.5rem;font-size:.66rem;font-weight:600;display:grid}.login-form input{border:1px solid rgb(var(--ink-rgb) / .52);background:rgb(var(--surface-raised-rgb) / .68);width:100%;min-height:3.15rem;color:var(--ink);font:inherit;border-radius:0;outline:none;padding:.72rem .85rem;font-size:16px;font-weight:400;transition:border-color .16s,box-shadow .16s,background .16s}.login-form input::placeholder{color:rgb(var(--ink-muted-rgb) / .62)}.login-form input:focus{border-color:var(--ink);background:var(--surface-raised);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .32)}.login-form button{cursor:pointer;font:inherit;border:none;font-weight:600}.login-submit{min-height:3.25rem;color:var(--on-accent);background:var(--accent);letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-top:.45rem;padding:.75rem 1rem;font-size:.7rem;transition:background .18s,transform .18s;display:flex}.login-submit:not(:disabled):hover{background:var(--accent-inverse);transform:translateY(-1px)}.login-reset{width:fit-content;min-height:2.75rem;color:var(--ink);text-align:left;background:0 0;padding:.45rem 0;font-size:.68rem;border-bottom:1px solid rgb(var(--ink-rgb) / .36)!important}.login-form button:disabled{color:var(--ink-muted);background:var(--surface-sunken);cursor:not-allowed;transform:none;border-color:rgb(var(--ink-muted-rgb) / .38)!important}.form-error,.form-notice{border-left:2px solid var(--warm);color:var(--warm-ink);background:rgb(var(--accent-warm-rgb) / .09);margin:0;padding:.7rem .8rem;font-size:.74rem;font-weight:400;line-height:1.45}.form-notice{border-left-color:var(--accent);color:var(--ink);background:rgb(var(--accent-rgb) / .11)}.provisioning-note{color:var(--ink-muted);margin:1.35rem 0 0;font-size:.66rem;font-weight:400;line-height:1.55}.login-folio-meta{border-top:1px solid rgb(var(--ink-rgb) / .14);min-height:3rem;color:var(--ink-muted);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:clamp(1.2rem,4vw,3.5rem);padding:.8rem clamp(2rem,5vw,4.5rem) .8rem clamp(6rem,9vw,8.5rem);font-size:.617rem;font-weight:600;display:flex}.login-folio-meta span+span:before{color:var(--accent);content:"◆";margin-right:clamp(1.2rem,4vw,3.5rem)}.login-back{color:var(--ink);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.3rem;margin-top:1.25rem;font-size:.68rem;font-weight:600;display:inline-block}.reset-complete{text-align:left}.reset-complete>span{aspect-ratio:1;border:1px solid var(--accent);width:2.75rem;color:var(--accent-ink);place-items:center;font-size:1.25rem;display:grid}.reset-complete h2{margin:1.4rem 0 .4rem}.reset-complete p{color:var(--ink-muted);font-size:.82rem}.reset-complete button{width:100%;min-height:3.25rem;color:var(--on-accent);background:var(--accent);cursor:pointer;font:inherit;letter-spacing:.12em;text-transform:uppercase;border:0;margin-top:1rem;font-size:.7rem;font-weight:600}.sign-out{border:1px solid var(--accent);color:var(--accent-inverse);cursor:pointer;font:inherit;letter-spacing:.14em;text-transform:uppercase;background:0 0;margin-top:1.5rem;padding:.65rem 1rem;font-size:.75rem;font-weight:600}.sign-out:disabled{border-color:var(--ink-inverse-muted);color:var(--ink-muted);background:var(--surface-sunken);cursor:not-allowed}@keyframes folio-open{0%{opacity:0;transform:translateY(.8rem)rotateX(1deg)}to{opacity:1;transform:translateY(0)rotateX(0)}}@media (max-width:800px){.login-shell{place-items:start center;overflow:auto}.login-lockup{padding-left:0}.login-layout,.login-reset-layout{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;min-height:0;padding:2rem 0 0}.login-preface h1{max-width:100%;font-size:clamp(2.65rem,10.5vw,4.3rem)}.login-margin-note{margin-top:2rem}.login-access{min-width:0;padding:1.35rem}.login-folio-meta{flex-direction:column;align-items:flex-start;gap:.55rem;padding-left:3.5rem}.login-folio-meta span+span:before{margin-right:.55rem}}@media (max-width:430px){.login-shell{padding-inline:.65rem}.login-lockup{padding-left:0}.login-layout,.login-reset-layout{padding:1.75rem 0 0}.login-preface h1{font-size:clamp(2.5rem,10vw,3rem)}.login-preface>p:last-of-type{font-size:.85rem}.login-folio-meta{padding-left:3rem}}@media (prefers-reduced-motion:reduce){.login-card,.login-form button{transition:none;animation:none}}.worksheet-shell{min-height:100dvh;color:var(--ink);background:linear-gradient(90deg, rgb(var(--ink-rgb) / .035) 1px, transparent 1px) 0 0 / 7rem 100%, var(--surface)}.worksheet-header{z-index:20;min-height:var(--header-h);padding:max(.7rem, env(safe-area-inset-top)) max(1.4rem, env(safe-area-inset-right)) .7rem max(1.4rem, env(safe-area-inset-left));border-bottom:1px solid rgb(var(--inverse-rgb) / .12);color:var(--ink-inverse);background:rgb(var(--brand-navy-rgb) / .97);box-shadow:0 8px 28px rgb(var(--brand-navy-rgb) / .14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.worksheet-brand,.worksheet-session,.tool-group,.canvas-footer,.submit-zone,.pencil-status{align-items:center;display:flex}.worksheet-brand{color:inherit;gap:.8rem;text-decoration:none}.app-nav{align-items:center;gap:.15rem;display:flex}.app-nav a{color:rgb(var(--inverse-rgb) / .66);letter-spacing:.1em;text-transform:uppercase;border-bottom:2px solid #0000;padding:.5rem .85rem;font-size:.72rem;font-weight:500;text-decoration:none;transition:color .16s,border-color .16s}.app-nav a:hover{color:var(--ink-inverse)}.app-nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--ink-inverse)}.worksheet-main{display:block}[data-ink-editing] .worksheet-header,[data-ink-editing] .worksheet-main{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.placeholder-stage{width:min(100%,74rem);margin:0 auto;padding:clamp(2rem,6vw,4.5rem) clamp(1rem,3vw,2.5rem)}.placeholder-stage h1{color:var(--ink);letter-spacing:-.02em;margin:.35rem 0 .75rem;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.1}.placeholder-note{max-width:34rem;color:var(--ink-muted);margin:0;font-size:.85rem;line-height:1.6}@media (max-width:720px){.session-student,.session-divider{display:none}.app-nav a{letter-spacing:.06em;padding-inline:.55rem;font-size:.66rem}}.worksheet-brand img{width:2.25rem;height:2.25rem}.worksheet-brand p,.worksheet-brand span,.question-kicker,.question-meta,.draft-indicator,.pencil-status,.payload-proof{text-transform:uppercase}.worksheet-brand p{color:var(--accent-inverse);letter-spacing:.2em;margin:0 0 .15rem;font-size:.663rem;font-weight:600}.worksheet-brand span{font-family:var(--font-cormorant), serif;letter-spacing:.08em;font-size:1.35rem}.worksheet-session{gap:.55rem}.session-student{max-width:16rem;color:rgb(var(--inverse-rgb) / .62);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.session-divider{background:rgb(var(--inverse-rgb) / .16);width:1px;height:1.25rem}.worksheet-session .sign-out{border-color:rgb(var(--accent-rgb) / .45);min-height:2.5rem;margin:0;padding:.55rem .85rem;font-size:.686rem}.theme-picker{display:block}.theme-picker select{border:1px solid var(--ink-inverse);width:5.8rem;min-height:2.5rem;color:var(--ink-inverse);background:var(--surface-inverse-raised);cursor:pointer;font:inherit;border-radius:0;padding:.45rem 1.35rem .45rem .55rem;font-size:.66rem;font-weight:500}.worksheet-body{grid-template-columns:minmax(0,1fr);width:min(100%,96rem);margin:0 auto;display:grid}.worksheet-content{width:min(100%,88rem);margin:0 auto;padding:clamp(1rem,2vw,1.75rem) clamp(1rem,3vw,2.5rem) 4rem}.question-card{border:1px solid rgb(var(--ink-rgb) / .13);background:rgb(var(--surface-raised-rgb) / .78);box-shadow:0 22px 60px rgb(var(--ink-rgb) / .08);animation:.62s cubic-bezier(.22,1,.36,1) both folio-enter;position:relative;overflow:hidden}.question-meta{border-bottom:1px solid rgb(var(--ink-rgb) / .1);min-height:2.2rem;color:var(--ink-muted);letter-spacing:.14em;align-items:center;gap:clamp(1rem,4vw,3.25rem);padding:.5rem clamp(1.2rem,3vw,2rem);font-size:.663rem;font-weight:600;display:flex}.question-meta span:first-child{color:var(--accent-ink);margin-right:auto}.question-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,26rem);align-items:start;gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.1rem,2vw,1.6rem) clamp(1.2rem,3vw,2rem) clamp(1.2rem,2vw,1.7rem);display:grid}.question-kicker{color:var(--warm-ink);letter-spacing:.18em;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .9rem;font-size:.686rem;font-weight:600;display:flex}.question-kicker span:last-child{color:var(--ink-muted);letter-spacing:.08em;font-size:.617rem;font-weight:500}.question-math{max-width:43rem;color:var(--ink);font-family:var(--font-cormorant), serif;letter-spacing:-.015em;margin-top:.9rem;font-size:clamp(1.45rem,2.4vw,1.95rem);font-weight:500;line-height:1.35}.question-math .katex{color:var(--ink);font-size:1.06em}.question-math{white-space:pre-wrap}.question-math .math-display{display:block}.question-math .katex-display{margin:.5em 0}.question-parts{flex-direction:column;gap:.6rem;margin:.9rem 0 0;padding:0;list-style:none;display:flex}.question-part{color:var(--ink);font-family:var(--font-cormorant), serif;align-items:baseline;gap:.5rem;font-size:clamp(1.2rem,1.9vw,1.55rem);font-weight:500;line-height:1.35;display:flex}.question-part-label{color:var(--warm-ink);flex-shrink:0}.question-part-text{flex:1}.question-part-marks{color:var(--ink-muted);letter-spacing:.06em;flex-shrink:0;font-size:.7rem;font-weight:600}.question-diagram{z-index:1;border:1px solid rgb(var(--ink-rgb) / .11);background:var(--surface-raised);max-width:12.5rem;box-shadow:0 13px 35px rgb(var(--ink-rgb) / .09);flex-direction:column;flex:11rem;margin:0;padding:.6rem;display:flex;position:relative}.question-diagram-list{flex-wrap:wrap;align-content:start;gap:.7rem;display:flex}.question-diagram:only-child{flex-basis:100%;max-width:100%}.question-diagram:only-child img{max-height:16rem}.question-diagram img{object-fit:contain;width:100%;max-height:9rem;display:block}.question-diagram figcaption{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;padding:.55rem .25rem .1rem;font-size:.62rem;font-weight:500}.paper-preview-page .worksheet-content{padding-top:clamp(1.2rem,3vw,2.5rem)}.paper-preview-nav,.paper-preview-controls,.paper-preview-parts li,.paper-preview-assets{display:flex}.paper-preview-nav{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.paper-preview-nav p,.paper-preview-nav h1{margin:0}.paper-preview-nav p{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:600}.paper-preview-nav h1{color:var(--ink);font-family:var(--font-cormorant), serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:600}.paper-preview-controls{min-width:16rem;color:var(--ink-muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.75rem}.paper-preview-controls a{border:1px solid rgb(var(--ink-rgb) / .15);color:var(--ink);padding:.55rem .75rem;text-decoration:none}.paper-preview-parts{gap:.8rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.paper-preview-parts li{align-items:baseline;gap:.65rem}.paper-preview-part-label{color:var(--accent-ink);font-family:var(--font-cormorant), serif;flex:none;font-size:1.25rem;font-weight:600}.paper-preview-part-text{min-width:0;color:var(--ink);font-family:var(--font-cormorant), serif;flex:1;font-size:1.25rem;line-height:1.4}.paper-preview-part-mark{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:.68rem;font-weight:600}.paper-preview-assets{flex-direction:column;gap:.9rem;min-width:0}.paper-preview-source{border:1px solid rgb(var(--ink-rgb) / .12);color:var(--ink-muted);margin-top:1rem;padding:.85rem 1rem;font-size:.75rem}.paper-preview-source summary{cursor:pointer}.paper-preview-source div{gap:.75rem;margin-top:.85rem;display:grid}.paper-preview-source img{width:100%;height:auto;display:block}.past-paper-library{width:min(100%,74rem);margin:0 auto;padding:clamp(2.5rem,7vw,6rem) clamp(1rem,3vw,2.5rem) 5rem}.past-paper-library-intro{gap:.45rem;max-width:48rem;margin-bottom:clamp(2.5rem,6vw,5rem);display:grid}.past-paper-library-intro p,.past-paper-library-intro h1,.past-paper-library-intro span{margin:0}.past-paper-library-intro p{color:var(--warm-ink);letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;font-weight:600}.past-paper-library-intro h1{color:var(--ink);font-family:var(--font-cormorant), serif;letter-spacing:-.045em;font-size:clamp(3rem,8vw,6.5rem);font-weight:400;line-height:.95}.past-paper-library-intro span{color:var(--ink-muted);margin-top:.7rem;font-size:.82rem;line-height:1.6}.past-paper-list{border-top:1px solid rgb(var(--ink-rgb) / .18);margin:0;padding:0;list-style:none}.past-paper-list li{border-bottom:1px solid rgb(var(--ink-rgb) / .18)}.past-paper-list a{min-height:7rem;color:var(--ink);grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem .35rem;text-decoration:none;transition:padding .18s,background .18s;display:grid}.past-paper-list a:hover{background:rgb(var(--accent-rgb) / .055);padding-inline:1rem}.past-paper-index{color:var(--warm-ink);letter-spacing:.14em;font-size:.66rem;font-weight:600}.past-paper-name{gap:.25rem;display:grid}.past-paper-name strong{font-family:var(--font-cormorant), serif;font-size:clamp(1.65rem,3vw,2.4rem);font-weight:500;line-height:1}.past-paper-name small,.past-paper-count{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:500}.past-paper-count{align-items:center;gap:1.25rem;display:flex}.past-paper-count i{color:var(--accent-ink);font-family:var(--font-cormorant), serif;font-size:1.8rem;font-style:normal}.past-paper-empty{color:var(--ink-muted)}@media (max-width:620px){.past-paper-list a{grid-template-columns:2rem minmax(0,1fr)}.past-paper-count{grid-column:2}}.pencil-status{color:var(--ink-muted);letter-spacing:.12em;gap:.5rem;font-size:.651rem;font-weight:500}.pencil-status i,.draft-dot{background:var(--accent);width:.42rem;height:.42rem;box-shadow:0 0 0 .22rem rgb(var(--accent-rgb) / .13);border-radius:50%}.ink-workspace{border:1px solid rgb(var(--ink-rgb) / .13);background:rgb(var(--surface-sunken-rgb) / .35);box-shadow:0 24px 70px rgb(var(--ink-rgb) / .1);margin-top:clamp(1rem,2vw,1.5rem);animation:.7s cubic-bezier(.22,1,.36,1) 80ms both folio-enter}.canvas-context{z-index:11;top:var(--header-h);min-height:var(--sticky-context-h);border-bottom:1px solid rgb(var(--ink-rgb) / .12);background:var(--surface-inverse-raised);position:sticky}.canvas-context-toggle{width:100%;min-height:var(--sticky-context-h);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem 1rem;display:grid}.canvas-context-label,.canvas-context-action{color:var(--accent-inverse);letter-spacing:.12em;text-transform:uppercase;font-size:.617rem;font-weight:600}.canvas-context-action{color:var(--ink-inverse-muted)}.canvas-context-stem{color:var(--ink-inverse);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.78rem;font-weight:400;overflow:hidden}.canvas-context-stem .katex{color:var(--ink-inverse);font-size:1.02em}.canvas-context-stem .katex-display,.canvas-context-stem .math-display{margin:0;display:inline}.canvas-context-popover{border-top:1px solid rgb(var(--inverse-rgb) / .14);max-height:min(56dvh,34rem);color:var(--ink-inverse);background:rgb(var(--brand-navy-rgb) / .98);box-shadow:0 22px 46px rgb(var(--brand-navy-rgb) / .3);padding:clamp(1rem,2.5vw,1.6rem);position:absolute;top:100%;left:0;right:0;overflow:auto}.canvas-context-question{font-family:var(--font-cormorant), serif;white-space:pre-wrap;margin:0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.4}.canvas-context-question .katex{color:inherit}.canvas-context-popover img{object-fit:contain;background:var(--cream);max-width:min(100%,34rem);max-height:42dvh;margin-top:1rem;display:block}.ink-toolbar{z-index:10;top:calc(var(--header-h) + var(--sticky-context-h));border-bottom:1px solid rgb(var(--ink-rgb) / .12);background:rgb(var(--surface-raised-rgb) / .96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;gap:.65rem;min-height:4rem;padding:.55rem .75rem;display:flex;position:sticky}.tool-group{background:rgb(var(--ink-rgb) / .055);gap:.15rem;min-height:2.75rem;padding:.22rem}.tool-button,.icon-button,.clear-button,.add-page-button,.submit-working{min-height:2.75rem;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0}.tool-button{letter-spacing:.04em;min-width:6rem;padding:.55rem .8rem;font-size:.65rem;font-weight:600}.tool-button span{color:var(--accent-ink);margin-right:.35rem}.canvas-tool-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;vertical-align:-.25rem;width:1.15rem;height:1.15rem;margin-right:.35rem;overflow:visible}.pen-size-control{min-width:10.5rem;min-height:2.75rem;color:var(--ink-muted);grid-template-columns:1.25rem minmax(5rem,1fr) 2rem;align-items:center;gap:.55rem;padding:0 .65rem;display:grid}.pen-size-preview{place-items:center;width:1.25rem;height:1.25rem;display:grid}.pen-size-preview i{background:var(--ink);border-radius:50%;max-width:1.1rem;max-height:1.1rem;display:block}.pen-size-control input{width:100%;min-height:2.75rem;accent-color:var(--accent-ink);cursor:pointer;margin:0}.pen-size-control input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pen-size-control output{color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.62rem;font-weight:600}.diagram-tools{border:1px solid rgb(var(--accent-rgb) / .24);background:rgb(var(--accent-rgb) / .08)}.diagram-insert-button{min-width:8.5rem}.diagram-remove-button{color:var(--warm-ink)}.tool-button[aria-pressed=true]{border:1px solid var(--ink);color:var(--ink-inverse);background:var(--surface-inverse-raised);box-shadow:0 5px 14px rgb(var(--ink-rgb) / .18)}.icon-button{width:2.75rem;padding:0;font-size:1.2rem}.clear-button{color:var(--warm-ink);letter-spacing:.05em;padding:.55rem .75rem;font-size:.62rem;font-weight:600}.tool-button:disabled,.icon-button:disabled,.clear-button:disabled,.add-page-button:disabled{border-color:rgb(var(--ink-muted-rgb) / .25);color:var(--ink-muted);background:var(--surface-sunken);cursor:not-allowed}.fallback-toggle{min-height:2.75rem;color:var(--ink-muted);cursor:pointer;align-items:center;gap:.5rem;padding:.45rem .7rem;font-size:.697rem;font-weight:500;display:flex}.fallback-toggle input{opacity:0;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.fallback-control{border:1px solid rgb(var(--ink-rgb) / .45);background:var(--surface);width:2.35rem;height:1.35rem;transition:background .16s,border-color .16s;display:block;position:relative}.fallback-control i{background:var(--ink-muted);width:.85rem;height:.85rem;transition:transform .16s,background .16s;position:absolute;top:.18rem;left:.18rem}.fallback-toggle input:checked+.fallback-control{border-color:var(--ink);background:var(--surface-inverse-raised)}.fallback-toggle input:checked+.fallback-control i{background:var(--accent-inverse);transform:translate(1rem)}.fallback-toggle input:focus-visible+.fallback-control{outline:2px solid var(--accent);outline-offset:3px}.draft-indicator{color:var(--ink-muted);letter-spacing:.1em;white-space:nowrap;align-items:center;gap:.55rem;margin-left:auto;font-size:.617rem;font-weight:500;display:flex}.paper-zoom-controls{min-height:2.75rem}.paper-zoom-controls button{width:2.75rem;min-height:2.75rem;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:1.15rem}.paper-zoom-controls button:disabled{color:var(--ink-muted);cursor:not-allowed}.paper-zoom-controls output{min-width:3.6rem;color:var(--ink-muted);letter-spacing:.05em;text-align:center;font-size:.62rem;font-weight:600}.paper-viewport{overscroll-behavior-x:contain;min-width:0;overflow-x:auto}.paper-frame{width:calc(var(--paper-zoom,100%) - clamp(1.4rem, 3.6vw, 2.8rem));border:1px solid rgb(var(--ink-rgb) / .11);background:var(--paper);box-shadow:0 14px 45px rgb(var(--ink-rgb) / .09);margin:clamp(.7rem,1.8vw,1.4rem);position:relative;overflow:hidden}.review-canvas-layout{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.review-canvas-layout.has-comments{grid-template-columns:minmax(0, 1fr) auto var(--rail-width,21rem)}.rail-resizer{cursor:col-resize;touch-action:none;background:0 0;place-items:center;width:.85rem;margin:clamp(.7rem,1.8vw,1.4rem) 0;display:grid}.rail-resizer span{background:rgb(var(--ink-rgb) / .2);width:2px;height:2.4rem;transition:background .16s,height .16s}.rail-resizer:hover span,.rail-resizer:focus-visible span{background:var(--accent-ink);height:3.6rem}.rail-resizer:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.review-canvas-layout.has-comments .paper-frame{margin-right:0}.is-read-only .ink-canvas{cursor:default}.annotation-anchor{z-index:3;border:2px solid var(--accent-ink);background:rgb(var(--accent-rgb) / .08);pointer-events:none;min-width:1.6rem;min-height:1.6rem;transition:border-color .16s,background .16s;position:absolute}.annotation-anchor.annotation-error{border-color:var(--warm-ink);background:rgb(var(--accent-warm-rgb) / .08)}.annotation-anchor.annotation-unclear{border-style:dashed;border-color:var(--ink-muted);background:rgb(var(--ink-muted-rgb) / .07)}.annotation-anchor.is-selected{border-color:var(--accent-ink);background:rgb(var(--accent-rgb) / .18);box-shadow:0 0 0 3px rgb(var(--accent-rgb) / .14)}.annotation-anchor button{border:1px solid var(--paper-ink);width:2rem;height:2rem;color:var(--paper);background:var(--paper-ink);box-shadow:0 4px 12px rgb(var(--ink-rgb) / .22);cursor:pointer;font:inherit;pointer-events:auto;border-radius:50%;place-items:center;padding:0;font-size:.68rem;font-weight:700;display:grid;position:absolute;top:-1rem;right:-1rem}.annotation-anchor.annotation-error button{color:var(--on-accent);background:var(--warm)}.annotation-anchor button:focus-visible,.annotation-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.annotation-rail{border:1px solid rgb(var(--ink-rgb) / .11);background:rgb(var(--surface-raised-rgb) / .78);flex-direction:column;gap:.7rem;margin:clamp(.7rem,1.8vw,1.4rem) clamp(.7rem,1.8vw,1.4rem) clamp(.7rem,1.8vw,1.4rem) 0;padding:.7rem;display:flex;overflow-y:auto}.annotation-card{border:1px solid rgb(var(--ink-rgb) / .13);width:100%;color:var(--ink);background:var(--paper);box-shadow:0 8px 22px rgb(var(--ink-rgb) / .08);cursor:pointer;font:inherit;text-align:left;padding:.85rem .9rem .85rem 2.7rem;transition:border-color .16s,box-shadow .16s;display:grid;position:relative}.annotation-card>span{color:var(--accent-ink);font-family:var(--font-cormorant), serif;font-size:1.2rem;position:absolute;top:.85rem;left:.8rem}.annotation-card strong{color:var(--ink-muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:500}.annotation-card strong .katex,.annotation-card p .katex{font-size:1em}.annotation-card strong .katex{color:var(--ink-muted)}.annotation-card p{color:var(--ink);margin:.45rem 0 0;font-size:.74rem;line-height:1.9}.annotation-card strong{line-height:1.9}.annotation-card.is-selected{z-index:2;border-color:var(--accent-ink);box-shadow:0 10px 28px rgb(var(--accent-rgb) / .18)}.ink-canvas{z-index:2;cursor:crosshair;touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:auto;display:block;position:relative}.paper-frame.has-diagrams .ink-canvas{touch-action:none}.ink-canvas-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.ink-paper-layer{z-index:0}.ink-committed-layer{z-index:1}.diagram-selection{z-index:3;border:2px solid var(--accent-ink);box-shadow:0 0 0 2px rgb(var(--paper-rgb,251 249 243) / .72);pointer-events:none;position:absolute}.diagram-selection span{border:2px solid var(--paper);background:var(--accent-ink);border-radius:50%;width:.6rem;height:.6rem;position:absolute}.diagram-selection span:first-child{top:-.4rem;left:-.4rem}.diagram-selection span:nth-child(2){top:-.4rem;right:-.4rem}.diagram-selection span:nth-child(3){bottom:-.4rem;left:-.4rem}.diagram-selection span:nth-child(4){bottom:-.4rem;right:-.4rem}.paper-frame.is-erasing .ink-canvas{cursor:cell}.paper-prompt{z-index:3;color:rgb(var(--ink-muted-rgb) / .35);pointer-events:none;gap:.35rem;display:grid;position:absolute;top:4.6rem;left:8%}.paper-prompt span{font-family:var(--font-cormorant), serif;font-size:clamp(1.2rem,2vw,1.7rem);font-style:italic}.paper-prompt small{letter-spacing:.08em;text-transform:uppercase;font-size:.594rem;font-weight:500}.canvas-footer{border-top:1px solid rgb(var(--ink-rgb) / .1);justify-content:space-between;gap:1rem;min-height:5rem;padding:.8rem clamp(.8rem,2vw,1.4rem) 1rem}.marking-state,.marking-unavailable{border-top:1px solid rgb(var(--ink-rgb) / .1);margin:0;padding:1rem clamp(1rem,2vw,1.4rem)}.marking-state{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.72rem;font-weight:600;display:flex}.marking-state>span{border:1px solid rgb(var(--accent-rgb) / .3);border-top-color:var(--accent-ink);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite praxis-spin}.marking-unavailable p{color:var(--warm-ink);margin:0;font-size:.76rem}.marking-unavailable>div,.review-actions{justify-content:flex-end;gap:.65rem;margin-top:.85rem;display:flex}.marking-unavailable button,.review-actions button{border:1px solid rgb(var(--ink-rgb) / .18);min-height:2.75rem;color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:.65rem .9rem;font-size:.65rem;font-weight:600}.marking-unavailable button:last-child,.review-actions button:last-child{color:var(--on-accent);background:var(--grad-gold-burn);border:0}.review-completion{border-top:1px solid rgb(var(--ink-rgb) / .12);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem 1.5rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.review-total{border-right:1px solid rgb(var(--ink-rgb) / .14);gap:.25rem;min-width:7rem;padding-right:1.5rem;display:grid}.review-total span{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:600}.review-total strong{color:var(--ink);font-family:var(--font-cormorant), serif;font-size:3rem;font-weight:400;line-height:.9}.review-total small{color:var(--ink-muted);font-size:1.2rem}.review-completion>p,.review-completion>.review-feedback{color:var(--ink);font-family:var(--font-cormorant), serif;margin:0;font-size:1.15rem;line-height:1.4}.review-feedback .katex{color:var(--ink);font-size:1em}.review-completion .review-alert{color:var(--warm-ink);font-family:var(--font-montserrat), sans-serif;grid-column:1/-1;font-size:.72rem}.review-completion .unfair-button,.review-actions{grid-column:1/-1}.review-completion .unfair-button{justify-self:start}.review-actions{margin-top:0}.add-page-button{color:var(--ink-muted);padding:.65rem .8rem;font-size:.63rem;font-weight:600}.add-page-button span{color:var(--accent-ink);margin-right:.35rem;font-size:1rem}.submit-zone{justify-content:flex-end;gap:1rem}.submit-message{max-width:19rem;color:var(--ink-muted);text-align:right;margin:0;font-size:.65rem;line-height:1.35}.submit-working{min-width:12rem;color:var(--ink-inverse);background:var(--grad-gold-burn);box-shadow:0 10px 24px rgb(var(--accent-warm-ink-rgb) / .2);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.65rem;font-weight:600;display:flex}.submit-working span{font-size:1rem}.submit-working:disabled{border:1px solid rgb(var(--ink-muted-rgb) / .34);color:var(--ink-muted);background:var(--surface-sunken);box-shadow:none;cursor:not-allowed}.payload-proof{border-left:2px solid var(--accent);color:var(--ink-muted);background:rgb(var(--accent-rgb) / .1);letter-spacing:.08em;margin:1rem 0 0;padding:.8rem 1rem;font-size:.629rem;font-weight:500;display:block}@keyframes folio-enter{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.tool-button:not([aria-pressed=true]):hover,.icon-button:not(:disabled):hover,.clear-button:not(:disabled):hover,.add-page-button:not(:disabled):hover{background:rgb(var(--accent-rgb) / .1)}.submit-working:not(:disabled):hover{filter:brightness(1.05)}}@media (max-width:900px){.worksheet-body{display:block}.worksheet-content{padding-inline:clamp(.75rem,3vw,1.5rem)}.question-layout{grid-template-columns:1fr}.question-diagram{flex-basis:100%;max-width:min(100%,38rem)}.question-diagram img{max-height:20rem}.ink-toolbar{flex-wrap:wrap}.review-canvas-layout.has-comments{grid-template-columns:minmax(0,1fr)}.rail-resizer{display:none}.annotation-rail{border-left:1px solid rgb(var(--ink-rgb) / .11);min-height:0;margin:0 clamp(.7rem,1.8vw,1.4rem) clamp(.7rem,1.8vw,1.4rem);padding:0}.annotation-card{border:0;width:100%;display:none}.annotation-card.is-selected{display:grid}.draft-indicator{margin-left:0}}@media (max-width:620px){:root{--header-h:4.25rem}.worksheet-header{min-height:var(--header-h);padding-inline:.65rem}.session-student,.session-divider,.worksheet-brand p{display:none}.worksheet-content{padding-top:.75rem}.question-meta{gap:.75rem}.question-meta span:last-child{display:none}.question-layout{padding:1.25rem}.pencil-status{font-size:0}.pencil-status i{display:block}.ink-toolbar{top:calc(var(--header-h) + var(--sticky-context-h));gap:.35rem}.canvas-context{top:var(--header-h)}.canvas-context-label{display:none}.canvas-context-toggle{grid-template-columns:minmax(0,1fr) auto}.tool-button{min-width:auto}.fallback-toggle{order:4;width:100%}.draft-indicator{margin-left:auto}.canvas-footer,.submit-zone{flex-direction:column;align-items:stretch}.submit-zone{width:100%}.submit-message{text-align:left;max-width:none}.submit-working{width:100%}.review-completion{grid-template-columns:1fr}.review-total{border-right:0;border-bottom:1px solid rgb(var(--ink-rgb) / .14);padding:0 0 1rem}.review-actions,.marking-unavailable>div{flex-direction:column;align-items:stretch}}@media (min-width:621px) and (max-width:1400px) and (pointer:coarse){.topic-intro h1{font-size:clamp(1.45rem,2.25vw,1.9rem)}.question-math{font-size:clamp(1.2rem,1.8vw,1.5rem)}.question-layout{padding-block:1rem}}@media (max-width:480px){.worksheet-header{gap:.2rem}.worksheet-brand{gap:0}.worksheet-brand span{display:none}.app-nav{gap:0}.app-nav a{padding-inline:.3rem;font-size:.6rem}.worksheet-session{gap:.25rem}.theme-picker select{width:4.8rem;padding-inline:.35rem 1rem;font-size:.6rem}.worksheet-session .sign-out{padding-inline:.45rem;font-size:.62rem}}@media (prefers-reduced-motion:reduce){.question-card,.ink-workspace{animation:none}}.topic-stage,.result-stage{min-height:calc(100dvh - 4.75rem);padding:clamp(3rem, 8vw, 7.5rem) max(1.25rem, env(safe-area-inset-right)) max(4rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left))}.topic-stage{padding-block:clamp(.8rem, 1.7vw, 1.4rem) max(4rem, env(safe-area-inset-bottom));color:var(--ink);background:var(--surface);isolation:isolate;position:relative}.topic-stage:before{content:none}.topic-intro,.topic-browser,.topic-message,.topic-loading,.topic-skeleton,.topic-complete{width:min(100%,74rem);margin-inline:auto}.topic-intro-line{justify-content:space-between;align-items:center;gap:clamp(1.25rem,4vw,4rem);display:flex}.progress-back,.progress-message button{color:var(--ink-inverse);cursor:pointer;font:inherit;background:0 0;border:0}.topic-overline,.result-overline{color:var(--warm-ink);letter-spacing:.2em;text-transform:uppercase;margin:0 0 .4rem;font-size:.62rem;font-weight:600}.topic-intro h1,.result-stage h1{letter-spacing:-.04em;margin:0;font-weight:400;line-height:.88}.topic-intro h1{max-width:38rem;color:var(--ink);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1}.topic-intro h1 span{color:var(--accent-ink);font-style:italic}.topic-intro-line>span{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;padding-bottom:.35rem;font-size:.66rem;font-weight:600}.topic-welcome{max-width:28rem;color:var(--ink-muted);font-family:var(--font-cormorant), serif;align-items:center;gap:.65rem;margin:0;font-size:clamp(.92rem,1.25vw,1.08rem);line-height:1.3;display:flex}.topic-welcome>span{border:1px solid rgb(var(--accent-rgb) / .65);aspect-ratio:1;width:1.8rem;color:var(--accent-ink);font-family:var(--font-montserrat), sans-serif;border-radius:50%;flex:none;place-items:center;font-size:.62rem;display:grid}.picker-options{scrollbar-color:var(--rule-strong) transparent;flex-direction:column;flex:1;gap:.55rem;min-height:0;padding-right:.25rem;display:flex;overflow-y:auto}.picker-options button{border:1px solid var(--rule-strong);min-height:3.4rem;color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;overflow-wrap:anywhere;text-align:left;border-radius:0;flex:none;align-content:center;gap:.3rem;padding:.7rem .8rem;font-size:.82rem;font-weight:500;line-height:1.3;display:grid}.picker-options button:hover,.picker-options button:focus-visible{border-color:var(--accent-ink)}.picker-options button.is-selected{border-color:var(--accent-ink);box-shadow:inset 3px 0 0 var(--accent-ink)}.picker-options button small{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:600}.topic-filters{border:0;border-bottom:1px solid var(--rule-strong);background:0 0;grid-template-columns:minmax(0,1fr) minmax(12rem,.28fr);gap:1rem;width:min(100%,74rem);margin:clamp(.65rem,1.2vw,1rem) auto 0;padding:0 0 .7rem;display:grid}.topic-filters label{gap:.3rem;display:grid}.topic-filters label>span{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:600}.topic-filters input,.topic-filters select{border:1px solid var(--rule-strong);width:100%;min-height:2.55rem;color:var(--ink);background:var(--surface);border-radius:.35rem;padding:.55rem .75rem}.topic-catalogue{gap:1.25rem;width:min(100%,74rem);margin:.75rem auto 0;padding-left:1.75rem;display:grid;position:relative}.topic-catalogue:before{border-left:1px solid rgb(var(--accent-rgb) / .5);content:"";position:absolute;top:.7rem;bottom:.7rem;left:.42rem}.topic-group{border:1px solid var(--rule-strong);background:linear-gradient(120deg, rgb(var(--accent-rgb) / .035), transparent 24rem), var(--surface);border-radius:.65rem;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);padding:1.2rem;display:grid;position:relative}.topic-group:before{border-top:1px solid rgb(var(--accent-rgb) / .5);content:"";width:1.35rem;position:absolute;top:2rem;right:100%}.topic-group:after{border:1px solid var(--accent-ink);aspect-ratio:1;background:var(--surface);content:"";border-radius:50%;width:.48rem;position:absolute;top:1.76rem;right:calc(100% + 1.12rem)}.topic-group-toggle{cursor:pointer;align-items:start;gap:.7rem;display:flex}.topic-group-toggle input{width:1.1rem;height:1.1rem;accent-color:var(--accent-ink);flex:none;margin-top:.3rem}.topic-group>header p{color:var(--warm-ink);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .35rem;font-size:.58rem;font-weight:600}.topic-group>header h2{color:var(--ink);margin:0;font-size:clamp(1.35rem,2.3vw,1.8rem);font-weight:500;line-height:1.05}.topic-clusters{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.1rem;display:grid}.topic-cluster{gap:.7rem;padding-left:1rem;display:grid;position:relative}.topic-cluster:before{border-left:1px solid var(--rule-strong);content:"";position:absolute;top:.65rem;bottom:.65rem;left:.2rem}.topic-cluster h3{color:var(--ink-muted);font-family:var(--font-montserrat), sans-serif;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:600;position:relative}.topic-cluster h3:before{border-top:1px solid var(--rule-strong);content:"";width:.42rem;position:absolute;top:50%;right:calc(100% + .4rem)}.topic-options{gap:.45rem;padding-left:.8rem;display:grid;position:relative}.topic-option{border:1px solid var(--rule);min-height:3.5rem;color:var(--ink);background:var(--surface-raised);cursor:pointer;font:inherit;text-align:left;border-radius:.4rem;grid-template-columns:1.1rem 5.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem .8rem;transition:background .16s;display:grid;position:relative}.topic-option:before{border-top:1px solid var(--rule-strong);content:"";width:.8rem;position:absolute;top:50%;right:100%}.topic-option.is-selected{border-color:var(--accent-ink);background:rgb(var(--accent-rgb) / .09);box-shadow:0 0 0 1px rgb(var(--accent-rgb) / .12)}.topic-option-check{border:1px solid var(--rule-strong);background:var(--surface);border-radius:3px;flex:none;width:1.1rem;height:1.1rem;display:block;position:relative}.topic-option.is-selected .topic-option-check{border-color:var(--accent-ink);background:var(--accent-ink)}.topic-option.is-selected .topic-option-check:after{content:"";border:solid var(--surface);border-width:0 2px 2px 0;width:.3rem;height:.55rem;position:absolute;top:.14rem;left:.32rem;transform:rotate(45deg)}.topic-ref,.topic-count{letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:600}.topic-ref{color:var(--accent-ink)}.topic-option strong{font-size:.82rem;font-weight:500;line-height:1.35}.topic-count{color:var(--ink-muted);white-space:nowrap}.topic-option i{color:var(--accent);font-size:1rem;font-style:normal}.topic-no-results{border:1px solid var(--rule);color:var(--ink-muted);margin:1.5rem 0 0;padding:1rem;font-size:.78rem}.topic-selection-bar{bottom:max(1rem, env(safe-area-inset-bottom));z-index:2;border:1px solid rgb(var(--accent-rgb) / .45);background:var(--surface-raised);box-shadow:0 .6rem 1.6rem rgb(var(--ink-rgb) / .14);border-radius:.55rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.2rem;display:flex;position:sticky}.topic-selection-summary{gap:.15rem;display:grid}.topic-selection-summary strong{color:var(--ink);font-size:.88rem;font-weight:500}.topic-selection-summary span{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:600}.selection-difficulties{flex-wrap:wrap;gap:.5rem;display:flex}.selection-difficulties button{border:1px solid var(--rule-strong);min-width:3.75rem;color:var(--ink);background:var(--surface);cursor:pointer;font:inherit;text-align:center;border-radius:0;place-items:center;gap:.2rem;padding:.5rem .7rem;font-size:.82rem;font-weight:500;display:grid}.selection-difficulties button:hover,.selection-difficulties button:focus-visible{border-color:var(--accent-ink)}.selection-difficulties button small{color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.56rem;font-weight:600}.topic-message,.topic-loading,.topic-skeleton,.topic-complete{margin-top:3rem}.topic-message{border-left:2px solid var(--accent);color:var(--ink);background:rgb(var(--ink-rgb) / .05);padding:1rem 1.2rem;font-size:.8rem}.topic-skeleton{gap:.75rem;margin-top:clamp(.65rem,1.2vw,1rem);display:grid}.topic-skeleton-filters{border-bottom:1px solid var(--rule-strong);grid-template-columns:minmax(0,1fr) minmax(12rem,.28fr);gap:1rem;padding-bottom:.7rem;display:grid}.topic-skeleton-filters span,.topic-skeleton-heading span,.topic-skeleton-heading strong,.topic-skeleton-options span,.progress-skeleton [aria-hidden=true] span,.progress-skeleton [aria-hidden=true] strong,.progress-skeleton [aria-hidden=true] i,.progress-skeleton [aria-hidden=true] b{background:linear-gradient(105deg, rgb(var(--ink-rgb) / .055) 35%, rgb(var(--ink-rgb) / .11) 48%, rgb(var(--ink-rgb) / .055) 61%) 100% 0 / 240% 100%;border-radius:.35rem;animation:1.4s ease-in-out infinite praxis-skeleton;display:block}.topic-skeleton-filters span{height:2.55rem}.topic-skeleton-tree{gap:1.25rem;padding-left:1.75rem;display:grid}.topic-skeleton-group{border:1px solid var(--rule);border-radius:.65rem;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);padding:1.2rem;display:grid}.topic-skeleton-heading{align-content:start;gap:.65rem;display:grid}.topic-skeleton-heading span{width:5rem;height:.55rem}.topic-skeleton-heading strong{width:min(100%,11rem);height:1.65rem}.topic-skeleton-options{gap:.45rem;display:grid}.topic-skeleton-options span{border:1px solid var(--rule);height:3.5rem}.topic-loading{min-height:10rem;color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.9rem;font-size:.65rem;display:flex}.topic-loading span{border:1px solid rgb(var(--accent-rgb) / .25);border-top-color:var(--accent);border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite praxis-spin}.topic-complete{border:1px solid rgb(var(--accent-rgb) / .25);text-align:center;padding:clamp(2rem,6vw,5rem)}.topic-complete>span{color:var(--accent)}.topic-complete h2{margin:1rem 0 .5rem;font-size:clamp(2.5rem,6vw,5rem);font-weight:400}.topic-complete p{color:var(--ink-muted)}.topic-complete button,.answer-actions button,.result-actions button,.unfair-button{cursor:pointer;font:inherit;border:0}.topic-complete button{color:var(--on-accent);background:var(--grad-gold-burn);letter-spacing:.1em;text-transform:uppercase;margin-top:1.2rem;padding:.9rem 1.25rem;font-size:.65rem;font-weight:600}.question-layout-solo{grid-template-columns:minmax(0,1fr)}.question-layout-solo .question-copy{max-width:58rem}.answer-confirmation{border:1px solid rgb(var(--accent-rgb) / .35);background:linear-gradient(110deg, rgb(var(--accent-rgb) / .08), transparent 45%), var(--surface-inverse-raised);box-shadow:0 24px 65px rgb(var(--surface-inverse-rgb) / .19);color:var(--ink-inverse);grid-template-columns:auto minmax(12rem,.7fr) minmax(18rem,1.3fr);align-items:end;gap:1rem 1.5rem;margin-top:1.25rem;padding:clamp(1.2rem,3vw,2.2rem);animation:.42s cubic-bezier(.22,1,.36,1) both folio-enter;display:grid}.answer-step{border-right:1px solid rgb(var(--inverse-rgb) / .14);color:var(--accent-inverse);letter-spacing:.16em;text-transform:uppercase;writing-mode:vertical-rl;align-self:start;padding-right:1.4rem;font-size:.663rem;font-weight:600}.answer-copy p{font-family:var(--font-cormorant), serif;margin:0;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1}.answer-copy span{color:rgb(var(--inverse-rgb) / .55);margin-top:.7rem;font-size:.68rem;line-height:1.5;display:block}.answer-confirmation label{gap:.55rem;display:grid}.answer-confirmation label>span{color:var(--accent-inverse);letter-spacing:.15em;text-transform:uppercase;font-size:.651rem;font-weight:600}.answer-confirmation input{border:1px solid rgb(var(--inverse-rgb) / .2);width:100%;min-height:3.75rem;color:var(--ink-inverse);background:rgb(var(--inverse-rgb) / .07);border-radius:0;outline:none;padding:.8rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px}.answer-confirmation input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .14)}.answer-message{border-left:2px solid var(--warm-inverse);color:var(--ink-inverse);background:rgb(var(--accent-warm-rgb) / .12);grid-column:2/-1;margin:0;padding:.75rem .9rem;font-size:.72rem}.answer-actions{grid-column:2/-1;justify-content:flex-end;gap:.75rem;display:flex}.answer-actions button{min-height:3rem;color:rgb(var(--inverse-rgb) / .64);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:.7rem 1rem;font-size:.62rem;font-weight:600}.answer-actions button[type=submit]{min-width:14.5rem;color:var(--on-accent);background:var(--grad-gold-burn);justify-content:space-between;align-items:center;display:flex}.answer-actions button:disabled{border:1px solid rgb(var(--ink-muted-rgb) / .34);color:var(--ink-muted);background:var(--surface-sunken);cursor:not-allowed}.result-stage{text-align:center;background:var(--surface);isolation:isolate;position:relative;overflow:hidden}.result-stage:before{z-index:-1;border:1px solid rgb(var(--ink-rgb) / .1);content:"";position:absolute;inset:1.2rem}.result-stage.is-correct{background:radial-gradient(circle at 50% 25%, rgb(var(--accent-rgb) / .12), transparent 28rem), var(--surface)}.result-stage.is-wrong{background:radial-gradient(circle at 50% 25%, rgb(var(--accent-warm-rgb) / .1), transparent 28rem), var(--surface)}.result-stage.is-partial{background:radial-gradient(circle at 50% 25%, rgb(var(--accent-rgb) / .08), transparent 28rem), var(--surface)}.result-ornament{aspect-ratio:1;width:5.5rem;color:var(--accent-ink);font-family:var(--font-cormorant), serif;border:1px solid;border-radius:50%;place-items:center;margin:0 auto 2rem;font-size:3rem;animation:.52s cubic-bezier(.22,1,.36,1) both result-arrive;display:grid}.is-wrong .result-ornament{color:var(--warm-ink)}.is-partial .result-ornament{color:var(--ink)}.result-overline{color:var(--accent-ink)}.result-stage h1{color:var(--ink);font-size:clamp(4rem,9vw,8.5rem)}.result-note{max-width:36rem;color:var(--ink-muted);font-family:var(--font-cormorant), serif;margin:1.5rem auto 0;font-size:clamp(1.1rem,2vw,1.35rem);font-style:italic}.result-ledger{border-block:1px solid rgb(var(--ink-rgb) / .13);grid-template-columns:.7fr 1.6fr .8fr;width:min(100%,62rem);margin:clamp(2.5rem,6vw,5rem) auto 0;display:grid}.result-ledger>div{border-right:1px solid rgb(var(--ink-rgb) / .13);align-content:center;gap:.8rem;min-height:9rem;padding:1.4rem;display:grid}.result-ledger>div:last-child{border-right:0}.result-ledger span{color:var(--ink-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;font-weight:600}.result-ledger strong{color:var(--ink);font-family:var(--font-cormorant), serif;font-size:3.5rem;font-weight:400;line-height:1}.result-ledger strong small{color:var(--ink-muted);font-size:1.4rem}.result-answer{overflow-wrap:anywhere;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.9rem,2vw,1.35rem)}.result-marker{letter-spacing:.08em;font-family:var(--font-montserrat), sans-serif!important;font-size:.72rem!important;font-weight:600!important}.vision-feedback{text-align:left;width:min(100%,74rem);margin:clamp(2rem,5vw,4rem) auto 0}.criteria-panel{border-top:1px solid rgb(var(--ink-rgb) / .16);background:rgb(var(--surface-raised-rgb) / .26)}.criteria-list p{color:var(--ink-muted);margin:.55rem 0 0;font-size:.72rem;line-height:1.55}.criteria-panel{margin-top:1.25rem}.criteria-list article{border-top:1px solid rgb(var(--ink-rgb) / .1);grid-template-columns:minmax(0,1fr) 3rem;align-items:center;gap:1rem;min-height:5.8rem;padding:1.15rem clamp(1rem,3vw,2rem);display:grid}.criteria-list h3{color:var(--ink-strong);margin:0;font-size:.72rem;font-weight:600}.criteria-list article>strong{color:var(--accent-ink);font-family:var(--font-cormorant), serif;text-align:right;font-size:2.25rem;font-weight:400}.cache-note{color:var(--ink-muted);text-align:right;margin:1rem 0 0;font-size:.697rem;font-style:italic}.unfair-button{border-bottom:1px solid rgb(var(--accent-warm-ink-rgb) / .35);color:var(--warm-ink);background:0 0;margin-top:1.5rem;padding:.7rem;font-size:.67rem}.unfair-button:disabled{cursor:default;color:var(--accent-ink);border-bottom-color:rgb(var(--accent-rgb) / .3)}.result-message{width:min(100%,36rem);color:var(--warm-ink);margin:1.25rem auto 0;font-size:.72rem}.result-actions{justify-content:center;gap:.8rem;width:min(100%,44rem);margin:2rem auto 0;display:flex}.result-actions button{border:1px solid rgb(var(--ink-rgb) / .2);min-height:3.4rem;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:.8rem 1.2rem;font-size:.62rem;font-weight:600}.result-actions button:last-child{border-color:var(--ink);min-width:15rem;color:var(--ink-inverse);background:var(--surface-inverse-raised)}.result-actions button span{margin-left:1.5rem}@keyframes praxis-spin{to{transform:rotate(360deg)}}@keyframes result-arrive{0%{opacity:0;transform:scale(.75)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (hover:hover){.topic-option:hover{background:rgb(var(--accent-rgb) / .09)}.result-actions button:hover,.answer-actions button:hover,.topic-complete button:hover{filter:brightness(1.08)}}@media (max-width:760px){.topic-intro-line{flex-direction:column;align-items:start;gap:.4rem}.topic-filters,.topic-group,.topic-skeleton-filters,.topic-skeleton-group{grid-template-columns:1fr}.topic-option{grid-template-columns:1.1rem 4.8rem minmax(0,1fr)}.topic-option .topic-count{display:none}.topic-selection-bar{flex-direction:column;align-items:stretch}.answer-confirmation{grid-template-columns:auto 1fr}.answer-confirmation label,.answer-message,.answer-actions{grid-column:2}.result-ledger{grid-template-columns:1fr}.result-ledger>div{border-right:0;border-bottom:1px solid rgb(var(--ink-rgb) / .13);min-height:6.5rem}.result-ledger>div:last-child{border-bottom:0}.result-actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){.topic-skeleton-filters span,.topic-skeleton-heading span,.topic-skeleton-heading strong,.topic-skeleton-options span,.topic-loading span,.result-ornament,.answer-confirmation{animation:none}.topic-option{transition:none}}.progress-stage,.profile-stage{min-height:calc(100dvh - var(--header-h));padding:clamp(2.5rem, 6vw, 5rem) max(1.25rem, env(safe-area-inset-right)) max(4rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));color:var(--ink);background:linear-gradient(90deg, rgb(var(--ink-rgb) / .045) 1px, transparent 1px) 0 0 / 7rem 100%, var(--surface)}.progress-masthead,.practice-recommendation,.progress-ledger,.progress-skeleton,.progress-message,.progress-empty{width:min(100%,82rem);margin-inline:auto}.progress-masthead .topic-overline,.profile-masthead .topic-overline{color:var(--warm-ink)}.progress-masthead h1,.profile-masthead h1{color:var(--ink);letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,5vw,4.25rem);font-weight:400;line-height:.9}.practice-recommendation{border:1px solid var(--rule-strong);background:var(--surface-raised);box-shadow:0 18px 55px rgb(var(--ink-rgb) / .08);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;margin-top:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.5rem,3.5vw,2.6rem);display:grid}.practice-recommendation span,.practice-recommendation p,.progress-ledger-head,.progress-name>span,.progress-name small,.progress-strength strong,.progress-date,.progress-due{letter-spacing:.1em;text-transform:uppercase;font-size:.663rem;font-weight:600}.practice-recommendation span{color:var(--warm-ink)}.practice-recommendation p{color:var(--accent-ink);margin:.65rem 0 0}.practice-recommendation h2{color:var(--ink);margin:.35rem 0 0;font-size:clamp(1.75rem,3.4vw,2.8rem);font-weight:400;line-height:1}.dashboard-start,.profile-submit{min-height:3.25rem;color:var(--on-accent);background:var(--grad-gold-burn);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;padding:.8rem 1rem;font-size:.68rem;font-weight:600;text-decoration:none;display:flex}.progress-ledger{border-top:1px solid var(--ink);margin-top:clamp(2.5rem,5vw,4rem)}.progress-ledger-head,.progress-ledger article{grid-template-columns:minmax(13rem,1.35fr) minmax(9rem,.8fr) minmax(8rem,.7fr) minmax(8rem,.7fr) auto;gap:clamp(.8rem,2vw,2rem);display:grid}.progress-ledger-head{color:var(--ink-muted);padding:.9rem 1rem}.progress-ledger article{border-top:1px solid var(--rule);align-items:center;min-height:7.5rem;padding:1.25rem 1rem}.progress-ledger article.is-due{border-left:2px solid var(--warm);background:linear-gradient(90deg, rgb(var(--accent-warm-rgb) / .1), transparent 68%)}.progress-name>span{color:var(--accent-ink)}.progress-name h2{color:var(--ink);margin:.35rem 0 0;font-size:clamp(1.25rem,2.2vw,1.8rem);font-weight:500;line-height:1.05}.progress-name small{color:var(--ink-muted);margin-top:.45rem;font-size:.56rem;display:block}.progress-strength strong{color:var(--ink)}.progress-date,.progress-due{color:var(--ink-muted);gap:.35rem;display:grid}.progress-date span,.progress-due span{display:none}.progress-date strong,.progress-due strong{color:var(--ink-muted);font-size:.64rem}.progress-ledger article.is-due .progress-due strong{color:var(--warm-ink)}.dashboard-row-action{color:var(--accent-ink);-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:.3rem;white-space:nowrap;padding:.6rem 0;font-size:.64rem;font-weight:600}.dashboard-row-status{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:600}.progress-loading,.progress-message,.progress-empty{margin-top:4rem}.profile-loading{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.62rem;display:flex}.profile-loading span{border:1px solid var(--rule-strong);border-top-color:var(--accent-ink);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite praxis-spin}.progress-skeleton{gap:clamp(2.5rem,5vw,4rem);display:grid}.progress-skeleton-feature{border:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 10rem;align-items:end;gap:1.5rem;padding:clamp(1.5rem,3.5vw,2.6rem);display:grid}.progress-skeleton-feature>div{gap:.65rem;display:grid}.progress-skeleton-feature span{width:5.5rem;height:.55rem}.progress-skeleton-feature strong{width:min(100%,25rem);height:2.25rem}.progress-skeleton-feature i{width:7rem;height:.6rem}.progress-skeleton-feature b{height:3.25rem}.progress-skeleton-ledger{border-top:1px solid var(--ink)}.progress-skeleton-ledger>div{border-top:1px solid var(--rule);grid-template-columns:minmax(13rem,1.35fr) repeat(3,minmax(7rem,.7fr));align-items:center;gap:clamp(.8rem,2vw,2rem);min-height:5.4rem;padding:1.25rem 1rem;display:grid}.progress-skeleton-ledger span{height:.75rem}@keyframes praxis-skeleton{to{background-position:-100% 0}}.progress-message{border-left:2px solid var(--warm);color:var(--warm-ink);background:rgb(var(--accent-warm-rgb) / .08);padding:1rem 1.2rem}.progress-message button{color:var(--warm-ink);padding:0;text-decoration:underline}.progress-empty h2{color:var(--ink);margin:0;font-size:2rem;font-weight:400}.progress-empty p{color:var(--ink-muted)}.profile-stage{grid-template-columns:minmax(15rem,.7fr) minmax(22rem,1fr);align-content:start;gap:clamp(2rem,8vw,8rem);display:grid}.profile-masthead{justify-self:end;width:100%;max-width:34rem}.profile-form,.profile-loading,.profile-load-error{width:min(100%,44rem)}.profile-form{gap:1.2rem;padding-top:.35rem;display:grid}.profile-form label{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;gap:.5rem;font-size:.66rem;font-weight:600;display:grid}.profile-form input,.profile-form select{border:1px solid var(--rule-strong);width:100%;min-height:3.3rem;color:var(--ink);background:var(--surface-raised);font:inherit;letter-spacing:normal;text-transform:none;border-radius:0;outline:none;padding:.75rem .85rem;font-size:16px;font-weight:400}.profile-form input:read-only{color:var(--ink-muted);background:var(--surface-sunken)}.profile-form input:focus,.profile-form select:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .2)}.profile-form input[aria-invalid=true],.profile-form select[aria-invalid=true]{border-color:var(--warm)}.profile-form label>small{color:var(--ink-muted);letter-spacing:0;text-transform:none;font-size:.62rem;font-weight:400;line-height:1.45}.profile-form label>.field-error,.profile-message{color:var(--warm-ink)}.profile-message,.profile-saved{border-left:2px solid var(--warm);background:rgb(var(--accent-warm-rgb) / .08);margin:0;padding:.7rem .8rem;font-size:.72rem}.profile-load-error{border-left:2px solid var(--warm);color:var(--warm-ink);background:rgb(var(--accent-warm-rgb) / .08);padding:1rem 1.2rem}.profile-load-error p{margin:0}.profile-load-error button{color:var(--warm-ink);margin-top:.75rem;padding:0;text-decoration:underline}.profile-saved{border-left-color:var(--accent);color:var(--accent-ink);background:rgb(var(--accent-rgb) / .08)}.profile-submit{cursor:pointer;width:100%;font:inherit;border:0}.profile-submit:disabled{color:var(--ink-muted);background:var(--surface-sunken);cursor:not-allowed}.profile-join-class{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:end;gap:.8rem;width:min(100%,44rem);margin-top:2.5rem;padding-top:1.5rem;display:flex}.profile-join-class label{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;flex:16rem;gap:.5rem;font-size:.66rem;font-weight:600;display:grid}.profile-join-class input{border:1px solid var(--rule-strong);min-height:3.3rem;color:var(--ink);background:var(--surface-raised);font:inherit;letter-spacing:normal;text-transform:none;border-radius:0;outline:none;padding:.75rem .85rem;font-size:16px}.profile-join-class button{cursor:pointer;min-height:3.3rem;font:inherit;border:0;padding:0 1.4rem}.profile-join-class p{flex-basis:100%;margin:0}.operator-stage{gap:1.75rem;width:min(100%,60rem);display:grid}.operator-create-cohort{flex-wrap:wrap;align-items:end;gap:.8rem;display:flex}.operator-create-cohort label{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;flex:18rem;gap:.5rem;font-size:.66rem;font-weight:600;display:grid}.operator-create-cohort input{border:1px solid var(--rule-strong);min-height:3.3rem;color:var(--ink);background:var(--surface-raised);font:inherit;border-radius:0;outline:none;padding:.75rem .85rem;font-size:16px}.operator-create-cohort button{cursor:pointer;min-height:3.3rem;font:inherit;border:0;padding:0 1.4rem}.operator-create-cohort p{flex-basis:100%;margin:0}.operator-join-code strong{letter-spacing:.1em}.operator-roster{gap:1.25rem;display:grid}.operator-roster h2{margin:0;font-size:1.1rem;font-weight:400}.operator-weakest h3{color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .6rem;font-size:.68rem;font-weight:600}.operator-weakest ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.operator-weakest li{border-left:2px solid var(--warm);background:rgb(var(--accent-warm-rgb) / .08);justify-content:space-between;gap:1rem;padding:.6rem .8rem;font-size:.78rem;display:flex}.operator-weakest li small{color:var(--ink-muted);white-space:nowrap}.operator-roster-table{border-collapse:collapse;width:100%;font-size:.82rem}.operator-roster-table th,.operator-roster-table td{border-bottom:1px solid var(--rule);text-align:left;padding:.6rem .8rem}.operator-roster-table th{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:600}@media (max-width:900px){.progress-ledger-head{display:none}.progress-ledger article{grid-template-columns:minmax(0,1fr) auto;gap:1.2rem}.progress-name{grid-column:1/-1}.progress-date span,.progress-due span{display:block}.dashboard-row-action,.dashboard-row-status{grid-area:2/2/span 2;align-self:end}.profile-stage{grid-template-columns:minmax(0,1fr);gap:2.5rem}.profile-masthead{justify-self:stretch;max-width:none}}@media (max-width:620px){.practice-recommendation,.progress-skeleton-feature{grid-template-columns:minmax(0,1fr);align-items:stretch}.progress-ledger article,.progress-skeleton-ledger>div{grid-template-columns:minmax(0,1fr)}.dashboard-row-action,.dashboard-row-status{grid-area:auto/1}}@media (prefers-reduced-motion:reduce){.progress-skeleton [aria-hidden=true] span,.progress-skeleton [aria-hidden=true] strong,.progress-skeleton [aria-hidden=true] i,.progress-skeleton [aria-hidden=true] b,.profile-loading span{animation:none}}.browser-unsupported{display:none}[data-browser-unsupported] .browser-unsupported{z-index:100;background:var(--paper);color:var(--ink);font-family:var(--font-montserrat), system-ui, sans-serif;text-align:center;flex-direction:column;place-content:center;place-items:center;gap:.75rem;padding:2rem;display:flex;position:fixed;inset:0}[data-browser-unsupported] .browser-unsupported p{max-width:26rem;margin:0;font-size:1rem;line-height:1.6}[data-browser-unsupported] .browser-unsupported p:first-child{font-family:var(--font-cormorant), serif;font-size:1.65rem}.canvas-gesture-notice{z-index:4;opacity:0;background:var(--surface-inverse);color:var(--paper);font-family:var(--font-montserrat), system-ui, sans-serif;letter-spacing:.06em;pointer-events:none;border-radius:2px;margin:0;padding:.5rem .9rem;font-size:.7rem;transition:opacity .16s ease-out;position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%)}.canvas-gesture-notice[data-visible]{opacity:1}@media (prefers-reduced-motion:reduce){.canvas-gesture-notice{transition:none}}
