*,:after,:before{box-sizing:border-box}html.theme-turning,html.theme-turning *{transition:background-color .22s var(--ease-ui),color .22s var(--ease-ui),border-color .22s var(--ease-ui)!important}:root{--dur-ui:140ms}body,html{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans),ui-sans-serif,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none;text-underline-offset:.2em}::selection{background:var(--color-brass-tint);color:var(--color-text)}input,textarea{caret-color:var(--color-brass-ink)}html{scrollbar-color:var(--color-border-strong) var(--color-bg);scroll-padding-top:100px}img,svg{max-width:100%}button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a,button,input,select,textarea{transition:color var(--dur-ui) var(--ease-ui),background-color var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui),box-shadow var(--dur-ui) var(--ease-ui),opacity var(--dur-ui) var(--ease-ui)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}h1,h2,h3,h4{font-family:var(--font-serif),Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0}p{margin:0;text-wrap:pretty}.display{font-size:clamp(32px,3.8vw,48px)}.display,.title{line-height:1.12;letter-spacing:-.025em}.title{font-size:clamp(30px,3.5vw,44px)}.heading{font-size:var(--font-size-xl)}.subhead{font-size:var(--font-size-lg)}.lede{font-size:17px;line-height:1.65;max-width:62ch}.body-muted,.lede{color:var(--color-text-muted)}.small{font-size:var(--font-size-sm)}.tiny{font-size:var(--font-size-xs)}.label{font-size:var(--font-size-sm);letter-spacing:0;color:var(--color-text-muted);font-weight:500}.serif{font-family:var(--font-serif),Georgia,serif}.nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{max-width:760px}.shell,.shell-wide{width:100%;margin:0 auto;padding:0 var(--space-lg)}.shell-wide{max-width:980px}.shell-page{width:100%;max-width:1184px;margin:0 auto;padding:0 var(--space-xl)}.stack{display:flex;flex-direction:column}.stack-xs>*+*{margin-top:var(--space-xs)}.stack-sm>*+*{margin-top:var(--space-sm)}.stack-md>*+*{margin-top:var(--space-md)}.stack-lg>*+*{margin-top:var(--space-lg)}.stack-xl>*+*{margin-top:var(--space-xl)}.row{gap:var(--space-sm)}.row,.row-between{display:flex;align-items:center}.row-between{justify-content:space-between;gap:var(--space-md)}.page,.spacer{flex:1 1}.page{padding:48px 0 80px}.page-tight{flex:1 1;padding:var(--space-lg) 0 var(--space-xl)}.backdrop{position:fixed;inset:76px 0 0;z-index:0;pointer-events:none;background-repeat:no-repeat;background-size:cover;-webkit-mask-image:linear-gradient(90deg,#000,#000 8%,rgba(0,0,0,.28) 28%,rgba(0,0,0,.28) 72%,#000 92%,#000);mask-image:linear-gradient(90deg,#000,#000 8%,rgba(0,0,0,.28) 28%,rgba(0,0,0,.28) 72%,#000 92%,#000)}.backdrop,.backdrop[data-design="0"]{background-position:bottom;opacity:.12}.backdrop[data-design="0"]{background-image:url(/backdrops/01-contour.svg)}.backdrop[data-design="1"]{background-image:url(/backdrops/02-lowpoly.svg);background-position:50%;opacity:.1}.backdrop[data-design="2"]{background-image:url(/backdrops/03-steps.svg);background-position:bottom;opacity:.11}.backdrop[data-design="3"]{background-image:url(/backdrops/04-rings.svg);background-position:50%;opacity:.13}.backdrop[data-design="4"]{background-image:url(/backdrops/05-hatch.svg);background-position:50%;opacity:.11}.backdrop[data-design="5"]{background-image:url(/backdrops/06-iso.svg);background-position:50%;opacity:.11}.backdrop[data-design="6"]{background-image:url(/backdrops/07-arcs.svg);background-position:bottom;opacity:.14}.backdrop[data-design="7"]{background-image:url(/backdrops/08-rules.svg);background-position:50%;opacity:.11}.backdrop[data-design="8"]{background-image:url(/backdrops/09-frames.svg);background-position:bottom;opacity:.14}.backdrop[data-design="9"]{background-image:url(/backdrops/10-dots.svg);background-position:50%;opacity:.12}.backdrop[data-design="10"]{background-image:url(/backdrops/11-fan.svg);background-position:bottom;opacity:.13}.backdrop[data-design="11"]{background-image:url(/backdrops/12-weave.svg);background-position:bottom;opacity:.1}:root[data-theme=dark] .backdrop{filter:invert(1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .backdrop{filter:invert(1)}}.colophon,.page,.page-tight,.reg-marks{position:relative;z-index:1}.wordmark{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.02em;white-space:nowrap}.wordmark:after{content:"";display:inline-block;width:.2em;height:.2em;margin-left:.14em;vertical-align:baseline}.colophon .wordmark:after,.panel-deep .wordmark:after,.wordmark:after{background:var(--color-brass)}.app-nav{border-bottom:1px solid var(--color-border);background:var(--color-bg);position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-nav .inner{display:flex;align-items:center;justify-content:space-between;min-height:76px}.app-nav .brand{font-size:var(--font-size-xl)}.nav-secondary{gap:var(--space-lg)}.app-nav .links{display:flex;gap:6px;align-items:center}.app-nav .links a{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);padding:10px 14px;border-radius:var(--shape-row);border:1px solid transparent}.app-nav .links a.active,.app-nav .links a:hover{color:var(--color-text);background:var(--color-surface)}.app-nav .links a.active{border-color:var(--color-border)}.colophon{position:relative;border-top:1px solid var(--color-border);padding:22px 0}.colophon .inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.colophon .mark{font-size:18px;color:var(--color-text-muted)}.colophon .meta{font-size:var(--font-size-xs);color:var(--color-text-faint)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-card);padding:var(--space-lg)}.card-lg{padding:var(--space-xl);border-radius:var(--shape-feature)}.card-quiet{background:var(--color-surface-sunken);border-color:transparent;border-radius:var(--shape-row)}.launch-frame,.panel-deep{--cr:var(--chamfer-round);--cc:var(--chamfer-panel);--ct:calc(var(--chamfer-round) * 0.414);--cd:calc(var(--chamfer-round) * 0.293);-webkit-clip-path:polygon(0 0,100% 0,100% 100%,var(--cc) 100%,0 calc(100% - var(--cc)));clip-path:polygon(0 0,100% 0,100% 100%,var(--cc) 100%,0 calc(100% - var(--cc)))}@supports ((-webkit-clip-path:shape(from 0 0,line to 100% 0,close)) or (clip-path:shape(from 0 0,line to 100% 0,close))){.launch-frame,.panel-deep{-webkit-clip-path:shape(from var(--cr) 0,line to calc(100% - var(--cr)) 0,arc to 100% var(--cr) of var(--cr) cw,line to 100% calc(100% - var(--cr)),arc to calc(100% - var(--cr)) 100% of var(--cr) cw,line to calc(var(--cc) + var(--ct)) 100%,curve to calc(var(--cc) - var(--cd)) calc(100% - var(--cd)) with var(--cc) 100%,line to var(--cd) calc(100% - var(--cc) + var(--cd)),curve to 0 calc(100% - var(--cc) - var(--ct)) with 0 calc(100% - var(--cc)),line to 0 var(--cr),arc to var(--cr) 0 of var(--cr) cw,close);clip-path:shape(from var(--cr) 0,line to calc(100% - var(--cr)) 0,arc to 100% var(--cr) of var(--cr) cw,line to 100% calc(100% - var(--cr)),arc to calc(100% - var(--cr)) 100% of var(--cr) cw,line to calc(var(--cc) + var(--ct)) 100%,curve to calc(var(--cc) - var(--cd)) calc(100% - var(--cd)) with var(--cc) 100%,line to var(--cd) calc(100% - var(--cc) + var(--cd)),curve to 0 calc(100% - var(--cc) - var(--ct)) with 0 calc(100% - var(--cc)),line to 0 var(--cr),arc to var(--cr) 0 of var(--cr) cw,close)}}.panel-deep{background:var(--color-panel);color:var(--color-on-panel);border:0;border-radius:0;padding:var(--space-xl)}.panel-deep .label{color:var(--color-brass-ink)}.panel-deep .body-muted,.panel-deep .small.body-muted,.panel-deep .tiny.body-muted{color:var(--color-on-panel-muted)}.panel-deep .divider{background:color-mix(in srgb,var(--color-on-panel) 16%,transparent)}.panel-deep .meter{background:color-mix(in srgb,var(--color-on-panel) 12%,transparent)}.stack-sm>.divider{margin-top:var(--space-sm)}.stack-md>.divider{margin-top:var(--space-md)}.stack-lg>.divider{margin-top:var(--space-lg)}.stack-xl>.divider{margin-top:var(--space-xl)}.divider{height:1px;background:var(--color-border);border:0;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--color-accent);color:var(--color-on-accent);border:1px solid var(--color-accent);border-radius:var(--shape-row);padding:12px 24px;font-size:var(--font-size-md);font-weight:500;min-height:44px;letter-spacing:0;cursor:pointer;transition:background-color var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui),color var(--dur-ui) var(--ease-ui)}.btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:transparent;border-color:var(--color-text)}.btn-ghost{color:var(--color-text-faint);padding:10px 14px}.btn-ghost,.btn-ghost:hover{background:transparent;border-color:transparent}.btn-ghost:hover{color:var(--color-brass-ink)}.btn-ghost.btn-sm{padding:8px 10px}.btn-lg{padding:14px 26px;font-size:var(--font-size-md)}.btn-sm{padding:8px 16px;font-size:var(--font-size-sm)}.btn-danger{background:transparent;color:var(--mastery-stuck);border-color:color-mix(in srgb,var(--mastery-stuck) 55%,transparent)}.btn-danger:hover{background:var(--mastery-tint-stuck);border-color:var(--mastery-stuck);color:var(--mastery-stuck)}.m-unassessed{--m:var(--mastery-unassessed);--m-tint:var(--mastery-tint-unassessed)}.m-learning{--m:var(--mastery-learning);--m-tint:var(--mastery-tint-learning)}.m-practising{--m:var(--mastery-practising);--m-tint:var(--mastery-tint-practising)}.m-mastered{--m:var(--mastery-mastered);--m-tint:var(--mastery-tint-mastered)}.m-review_due{--m:var(--mastery-review-due);--m-tint:var(--mastery-tint-review-due)}.m-stuck{--m:var(--mastery-stuck);--m-tint:var(--mastery-tint-stuck)}.chip{display:inline-flex;align-items:center;gap:7px;font-size:var(--font-size-xs);font-weight:500;letter-spacing:.03em;color:var(--m,var(--color-text-muted));background:transparent;border:1px solid color-mix(in srgb,var(--m,var(--color-border-strong)) 40%,transparent);border-radius:3px;padding:4px 10px;white-space:nowrap}.chip-dot{width:5px;height:5px;background:currentColor;flex:none}.chip-plain{color:var(--color-text-muted);border-color:var(--color-border-strong)}.concept-dot{width:5px;height:5px;background:var(--m);flex:none}.meter{height:5px;background:var(--color-surface-sunken);overflow:hidden}.meter>i{display:block;height:100%;background:var(--m,var(--color-text-ghost));transform-origin:left center}.home-greeting{display:flex;flex-direction:column;gap:var(--space-sm)}.home-greeting .display{max-width:28ch;overflow-wrap:anywhere}.brief{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-feature);padding:var(--space-xl)}.brief .brief-line{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-xl);line-height:1.32;letter-spacing:-.018em;max-width:40ch}.brief .brief-line em{font-style:italic}.brief-focus{display:flex;flex-direction:column;gap:11px}.brief-focus-item{display:flex;gap:var(--space-sm);align-items:baseline}.brief-focus-item .dot{width:5px;height:5px;background:var(--m);flex:none;transform:translateY(-3px)}.reasoning{display:flex;flex-direction:column;gap:var(--space-md)}.reasoning-toggle{align-self:flex-start;background:none;border:0;padding:0;font-size:var(--font-size-sm);color:var(--color-text-faint);border-bottom:1px solid var(--color-border-strong);cursor:pointer}.reasoning-toggle:hover{color:var(--color-brass-ink);border-bottom-color:var(--color-brass)}.reasoning-fold{overflow:hidden}.reasoning-body{background:color-mix(in srgb,var(--color-surface-sunken) 55%,var(--color-surface));border-radius:var(--shape-row);padding:var(--space-lg)}.reasoning-list{list-style:none;margin:0;padding:0;gap:var(--space-md)}.reasoning-item,.reasoning-list{display:flex;flex-direction:column}.reasoning-item{gap:4px}.reasoning-item .name{display:flex;align-items:flex-start;gap:9px}.reasoning-item .name .concept-dot{margin-top:8px}.reasoning-item .name .name-text{display:flex;flex-direction:column}.reasoning-item .name .name-text .t{font-size:var(--font-size-xs);color:var(--color-text-ghost)}.reasoning-why{margin:0 0 0 14px;font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-md);line-height:1.5;color:var(--color-text-muted);max-width:56ch}.reasoning-swap{margin-left:14px;align-self:flex-start}.stat-line{display:flex;gap:var(--space-xl);flex-wrap:wrap}.stat-line .stat .n{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-xl);display:block;line-height:1.05;letter-spacing:-.02em}.panel-deep .stat-line .n{color:var(--color-brass-ink)}.streak-root{position:relative;z-index:5}.streak{padding:24px;border:1px solid var(--color-border-strong);border-radius:var(--shape-card);background:var(--color-panel);color:var(--color-on-panel)}.streak-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.streak-heading h2{margin:0;font:500 15px/1.4 var(--font-sans),sans-serif}.streak-best{font-size:12px;color:var(--color-on-panel-muted);white-space:nowrap}.streak-best b{font-weight:500;color:var(--color-on-panel);margin-left:4px}.streak-emblem{position:relative;width:min(100%,240px);height:188px;margin:16px auto 0}.streak-arc{width:100%;height:100%;overflow:visible}.streak-arc path{stroke:var(--color-on-panel);stroke-width:3;stroke-linecap:round}.streak-arc path.unfilled{stroke:color-mix(in srgb,var(--color-on-panel) 16%,var(--color-panel))}.streak-arc path[data-today]{stroke:var(--color-brass)}.streak-arc path.unfilled[data-today]{stroke-width:1.5}.streak-count{position:absolute;inset:0 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.streak-n{font:400 80px/.85 var(--font-serif),Georgia,serif;letter-spacing:-.04em}.streak-unit{font-size:13px;color:var(--color-on-panel-muted)}.streak-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px;margin-top:16px}.streak-day{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;color:var(--color-on-panel-muted)}.streak-day i{display:grid;place-items:center;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--color-on-panel) 30%,transparent);border-radius:var(--shape-row)}.streak-day.kept i{background:var(--color-on-panel);border-color:var(--color-on-panel);color:var(--color-panel)}.streak-day i svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5}.streak-day.rest i{border-color:transparent}.streak-day.rest i>span{width:8px;border-top:1px solid}.streak-day.today{color:var(--color-brass-ink);font-weight:600}.streak-day.today i{border:1px solid var(--color-brass-ink)}.streak-day.today.kept i{background:var(--color-brass-ink);color:var(--color-panel)}.streak-message{margin:24px 0 20px}.streak-message p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--color-on-panel-muted)}.streak-message .streak-state{font:400 23px/1.15 var(--font-serif),Georgia,serif;color:var(--color-on-panel);text-wrap:balance}.streak-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid color-mix(in srgb,var(--color-on-panel) 18%,transparent);padding-top:16px;font-size:12px}.streak-practice{min-height:44px;display:inline-flex;align-items:center;color:var(--color-on-panel);font-weight:600;text-underline-offset:4px;padding-block:10px}.streak-calendar-toggle,.streak-status{color:var(--color-on-panel-muted)}.streak-calendar-toggle{min-height:44px;display:inline-flex;align-items:center;background:transparent;border:0;padding:10px 0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.streak-calendar-toggle:hover,.streak-practice:hover{color:var(--color-brass-ink)}.streak-calendar-toggle:focus-visible,.streak-practice:focus-visible{outline:2px solid var(--color-brass);outline-offset:4px;border-radius:var(--shape-row)}.streak-pop{margin-top:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-card);padding:var(--space-md)}.streak-cal{flex-direction:column}.streak-cal,.streak-cal-head{display:flex;gap:var(--space-sm)}.streak-cal-head{align-items:baseline;justify-content:space-between;padding:0 2px}.streak-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.streak-cal-dow{text-align:center;color:var(--color-text-ghost);padding-bottom:2px}.streak-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);box-sizing:border-box;border-radius:3px;background:var(--color-surface-sunken);color:var(--color-text-muted)}.streak-cal-day.kept{background:var(--color-text);color:var(--color-surface)}.streak-cal-day.missed{background:transparent;border:1px solid var(--color-border)}.streak-cal-day.rest{background:transparent;color:var(--color-text-ghost)}.streak-cal-day.future{background:transparent;color:var(--color-border)}.streak-cal-day.today{box-shadow:inset 0 0 0 1px var(--color-brass);color:var(--color-brass-ink)}.streak-cal-day.today.kept{background:var(--color-brass);color:var(--color-surface);box-shadow:none}.push-row{display:grid;grid-template-columns:1fr 160px 72px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:13px 0;border-top:1px solid var(--color-border);color:inherit;text-decoration:none}.push-row:first-child{border-top:0}.push-row .who{display:flex;flex-direction:column;gap:2px;min-width:0}.push-row .who .n{font-size:var(--font-size-md);transition:color var(--dur-ui)}.push-row .who .t{font-size:var(--font-size-xs);color:var(--color-text-faint)}.push-row:hover .who .n{color:var(--color-brass-ink)}.push-row .bar{display:block;height:5px;background:var(--color-surface-sunken);overflow:hidden}.push-row .bar>i{display:block;height:100%;background:var(--color-text);transform-origin:left center;animation:fill-meter .9s var(--ease-draw) .26s both}.push-row:first-child .bar>i{background:var(--mastery-stuck)}.push-row .fig{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.push-row .fig .q{display:block;font-family:var(--font-sans),system-ui,sans-serif;font-size:var(--font-size-xs);color:var(--color-text-faint);letter-spacing:0}.plan-block{display:grid;grid-template-columns:62px 1fr;grid-gap:var(--space-md);gap:var(--space-md);padding:var(--space-lg) 0;border-top:1px solid var(--color-border)}.plan-block:first-child{border-top:0}.plan-block .when{font-size:var(--font-size-sm);color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding-top:3px}.plan-block .what{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}.plan-block .concept-name{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);letter-spacing:-.015em}.plan-block .reason{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.65;background:var(--color-surface-sunken);border-radius:var(--shape-row);padding:13px var(--space-md);max-width:58ch}.phase-label{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xs)}.phase-label:after{content:"";flex:1 1;height:1px;background:var(--color-border);transform:scaleX(0);transform-origin:left}.session-frame{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);transition:background-color .5s var(--ease-draw),color .5s var(--ease-draw)}@media (prefers-reduced-motion:reduce){.session-frame{transition:none}}.session-bar{padding:var(--space-lg) 0 0}.session-bar .inner{display:flex;align-items:center;gap:var(--space-md)}.session-logo{flex:none}.session-dock{position:relative;z-index:3;display:flex;align-items:flex-start;min-height:96px;margin:var(--space-sm) 0 0}.session-dock-mark{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;margin:0;background:none;border:0;border-radius:50%;cursor:pointer;transform-origin:center}.session-dock-mark:focus-visible{outline:2px solid var(--color-brass);outline-offset:6px}.session-dock-panel{position:absolute;left:60px;top:2px;width:max-content;max-width:min(60ch,calc(100% - 60px));padding:var(--space-md) var(--space-lg);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--shape-card)}.session-frame.elio-env .session-dock-panel{background:var(--color-surface)}.session-dock-panel .lesson-aside-text{margin:0;color:var(--color-text)}.session-dock-panel .btn-ghost{color:var(--color-text-muted)}.session-dock-panel .btn-ghost:hover{color:var(--color-brass-lit)}.session-dock-offer{align-self:flex-start}.session-dock-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;margin-top:var(--space-xs)}.dock-ask{margin-top:var(--space-sm);min-width:min(44ch,100%)}.dock-ask-form{display:flex;gap:var(--space-sm);align-items:flex-end}.dock-ask-form .ask-field{flex:1 1}.dock-ask .ask-thread{max-height:30vh}.session-dock-panel.is-offer{max-width:min(60ch,calc(100% - 60px));padding:var(--space-lg) var(--space-xl)}.session-dock.is-held .session-dock-mark{cursor:default}@media (min-width:980px){.session-dock{margin-left:-72px}.session-dock-panel{max-width:60ch}}.activity-stage .is-held{opacity:.35;transition:opacity var(--dur-ui) var(--ease-draw)}.progress-pips{display:flex;gap:6px;flex:1 1;align-items:center}.progress-pips i{height:3px;flex:1 1;background:var(--color-border-strong);transition:background .38s var(--ease-ui),flex-grow .48s var(--ease-draw),height .38s var(--ease-ui)}.progress-pips i.done{background:var(--color-text-ghost)}.progress-pips i.current{background:var(--color-brass);flex-grow:2.1;height:5px}.activity-stage{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-lg) 0 var(--space-xxl)}.prompt{font-family:var(--font-serif),Georgia,serif;font-size:clamp(21px,3vw,29px);line-height:1.44;letter-spacing:-.014em;white-space:pre-wrap;max-width:42ch}.options{display:flex;flex-direction:column;gap:9px}.option{display:flex;align-items:flex-start;gap:var(--space-md);width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-row);padding:15px var(--space-lg);cursor:pointer}.option:hover:not(:disabled){border-color:var(--color-text-faint)}.option:disabled{cursor:default}.option .key{font-size:var(--font-size-xs);color:var(--color-text-ghost);border:1px solid var(--color-border);border-radius:var(--shape-row);width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}.option.selected,.option.selected .key{border-color:var(--color-text)}.option.selected .key{color:var(--color-on-accent);background:var(--color-text)}.option.correct{border-color:var(--mastery-mastered);background:var(--mastery-tint-mastered)}.option.correct .key{border-color:var(--mastery-mastered);color:var(--mastery-mastered)}.option.wrong{background:var(--mastery-tint-stuck)}.option.wrong,.option.wrong .key{border-color:var(--mastery-stuck)}.option.wrong .key{color:var(--mastery-stuck)}.option.ticked{border-color:var(--color-text);background:var(--color-surface)}.option.ticked .key{background:var(--color-text);border-color:var(--color-text);color:var(--color-on-accent)}.response-field{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-row);padding:var(--space-md);font:inherit;color:var(--color-text);line-height:1.65;resize:vertical;min-height:150px}.response-field:focus{outline:none;border-color:var(--color-brass)}.response-field::placeholder{color:var(--color-text-ghost)}.confidence{display:flex;gap:9px;flex-wrap:wrap}.confidence button{background:transparent;border:1px solid var(--color-border);border-radius:var(--shape-row);padding:8px 18px;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.confidence button:hover{border-color:var(--color-text-faint);color:var(--color-text)}.confidence button.on{border-color:var(--color-text);color:var(--color-on-accent);background:var(--color-text)}.verdict{display:flex;align-items:baseline;gap:var(--space-sm)}.verdict .mark{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-xxl);letter-spacing:-.026em;line-height:1.05}.verdict.right .mark{color:var(--mastery-mastered)}.verdict.wrong .mark{color:var(--mastery-stuck)}.explanation{font-size:var(--font-size-md);line-height:1.72;color:var(--color-text-muted);max-width:58ch}.explanation strong{color:var(--color-text);font-weight:500}.misconception-note{background:var(--mastery-tint-stuck);border-radius:var(--shape-row);padding:14px var(--space-md);color:var(--color-text);font-size:var(--font-size-sm);line-height:1.65;max-width:56ch}.markscheme{flex-direction:column}.markscheme,.markscheme li{display:flex;gap:var(--space-sm)}.markscheme li{font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-muted)}.markscheme li:before{content:"";width:5px;height:5px;background:var(--color-brass);flex:none;margin-top:9px}.state-shift{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap}.state-shift .arrow{color:var(--color-brass)}.completion-hero{text-align:center;display:flex;flex-direction:column;gap:var(--space-md);align-items:center}.completion-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.completion-summary .cell .n{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-xxl);display:block;line-height:1.02;letter-spacing:-.026em;color:var(--color-brass-ink)}.movement{display:flex;flex-direction:column}.movement-row{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--color-on-panel) 12%,transparent)}.movement-row:first-child{border-top:0}.concept-row{display:grid;grid-template-columns:1fr 130px 96px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:14px 0;border-top:1px solid var(--color-border)}.concept-row:first-child{border-top:0}.concept-row .name{min-width:0;display:flex;align-items:flex-start;gap:9px}.concept-row .name .concept-dot{margin-top:7px}.concept-row .name .name-text{display:flex;flex-direction:column;min-width:0}.concept-row .name .name-text .n{display:block}.concept-row .name .name-text .t{color:var(--color-text-ghost);font-size:var(--font-size-xs)}.concept-row .due{font-size:var(--font-size-sm);color:var(--color-text-faint);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.term-row{display:grid;grid-template-columns:96px 1fr 40px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:8px 0}.term-row .t,.term-row .v{font-size:var(--font-size-sm)}.term-row .v{color:var(--color-text-ghost);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mistake-row{display:flex;gap:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--color-border)}.mistake-row:first-child{border-top:0}.mistake-row .count{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);color:var(--mastery-stuck);flex:none;width:38px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.panel-deep .mistake-row{border-top-color:color-mix(in srgb,var(--color-on-panel) 12%,transparent)}.legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.wizard-rail i{flex:1 1;opacity:.5}.step-count{letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.pick{display:flex;gap:var(--space-md);width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-row);padding:var(--space-md);cursor:pointer;align-items:flex-start}.pick:hover{border-color:var(--color-text-faint)}.pick.on{border-color:var(--color-text)}.pick .pick-mark{width:9px;height:9px;flex:none;margin-top:6px;border:1px solid var(--color-border-strong);background:transparent}.pick.on .pick-mark{background:var(--color-text);border-color:var(--color-text)}.pick .pick-body{display:flex;flex-direction:column;gap:3px;min-width:0}.pick .pick-title{font-size:var(--font-size-md)}.pick .pick-note{font-size:var(--font-size-sm);color:var(--color-text-faint);line-height:1.5}.pick .pick-meta{margin-left:auto;padding-left:var(--space-md);flex:none;font-size:var(--font-size-xs);color:var(--color-text-ghost);letter-spacing:0}.pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:9px;gap:9px}.toggle{border:1px solid var(--color-border-strong)}.toggle.on{background:var(--color-text);border-color:var(--color-text)}.grade-row{display:grid;grid-template-columns:44px 1fr;grid-gap:var(--space-md);gap:var(--space-md);align-items:baseline;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--color-border);padding:13px var(--space-sm);cursor:pointer}.grade-row:first-child{border-top:0}.grade-row.on,.grade-row:hover{background:var(--color-surface-sunken)}.grade-row .g{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-xl);line-height:1;color:var(--color-text-ghost);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grade-row.on .g{color:var(--color-brass-ink)}.grade-row .d{font-size:var(--font-size-sm);color:var(--color-text-faint);line-height:1.5}.grade-row.on .d{color:var(--color-text-muted)}.docket-row{grid-template-columns:132px 1fr auto;padding:13px 0}.docket-row .k{letter-spacing:0;color:var(--color-text-faint)}.review-week{max-width:360px;padding-top:var(--space-sm)}.link-quiet{background:none;border:0;padding:0;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-faint);border-bottom:1px solid var(--color-border-strong)}.link-quiet:hover{color:var(--color-brass-ink);border-bottom-color:var(--color-brass)}.sched-layout{display:grid;grid-template-columns:248px minmax(0,1fr);grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start}.sched-rail{--chamfer-panel:18px;position:-webkit-sticky;position:sticky;top:88px;padding:var(--space-lg) var(--space-lg) calc(var(--space-lg) + 6px);gap:var(--space-md)}.sched-rail,.sched-rail-list{display:flex;flex-direction:column}.sched-rail-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px var(--space-sm);gap:2px var(--space-sm);padding:10px 0;border-top:1px solid color-mix(in srgb,var(--color-on-panel) 14%,transparent);align-items:baseline}.sched-rail-item:first-child{border-top:0;padding-top:0}.sched-rail-item .n{font-size:var(--font-size-sm);line-height:1.35}.sched-rail-item .t{font-size:var(--font-size-xs);color:var(--color-on-panel-muted)}.sched-rail-sub{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;margin-top:6px}.sched-rail-sub>span{display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--font-size-xs);line-height:1.35;color:var(--color-on-panel-muted)}.sched-rail-sub .c{min-width:0}.sched-rail .btn{align-self:stretch;text-align:center}.sched-rail-open{align-self:flex-start;color:var(--color-on-panel-muted)}.sched-bar{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.sched-bar h2{margin-right:auto}.sched-nav{width:34px;height:34px;display:inline-grid;place-items:center;background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--shape-row);font-size:var(--font-size-lg);line-height:1;color:var(--color-text-muted);cursor:pointer}.sched-nav:hover{border-color:var(--color-text);color:var(--color-text)}.sched-nav-text{width:auto;padding:0 14px;font-size:var(--font-size-sm)}.sched-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:0;gap:0;border:1px solid var(--color-border);border-radius:var(--shape-card);overflow:hidden;background:var(--color-surface)}.sched-dow{padding:8px 8px 7px;text-align:center;font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.sched-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0;min-height:108px;padding:8px 8px 10px;background:var(--color-surface);border:0;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);border-radius:0}.sched-day:nth-child(7n+8){border-left:0}.sched-day:hover{outline:1px solid var(--color-text-faint);outline-offset:-1px}.sched-day.is-out{background:var(--color-bg)}.sched-day.is-out>*{opacity:.5}.sched-day.is-selected,.sched-day.is-selected:hover{outline:1px solid var(--color-text);outline-offset:-1px}.sched-day:focus-visible{outline:2px solid var(--color-focus);outline-offset:-3px}.sched-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.sched-mins{font-size:var(--font-size-xs);color:var(--color-text-faint)}.sched-date{min-width:26px;height:24px;padding:0 5px;margin:-2px 0 0 -2px;display:inline-flex;align-items:center;justify-content:center;white-space:pre;font-size:var(--font-size-sm);color:var(--color-text-muted);border-radius:var(--shape-row)}.sched-day.is-missed .sched-date,.sched-day.is-rest .sched-date,.sched-day.is-sat .sched-date,.sched-day.is-studied .sched-date{color:var(--color-text-faint)}.sched-day.is-today .sched-date{background:var(--color-brass);color:var(--color-surface);font-weight:500}.sched-lines{display:flex;flex-direction:column;gap:4px;min-width:0}.sched-line{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--font-size-xs);line-height:1.3}.sched-line .s{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sched-line .m{flex:none}.sched-line .m,.sched-more{color:var(--color-text-ghost)}.sched-more,.sched-note{font-size:var(--font-size-xs)}.sched-note{line-height:1.35}.sched-note,.sched-note.is-missed{color:var(--color-text-faint)}.sched-key>i,.sched-line>i,.sched-marks>i{width:7px;height:7px;flex:none;border:1px solid var(--color-text-faint)}.sched-key>i.done,.sched-line>i.done,.sched-marks>i.done{background:var(--color-text);border-color:var(--color-text)}.sched-marks{display:none;gap:3px;margin-top:auto}.sched-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--space-lg);margin-top:var(--space-sm)}.sched-key{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-faint)}.sched-window{width:min(560px,calc(100vw - 32px));max-height:min(82vh,760px);margin:auto;padding:0;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--shape-feature);overflow:auto}.sched-window::-webkit-backdrop{background:color-mix(in srgb,var(--color-deep) 42%,transparent)}.sched-window::backdrop{background:color-mix(in srgb,var(--color-deep) 42%,transparent)}.sched-window-inner{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl) var(--space-xl)}.sched-window-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.sched-window-head .btn-ghost{margin:-6px -14px 0 0}.sched-window-wide{width:min(760px,calc(100vw - 32px))}.sched-version{display:flex;flex-direction:column;gap:var(--space-sm)}.sched-version+.sched-version{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.sched-version-current{color:var(--color-brass-ink);white-space:nowrap}.sched-version .btn{flex:none;white-space:nowrap}.sched-version-scroll{overflow-x:auto}.sched-version-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(84px,1fr));grid-gap:5px;gap:5px}.sched-version-days li{display:flex;flex-direction:column;gap:3px;min-width:0;padding:7px 8px;border:1px solid var(--color-border);border-radius:var(--shape-row)}.sched-version-days li.is-free{border-style:dashed}.sched-version-days .d{font-size:var(--font-size-xs);letter-spacing:0;color:var(--color-text-ghost)}.sched-version-days .s{display:flex;justify-content:space-between;gap:4px;font-size:var(--font-size-xs);line-height:1.35;color:var(--color-text)}.sched-version-days .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sched-version-days .m{color:var(--color-text-faint);flex:none}.sched-version-pins{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.sched-sitting{display:flex;flex-direction:column;gap:var(--space-sm)}.sched-sitting+.sched-sitting{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.sched-why{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-md);line-height:1.5;color:var(--color-text-muted);max-width:52ch}.sched-blocks{list-style:none;margin:0;padding:0}.sched-block{display:grid;grid-template-columns:44px 1fr;grid-gap:var(--space-sm);gap:var(--space-sm);padding:10px 0;border-top:1px solid var(--color-border)}.sched-block .t{font-size:var(--font-size-xs);color:var(--color-text-ghost);padding-top:3px}.sched-block .n{font-size:var(--font-size-sm);line-height:1.45}.sched-block .m{font-size:var(--font-size-xs);color:var(--color-text-faint)}.sched-block .r{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.45;margin-top:2px}.sched-sat{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);padding:10px 0;border-top:1px solid var(--color-border)}.sched-sat:first-child{border-top:0;padding-top:0}.week{--week-hour:44px;--week-taken:var(--color-surface-sunken);display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-card);overflow:hidden}:root[data-theme=dark] .week{--week-taken:color-mix(in srgb,var(--color-surface-sunken) 45%,var(--color-surface))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .week{--week-taken:color-mix(in srgb,var(--color-surface-sunken) 45%,var(--color-surface))}}.week-onboarding{--week-hour:24px}.week-onboarding .week-gutter>span.is-top{display:none}.week-review{--week-hour:12px;border-radius:var(--shape-row)}.week-body,.week-head{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr))}.week.is-single .week-body,.week.is-single .week-head{grid-template-columns:48px minmax(0,1fr)}.week-head{border-bottom:1px solid var(--color-border)}.week-corner{border-right:1px solid var(--color-border)}.week-dayhead{display:flex;border-left:1px solid var(--color-border);margin-bottom:-1px;min-width:0}.week-corner+.week-dayhead{border-left:0}.week-daybtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;background:transparent;border:0;flex:1 1;min-width:0;padding:8px 6px 7px;display:flex;flex-direction:column;align-items:center;gap:3px}button.week-daybtn{cursor:pointer}button.week-daybtn:hover{background:var(--color-surface-sunken)}.week-dayhead.is-selected{border-bottom:2px solid var(--color-text)}.week-dayname{font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.week-daynum{font-size:var(--font-size-md);line-height:1;color:var(--color-text-muted)}.week-dayhead.is-today .week-daynum{display:inline-grid;place-items:center;min-width:26px;height:26px;margin:-3px 0 -4px;background:var(--color-brass);color:var(--color-surface);border-radius:var(--shape-row);font-weight:500}.week-body{height:calc(var(--week-hour) * var(--week-hours))}.week-gutter{position:relative;border-right:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-ghost);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.week-gutter>span{position:absolute;right:8px;transform:translateY(-50%)}.week-gutter>span.is-top{transform:none}.week-gutter>span.is-bottom{transform:translateY(-100%)}.week-col{position:relative;border-left:1px solid var(--color-border);min-width:0}.week-gutter+.week-col{border-left:0}.week-hour{border-top:1px solid var(--color-border);opacity:.55}.week-hour,.week-off{position:absolute;left:0;right:0;pointer-events:none}.week-off{background:var(--week-taken);opacity:.6}.week-now{position:absolute;left:0;right:0;border-top:2px solid var(--color-brass);pointer-events:none;z-index:3}.week-now:before{content:"";position:absolute;left:-3px;top:-4px;width:6px;height:6px;border-radius:50%;background:var(--color-brass)}.week-block{position:absolute;left:3px;right:3px;z-index:1;min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:1px;padding:4px 6px;font:inherit;font-size:var(--font-size-xs);line-height:1.3;text-align:left;border-radius:var(--shape-row);box-sizing:border-box}button.week-block{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.week-block.is-school{background:var(--week-taken);border:1px solid var(--color-border-strong);color:var(--color-text-muted)}.week-block.is-activity{background:var(--color-surface);border:1px dotted var(--color-border-strong);color:var(--color-text)}.week-block.is-other{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-faint)}.week-block.is-elio{background:var(--color-panel);border:1px solid var(--color-brass);color:var(--color-on-panel)}.week-block.is-pressable:hover{border-color:var(--color-text)}.week-block.is-elio.is-pressable:hover{border-color:var(--color-brass-lit)}.week-block.is-added{border-color:var(--color-brass);border-width:2px}.week-block.is-removed{opacity:.45;text-decoration:line-through;border-style:dashed}.week-mark-note{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.week-slot-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass-lit)}.week-tab .week-slot-label{color:var(--color-brass-ink);font-weight:500}.week-tab .week-block.is-elio .week-time{color:var(--color-on-panel-muted)}.week-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-time{opacity:.72;white-space:nowrap}.week-seg{position:absolute;left:0;right:0;padding:3px 6px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top:1px solid color-mix(in srgb,var(--color-brass) 45%,transparent)}.week-seg:first-child{border-top:0}.week-seg-min,.week-seg-part{color:var(--color-on-panel-muted)}.week-seg.is-tiny{padding:0;font-size:0}.week-seg.is-short{display:flex;align-items:center;gap:.3em;padding-top:0;padding-bottom:0;font-size:10px;line-height:1}.week-onboarding .week-block{padding:2px 4px;gap:0}.week-onboarding .week-time{display:none}.week-onboarding .week-block.is-short,.week-onboarding .week-block.is-tiny{justify-content:center;padding-top:0;padding-bottom:0;line-height:1}.week-onboarding .week-block.is-tiny>:not(.week-mark-note){display:none}.week-review .week-block{left:1px;right:1px;padding:0 2px;font-size:7px;line-height:1.2;border-radius:2px;border-width:1px}.week-review .week-block.is-added{border-width:2px}.week-review .week-daynum,.week-review .week-gutter>span,.week-review .week-seg-min,.week-review .week-slot-label,.week-review .week-time{display:none}.week-review .week-body,.week-review .week-head{grid-template-columns:22px repeat(7,minmax(0,1fr))}.week-review .week-daybtn{padding:3px 2px}.week-review .week-dayname{font-size:8px;letter-spacing:.04em}.week-bar{justify-content:flex-start;margin-bottom:calc(var(--space-md) - var(--space-xl))}.week-toggle{display:inline-flex;gap:2px;margin-right:auto}.sched-view-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;background:transparent;border:0;cursor:pointer;padding:6px 2px;margin-right:14px;font-size:var(--font-size-sm);color:var(--color-text-faint);border-bottom:2px solid transparent}.sched-view-tab.on,.sched-view-tab:hover{color:var(--color-text)}.sched-view-tab.on{border-bottom-color:var(--color-brass)}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px}.week-strip-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;cursor:pointer;padding:8px 0;text-align:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--shape-row);font-size:var(--font-size-xs);color:var(--color-text-faint)}.week-strip-day.on{border-color:var(--color-text);color:var(--color-text)}.week-strip-day.is-today{color:var(--color-brass-ink)}.week-detail{gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--shape-card);background:var(--color-surface)}.week-detail,.week-detail-list{display:flex;flex-direction:column}.week-detail-list{list-style:none;margin:0;padding:0}.week-detail-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px var(--space-md);gap:2px var(--space-md);padding:8px 0;border-top:1px solid var(--color-border);align-items:baseline}.week-detail-list li:first-child{border-top:0;padding-top:0}.week-detail-list .n{font-size:var(--font-size-sm)}.week-detail-list .t,.week-detail-list .w{font-size:var(--font-size-xs);color:var(--color-text-faint)}.week-detail-list .w{grid-column:1/-1;line-height:1.4}.week-edit{display:flex;flex-direction:column;gap:var(--space-sm)}.week-editbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 8px 7px 10px;border:1px solid var(--color-border);border-radius:var(--shape-card);background:var(--color-surface)}.week-editbar-inks{display:inline-flex;gap:6px}.week-ink{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--font-size-sm);line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 10px;border-radius:var(--shape-row);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);transition:background var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui),color var(--dur-ui) var(--ease-ui)}.week-ink:hover{border-color:var(--color-border-strong);color:var(--color-text)}.week-ink:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.week-ink.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.week-ink.on:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.week-ink-swatch{flex:none;width:12px;height:12px;box-sizing:border-box;border-radius:2px}.week-ink.is-school .week-ink-swatch{background:var(--color-surface-sunken);border:1px solid var(--color-border-strong)}.week-ink.is-activity .week-ink-swatch{background:var(--color-surface);border:1px dotted var(--color-text-faint)}.week-ink.is-elio .week-ink-swatch{background:var(--color-panel);border:1px solid var(--color-brass)}.week-ink.is-other .week-ink-swatch{background:var(--color-bg);border:1px solid var(--color-border-strong)}.week-editbar-rule{width:1px;height:20px;margin:0 4px;background:var(--color-border)}.week-editbar-end{display:flex;align-items:center;gap:6px;margin-left:auto}.week-editbar-confirm{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-sm)}.week-editbar-error{color:var(--color-text-muted);margin:0}.week-edit-status{margin:0;padding:0 2px;min-height:1.5em;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-faint)}.week-edit-status.is-armed{color:var(--color-text)}.week-edit-status.is-refused{color:var(--color-brass-ink)}.week.is-editing .week-hour{opacity:.85}.week.is-editing .week-col{-moz-user-select:none;user-select:none;-webkit-user-select:none}.week.is-editing.is-armed .week-col{cursor:crosshair;touch-action:none;transition:background var(--dur-ui) var(--ease-ui)}.week.is-editing.is-armed .week-col:hover{background:color-mix(in srgb,var(--color-brass-tint) 45%,transparent)}.week-panel-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-md);gap:var(--space-md)}.week-panel-fields .field-wide{grid-column:1/-1}.week-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm)}.week-panel-actions .week-panel-delete{margin-right:auto}.week-panel-refusal{margin:0;color:var(--color-brass-ink)}.week-panel-fields input[list]::-webkit-calendar-picker-indicator{display:none!important}.week-editable{touch-action:none;outline:none}.week-editable .week-block{cursor:pointer;transition:border-color var(--dur-ui) var(--ease-ui)}.week-editable:hover .week-block{border-color:var(--color-text-faint)}.week-editable:hover .week-block.is-elio{border-color:var(--color-brass-ink)}.week-editable.is-selected{z-index:4}.week-editable.is-selected .week-block{outline:2px solid var(--color-text);outline-offset:1px}.week-editable:focus-visible .week-block{outline:2px solid var(--color-focus);outline-offset:1px}.week-handle{position:absolute;left:0;right:0;bottom:0;height:10px;cursor:ns-resize;opacity:0;transition:opacity var(--dur-ui) var(--ease-ui)}.week-handle:after{content:"";position:absolute;left:50%;bottom:3px;width:20px;height:3px;margin-left:-10px;border-radius:2px;background:currentColor;opacity:.4}.week-editable.is-selected .week-handle,.week-editable:focus-visible .week-handle,.week-editable:hover .week-handle{opacity:1}@media (hover:none){.week-handle{opacity:1}}.week-editable.is-flash .week-block{outline:2px solid var(--color-brass);outline-offset:-1px}.week-block.week-ghost{z-index:2;pointer-events:none;justify-content:flex-start;border:1px dashed var(--color-brass);background:color-mix(in srgb,var(--color-brass-tint) 88%,transparent)}.week-ghost-time{font-weight:500;color:var(--color-brass-ink);white-space:nowrap}.week-pop{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:248px;padding:14px 16px 12px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--shape-card);box-shadow:var(--shadow-lift),0 8px 24px color-mix(in srgb,var(--color-deep) 12%,transparent);animation:fade-in .14s var(--ease-ui) both}.week-pop-name{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:20px;line-height:1.2;letter-spacing:-.01em;overflow-wrap:anywhere}.week-pop-when{margin:6px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.week-pop-meta{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-faint)}.week-pop-actions{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border)}.week-pop-actions .btn{flex:1 1}@media (max-width:760px){.week-editbar{padding:8px}.week-editbar-inks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.week-ink{justify-content:center;gap:6px;padding:0 6px}.week-editbar-rule{display:none}.week{--week-hour:40px}.week.is-single .week-body,.week.is-single .week-head{grid-template-columns:40px minmax(0,1fr)}.week-gutter>span{right:4px}}.cal-grid,.cal-head{display:grid;grid-template-columns:repeat(7,1fr)}.cal-head{gap:5px;margin-bottom:var(--space-sm)}.cal-head span{font-size:var(--font-size-sm);letter-spacing:0;color:var(--color-text-ghost);text-align:center}.cal-grid{gap:5px}.cal-day{display:flex;flex-direction:column;gap:7px;min-height:76px;padding:9px 9px 8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-row);text-align:left;cursor:pointer;position:relative}.cal-day:hover{border-color:var(--color-text-faint)}.cal-day.blank{background:transparent;border-color:transparent;cursor:default;min-height:0}.cal-day .d{font-size:var(--font-size-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.cal-day .mins{font-size:var(--font-size-xs);color:var(--color-text-ghost);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:auto}.load{height:3px;background:var(--color-surface-sunken)}.load>i{display:block;height:100%;background:var(--color-text-faint)}.cal-day.is-done .load>i{background:var(--color-text)}.cal-day.is-planned .load>i{background:var(--color-border-strong)}.cal-day.is-today{border-color:var(--color-brass)}.cal-day.is-today .d{color:var(--color-brass-ink);font-weight:500}.cal-day.is-selected{border-color:var(--color-text);border-width:2px;padding:8px 8px 7px}.cal-day.is-rest{background:transparent}.cal-day.is-rest .d{color:var(--color-text-ghost)}.cal-day.is-away{background:repeating-linear-gradient(135deg,transparent,transparent 5px,var(--color-surface-sunken) 5px,var(--color-surface-sunken) 6px)}.cal-day.is-away .d{color:var(--color-text-ghost)}.ribbon{display:flex;gap:3px;align-items:flex-end}.ribbon i{flex:1 1;height:20px;background:var(--color-surface-sunken)}.ribbon i.on{background:var(--color-text)}.ribbon i.today{background:var(--color-brass)}.day-detail{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.chart{display:block;width:100%;height:auto;overflow:visible}.chart .grid-line{stroke:var(--color-border);stroke-width:1}.chart .target-line{stroke:var(--color-brass);stroke-width:1;stroke-dasharray:3 3}.chart .series-line{stroke:var(--color-text);stroke-width:2;fill:none;stroke-linejoin:round;stroke-linecap:round}.chart .series-dot{fill:var(--color-text)}.chart .series-band{fill:color-mix(in srgb,var(--color-text) 9%,transparent);stroke:none}.chart .axis-text{fill:var(--color-text-ghost);font-size:11px}.chart .axis-text,.chart .value-text{font-family:var(--font-sans),sans-serif}.chart .value-text{fill:var(--color-text);font-size:12px;font-weight:500}.chart .target-text{fill:var(--color-brass-ink);font-size:11px;font-family:var(--font-sans),sans-serif}.pchart-card{padding:var(--space-lg) var(--space-lg) var(--space-md)}.pchart{display:flex;flex-direction:column;gap:var(--space-md)}.pchart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-sm) var(--space-lg)}.pchart-plot{outline:none;touch-action:pan-x pan-y;cursor:crosshair;animation:ink-draw .76s var(--ease-draw) both;transition:opacity var(--dur-ui) var(--ease-ui)}.pchart-plot:focus-visible{outline:1px solid var(--color-brass);outline-offset:6px}.pchart.pending .pchart-plot{opacity:.35}.pchart-empty{padding:var(--space-xl) 0;max-width:52ch}.pchart-plot-wrap{overflow-x:auto;overflow-y:hidden}.pchart-scroll-guide{display:none}@media (max-width:760px){.pchart-plot{min-width:640px}.pchart-scroll-guide{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;color:var(--color-text-muted)}.pchart-scroll-guide span{flex-basis:100%}.pchart-scroll-guide button{min-height:44px}}.pchart .series-dot{stroke:var(--color-surface);stroke-width:2}.pchart .series-dot.origin{fill:var(--color-surface);stroke:var(--color-text);stroke-width:1.5}.pchart .crosshair line{stroke:var(--color-text-faint);stroke-width:1}.pchart .crosshair circle{fill:none;stroke:var(--color-brass);stroke-width:1.5}.toggle-quiet{padding:5px 10px;font-size:var(--font-size-xs);border-color:transparent}.toggle-quiet.on{background:var(--color-surface-sunken);border-color:transparent;color:var(--color-text)}.pchart-strip{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr 1.2fr;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start;padding-top:var(--space-md);border-top:1px solid var(--color-border)}.pchart-strip .fig{display:flex;flex-direction:column;gap:3px;min-width:0}.pchart-strip .fig .n{font-size:var(--font-size-lg);font-family:var(--font-serif),Georgia,serif;line-height:1.15}.pchart-strip .fig .big{font-size:clamp(40px,4.4vw,56px);line-height:1;letter-spacing:-.03em}.pchart-strip .fig .subhead{line-height:1.15;padding-top:6px}.pchart-strip .pchart-note{grid-column:1/-1;max-width:72ch;padding-top:var(--space-xs)}@media (max-width:760px){.pchart-strip{grid-template-columns:1fr 1fr}.pchart-strip .who{grid-column:1/-1}}.levers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.lever{display:flex;flex-direction:column;gap:4px}.standing-row{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:13px 0;border-top:1px solid var(--color-border);color:inherit;text-decoration:none}.standing-row:first-child{border-top:0}.standing-row .who{display:flex;flex-direction:column;gap:2px;min-width:0}.standing-row .who .n{font-size:var(--font-size-md);transition:color var(--dur-ui)}.standing-row .who .t{font-size:var(--font-size-xs);color:var(--color-text-faint)}.standing-row:hover .who .n{color:var(--color-brass-ink)}.standing-row .fig{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.standing-row .fig .q{display:block;font-family:var(--font-sans),system-ui,sans-serif;font-size:var(--font-size-xs);color:var(--color-text-faint);letter-spacing:0}.compare-row{display:grid;grid-template-columns:1fr 200px 62px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:11px 0;border-top:1px solid var(--color-border)}.compare-row:first-child{border-top:0}.compare-row .who{display:flex;flex-direction:column;gap:1px;min-width:0}.compare-row .who .n{font-size:var(--font-size-sm)}.compare-row .who .t{font-size:var(--font-size-xs);color:var(--color-text-ghost)}.compare-row .bar{height:5px;background:var(--color-surface-sunken)}.compare-row .bar>i{display:block;height:100%;background:var(--color-text)}.compare-row .fig{font-size:var(--font-size-sm);color:var(--color-text-faint);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compare-row.thin .bar>i{background:var(--color-text-faint)}.compare-row.thin .fig{color:var(--mastery-stuck)}.log-row{display:grid;grid-template-columns:74px 1fr 78px 62px;grid-gap:var(--space-md);gap:var(--space-md);align-items:baseline;padding:11px 0;border-top:1px solid var(--color-border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.log-row:first-child{border-top:0}.log-row .when{font-size:var(--font-size-xs);letter-spacing:0;color:var(--color-text-ghost)}.log-row .what{display:flex;flex-direction:column;gap:1px;min-width:0}.log-row .what .n{font-size:var(--font-size-sm)}.log-row .what .t{font-size:var(--font-size-xs);color:var(--color-text-ghost)}.log-row .sc{font-size:var(--font-size-sm);text-align:right}.log-row .du{font-size:var(--font-size-xs);color:var(--color-text-faint);text-align:right}.subject-row{display:grid;grid-template-columns:1fr 180px 96px 18px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:var(--space-md) 0;border-top:1px solid var(--color-border);color:inherit}.subject-row:first-child{border-top:0}.subject-row:hover{background:var(--color-surface-sunken)}.subject-row .grades{font-size:var(--font-size-sm);color:var(--color-text-faint);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.subject-row .grades b{color:var(--color-text);font-weight:500}.subject-row .go{color:var(--color-text-ghost);text-align:right}.subject-row:hover .go{color:var(--color-brass-ink)}.advice{display:grid;grid-template-columns:26px 1fr;grid-gap:var(--space-md);gap:var(--space-md);align-items:baseline}.advice .i{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);color:var(--color-brass-ink)}.multi-chart{display:flex;flex-direction:column;gap:var(--space-lg)}.multi-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-lg)}.legend-item{display:inline-flex;align-items:center;gap:7px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.legend-item i{width:9px;height:9px;border-radius:2px;flex:none}.legend-item:hover{color:var(--color-text)}.standing-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-md);gap:var(--space-md)}.standing-pair .card-quiet{display:flex;flex-direction:column;gap:var(--space-sm)}.topic-row{display:grid;grid-template-columns:1fr 140px 50px 60px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:9px 0;border-top:1px solid var(--color-border)}.topic-row:first-child{border-top:0}.topic-row .t{font-size:var(--font-size-sm);min-width:0}.topic-row .trend{font-size:var(--font-size-xs);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-faint)}.topic-row .trend.up{color:var(--mastery-mastered)}.topic-row .trend.down{color:var(--mastery-stuck)}.topic-row .attempts{font-size:var(--font-size-xs);text-align:right;color:var(--color-text-ghost);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.back-link{align-self:flex-start}.subject-shelf{gap:var(--space-md)}.shelf-grid,.subject-shelf{display:flex;flex-direction:column}.shelf-grid{border-top:1px solid var(--color-border-strong)}.shelf-card{display:grid;grid-template-columns:44px minmax(0,1fr) 170px 40px;grid-template-areas:"level name meta go" "level name bar go";align-items:center;grid-column-gap:var(--space-lg);column-gap:var(--space-lg);grid-row-gap:7px;row-gap:7px;padding:24px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.shelf-card:hover{background:var(--color-surface)}.shelf-level{grid-area:level;font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-faint)}.shelf-name{grid-area:name;font-family:var(--font-serif),Georgia,serif;font-size:25px;line-height:1.25;letter-spacing:-.012em}.shelf-meta{grid-area:meta;font-size:var(--font-size-xs);color:var(--color-text-muted)}.shelf-bar{grid-area:bar;display:flex;gap:2px;height:3px;background:var(--color-surface-sunken)}.shelf-bar i{display:block;background:var(--m);flex-basis:0}.shelf-go{grid-area:go;font-size:var(--font-size-sm);color:var(--color-text-faint);text-align:right}.shelf-card:hover .shelf-go{color:var(--color-brass-ink)}.live-note{color:var(--color-text-faint);margin:0}.live-note-row{display:flex;align-items:center;gap:var(--space-md)}.live-panel{display:grid;grid-template-columns:auto 1fr;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start}.live-panel .subhead{max-width:30ch;line-height:1.25}.live-panel-mark{padding-top:4px}.live-shelf{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.live-shelf-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;border-top:1px solid var(--color-border)}.live-shelf-subject{margin:0;font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-md)}.desk-elio{display:flex;gap:var(--space-md);align-items:flex-start;padding-top:var(--space-xs)}.desk-elio .elio-blob{flex:none;margin-top:2px}.topic-list{display:flex;flex-direction:column;padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.topic-list .subject-group:last-child{border-bottom:0}.topic-list .topic-name{font-size:var(--font-size-lg);letter-spacing:-.01em}.lesson-unfold{overflow:hidden}.lesson-rows{display:flex;flex-direction:column;padding:0 0 var(--space-md) 38px}.lesson-row{display:grid;grid-template-columns:1fr auto 44px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;padding:11px var(--space-sm);border-top:1px solid var(--color-border);color:inherit}.lesson-row:first-child{border-top:0}a.lesson-row:hover{background:var(--color-surface-sunken)}.lesson-row .name{display:flex;align-items:flex-start;gap:9px;min-width:0}.lesson-row .name .concept-dot{margin-top:8px}.lesson-row .name .name-text{display:flex;flex-direction:column;min-width:0}.lesson-length{font-size:var(--font-size-xs);white-space:nowrap;letter-spacing:.02em}.lesson-go,.lesson-length{color:var(--color-text-faint)}.lesson-go{font-size:var(--font-size-sm);text-align:right}a.lesson-row:hover .lesson-go{color:var(--color-brass-ink)}.lesson-row.is-unwritten .name-text .n{color:var(--color-text-faint)}.lesson-body{font-family:var(--font-serif),Georgia,serif;font-size:21px;line-height:1.7;color:var(--color-text);max-width:65ch;margin:0;white-space:pre-wrap}.lesson-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.lesson-compare{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-xl);gap:var(--space-xl);align-items:start}.lesson-compare .lesson-body{font-size:var(--font-size-md);line-height:1.6}.lesson-yours{color:var(--color-text-muted)}.lesson-points{list-style:none;margin:0;padding:0}.lesson-points li span{max-width:60ch}.lesson-notes{list-style:none;margin:0;padding:0;flex-direction:column;max-width:60ch}.lesson-notes,.lesson-notes li{display:flex;gap:var(--space-md)}.lesson-notes li{font-family:var(--font-serif),Georgia,serif;font-size:20px;line-height:1.65;color:var(--color-text)}.lesson-notes li:before{content:"";width:6px;height:6px;flex:none;background:var(--color-brass);margin-top:.6em}.lesson-notes li span{min-width:0}.sidebar-tabs .rail-tab{max-width:100%}.sidebar-tabs .rail-name{display:inline-block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-tabs .rail-tab.is-tried:before{content:"";display:inline-block;width:.45em;height:.45em;background:var(--color-brass);align-self:center}.lesson-aside{display:flex;flex-direction:column;gap:var(--space-xs);max-width:60ch;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-card)}.lesson-aside .label{color:var(--color-brass-ink)}.lesson-aside-text{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-md);line-height:1.55;color:var(--color-text-muted);margin:0}.lesson-elio{flex:none;display:inline-flex;align-items:center;margin:0;padding:4px;border:0;background:none;cursor:pointer;border-radius:50%}.lesson-elio:focus-visible{outline:2px solid var(--color-brass);outline-offset:2px}.lesson-quiet{flex:none;margin:0;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:underline;text-underline-offset:4px;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.lesson-quiet[aria-pressed=true]{color:var(--color-text-faint);text-decoration:none}.lesson-quiet:focus-visible{outline:2px solid var(--color-brass);outline-offset:2px}.lesson-walk{margin-bottom:var(--space-lg)}.lesson-explain{margin-top:var(--space-xl)}.elio-window{width:min(420px,calc(100vw - 32px));margin:auto;padding:0;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--shape-feature)}.elio-window::-webkit-backdrop{background:color-mix(in srgb,var(--color-deep) 42%,transparent)}.elio-window::backdrop{background:color-mix(in srgb,var(--color-deep) 42%,transparent)}.elio-window[open]{animation:lift .32s var(--ease-draw) both}.elio-window[open]::-webkit-backdrop{animation:fade-in .22s var(--ease-ui) both}.elio-window[open]::backdrop{animation:fade-in .22s var(--ease-ui) both}.elio-window-inner{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-xl)}.ask-banner{position:relative}.ask-mark{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;margin:0;background:none;border:0;border-radius:50%;cursor:pointer;transform-origin:center}.ask-mark:focus-visible{outline:2px solid var(--color-brass);outline-offset:4px}.ask-banner .ask-mark{position:absolute;z-index:2;top:20px;right:0}.ask-well{overflow:hidden}.ask-panel{width:min(40rem,100%);gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--shape-card);color:var(--color-text)}.ask-panel,.ask-thread{display:flex;flex-direction:column}.ask-thread{list-style:none;margin:0;padding:0;gap:var(--space-sm);max-height:40vh;overflow-y:auto}.ask-turn{font-size:var(--font-size-sm);line-height:1.5;max-width:52ch}.ask-turn.is-student{color:var(--color-text-muted)}.ask-turn.is-elio{color:var(--color-text)}.ask-turn.is-pending{color:var(--color-text-faint)}.ask-offer{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.ask-offer-changes{list-style:none;margin:0;padding:0}.ask-offer-changes li{display:flex;justify-content:space-between;gap:var(--space-md);padding:4px 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.ask-offer-changes li+li{border-top:1px solid var(--color-border)}.ask-offer-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.ask-offer-done{font-size:var(--font-size-xs);letter-spacing:0;color:var(--color-text-faint)}.ask-recent{display:flex;flex-direction:column;gap:var(--space-xs)}.ask-recent ol{list-style:none;margin:0;padding:0}.ask-recent li+li{border-top:1px solid var(--color-border)}.ask-recent button{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);width:100%;padding:8px 0;text-align:left;font:inherit;color:var(--color-text);background:transparent;border:0;cursor:pointer;transition:color var(--dur-ui) var(--ease-ui)}.ask-recent button:focus-visible,.ask-recent button:hover{color:var(--color-brass-lit)}.ask-recent .t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.ask-recent .w{flex:none;font-size:var(--font-size-xs)}.ask-recent .w,.ask-restored{color:var(--color-text-faint)}.ask-restored{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md)}.ask-starters{gap:var(--space-xs)}.ask-chips,.ask-starters{display:flex;flex-wrap:wrap}.ask-chips{gap:6px}.ask-chip{font:inherit;font-size:var(--font-size-sm);line-height:1.3;padding:6px 12px;cursor:pointer;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--shape-row);transition:color var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui)}.ask-chip:hover{color:var(--color-text);border-color:var(--color-text-muted)}.ask-chip:focus-visible{outline:2px solid var(--color-brass-lit);outline-offset:2px}.ask-chip[aria-pressed=true]{color:var(--color-brass-lit);border-color:var(--color-brass-lit)}.ask-chip:disabled{cursor:default;opacity:.45}.ask-follow-ups{margin-top:calc(-1 * var(--space-xs))}.ask-choice{gap:var(--space-sm);margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.ask-choice,.ask-choice-group{display:flex;flex-direction:column}.ask-choice-group{gap:6px}.ask-choice-label{letter-spacing:0}.ask-choice-label,.ask-choice-note{font-size:var(--font-size-xs);color:var(--color-text-faint)}.ask-choice-actions{display:flex;gap:var(--space-xs)}.ask-routine .week{max-width:100%}.ask-plan-days{margin-bottom:var(--space-xs)}.ask-form{display:flex;gap:var(--space-sm);align-items:flex-end}.ask-field{flex:1 1;min-width:0;font:inherit;font-size:var(--font-size-sm);line-height:1.5;padding:8px 12px;color:var(--color-text);resize:none;overflow-y:auto;transition:border-color .18s var(--ease-ui);background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--shape-row)}.ask-field:focus{outline:none;border-color:var(--color-brass-lit)}.ask-field::placeholder{color:var(--color-text-faint)}.ask-dock{margin-top:var(--space-sm)}.ask-dock,.ask-dock .ask-mark{position:relative}@media (min-width:980px){.ask-banner .ask-mark{right:auto;left:-72px}.ask-dock .ask-mark{position:absolute;top:0;left:-72px}.ask-dock .ask-panel{margin-top:0}}.auth-shell{flex:1 1;display:grid;grid-template-columns:minmax(300px,5fr) 7fr;min-height:100vh}.auth-side{--chamfer-panel:48px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-xxl);padding:var(--space-xl) var(--space-xl) calc(var(--space-xl) + 8px)}.auth-side .brand{font-size:var(--font-size-xl)}.auth-side-voice{display:flex;flex-direction:column;gap:var(--space-lg);align-items:flex-start}.auth-voice{font-family:var(--font-serif),Georgia,serif;font-weight:300;font-size:clamp(28px,3.2vw,40px);line-height:1.14;letter-spacing:-.02em;max-width:14ch;margin:0}.auth-side-foot{color:var(--color-on-panel-muted);font-size:var(--font-size-sm);max-width:32ch}.auth-main{display:flex;align-items:center;justify-content:center;padding:var(--space-xxl) var(--space-xl)}.auth-card{width:100%;max-width:400px}.auth-footer{color:var(--color-text-faint);text-align:center}.auth-footer a{color:var(--color-text);border-bottom:1px solid var(--color-border-strong)}.auth-footer a:hover{border-bottom-color:var(--color-brass);color:var(--color-brass-ink)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--font-size-sm);font-weight:500;letter-spacing:0;color:var(--color-text-faint)}.field-input-group{position:relative;display:flex;align-items:center}.field-input{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-row);padding:12px var(--space-md);font:inherit;color:var(--color-text)}.field-input:focus{outline:none;border-color:var(--color-brass);box-shadow:0 1px 0 0 var(--color-brass)}.field:focus-within .field-label{color:var(--color-brass-ink)}.field-input:disabled{opacity:.6}.field-input::placeholder{color:var(--color-text-faint)}.field-input-group:has(.field-toggle) .field-input{padding-right:64px}.field-toggle{position:absolute;right:6px;background:none;border:0;cursor:pointer;font-size:var(--font-size-xs);letter-spacing:.04em;color:var(--color-text-faint);padding:6px 8px}.field-toggle:hover{color:var(--color-brass-ink)}.field-error{color:var(--color-text)}.field-error,.field-hint{font-size:var(--font-size-xs)}.field-hint{color:var(--color-text-faint)}.form-msg{font-size:var(--font-size-sm);line-height:1.55;color:var(--color-text);background:var(--color-surface-sunken);border-radius:var(--shape-row);padding:12px var(--space-md)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:var(--radius-pill);-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar svg{width:60%;height:60%}.avatar-ink{background:var(--color-deep);color:var(--color-on-deep)}.avatar-brass{background:var(--color-brass);color:var(--color-bg)}.avatar-paper{background:var(--color-surface-sunken);color:var(--color-text);border:1px solid var(--color-border-strong)}.avatar-sm{width:30px;height:30px}.avatar-lg{width:64px;height:64px}.avatar-xl{width:80px;height:80px}:root[data-theme=dark] .panel-deep .avatar-ink{background:var(--color-panel-raised);color:var(--color-brass-lit);border:1px solid color-mix(in srgb,var(--color-on-panel) 20%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .panel-deep .avatar-ink{background:var(--color-panel-raised);color:var(--color-brass-lit);border:1px solid color-mix(in srgb,var(--color-on-panel) 20%,transparent)}}.profile-plate{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.profile-plate .who{display:flex;flex-direction:column;gap:3px;min-width:0}.profile-plate .who .n{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-xl);line-height:1.1}.profile-plate .who .e{font-size:var(--font-size-sm);color:var(--color-on-panel-muted);overflow-wrap:anywhere}.profile-plate .who .m{font-size:var(--font-size-sm);letter-spacing:0;color:var(--color-brass-ink);margin-top:var(--space-xs)}.profile-plate .acts{margin-left:auto;display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.panel-deep .btn-secondary{color:var(--color-on-panel);border-color:color-mix(in srgb,var(--color-on-panel) 40%,transparent)}.panel-deep .btn-secondary:hover{border-color:var(--color-on-panel)}.panel-deep .link-quiet{color:var(--color-on-panel-muted)}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:var(--font-size-sm);color:var(--color-text);background-color:var(--color-surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%235B564F' stroke-width='1.2'/></svg>");background-repeat:no-repeat;background-position:right 12px center;border:1px solid var(--color-border-strong);border-radius:var(--shape-row);padding:8px 32px 8px 12px;cursor:pointer}.select:hover{border-color:var(--color-text-faint)}.select:focus{outline:none;border-color:var(--color-brass);box-shadow:0 1px 0 0 var(--color-brass)}.select:disabled{opacity:.6;cursor:default}.select-block{width:100%}.enrolment-row{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:center;padding:var(--space-md) 0;border-top:1px solid var(--color-border)}.enrolment-row:first-child{border-top:0}.enrolment-row .what{display:flex;align-items:baseline;gap:var(--space-sm);min-width:0;flex-wrap:wrap}.enrolment-row .what .t{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);line-height:1.2}.enrolment-row .what .d{font-size:var(--font-size-sm);color:var(--color-text-faint)}.enrolment-row .acts{display:flex;align-items:center;gap:var(--space-lg)}.subject-target{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-faint)}.enrolment-row .out{display:flex;justify-content:flex-end}.add-subject{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:var(--space-md);gap:var(--space-md)}.grade-input{background-image:none;padding:8px 12px;cursor:text}.grade-input::placeholder{color:var(--color-text-ghost)}.subject-target .grade-input{width:3em;text-align:center}.combo{position:relative}.rise:has(.combo-list){position:relative;z-index:5}.combo-input{cursor:text}.combo-input::placeholder{color:var(--color-text-ghost)}.combo-list{position:absolute;top:100%;left:0;right:0;z-index:5;margin:4px 0 0;padding:4px 0;list-style:none;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--shape-row)}.combo-option{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding:8px 12px;font-size:var(--font-size-sm);cursor:pointer}.combo-option.active{background:var(--color-surface-sunken)}.combo-option[aria-selected=true]{color:var(--color-brass-ink)}.combo-level{font-size:var(--font-size-xs);letter-spacing:.08em}.combo-empty,.combo-level{color:var(--color-text-faint)}.combo-empty{padding:8px 12px;font-size:var(--font-size-sm)}@media (max-width:640px){.enrolment-row{grid-template-columns:1fr;gap:var(--space-sm)}.enrolment-row .acts{justify-content:space-between}.add-subject{grid-template-columns:1fr}}.archive{gap:var(--space-lg)}.archive,.archive-group{display:flex;flex-direction:column}.archive-group{gap:var(--space-sm)}.archive-group>.g{font-size:var(--font-size-sm);letter-spacing:0;color:var(--color-text-ghost)}.archive-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.nav-account{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-text-faint)}.nav-account.active,.nav-account:hover{color:var(--color-text)}.avatar-swatch{padding:3px;background:none;border:2px solid transparent;border-radius:var(--radius-pill);cursor:pointer;line-height:0}.avatar-swatch.on{border-color:var(--color-text)}.settings-row{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-lg);gap:var(--space-lg);align-items:center;padding:var(--space-lg) 0;border-top:1px solid var(--color-border)}.settings-row:first-child{border-top:0}.settings-row .what{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-row .what .t{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg)}.settings-row .what .d{font-size:var(--font-size-sm);color:var(--color-text-faint)}.start-door{min-height:100svh;display:grid;align-items:center;background:var(--color-bg)}.start-door-inner{width:100%;max-width:1200px;margin:0 auto;padding:clamp(80px,13svh,150px) clamp(20px,5vw,64px);display:grid;justify-items:start;grid-gap:clamp(22px,2.8vw,34px);gap:clamp(22px,2.8vw,34px)}.start-door-line{font-family:var(--font-serif),Georgia,serif;font-size:clamp(19px,1.9vw,24px);line-height:1.35;color:var(--color-text-muted);max-width:36ch}.start-door-check{position:fixed;right:12px;bottom:12px;z-index:5}.onboard{position:relative;min-height:100dvh;display:flex;flex-direction:column;isolation:isolate}.onboard-ground{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--color-deep);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.onboard-scene{position:relative;z-index:1;grid-area:1/1;display:flex;flex-direction:column;min-height:100dvh}.onboard{display:grid;grid-template-columns:1fr}.onboard>.onboard-ground{grid-area:1/1}.elio-env,.scene-chapters.is-light .chapter-inner{--color-bg:var(--color-deep);--color-surface:var(--color-deep-raised);--color-surface-sunken:color-mix(in srgb,var(--color-deep) 84%,black);--color-border:color-mix(in srgb,var(--color-on-deep) 15%,transparent);--color-border-strong:color-mix(in srgb,var(--color-on-deep) 32%,transparent);--color-text:var(--color-on-deep);--color-text-muted:var(--color-on-deep-muted);--color-text-faint:color-mix(in srgb,var(--color-on-deep) 66%,transparent);--color-text-ghost:color-mix(in srgb,var(--color-on-deep) 46%,transparent);--color-accent:var(--color-on-deep);--color-accent-hover:var(--color-brass-lit);--color-on-accent:var(--color-deep);--color-brass-ink:var(--color-brass-lit);--mastery-unassessed:var(--mastery-lit-unassessed);--mastery-learning:var(--mastery-lit-learning);--mastery-practising:var(--mastery-lit-practising);--mastery-mastered:var(--mastery-lit-mastered);--mastery-review-due:var(--mastery-lit-review-due);--mastery-stuck:var(--mastery-lit-stuck);color:var(--color-text)}.elio-env .label{color:var(--color-brass-lit)}.scene-chapters.is-light .chapter-guide,.scene-chapters.is-light .chapter-inner{--color-bg:var(--color-light-field);--color-surface:#FCFCFA;--color-border:#D7D5CE;--color-border-strong:#B8B5AD;--color-text:#111917;--color-text-muted:#3C4745;--color-text-faint:#5E6967;--color-text-ghost:#78827F;--color-accent:#2B3734;--color-on-accent:#F3F2EF;--color-brass-ink:#7E5D2B;color:var(--color-text)}.scene-chapters.is-light .chapter-inner .label{color:var(--color-brass-ink)}:root{--color-light-field:color-mix(in srgb,var(--color-surface) 60%,var(--color-brass-tint) 40%)}.light-field{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--color-light-field)}.scene{flex:1 1;display:flex;flex-direction:column;position:relative;z-index:1}.scene-centred{justify-content:center;padding:var(--space-xxl) 0 calc(var(--space-xxl) + 4vh);min-height:100dvh}.plans-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.plans-col{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-lg) 0}.plans-col+.plans-col{border-left:1px solid var(--color-border);padding-left:var(--space-lg);padding-right:var(--space-lg)}.plans-col.is-brass{background:var(--color-surface);border-radius:0 var(--shape-card) var(--shape-card) 0}.plans-holds{list-style:none;margin:0;padding:0}.plans-holds li{padding:var(--space-xs) 0;border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text)}.plans-holds li:first-child{border-top:0}.plans-price{margin:auto 0 0;display:flex;align-items:baseline;gap:var(--space-xs);flex-wrap:wrap}.plans-price-note{flex-basis:100%}.plans-interval{display:inline-flex;gap:var(--space-lg)}.plans-interval-opt{font:inherit;font-size:var(--font-size-sm);background:none;border:0;padding:0 0 2px;color:var(--color-text-faint);cursor:pointer;border-bottom:1px solid transparent;transition:color var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui)}.plans-interval-opt[aria-checked=true]{color:var(--color-brass-lit);border-bottom-color:currentColor}.plans-note{max-width:44ch}@media (max-width:48rem){.plans-grid{grid-template-columns:1fr}.plans-col+.plans-col{border-left:0;border-top:1px solid var(--color-border);padding-left:0;padding-right:0}.plans-col.is-brass{border-radius:0;padding-left:var(--space-md);padding-right:var(--space-md)}}.welcome{display:flex;flex-direction:column;gap:var(--space-lg);align-items:flex-start}.welcome-word{font-family:var(--font-serif),Georgia,serif;font-size:clamp(44px,9vw,92px);line-height:1.02;font-weight:400;margin:0;color:var(--color-text)}.welcome-rule{width:min(420px,60%)}.elio-blob{display:block;overflow:visible}.elio-blob .body{fill:var(--color-mark)}.elio-blob .core{fill:var(--color-brass-lit)}.elio-blob.tone-light .body{fill:var(--color-on-deep)}.elio-blob.tone-ink .body{fill:var(--color-text)}.elio-blob.tone-muted .body{fill:var(--color-text-ghost)}.elio-blob.tone-muted .core{fill:var(--color-bg)}.elio-voice{font-family:var(--font-serif),Georgia,serif;font-size:clamp(27px,4.2vw,40px);line-height:1.14;letter-spacing:-.02em;font-weight:400;max-width:20ch;margin:0}.elio-voice.is-wide{max-width:26ch}.elio-voice.is-large{font-size:clamp(32px,5.4vw,54px);max-width:18ch}.elio-why{color:var(--color-text-muted);max-width:46ch;font-size:var(--font-size-lg);line-height:1.5;margin:0}.elio-hint{color:var(--color-text-ghost);font-size:var(--font-size-sm);max-width:52ch}.spoken-word{display:inline-block;white-space:pre}.elio-ack{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-md);line-height:1.35;color:var(--color-text);border-left:1px solid var(--color-brass);padding-left:var(--space-md);min-height:2.4em;flex:1 1;min-width:0}.elio-ack:empty{border-left-color:transparent}.scene-setup{display:grid;grid-template-rows:auto minmax(0,1fr) auto;flex:0 0 auto;height:100dvh;max-height:100dvh}.setup-head{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.setup-head,.setup-rail{display:flex;align-items:center;gap:var(--space-md)}.setup-rail{margin-left:auto}.setup-body{display:flex;align-items:flex-start;padding:var(--space-xl);overflow-y:auto;min-height:0}.setup-body>*{width:100%;margin-block:auto}.setup-foot{border-top:1px solid var(--color-border);padding:var(--space-md) var(--space-xl);background:color-mix(in srgb,var(--color-bg) 88%,transparent)}.setup-foot-inner{display:flex;align-items:center;gap:var(--space-lg);justify-content:space-between}.setup-actions{gap:var(--space-sm);flex-shrink:0}.setup-actions,.wizard-rail{display:flex;align-items:center}.wizard-rail{gap:6px}.wizard-rail i{display:block;width:22px;height:2px;background:var(--color-border-strong);opacity:.7}.wizard-rail i.done{background:var(--color-text-ghost);opacity:1}.wizard-rail i.current{background:var(--color-brass);height:4px;opacity:1}.step-count{font-size:var(--font-size-xs);color:var(--color-text-ghost);letter-spacing:.08em}.setup-name{max-width:22rem}.opt-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.opt{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:var(--space-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--shape-row);cursor:pointer;color:var(--color-text-muted);font-family:inherit}.opt:hover{border-color:var(--color-text-faint)}.opt.on,.opt:hover{color:var(--color-text)}.opt.on{border-color:var(--color-text);background:color-mix(in srgb,var(--color-text) 6%,transparent)}.opt .opt-title{font-size:var(--font-size-lg);display:flex;align-items:baseline;gap:var(--space-sm)}.opt .opt-note{font-size:var(--font-size-xs);color:var(--color-text-ghost);line-height:1.4}.opt-badge{font-size:12px;letter-spacing:0;color:var(--color-brass-ink);border:1px solid color-mix(in srgb,var(--color-brass) 55%,transparent);border-radius:var(--radius-sm);padding:1px 5px;white-space:nowrap}.toggle-row{display:flex;flex-wrap:wrap;gap:7px}.toggle{padding:7px 13px;border:1px solid var(--color-border);border-radius:var(--shape-row);background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer}.toggle:hover{color:var(--color-text);border-color:var(--color-text-faint)}.toggle.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.subject-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-gap:var(--space-xl);gap:var(--space-xl);align-items:start}.subject-groups{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.subject-group{border-bottom:1px solid var(--color-border)}.subject-group.is-empty{opacity:.45}.sg-head{display:grid;grid-template-columns:22px 1fr auto 18px;align-items:baseline;grid-gap:var(--space-md);gap:var(--space-md);width:100%;padding:var(--space-md) 0;background:none;border:0;cursor:pointer;text-align:left;color:var(--color-text);font-family:inherit}.sg-head:disabled{cursor:default}.sg-index{font-size:var(--font-size-xs);color:var(--color-brass-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sg-name{font-size:var(--font-size-md)}.sg-meta{font-size:var(--font-size-xs);color:var(--color-text-ghost)}.sg-chevron{font-size:var(--font-size-md);color:var(--color-text-faint);line-height:1}.sg-rows{display:flex;flex-direction:column;padding-bottom:var(--space-md)}.sg-row{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-md);gap:var(--space-md);padding:6px 0 6px var(--space-xl)}.sg-row .sr-name{font-size:var(--font-size-sm);color:var(--color-text-muted)}.sr-levels{display:flex;gap:6px}.level-pill{min-width:40px;padding:5px 10px;font-size:var(--font-size-xs);letter-spacing:.06em;border:1px solid var(--color-border);border-radius:var(--shape-row);background:transparent;color:var(--color-text-faint);cursor:pointer;font-family:inherit}.level-pill:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-faint)}.level-pill.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.level-pill:disabled{cursor:not-allowed;opacity:.35}.subject-tray{position:-webkit-sticky;position:sticky;top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);border-left:1px solid var(--color-border);padding-left:var(--space-lg);min-width:0}.tray-empty{font-size:var(--font-size-sm);color:var(--color-text-ghost)}.tray-row,.tray-rows{display:flex;flex-direction:column;gap:var(--space-sm)}.tray-row{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--shape-row)}.tray-row.needs-target{border-color:color-mix(in srgb,var(--color-brass) 60%,transparent)}.tr-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.tr-name{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-md)}.tr-level{margin-left:6px;letter-spacing:.06em}.tr-level,.tr-remove{font-size:var(--font-size-xs);color:var(--color-text-ghost)}.tr-remove{background:none;border:0;padding:0;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tr-remove:hover{color:var(--color-text)}.tr-target{display:flex;flex-direction:column;gap:5px}.tr-target-label{font-size:var(--font-size-xs);color:var(--color-text-ghost);letter-spacing:.06em}.grade-scale{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.grade-scale button{padding:6px 0;font-size:var(--font-size-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid var(--color-border);border-radius:var(--shape-row);background:transparent;color:var(--color-text-faint);cursor:pointer;font-family:inherit}.grade-scale button:hover{color:var(--color-text);border-color:var(--color-text-faint)}.grade-scale button.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.rhythm-close{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);line-height:1.4;color:var(--color-text);max-width:46ch;border-left:1px solid var(--color-brass);padding-left:var(--space-md)}.rstage{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--space-lg);gap:var(--space-lg)}.rstage-grid{position:relative}@media (min-width:1024px){.rstage{grid-template-columns:minmax(0,1fr) minmax(280px,34%);column-gap:var(--space-xl);align-items:start}.rstage-grid,.rstage-under{grid-column:1}.rstage .rchat-wrap{grid-column:2;grid-row:1/span 2;align-self:stretch;contain:size;min-height:440px}.rstage .rchat{flex:1 1 auto;min-height:0;max-height:none}}.rstage-scan{position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:var(--color-brass-lit);pointer-events:none;z-index:4}:is(.rstage-grid,.review-week) .week{background:color-mix(in srgb,var(--color-on-deep) 6%,transparent);border-color:color-mix(in srgb,var(--color-on-deep) 18%,transparent)}:is(.rstage-grid,.review-week) .week-col,:is(.rstage-grid,.review-week) .week-corner,:is(.rstage-grid,.review-week) .week-dayhead,:is(.rstage-grid,.review-week) .week-gutter,:is(.rstage-grid,.review-week) .week-head{border-color:color-mix(in srgb,var(--color-on-deep) 14%,transparent)}:is(.rstage-grid,.review-week) .week-hour{border-color:color-mix(in srgb,var(--color-on-deep) 10%,transparent)}:is(.rstage-grid,.review-week) .week-off{background:color-mix(in srgb,var(--color-deep) 60%,transparent)}:is(.rstage-grid,.review-week) .week-dayname,:is(.rstage-grid,.review-week) .week-gutter{color:var(--color-on-deep-muted)}:is(.rstage-grid,.review-week) .week-block.is-school{background:color-mix(in srgb,var(--color-on-deep) 10%,transparent);border-color:color-mix(in srgb,var(--color-on-deep) 30%,transparent);color:var(--color-on-deep)}:is(.rstage-grid,.review-week) .week-block.is-activity{background:transparent;border-color:color-mix(in srgb,var(--color-on-deep) 40%,transparent);color:var(--color-on-deep)}:is(.rstage-grid,.review-week) .week-block.is-other{background:transparent;border-color:color-mix(in srgb,var(--color-on-deep) 22%,transparent);color:var(--color-on-deep-muted)}:is(.rstage-grid,.review-week) .week-block.is-elio{background:color-mix(in srgb,var(--color-brass) 22%,transparent);border-color:var(--color-brass-lit);color:var(--color-on-deep)}.rupload{display:inline-flex;flex-direction:column;gap:4px}.rupload-note{font-size:var(--font-size-xs);color:var(--color-on-deep-muted)}.rstage-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2}.rchat-wrap{gap:var(--space-md);padding:var(--space-md) var(--space-md) var(--space-sm);background:color-mix(in srgb,var(--color-on-deep) 4%,transparent);border:1px solid color-mix(in srgb,var(--color-on-deep) 16%,transparent);border-radius:var(--shape-card)}.rchat-head,.rchat-wrap{display:flex;flex-direction:column}.rchat-head{gap:4px;padding-bottom:var(--space-sm);border-bottom:1px solid color-mix(in srgb,var(--color-on-deep) 12%,transparent)}.rchat-title{margin:0;font-size:var(--font-size-md);font-weight:500;color:var(--color-on-deep)}.rchat-how{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-on-deep-muted)}.rchat{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;max-height:30vh;overflow-y:auto}.rchat li{max-width:62ch;font-size:var(--font-size-sm);line-height:1.5}.rchat li.is-elio{align-self:flex-start;color:var(--color-on-deep);padding-right:var(--space-lg)}.rchat li.is-student{align-self:flex-end;max-width:85%;padding:6px 12px;color:var(--color-on-deep);background:color-mix(in srgb,var(--color-on-deep) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-on-deep) 18%,transparent);border-radius:var(--shape-row)}.rchat-who{display:block;margin-bottom:2px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass-lit)}.rchat-who.is-you{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.rchat-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.rchat-field{display:flex;gap:var(--space-sm);align-items:flex-end}.rchat-field textarea{flex:1 1;resize:none;min-height:44px;max-height:8lh;padding:10px 12px;font:inherit;line-height:1.5;color:var(--color-on-deep);background:color-mix(in srgb,var(--color-on-deep) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-on-deep) 24%,transparent);border-radius:var(--shape-row)}.rchat-field textarea::placeholder{color:var(--color-on-deep-muted)}.rchat-field textarea:focus{outline:none;border-color:var(--color-brass-lit)}.rchat-note{margin:-6px 0 0;font-size:var(--font-size-xs);color:var(--color-text-ghost)}.report-subjects{gap:var(--space-xl)}.report-subject,.report-subjects{display:flex;flex-direction:column}.report-subject{gap:var(--space-sm)}.rs-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.rs-name{font-family:var(--font-serif),Georgia,serif;font-size:var(--font-size-lg);font-weight:400;margin:0}.rs-level{font-size:var(--font-size-xs);color:var(--color-text-ghost);margin-left:8px;letter-spacing:.06em}.rs-whole{display:flex;gap:6px}.whole-pill{padding:5px 12px;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--shape-row);background:transparent;color:var(--color-text-faint);cursor:pointer;font-family:inherit}.whole-pill:hover{color:var(--color-text);border-color:var(--color-text-faint)}.whole-pill.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.rs-rows{display:flex;flex-direction:column}.rs-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-md);gap:var(--space-md);padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent)}.rs-row:last-child{border-bottom:0}.rs-row.is-subject{padding-top:var(--space-sm)}.rs-row.is-subject .rs-topic{color:var(--color-text)}.rs-topic{font-size:var(--font-size-sm);color:var(--color-text-muted);min-width:0}.rs-row.is-unanswered{border-bottom-color:color-mix(in srgb,var(--color-brass) 55%,transparent)}.rs-foot{font-size:var(--font-size-xs);color:var(--color-text-ghost)}.confidence-scale,.state-scale{display:flex;gap:4px}.confidence-scale button,.state-scale button{padding:5px 10px;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--shape-row);background:transparent;color:var(--color-text-faint);cursor:pointer;font-family:inherit;white-space:nowrap}.confidence-scale button:hover,.state-scale button:hover{color:var(--color-text);border-color:var(--color-text-faint)}.confidence-scale button.on,.state-scale button.on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.report-pager{display:flex;flex-direction:column;gap:var(--space-lg)}.subject-rail{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.rail-tab{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;font-size:var(--font-size-xs);font-family:inherit;border:1px solid transparent;border-radius:var(--shape-row);background:transparent;color:var(--color-text-faint);cursor:pointer}.rail-tab:hover{color:var(--color-text)}.rail-tab.is-done{color:var(--color-text-muted)}.rail-tab.is-done:before{content:"";display:inline-block;width:.45em;height:.45em;background:var(--color-brass);align-self:center}.rail-tab.is-current{border-color:var(--color-text);color:var(--color-text)}.rail-level{letter-spacing:.06em}.rail-count,.rail-level{color:var(--color-text-ghost)}.rail-count{margin-left:auto;font-size:var(--font-size-xs)}.pager-card{display:flex;flex-direction:column}.report-subject.is-paged{gap:var(--space-md)}.report-subject.is-paged .rs-name{font-size:var(--font-size-xl)}.rs-prompt{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.class-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.class-topic{display:grid;grid-template-columns:2ch minmax(0,1fr) auto;align-items:baseline;grid-gap:var(--space-md);gap:var(--space-md);width:100%;padding:9px 10px 9px 6px;font-family:inherit;font-size:var(--font-size-sm);text-align:left;border:0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--color-text-muted);cursor:pointer}.class-list li:last-child .class-topic{border-bottom-color:transparent}.class-topic:hover{color:var(--color-text)}.class-topic .ct-index{color:var(--color-text-ghost);font-size:var(--font-size-xs)}.class-topic .ct-name{min-width:0}.class-topic .ct-state{font-size:var(--font-size-xs);color:var(--color-text-ghost);letter-spacing:.04em}.class-topic.is-done{color:var(--color-text)}.class-topic.is-done .ct-state{color:var(--color-text-muted)}.class-topic.is-in_progress{color:var(--color-text)}.class-topic.is-current{border-left-color:var(--color-brass)}.class-topic.is-current .ct-state{color:var(--color-brass-ink)}.class-topic.is-not_yet{color:var(--color-text-faint)}.rs-tools{gap:var(--space-md)}.rs-mode,.rs-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.rs-mode{gap:var(--space-sm) var(--space-md)}.rs-adjust{font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--shape-row);padding:5px 12px;cursor:pointer;white-space:nowrap;transition:border-color var(--dur-ui) var(--ease-ui),color var(--dur-ui) var(--ease-ui)}.rs-adjust:hover{color:var(--color-text);border-color:var(--color-text-faint)}.rs-adjust[aria-pressed=true]{color:var(--color-text);border-color:var(--color-text)}.pager-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.opt-grid-4{grid-template-columns:repeat(4,1fr)}.setup-skip{margin-right:auto}.scene-chapters{padding:0}.chapter-track{position:relative;width:100%}.is-chapter-locked{overscroll-behavior-y:none}.chapter-stops{position:absolute;inset:0;z-index:0;pointer-events:none}.chapter-stops i{display:block;height:var(--chapter-step,100vh)}.chapter-viewport{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:grid;grid-template-columns:1fr;align-items:center;overflow:hidden}.chapter{grid-area:1/1;display:flex;align-items:center;justify-content:flex-start;min-height:100dvh;padding:var(--space-xxl) var(--space-xl)}.chapter-inner,.comp{width:100%}.comp{max-width:1080px;margin:0 auto;padding:0 var(--space-lg);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-column-gap:var(--space-lg);column-gap:var(--space-lg);grid-row-gap:var(--space-xl);row-gap:var(--space-xl);align-items:start}.comp>.part-voice{grid-row:1}.comp>.part-detail{grid-row:2}.comp.is-left>.part-voice{grid-column:1/span 7}.comp.is-left>.part-detail,.comp.is-right>.part-voice{grid-column:6/-1}.comp.is-right>.part-detail{grid-column:1/span 7}.comp.is-left.is-wide>.part-detail{grid-column:2/-1}.comp.is-right.is-wide>.part-detail{grid-column:1/span 11}.comp.is-beside>.part-detail,.comp.is-beside>.part-voice{grid-row:1}.comp.is-beside>.part-detail{margin-top:clamp(32px,11vh,112px)}.comp.is-left.is-beside>.part-voice{grid-column:1/span 6}.comp.is-left.is-beside>.part-detail,.comp.is-right.is-beside>.part-voice{grid-column:7/-1}.comp.is-right.is-beside>.part-detail{grid-column:1/span 6}.comp.is-centre{max-width:760px;grid-template-columns:minmax(0,1fr);row-gap:var(--space-lg);text-align:center}.comp.is-centre>.chapter-part{grid-column:1}.comp.is-centre .elio-voice,.comp.is-centre .elio-why,.comp.is-centre .lede{margin-left:auto;margin-right:auto}.comp.is-centre .row-gap{flex-direction:column;gap:var(--space-md)}.mark-layer{position:fixed;top:0;left:0;z-index:6;pointer-events:none;transform-origin:0 0}.mark-well{display:block;flex:0 0 auto}.chapter-mark{position:fixed;top:var(--space-lg);left:var(--space-xl);z-index:3}.chapter-rail{position:fixed;right:var(--space-lg);top:22vh;bottom:22vh;width:1px;background:color-mix(in srgb,currentColor 14%,transparent);z-index:3;pointer-events:none}.chapter-rail i{display:block;width:100%;height:100%;background:var(--color-brass)}.chapters-plain{display:flex;flex-direction:column}.chapter-plain{padding:var(--space-xxl) var(--space-xl);border-top:1px solid var(--color-border)}.chapter-plain:first-child{border-top:0}.chapter-guide-well{position:fixed;left:0;right:0;bottom:calc(var(--space-lg) + env(safe-area-inset-bottom, 0px));z-index:3;display:flex;justify-content:center;pointer-events:none}.chapter-guide{--guide-accent:var(--color-brass-lit);position:relative;pointer-events:auto;display:inline-flex;align-items:center;gap:var(--space-sm);min-height:48px;padding:10px 18px 10px 20px;background:transparent;color:var(--color-text-muted);border:1px solid color-mix(in srgb,var(--guide-accent) 60%,transparent);border-radius:var(--shape-row);font:inherit;font-size:var(--font-size-md);letter-spacing:.01em;cursor:pointer;transition:color var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui)}.chapter-guide:hover{color:var(--color-text);border-color:var(--guide-accent)}.chapter-guide:focus-visible{outline:2px solid var(--guide-accent);outline-offset:3px}.scene-chapters.is-light .chapter-guide{--guide-accent:var(--color-brass-ink);color:var(--color-text-muted)}.scene-chapters.is-light .chapter-guide:hover{color:var(--color-text)}.guide-arrow{display:block;width:13px;height:24px;overflow:visible}.guide-arrow path{fill:none;stroke:var(--guide-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.guide-coarse{display:none}@media (hover:none) and (pointer:coarse){.guide-fine{display:none}.guide-coarse{display:inline}}.guide-more{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.picture-note{font-size:var(--font-size-sm);color:var(--color-text-faint);line-height:1.55;max-width:60ch;border-left:1px solid var(--color-border-strong);padding-left:var(--space-md)}.picture-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.picture-col{display:flex;flex-direction:column;gap:var(--space-sm)}.picture-col .pc-note{font-size:var(--font-size-xs);color:var(--color-text-ghost);line-height:1.45}.picture-line{display:grid;grid-template-columns:1fr auto;grid-gap:var(--space-sm);gap:var(--space-sm);align-items:baseline;padding:7px 0;border-top:1px solid var(--color-border)}.picture-line:first-of-type{border-top:0}.picture-line .pl-name{font-size:var(--font-size-sm)}.picture-line .pl-sub{display:block;font-size:var(--font-size-xs);color:var(--color-text-ghost)}.picture-line .pl-fig{font-size:var(--font-size-xs);color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.share-bar{display:flex;flex-direction:column;gap:5px;padding:7px 0}.share-bar .sb-head{display:flex;justify-content:space-between;gap:var(--space-sm);font-size:var(--font-size-sm)}.share-bar .sb-fig{color:var(--color-text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.docket{display:flex;flex-direction:column}.docket-row{display:grid;grid-template-columns:140px 1fr;grid-gap:var(--space-md);gap:var(--space-md);padding:var(--space-md) 0;border-top:1px solid var(--color-border);align-items:baseline}.docket-row:first-child{border-top:0}.docket-row .k{font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-ghost)}.docket-row .v{font-size:var(--font-size-md)}.docket-row .v .sub{display:block;font-size:var(--font-size-sm);color:var(--color-text-faint);margin-top:2px}.m-copy{display:flex;flex-direction:column;gap:var(--space-md)}.m-body{color:var(--color-text-muted);line-height:1.65;max-width:44ch}.m-figure{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--shape-card);padding:var(--space-lg)}.fig-svg{display:block;width:100%;height:auto;overflow:visible}.fig-svg .rule{stroke:var(--color-border-strong);stroke-width:1}.fig-svg .line{stroke:var(--color-text);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.fig-svg .accent{stroke:var(--color-brass);stroke-width:1.5;fill:none}.fig-svg .accent-fill{fill:var(--color-brass)}.fig-svg .quiet{fill:var(--color-text-ghost)}.fig-svg .ink{fill:var(--color-text)}.fig-svg text{font-family:var(--font-sans),sans-serif;font-size:10px;letter-spacing:.06em}.scene-launch{overflow:hidden}.launch{display:flex;flex-direction:column;gap:var(--space-xl);align-items:flex-start;position:relative;z-index:2}.launch-steps{min-height:2.2em;display:flex;align-items:center}.launch-step{font-family:var(--font-serif),Georgia,serif;font-size:clamp(22px,3.4vw,34px);line-height:1.2;color:var(--color-text);margin:0}.launch-field{position:fixed;inset:0;z-index:1;pointer-events:none;display:grid;grid-template:minmax(0,1fr) /minmax(0,1fr);place-items:center}.launch-frame{grid-area:1/1;display:block;width:min(150vh,150vw);aspect-ratio:1;border:1px solid var(--color-brass);--chamfer-panel:24%;--chamfer-round:2.5%;opacity:0}.launch-steps-foot{position:fixed;left:0;right:0;bottom:0;z-index:3;padding:var(--space-md) var(--space-xl) calc(var(--space-md) + 2vh);justify-content:center;text-align:center;pointer-events:none;background:var(--color-bg);border-top:1px solid var(--color-border)}.launch-steps-foot .launch-step{color:var(--color-text-muted);font-size:clamp(20px,2.6vw,28px)}.lf-origin{inset:0;place-items:center}.lf-origin,.lf-page-body{position:fixed;z-index:2;display:grid;pointer-events:none}.lf-page-body{top:64px;left:0;right:0;bottom:0;place-items:center;overflow:hidden}.lf-page-body.is-page,.lf-tab-body{background:var(--color-bg)}.lf-tab-body{grid-area:1/1;width:calc(100vw / var(--zoom, 1));height:calc((100dvh - 64px) / var(--zoom, 1));min-height:0;overflow:hidden;transform-origin:50% 50%;display:flex;flex-direction:column}.lf-tab-body .btn,.lf-tab-body .option,.lf-tab-body .sched-day,.lf-tab-body .toggle{cursor:default}.lf-perch{position:absolute;left:50%;top:100%;transform:translate(-50%,4px)}.launch-dock{position:fixed;top:0;left:0;right:0;z-index:5;pointer-events:none}.launch-dock .brand{position:relative}.launch-dock .wordmark:after{display:none}.lf-dock-word,.lf-letter{display:inline-block}.lf-dot,.lf-word-head{position:relative;display:inline-block;width:.2em;height:.2em;vertical-align:baseline}.lf-word-head{margin-right:-.2em}.lf-dot{margin-left:.14em}.lf-dot .mark-well,.lf-word-head .mark-well{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.launch-dock .links span{position:relative;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);padding:10px 14px;border-radius:var(--shape-row);border:1px solid transparent;transition:color var(--dur-ui),border-color var(--dur-ui)}.launch-dock .links span.active{color:var(--color-text);border-bottom-color:var(--color-brass)}.launch-dock .links span.built{color:var(--color-text)}.lf-avatar{display:block;width:32px;height:32px;border-radius:50%;background:var(--color-panel)}.mark-layer .elio-blob .body,.mark-layer .elio-blob .core{transition:opacity .5s var(--ease-draw),fill .5s var(--ease-draw)}.mark-layer.is-docking .elio-blob .body{opacity:0}.mark-layer.is-docking .elio-blob .core{fill:var(--color-brass)}.row-gap{display:flex;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.dev-tool{position:fixed;right:var(--space-md);bottom:var(--space-md);z-index:5;font-size:var(--font-size-xs);letter-spacing:.08em;text-transform:uppercase;padding:7px 11px;background:var(--color-panel);color:var(--color-brass-ink);border:1px solid var(--color-brass);border-radius:var(--shape-row);cursor:pointer;font-family:var(--font-sans),sans-serif}.dev-tool:hover{color:var(--color-on-panel)}.dev-tool:disabled{opacity:.5;cursor:wait}@keyframes ink-draw{0%{-webkit-clip-path:inset(0 102% 0 0);clip-path:inset(0 102% 0 0);opacity:.4}to{-webkit-clip-path:inset(0 -2% 0 0);clip-path:inset(0 -2% 0 0);opacity:1}}@keyframes lift{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes draw-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fill-meter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes settle-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}.home-greeting .display{animation:ink-draw .52s var(--ease-draw) both}.phase-label:after{transform:scaleX(1)}.meter>i{animation:fill-meter .6s var(--ease-draw) both}.rise{position:relative}.sched-window[open]{animation:lift .22s var(--ease-draw) both}.sched-window[open]::-webkit-backdrop{animation:fade-in .18s var(--ease-ui) both}.sched-window[open]::backdrop{animation:fade-in .18s var(--ease-ui) both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.splash{display:none}html[data-splash] .splash{display:flex;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;background:var(--color-deep);color:var(--color-on-deep);animation:splash-in .32s var(--ease-ui) both}html[data-splash] .splash.is-leaving{animation:splash-out .56s var(--ease-draw) both}.splash-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.splash-word{font-size:clamp(40px,6vw,56px);line-height:1;margin:0;color:var(--color-on-deep);animation:ink-draw .76s var(--ease-draw) .42s both}.splash-word:after{background:var(--color-brass-lit)}.splash-line{margin:0;font-size:var(--font-size-sm);color:var(--color-on-deep-muted);animation:lift .52s var(--ease-draw) .9s both}@keyframes splash-in{0%{opacity:0}to{opacity:1}}@keyframes splash-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-12px)}}.practice-builder{width:100%;max-width:880px;margin-inline:auto}.section-title{font:500 16px/1.4 var(--font-sans),sans-serif;letter-spacing:0}.desk-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);grid-gap:40px;gap:40px;align-items:start}.desk-sessions,.desk-support{min-width:0}.session-context{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted)}.desk-sessions .brief{padding:32px}.desk-sessions .brief-line{font-size:clamp(28px,2.6vw,36px);line-height:1.18;max-width:25ch}.session-reason{font-size:15px;line-height:1.65;color:var(--color-text-muted);max-width:60ch}.desk-sessions .brief-focus{gap:0}.desk-sessions .divider{margin-top:24px}.desk-sessions .brief-focus-item{padding:10px 0}.desk-sessions .brief-focus-item+.brief-focus-item{border-top:1px solid var(--color-border)}.desk-support .row-between{gap:12px;align-items:baseline;flex-wrap:wrap}.desk-subjects{border-top:1px solid var(--color-border-strong)}.desk-subjects .push-row{grid-template-columns:minmax(0,1fr) 50px;padding:20px 0;gap:16px}.desk-subjects .push-row .bar{display:none}.desk-subjects .push-row .who .n{line-height:1.4}.desk-subjects .push-row .who .t{margin-top:4px;line-height:1.5}.page>.shell-page>header{max-width:850px}.page>.shell-page>header .lede{margin-top:14px}.live-panel{background:var(--color-surface);-webkit-clip-path:none;clip-path:none;border:1px solid var(--color-border);border-radius:var(--shape-card)}.live-panel .label{color:var(--color-text-muted)}.pchart-strip .fig .n,.push-row .fig,.standing-row .fig{font-family:var(--font-sans),sans-serif;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pchart-strip .fig .big{font-size:clamp(32px,3.6vw,44px);font-weight:500}.pchart-card{padding:28px}.pchart-head{padding-bottom:12px}.auth-side{-webkit-clip-path:none;clip-path:none;background:var(--color-deep);color:var(--color-on-deep)}.auth-side-foot{color:var(--color-on-deep-muted)}.auth-main .lede{font-size:16px}.auth-card>.stack{margin-bottom:8px}.profile-plate{-webkit-clip-path:none;clip-path:none;border-radius:var(--shape-card)}.field-toggle,.nav-account,.select{min-height:44px}.nav-account{min-width:44px;justify-content:center;border-radius:var(--shape-row)}.nav-account.active{background:var(--color-surface);outline:1px solid var(--color-border)}@media (max-width:960px){.desk-layout{grid-template-columns:1fr;gap:32px}.desk-support{display:grid;grid-template-columns:1fr 1.3fr;grid-gap:28px;gap:28px;align-items:start}.desk-support>*+*{margin-top:0}}@media (max-width:820px){.auth-shell{grid-template-columns:1fr;min-height:0}.auth-side{--chamfer-panel:28px;gap:var(--space-lg);padding:var(--space-lg) var(--space-lg) calc(var(--space-lg) + 6px)}.auth-side .elio-blob{display:none}.auth-voice{font-size:var(--font-size-lg);max-width:none}.auth-side-foot{display:none}.auth-main{align-items:flex-start;padding:var(--space-xl) var(--space-lg)}}@media (max-width:640px){.reg-marks{display:none}.app-nav .inner{gap:var(--space-md)}.app-nav .brand{font-size:var(--font-size-lg)}.nav-secondary{gap:var(--space-md);min-width:0}.app-nav .links{overflow-x:auto;scrollbar-width:none}.app-nav .links a{font-size:var(--font-size-sm)}.app-nav .links a,.topic-list .sg-meta{white-space:nowrap}.topic-list .topic-name{font-size:var(--font-size-md)}.lesson-rows{padding-left:0}.lesson-row{grid-template-columns:1fr auto}.lesson-go{display:none}.lesson-compare{gap:var(--space-lg)}.lesson-compare,.live-panel{grid-template-columns:1fr}.live-panel-mark{display:none}.brief{padding:var(--space-lg)}.brief .brief-line{font-size:var(--font-size-lg);line-height:1.4}.prompt{font-size:20px}.card-lg,.panel-deep{padding:var(--space-lg)}.panel-deep{--chamfer-panel:20px}.auth-shell{padding:var(--space-lg) var(--space-md);align-items:flex-start}.plan-block{grid-template-columns:1fr;gap:var(--space-sm)}.concept-row{grid-template-columns:1fr 90px}.concept-row .due{display:none}.stat-line{gap:var(--space-lg)}.app-nav .links{gap:var(--space-md)}.nav-secondary{gap:var(--space-sm)}.completion-summary{gap:var(--space-md)}.sched-layout{grid-template-columns:1fr;gap:var(--space-lg)}.sched-rail{position:static;order:2}.sched-grid{gap:3px}.sched-dow{padding:0 0 2px;text-align:center;letter-spacing:0}.sched-day{min-height:60px;padding:5px 4px 6px;align-items:center}.sched-date{margin:0}.sched-mins,.sched-mon{display:none}.sched-top{justify-content:center}.sched-lines,.sched-note{display:none}.sched-marks{display:flex}.sched-window-inner{padding:var(--space-lg)}.cal-day{min-height:58px;padding:6px}.cal-day .mins{display:none}.docket-row,.pick-grid{grid-template-columns:1fr}.docket-row{gap:2px}.compare-row{grid-template-columns:1fr 96px 44px}.push-row{grid-template-columns:1fr 64px}.push-row .bar{display:none}.log-row{grid-template-columns:62px 1fr 52px}.log-row .du{display:none}.subject-row{grid-template-columns:1fr 88px 14px}.subject-row .grades{display:none}.scene-centred{padding:var(--space-xl) 0}.setup-body,.setup-foot,.setup-head{padding-left:var(--space-md);padding-right:var(--space-md)}.elio-voice{font-size:clamp(24px,7vw,30px);max-width:100%}.elio-voice.is-large{font-size:clamp(28px,8vw,36px);max-width:100%}.elio-why{font-size:var(--font-size-md)}.welcome-word{font-size:clamp(38px,12vw,56px)}.opt-grid,.opt-grid-4{grid-template-columns:1fr 1fr}.rail-count{width:100%;margin-left:0}.picture-cols{grid-template-columns:1fr;gap:var(--space-md)}.subject-layout{grid-template-columns:1fr;gap:var(--space-lg)}.subject-tray{position:static;border-left:0;padding-left:0;border-top:1px solid var(--color-border);padding-top:var(--space-md)}.sg-row{padding-left:var(--space-md)}.rs-row{grid-template-columns:1fr;gap:6px;align-items:start;padding:var(--space-sm) 0}.rs-head{gap:var(--space-sm)}.rs-whole{width:100%}.whole-pill{flex:1 1;text-align:center}.confidence-scale button,.state-scale button{flex:1 1;text-align:center;padding:6px 4px}.setup-foot-inner{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.setup-actions{justify-content:space-between}.chapter{padding:var(--space-xl) var(--space-md)}.comp{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-lg);padding:0}.comp.is-beside>.part-detail{margin-top:0}.comp.is-left>.part-detail,.comp.is-right>.part-voice{margin-left:10%}.comp.is-wide>.part-detail{margin-left:0}.chapter-rail{display:none}.chapter-mark{left:var(--space-md)}.standing-pair{grid-template-columns:1fr}.topic-row{grid-template-columns:1fr 96px}.topic-row .attempts,.topic-row .trend{display:none}html{scroll-padding-top:120px}.shell-page{padding-inline:20px}.page{padding-block:28px 48px}.app-nav .inner{min-height:0;padding-top:10px;gap:4px;flex-wrap:wrap}.app-nav .brand{font-size:25px}.app-nav .nav-secondary{display:contents}.app-nav .nav-account{margin-left:auto}.app-nav .links{order:3;width:100%;justify-content:space-between;gap:0;overflow:visible;padding:6px 0 10px}.app-nav .links a{font-size:13px;padding:10px 7px;min-height:42px;text-align:center}.backdrop{inset-block-start:112px;background-size:auto 100%;background-position:65% bottom;-webkit-mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.14) 18%,rgba(0,0,0,.14) 82%,#000);mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.14) 18%,rgba(0,0,0,.14) 82%,#000)}.desk-layout{gap:28px}.desk-support{display:flex;gap:28px}.desk-support>*{width:100%}.desk-sessions .brief{padding:24px 20px}.desk-sessions .brief-line{font-size:29px}.desk-sessions .brief-focus-item{line-height:1.55}.home-greeting .display{font-size:34px}.shelf-card{grid-template-columns:30px minmax(0,1fr) 36px;grid-template-areas:"level name go" ". meta ." ". bar .";gap:7px 10px;padding:20px 0}.shelf-name{font-size:22px}.shelf-bar{max-width:170px}.live-panel{padding:24px}.pchart-card{padding:20px 16px}.pchart-strip{gap:20px 12px}.auth-side{padding:24px}.auth-voice{max-width:24ch;font-size:27px}.auth-main{padding:32px 24px}.lesson-body{font-size:20px}.lesson-notes li{font-size:19px}.lesson-actions{align-items:stretch;flex-wrap:wrap}.lesson-actions .btn{flex:1 1}.colophon{padding-block:20px}}@media (max-width:400px){.app-nav .links a{padding-inline:4px;font-size:12px}}