@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[data-testid\=\"\$\{id\}\"\]\:visible:is(),.\[data-testid\=\'lesson-body\'\]\:visible:is(),.\[data-testid\=\'lesson-title\'\]\:visible:is(){visibility:visible}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#eee9e1;--paper-2:#fbf8f3;--paper-3:#e4ddd2;--ink:#1f1d1a;--ink-soft:#3a3631;--muted:#6c655c;--line:#1f1d1a;--hair:#d8d0c4;--on-fill:#1f1d1a;--sage:#8ec3bf;--sage-2:#c9e3e0;--sage-ink:#2f6966;--lime:#a8d672;--lime-2:#e3f2cf;--lime-ink:#3f6a16;--coral:#ee8371;--coral-2:#fbdcd5;--coral-ink:#9f3a2c;--sun:#f5c94f;--sun-2:#fcefc4;--sun-ink:#7a5a06;--flame:#f07b4f;--lilac:#b9a6e3;--accent:var(--sage);--accent-ink:var(--ink);--accent-text:var(--sage-ink);--terra:var(--sage);--terra-dark:var(--sage-ink);--good:var(--lime);--good-ink:var(--ink);--bad:var(--coral);--bad-ink:var(--ink);--locked:#9a9186;--code-bg:#24221f;--code-ink:#f1ece4;--stroke:2px;--r-sm:12px;--r-md:18px;--r-lg:26px;--lift:4px;--shadow:0 var(--lift) 0 var(--line);--shadow-soft:0 10px 30px #3c2d1924;--display:"Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--body:"Figtree Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.2, .7, .2, 1);--nav-h:calc(68px + env(safe-area-inset-bottom));--nav-w:0px;--rail-w:0px;--tutor-dock:0px;--kb:0px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#191a1d;--paper-2:#232529;--paper-3:#2d3035;--ink:#f2ede5;--ink-soft:#d9d3ca;--muted:#a8a197;--line:#08090a;--hair:#3a3d43;--sage-2:#24413f;--sage-ink:#a9dbd7;--lime-2:#2c3b1c;--lime-ink:#c4ea98;--coral-2:#43251f;--coral-ink:#ffb3a5;--sun-2:#3d3417;--sun-ink:#f8db86;--locked:#7c766e;--code-bg:#111214;--shadow-soft:0 10px 30px #0006}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:17px;line-height:1.5;overflow-x:clip}h1,h2,h3,.serif{font-family:var(--display);font-variation-settings:"SOFT" 100, "WONK" 0;letter-spacing:-.015em;text-wrap:balance;font-weight:650;line-height:1.12}p{text-wrap:pretty}button,a,input,textarea,label{touch-action:manipulation}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--sage-ink);outline-offset:3px}.app{background:var(--paper);width:100%;min-height:100dvh;position:relative;overflow-x:clip}.page{padding:16px 16px calc(var(--nav-h) + 28px)}.page-title{margin:4px 0 6px;font-size:34px}.lede{color:var(--muted);margin:0 0 18px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.topbar>div:first-child{flex:1;min-width:0}.eyebrow{color:var(--muted);overflow-wrap:break-word;margin:0;font-size:15px}.brand-title{margin:0 0 8px;font-size:clamp(40px,12vw,56px);line-height:1}.sticker,.card,.lesson-card,.queue-card,.badge,.choice,.check-row,.library-hit,.streak,.hours,.stat{background:var(--paper-2);border:var(--stroke) solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow)}.btn{--fill:var(--sage);--fill-ink:var(--on-fill);border-radius:var(--r-md);border:var(--stroke) solid var(--line);background:var(--fill);width:100%;min-height:54px;color:var(--fill-ink);box-shadow:0 var(--lift) 0 var(--line);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease), background-color .16s;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:17px;font-weight:750;text-decoration:none;display:inline-flex;position:relative}.btn:active:not(:disabled){transform:translateY(var(--lift));box-shadow:0 0 0 var(--line)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{--fill:var(--paper-2);--fill-ink:var(--ink)}.btn.ghost{--fill-ink:var(--ink-soft);--fill:transparent;box-shadow:none;color:var(--ink-soft);text-underline-offset:4px;border-color:#0000;text-decoration:underline}.btn.good{--fill:var(--lime)}.btn.bad{--fill:var(--coral)}.btn.sun{--fill:var(--sun)}.btn.icon{width:48px;min-width:48px;min-height:48px;padding:0}.btn.small{--lift:3px;width:auto;min-height:44px;padding:8px 14px;font-size:15px}.icon-btn{border:var(--stroke) solid var(--line);background:var(--paper-2);width:48px;height:48px;box-shadow:0 3px 0 var(--line);color:var(--ink);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);border-radius:999px;place-items:center;display:inline-grid}.icon-btn:active{box-shadow:none;transform:translateY(3px)}.icon-btn.plain{box-shadow:none;background:0 0;border:0}.icon-btn svg{width:22px;height:22px}.hud{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:var(--stroke) solid var(--line);background:var(--paper-2);min-height:48px;box-shadow:0 3px 0 var(--line);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 14px 4px 10px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.chip svg{flex:none;width:20px;height:20px}.chip.xp svg{color:var(--sun)}.chip.flame svg{color:var(--flame)}.chip.rank{background:var(--sage-2)}.chip[data-cold=true] svg{color:var(--locked)}.sync-badge{top:calc(8px + env(safe-area-inset-top));z-index:25;border:var(--stroke) solid var(--line);background:var(--sun-2);min-height:32px;color:var(--ink);box-shadow:0 2px 0 var(--line);border-radius:999px;align-items:center;gap:6px;margin:0;padding:4px 12px;font-size:14px;font-weight:700;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.sync-badge[data-state=synced]{background:var(--lime-2)}.sync-badge[data-state=offline]{background:var(--coral-2)}.stats{align-items:stretch;gap:10px;margin:8px 0 16px;display:flex}.streak,.hours{align-items:center;gap:10px;min-height:76px;padding:10px 12px;display:flex}.streak{flex:1;text-decoration:none}.streak strong{font-family:var(--display);font-size:30px;line-height:1;display:block}.streak span,.hours p{color:var(--muted);margin:0;font-size:14px;line-height:1.3}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 18px;display:grid}.stat{flex-direction:column;gap:2px;min-height:84px;padding:12px 44px 12px 14px;display:flex;position:relative}.stat strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px;line-height:1.05}.stat span{color:var(--muted);font-size:14px}.stat .stat-icon{width:26px;height:26px;position:absolute;top:12px;right:12px}.stat[data-tone=sun] .stat-icon{color:var(--sun)}.stat[data-tone=flame] .stat-icon{color:var(--flame)}.stat[data-tone=sage] .stat-icon{color:var(--sage-ink)}.stat[data-tone=lime] .stat-icon{color:var(--lime-ink)}.week-dots{gap:6px;margin-top:8px;display:flex}.week-dots span{border:var(--stroke) solid var(--hair);background:var(--paper);width:30px;height:30px;color:var(--muted);border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid}.week-dots span[data-on=true]{background:var(--sage);border-color:var(--line);color:var(--ink)}.week-dots span[data-today=true]{border-color:var(--line)}.path-hud{z-index:10;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--paper);margin:-16px -16px 14px;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.path-hud{background:color-mix(in srgb, var(--paper) 96%, transparent)}}.path-hud{border-bottom:1.5px solid var(--hair);-webkit-backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:8px;display:flex}.greeting{align-items:center;gap:12px;margin:4px 0 18px;display:flex}.greeting h1{margin:0;font-size:28px}.greeting p{color:var(--muted);margin:2px 0 0}.unit{border-radius:var(--r-lg);border:var(--stroke) solid var(--line);background:var(--phase-soft);box-shadow:var(--shadow);align-items:center;gap:14px;margin:0 0 8px;padding:16px 16px 16px 18px;display:flex;position:relative}.unit-text{flex:1;min-width:0}.unit-text h2{margin:2px 0 4px;font-size:26px}.unit-text p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.35}.unit-ring{flex:none;width:64px;height:64px}.unit-ring text{font-family:var(--body);fill:var(--ink);font-size:15px;font-weight:800}.phase{margin-bottom:34px}.week-label{color:var(--muted);align-items:center;gap:10px;margin:26px 4px 4px;font-size:14px;font-weight:800;display:flex}.week-label:before,.week-label:after{content:"";background:var(--hair);border-radius:2px;flex:1;height:2px}.track{padding:30px 0 4px;position:relative}.track-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.track-line path{fill:none;stroke:var(--hair);stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.track-line path.lit{stroke:var(--phase)}.node-row{justify-content:center;height:140px;display:flex;position:relative}.node{top:6px;left:calc(50% + var(--x) * 1px);text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;width:150px;padding:0;display:flex;position:absolute;transform:translate(-50%)}.node-dot{border:var(--stroke) solid var(--line);background:var(--phase);width:72px;height:68px;color:var(--ink);box-shadow:0 6px 0 var(--line);transition:transform .1s var(--ease), box-shadow .1s var(--ease);border-radius:22px;place-items:center;display:grid;position:relative}.node-dot svg{width:32px;height:32px}.node:active .node-dot{box-shadow:0 0 0 var(--line);transform:translateY(6px)}.node[data-state=done] .node-dot{background:var(--phase)}.node[data-state=open] .node-dot{background:var(--paper-2)}.node[data-state=locked] .node-dot{background:var(--paper-3);color:var(--locked);border-color:var(--locked);box-shadow:0 6px 0 var(--locked)}.node[data-kind=checkpoint] .node-dot{background:var(--sun);border-radius:999px;width:76px;height:76px}.node[data-kind=checkpoint][data-state=locked] .node-dot{background:var(--paper-3)}.node-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:150px;font-size:14px;font-weight:750;line-height:1.2;display:-webkit-box;overflow:hidden}.node[data-state=locked] .node-title{color:var(--muted);font-weight:650}.node-preview{display:none}.start-bubble{border:var(--stroke) solid var(--line);background:var(--paper-2);letter-spacing:.04em;white-space:nowrap;color:var(--sage-ink);box-shadow:0 3px 0 var(--line);border-radius:10px;padding:3px 10px;font-size:13px;font-weight:900;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.start-bubble:after{content:"";background:var(--paper-2);border-right:var(--stroke) solid var(--line);border-bottom:var(--stroke) solid var(--line);width:10px;height:10px;margin-top:-4px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.node[data-state=current] .node-dot{background:var(--paper-2)}.node[data-state=current] .node-dot:before{content:"";border:4px solid var(--phase);opacity:.9;border-radius:28px;position:absolute;inset:-9px}.path-mascot{pointer-events:none;width:64px;position:absolute;top:18px}.sheet{background:var(--paper-2);border-top:var(--stroke) solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;padding:10px 18px calc(20px + env(safe-area-inset-bottom));z-index:30;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #281e0f2e}.sheet:before{content:"";background:var(--hair);border-radius:99px;width:44px;height:5px;margin:0 auto 12px;display:block}.sheet h2{margin:6px 0;font-size:26px}.sheet-lock{align-items:center;gap:12px;display:flex}.sheet-lock .lock-tile{border:var(--stroke) solid var(--line);background:var(--paper-3);width:54px;height:54px;box-shadow:0 4px 0 var(--line);border-radius:16px;flex:none;place-items:center;display:grid}.scrim{z-index:29;background:#1f1d1a52;position:fixed;inset:0}.banner{top:calc(10px + env(safe-area-inset-top));z-index:45;border-radius:var(--r-md);border:var(--stroke) solid var(--line);background:var(--sun-2);box-shadow:var(--shadow), var(--shadow-soft);text-align:left;align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;left:12px;right:12px}.banner strong{font-family:var(--display);font-size:19px;display:block}.banner p{color:var(--ink-soft);margin:0;font-size:14px}.banner .medal{flex:none;width:46px;height:46px}.nav-brand{margin:0;display:none}.nav{width:100%;height:var(--nav-h);padding:6px 6px env(safe-area-inset-bottom);background:var(--paper-2);border-top:var(--stroke) solid var(--line);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.nav a{min-height:52px;color:var(--muted);border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:750;text-decoration:none;display:flex}.nav a svg{width:26px;height:26px;transition:transform .2s var(--spring)}.nav a[data-active=true]{color:var(--ink)}.nav a[data-active=true] .nav-ico{background:var(--sage);border-color:var(--line)}.nav a[data-active=true] svg{transform:translateY(-1px)scale(1.06)}.nav-ico{border:var(--stroke) solid transparent;border-radius:12px;place-items:center;width:46px;height:32px;display:grid}.nav-label{line-height:1}.lesson-top{z-index:12;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--paper);align-items:center;gap:10px;margin:-16px -16px 12px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.lesson-top{background:color-mix(in srgb, var(--paper) 90%, transparent)}}.lesson-top{-webkit-backdrop-filter:blur(8px)}.progress{border:var(--stroke) solid var(--line);background:var(--paper-2);border-radius:99px;flex:1;height:16px;overflow:hidden}.progress>i{height:100%;width:var(--p,0%);background:var(--sage);border-right:var(--stroke) solid var(--line);transition:width .45s var(--spring);border-radius:0 99px 99px 0;display:block;position:relative}.progress>i:after{content:"";background:#ffffff8c;border-radius:99px;height:3px;position:absolute;top:3px;left:8px;right:8px}.progress[data-full=true]>i{border-right:0}.combo{color:var(--flame);white-space:nowrap;align-items:center;gap:4px;font-size:14px;font-weight:900;display:inline-flex}.combo svg{width:18px;height:18px}.combo-burst{text-align:center;letter-spacing:.06em;color:var(--flame);margin:-4px 0 8px;font-size:14px;font-weight:900}.lesson-meta{color:var(--muted);margin:0;font-size:14px;font-weight:700}.lesson-title{margin:2px 0 14px;font-size:28px}.lesson-card{box-shadow:0 6px 0 var(--line);border-radius:var(--r-lg);margin-bottom:12px;padding:20px 18px}.lesson-card h1,.lesson-card h2{margin:0 0 10px;font-size:26px}.lesson-card p{margin:0 0 14px;line-height:1.6}.lesson-card ul,.lesson-card ol{margin:0 0 14px;padding-left:1.2em}.lesson-card li{margin:6px 0}.lesson-card li::marker{color:var(--sage-ink);font-weight:800}.lesson-card strong{background:linear-gradient(transparent 58%, var(--sun-2) 58%);padding:0 1px}.screen-dots{justify-content:center;gap:6px;margin-top:6px;display:flex}.screen-dots i{background:var(--hair);width:8px;height:8px;transition:width .25s var(--spring), background .2s;border-radius:99px}.screen-dots i[data-on=true]{background:var(--ink);width:22px}.swipe-hint{text-align:center;color:var(--muted);margin:4px 0 0;font-size:13px}pre{background:var(--code-bg);max-width:100%;color:var(--code-ink);border:var(--stroke) solid var(--line);font-family:var(--mono);border-radius:14px;margin:0 0 14px;padding:14px;font-size:13.5px;line-height:1.55;overflow-x:auto}code{font-family:var(--mono);font-size:.9em}.thumb{left:var(--nav-w);right:calc(var(--rail-w) + var(--tutor-dock));bottom:calc(var(--nav-h) + var(--kb));background:linear-gradient(transparent, var(--paper) 30%);z-index:15;width:auto;padding:18px 16px 14px;position:fixed}@media (max-width:1023px){html[data-lesson]{--nav-h:env(safe-area-inset-bottom)}html[data-lesson] .nav{display:none}}.prompt{margin:4px 0 16px;font-size:24px}.prompt-tag{color:var(--sage-ink);align-items:center;gap:6px;margin:0 0 6px;font-size:14px;font-weight:800;display:inline-flex}.prompt-tag svg{width:18px;height:18px}.choice,.check-row{width:100%;min-height:56px}.choice{text-align:left;transition:transform 90ms var(--ease), box-shadow 90ms var(--ease), background-color .16s, border-color .16s;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;font-weight:650;display:flex}.choice:active{transform:translateY(var(--lift));box-shadow:none}.choice-key{border:var(--stroke) solid var(--hair);width:30px;height:30px;color:var(--muted);border-radius:9px;flex:none;place-items:center;font-size:13px;font-weight:900;display:grid}.choice[data-selected=true]{background:var(--sage-2)}.choice[data-selected=true] .choice-key{background:var(--sage);border-color:var(--line);color:var(--ink)}.choice[data-good=true]{background:var(--lime-2)}.choice[data-good=true] .choice-key{background:var(--lime);border-color:var(--line);color:var(--ink)}.choice[data-bad=true]{background:var(--coral-2)}.choice[data-bad=true] .choice-key{background:var(--coral);border-color:var(--line);color:var(--ink)}.check-row{cursor:pointer;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-weight:600;display:flex}.check-row input[type=checkbox]{appearance:none;border:var(--stroke) solid var(--line);background:var(--paper);cursor:pointer;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;margin:0;display:grid}.check-row input[type=checkbox]:after{content:"";border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);width:12px;height:7px;transition:transform .22s var(--spring);transform:translateY(-2px)rotate(-45deg)scale(0)}.check-row input[type=checkbox]:checked{background:var(--lime)}.check-row input[type=checkbox]:checked:after{transform:translateY(-2px)rotate(-45deg)scale(1)}.check-row:has(input:checked){background:var(--lime-2)}.field{border-radius:var(--r-sm);border:var(--stroke) solid var(--line);background:var(--paper-2);width:100%;min-height:54px;padding:13px 14px;font-size:16px;box-shadow:inset 0 3px #1f1d1a0f}.field::placeholder{color:var(--locked)}.field:focus{border-color:var(--sage-ink);box-shadow:0 0 0 4px var(--sage-2);outline:none}textarea.field{resize:vertical;min-height:120px;line-height:1.5}.row{gap:10px;display:flex}.row>*{flex:1}.review{background:var(--sun-2);border:var(--stroke) solid var(--line);border-radius:var(--r-md);align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;display:flex}.review p{margin:0 0 10px}.tf{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tf .btn{min-height:64px;font-size:19px}.tf .btn svg{width:22px;height:22px}.feedback{left:var(--nav-w);right:calc(var(--rail-w) + var(--tutor-dock));z-index:26;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-top:var(--stroke) solid var(--line);background:var(--lime-2);position:fixed;bottom:0}.feedback[data-tone=bad]{background:var(--coral-2)}.feedback-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.feedback-head .mascot{flex:none;width:62px}.feedback-bubble{border:var(--stroke) solid var(--line);background:var(--paper-2);border-radius:14px;flex:1;padding:8px 12px;position:relative}.feedback-bubble:before{content:"";background:var(--paper-2);border-left:var(--stroke) solid var(--line);border-bottom:var(--stroke) solid var(--line);width:12px;height:12px;position:absolute;top:18px;left:-8px;transform:rotate(45deg)}.feedback-bubble strong{font-family:var(--display);color:var(--lime-ink);font-size:21px;display:block}.feedback[data-tone=bad] .feedback-bubble strong{color:var(--coral-ink)}.feedback-bubble p{color:var(--ink-soft);margin:0;font-size:15px}.feedback .xp-pop{margin-left:auto}.done-panel{text-align:center;padding:8px 0 120px}.done-panel h1{margin:10px 0 6px;font-size:34px}.done-panel>p{color:var(--muted);margin:0 0 6px}.done-mascot{width:150px;margin:8px auto 0;display:block}.result-tiles{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 16px;display:grid}.result-tile{border:var(--stroke) solid var(--line);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow);overflow:hidden}.result-tile b{background:var(--tone);border-bottom:var(--stroke) solid var(--line);padding:4px;font-size:12px;font-weight:900;display:block}.result-tile span{font-family:var(--display);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;padding:12px 4px;font-size:24px;font-weight:700;display:flex}.result-tile svg{width:20px;height:20px}.goal{text-align:left;border:var(--stroke) solid var(--line);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow);margin:0 0 14px;padding:12px 14px}.goal-row{justify-content:space-between;margin-bottom:8px;font-size:14px;font-weight:750;display:flex}.goal-row span:last-child{color:var(--muted);font-variant-numeric:tabular-nums}.concepts{flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0 16px;display:flex}.concepts span{border:1.5px solid var(--hair);background:var(--paper-2);color:var(--ink-soft);border-radius:99px;padding:4px 10px;font-size:13px;font-weight:650}.xp-track{border:var(--stroke) solid var(--line);background:var(--paper);border-radius:99px;height:16px;overflow:hidden}.xp-fill{background:var(--sun);border-right:var(--stroke) solid var(--line);height:100%;transition:width .9s var(--ease);border-radius:0 99px 99px 0}.xp-fill.sage{background:var(--sage)}.badge-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.badge{text-align:center;min-height:168px;transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);flex-direction:column;align-items:center;gap:4px;padding:14px 12px;display:flex}.badge:active{transform:translateY(var(--lift));box-shadow:none}.badge .medal{width:74px;height:74px;margin-bottom:4px}.badge strong{font-family:var(--display);font-size:17px;line-height:1.15;display:block}.badge p{color:var(--muted);margin:2px 0 0;font-size:13.5px;line-height:1.3}.badge[data-earned=false]{background:var(--paper);box-shadow:none;border-style:dashed}.badge[data-earned=false] .medal{filter:grayscale();opacity:.45}.badge[data-earned=false] strong{color:var(--muted)}.badge-mark{display:none}.shelf-head{justify-content:space-between;align-items:baseline;margin:0 0 12px;display:flex}.shelf-head h2{margin:0;font-size:22px}.shelf-head span{color:var(--muted);font-size:14px;font-weight:700}.rush-hero{align-items:center;gap:14px;margin:0 0 16px;display:flex}.rush-hero .mascot{flex:none;width:92px}.rush-modes{gap:12px;display:grid}.mode-card{text-align:left;border:var(--stroke) solid var(--line);border-radius:var(--r-md);background:var(--paper-2);width:100%;box-shadow:var(--shadow);transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);align-items:center;gap:14px;padding:14px;display:flex}.mode-card:active{transform:translateY(var(--lift));box-shadow:none}.mode-card .mode-ico{border:var(--stroke) solid var(--line);background:var(--tone,var(--sage));border-radius:16px;flex:none;place-items:center;width:52px;height:52px;display:grid}.mode-card .mode-ico svg{width:28px;height:28px}.mode-card strong{font-family:var(--display);font-size:20px;display:block}.mode-card span{color:var(--muted);font-size:14px}.mode-card .best{text-align:right;color:var(--muted);margin-left:auto;font-size:13px;font-weight:800}.mode-card .best b{font-family:var(--display);color:var(--ink);font-size:22px;display:block}.rush-top{align-items:center;gap:12px;margin-bottom:12px;display:flex}.rush-score{font-family:var(--display);font-variant-numeric:tabular-nums;min-width:48px;font-size:34px;font-weight:700;line-height:1}.timer{flex:1}.timer .progress>i{background:var(--sun);transition:width .2s linear}.timer[data-low=true] .progress>i{background:var(--coral)}.timer small{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:13px;font-weight:800;display:block}.strikes,.hearts{gap:4px;display:flex}.hearts svg{width:26px;height:26px;color:var(--coral);transition:transform .3s var(--spring)}.hearts svg[data-lost=true]{color:var(--hair);transform:scale(.82)}.deck{height:min(52dvh,360px);margin:6px 0 10px;position:relative}.rush-card,.deck-under{border:var(--stroke) solid var(--line);background:var(--paper-2);box-shadow:0 6px 0 var(--line);border-radius:28px;position:absolute;inset:0}.deck-under{background:var(--paper-3);transform:translateY(14px)scale(.94)}.deck-under.two{background:var(--hair);transform:translateY(26px)scale(.88)}.rush-card{text-align:center;font-family:var(--display);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;justify-content:center;align-items:center;padding:26px 22px;font-size:25px;line-height:1.3;display:flex}.rush-card:before,.rush-card:after{font-family:var(--body);letter-spacing:.06em;border:3px solid;border-radius:10px;padding:2px 10px;font-size:20px;font-weight:900;position:absolute;top:18px}.rush-card:before{content:"TRUE";color:var(--lime-ink);opacity:var(--t,0);left:18px;transform:rotate(-12deg)}.rush-card:after{content:"FALSE";color:var(--coral-ink);opacity:var(--f,0);right:18px;transform:rotate(12deg)}.rated-card,.rated-card .rush-card{min-height:240px;position:relative}.end{text-align:center;padding-top:8px}.end h1{margin:8px 0 12px;font-size:36px}.score-card{border:var(--stroke) solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);max-width:360px;box-shadow:0 6px 0 var(--line);margin:0 auto 18px;padding:18px}.score-card .big{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:64px;font-weight:700;line-height:1}.score-card p{color:var(--muted);margin:6px 0 0}.pb{border:var(--stroke) solid var(--line);background:var(--sun);border-radius:99px;align-items:center;gap:6px;margin-top:10px;padding:4px 12px;font-size:14px;font-weight:900;display:inline-flex}.pb svg{width:18px;height:18px}.search{margin-bottom:14px;position:relative}.search svg{width:20px;height:20px;color:var(--muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search .field{border-radius:99px;padding-left:44px}.library-hit{min-height:64px;transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;text-decoration:none;display:flex}.library-hit:active{transform:translateY(var(--lift));box-shadow:none}.library-hit .tile{border:var(--stroke) solid var(--line);background:var(--phase,var(--sage));border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.library-hit .tile svg{width:22px;height:22px}.library-hit strong{line-height:1.25;display:block}.library-hit small{color:var(--muted);font-size:13px}.empty{color:var(--muted);text-align:center;padding:20px 8px}.empty .mascot{width:120px;margin:0 auto 10px;display:block}.profile-head{align-items:center;gap:14px;margin:4px 0 16px;display:flex}.avatar{border:var(--stroke) solid var(--line);background:var(--sage);width:72px;height:72px;box-shadow:var(--shadow);font-family:var(--display);border-radius:24px;flex:none;place-items:center;font-size:34px;font-weight:700;display:grid}.profile-head h1{margin:0;font-size:30px}.rank-card{margin-bottom:14px;padding:14px}.rank-row{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.rank-row strong{font-family:var(--display);font-size:22px}.rank-row span{color:var(--muted);font-size:14px;font-weight:700}.ladder{gap:4px;margin-top:10px;display:flex}.ladder i{background:var(--hair);border-radius:99px;flex:1;height:8px}.ladder i[data-on=true]{background:var(--sun)}.settings-list{border:var(--stroke) solid var(--line);border-radius:var(--r-md);background:var(--paper-2);box-shadow:var(--shadow);margin:0 0 14px;overflow:hidden}.setting{border:0;border-bottom:1.5px solid var(--hair);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 14px;display:flex}.setting:last-child{border-bottom:0}.setting small{color:var(--muted);font-size:13px;display:block}.switch{border:var(--stroke) solid var(--line);background:var(--paper-3);border-radius:99px;flex:none;width:50px;height:30px;transition:background .16s;position:relative}.switch:after{content:"";border:var(--stroke) solid var(--line);background:var(--paper-2);width:22px;height:22px;transition:transform .22s var(--spring);border-radius:99px;position:absolute;top:2px;left:2px}.switch[data-on=true]{background:var(--sage)}.switch[data-on=true]:after{transform:translate(20px)}.seg{border:var(--stroke) solid var(--line);border-radius:12px;display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;min-height:44px;padding:6px 12px;font-size:14px;font-weight:800}.seg button[aria-pressed=true]{background:var(--sage)}.seg button+button{border-left:var(--stroke) solid var(--line)}.signin{flex-direction:column;min-height:calc(100dvh - 32px);display:flex;position:relative}.signin-top{justify-content:flex-end;display:flex}.signin-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 0;display:flex}.signin-hero .mascot{width:160px;margin-bottom:8px}.signin-hero p{color:var(--ink-soft);max-width:30ch;margin:0 auto}.signin-actions{gap:12px;display:grid}.signin form{gap:10px;margin-top:6px;display:grid}.divider{color:var(--muted);align-items:center;gap:10px;margin:6px 0;font-size:13px;font-weight:700;display:flex}.divider:before,.divider:after{content:"";background:var(--hair);flex:1;height:2px}.tutor-fab{z-index:18;border:var(--stroke) solid var(--line);background:var(--paper-2);width:58px;height:58px;box-shadow:0 4px 0 var(--line);bottom:calc(var(--nav-h) + var(--kb) + 14px);right:calc(14px + env(safe-area-inset-right,0px) + var(--tutor-dock));transition:transform 90ms var(--ease), box-shadow 90ms var(--ease);border-radius:20px;place-items:center;padding:0;display:grid;position:fixed}.tutor-fab:active{box-shadow:none;transform:translateY(4px)}.tutor-fab .mascot{width:44px}.tutor-fab[data-raised=true],html[data-lesson] .tutor-fab{bottom:calc(var(--nav-h) + var(--kb) + 92px)}.tutor-panel{z-index:24;width:100%;left:0;right:0;top:calc(env(safe-area-inset-top,0px) + 24px);bottom:calc(var(--nav-h) + var(--kb));background:var(--paper);border:var(--stroke) solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:0;flex-direction:column;display:flex;position:fixed;box-shadow:0 -12px 40px #281e0f33}.tutor-head,.tutor-form{align-items:center;gap:10px;padding:12px 16px;display:flex}.tutor-head{border-bottom:var(--stroke) solid var(--hair)}.tutor-head .mascot{width:40px}.tutor-head strong{font-family:var(--display);flex:1;font-size:20px}.tutor-close{width:auto;min-width:48px;min-height:44px}.tutor-log{flex:1;padding:14px 16px;overflow:auto}.tutor-user,.tutor-reply{white-space:pre-wrap;overflow-wrap:anywhere;border:var(--stroke) solid var(--line);border-radius:18px;margin:0 0 10px;padding:10px 14px}.tutor-user{background:var(--sage);border-bottom-right-radius:6px;margin-left:40px}.tutor-reply{background:var(--paper-2);border-bottom-left-radius:6px;margin-right:32px}.tutor-reply[data-role=note]{background:var(--sun-2);color:var(--ink-soft)}.tutor-empty{text-align:center;color:var(--muted);padding:24px 12px}.tutor-empty .mascot{width:96px;margin:0 auto 8px;display:block}.tutor-form{border-top:var(--stroke) solid var(--hair);align-items:flex-end}.tutor-form .field{min-height:54px;font-size:16px}.tutor-form .btn{width:auto;min-width:76px}.typing{gap:4px;display:inline-flex}.typing i{background:var(--muted);border-radius:99px;width:7px;height:7px;animation:1s infinite blink}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.queue-card{margin-bottom:14px;padding:16px}.queue-card h2{margin:0 0 6px;font-size:24px}.node[data-state=done] .node-dot,.node[data-kind=checkpoint]:not([data-state=locked]) .node-dot,.choice[data-selected=true] .choice-key,.choice[data-good=true] .choice-key,.choice[data-bad=true] .choice-key,.avatar,.result-tile b,.mode-card .mode-ico,.seg button[aria-pressed=true],.pb,.nav a[data-active=true] .nav-ico,.tutor-user,.library-hit .tile,.week-dots span[data-on=true],.chip.rank{color:var(--on-fill)}html[data-theme=dark] .chip.rank{background:var(--sage)}.check-row input[type=checkbox]:after{border-color:var(--on-fill)}.mascot{display:block;overflow:visible}.mascot .m-body{fill:var(--sage)}.mascot .m-face{fill:var(--paper-2)}.mascot .m-ink{fill:var(--ink)}.mascot .m-stroke{stroke:var(--ink)}.mascot .m-lens{fill:var(--sun-2)}.mascot .m-cheek{fill:var(--coral);opacity:.55}html[data-theme=dark] .mascot .m-face{fill:#f6f1e8}html[data-theme=dark] .mascot .m-ink{fill:#1f1d1a}html[data-theme=dark] .mascot .m-stroke{stroke:#08090a}.mascot .m-feet{fill:var(--ink)}html[data-theme=dark] .mascot .m-feet{fill:#6d7682}html[data-theme=dark] .mascot .m-lens{fill:#fcefc4}.confetti{pointer-events:none;z-index:40;display:none;position:fixed;inset:0;overflow:hidden}html[data-saver=off] .confetti.show{display:block}.confetti i{width:var(--w,9px);height:var(--h,14px);border:1.5px solid var(--line);background:var(--c);opacity:0;animation:burst 1.4s var(--ease) var(--d,0s) forwards;border-radius:3px;position:absolute;top:38%;left:50%}html[data-saver=off] .node[data-state=current] .node-dot{animation:2.2s ease-in-out infinite bob}html[data-saver=off] .start-bubble{animation:2.2s ease-in-out infinite bubble}html[data-saver=off] .pop{animation:pop .42s var(--spring) both}html[data-saver=off] .shake{animation:.42s both shake}html[data-saver=off] .rise{animation:rise .42s var(--spring) both}html[data-saver=off] .slide-up{animation:slideUp .32s var(--spring) both}html[data-saver=off] .drop-in{animation:dropIn .42s var(--spring) both}html[data-saver=off] .xp-fly{animation:xpFly .9s var(--ease) both}html[data-saver=off] .wiggle{transform-origin:50% 90%;animation:1.6s ease-in-out infinite wiggle}html[data-saver=off] .stagger>*{animation:rise .46s var(--spring) both}html[data-saver=off] .stagger>:nth-child(2){animation-delay:90ms}html[data-saver=off] .stagger>:nth-child(3){animation-delay:.18s}html[data-saver=off] .stagger>:nth-child(4){animation-delay:.27s}html[data-saver=off] .heart-lost{animation:.5s both heartLost}html[data-saver=off] .mascot .m-blink{transform-origin:50%;transform-box:fill-box;animation:4.5s infinite eyeBlink}html[data-saver=off] .mascot[data-mood=cheer]{animation:hop .9s var(--spring) infinite}@keyframes bob{0%,to{transform:none}50%{transform:translateY(-5px)}}@keyframes bubble{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:none}}@keyframes shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}@keyframes dropIn{0%{transform:translateY(-140%)}to{transform:none}}@keyframes xpFly{0%{opacity:0;transform:translateY(6px)scale(.7)}30%{opacity:1;transform:translateY(0)scale(1.1)}to{opacity:0;transform:translateY(-26px)scale(1)}}@keyframes wiggle{0%,to{transform:none}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes heartLost{0%{transform:scale(1)}30%{transform:scale(1.35)}to{transform:scale(.82)}}@keyframes eyeBlink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes hop{0%,to{transform:none}40%{transform:translateY(-10px)}}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r)) scale(1)}}html[data-saver=on] *,html[data-saver=on] :before,html[data-saver=on] :after{transition-duration:0s!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation:none!important}.confetti,html[data-saver=off] .confetti.show{display:none}}.progress-rail{display:none}.desk-split{flex-direction:column;gap:8px;display:flex}.desk-side{display:none}.mentor-split{display:block}@media (min-width:1024px){:root{--nav-h:0px;--nav-w:248px}html[data-rail]{--rail-w:300px}html[data-tutor-open]{--tutor-dock:400px}.nav{width:var(--nav-w);border-top:0;border-right:var(--stroke) solid var(--line);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;height:100dvh;padding:22px 14px;top:0;bottom:0;right:auto}.nav-brand{font-family:var(--display);font-variation-settings:"SOFT" 100;color:var(--ink);align-items:center;gap:10px;margin:0 6px 20px;font-size:26px;font-weight:700;display:flex}.nav-brand .mascot{width:38px}.nav a{border:var(--stroke) solid transparent;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;min-height:52px;padding:0 10px;font-size:16px}.nav a:hover{background:var(--paper)}.nav a[data-active=true]{background:var(--sage-2);border-color:var(--line);box-shadow:0 3px 0 var(--line)}.nav a[data-active=true] .nav-ico{background:0 0;border-color:#0000}.page{margin-left:var(--nav-w);margin-right:calc(var(--rail-w) + var(--tutor-dock));max-width:920px;padding:32px 40px 120px}.path-page{max-width:1120px}.path-hud{margin:-32px -40px 18px;padding:16px 40px}.lesson-top{margin:-32px -40px 16px;padding:16px 40px}main[data-testid=rush],main[data-testid=rush-home],main[data-testid=rush-end],main[data-testid=rated-card],main[data-testid=mentor-queue]{max-width:1000px}.desk-split{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:32px;display:grid}.desk-main{grid-area:1/1;width:100%;max-width:560px;margin:0 auto}.desk-side{grid-area:1/2;display:block;position:sticky;top:92px}.desk-side>*+*{margin-top:14px}.desk-side .stats{flex-direction:column}.progress-rail{top:24px;right:calc(24px + var(--tutor-dock));border:var(--stroke) solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);width:276px;box-shadow:var(--shadow);z-index:12;padding:16px;display:block;position:fixed}.progress-rail h2{margin:4px 0 0;font-size:26px}.rail-xp{color:var(--sun-ink);margin:4px 0 12px;font-weight:800}.progress-rail .btn{margin-top:8px}.deck{max-width:640px;height:380px}.rush-card{font-size:32px}.rush-modes{grid-template-columns:repeat(3,1fr)}.tf{max-width:640px}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.mentor-split{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;gap:24px;display:grid}.sheet{left:calc(var(--nav-w) + 24px);width:min(460px, calc(100% - var(--nav-w) - var(--tutor-dock) - 48px));border:var(--stroke) solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow), var(--shadow-soft);bottom:24px;right:auto}.banner{width:380px;left:auto;right:24px}.feedback{padding-left:40px;padding-right:40px}.feedback>*{max-width:760px}.tutor-fab,.tutor-fab[data-raised=true],html[data-lesson] .tutor-fab{bottom:24px;right:calc(28px + var(--tutor-dock))}.tutor-panel{border:0;border-left:var(--stroke) solid var(--line);border-radius:0;width:400px;inset:0 0 0 auto}.sync-badge{left:calc(var(--nav-w) + 24px);transform:none}main[data-testid=sign-in]{max-width:460px;margin:0 auto}.signin{justify-content:center;min-height:100dvh}.signin-hero{flex:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
