@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-6{right:-1.5rem}.-top-4{top:-1rem}.bottom-8{bottom:2rem}.right-8{right:2rem}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-30{z-index:30}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-\[100dvh\]{height:100dvh}.h-full{height:100%}.max-h-none{max-height:none}.min-h-11{min-height:2.75rem}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scroll-mt-24{scroll-margin-top:6rem}.scroll-mt-28{scroll-margin-top:7rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-\[color\:rgba\(124\,58\,237\,0\.15\)\]{border-color:#7c3aed26}.border-lavender{--tw-border-opacity:1;border-color:rgb(var(--lavender-rgb) / var(--tw-border-opacity,1))}.border-lavender-deep\/15{border-color:rgb(var(--lavender-deep-rgb) / .15)}.border-lavender-deep\/40{border-color:rgb(var(--lavender-deep-rgb) / .4)}.bg-lavender-deep{--tw-bg-opacity:1;background-color:rgb(var(--lavender-deep-rgb) / var(--tw-bg-opacity,1))}.bg-lavender\/10{background-color:rgb(var(--lavender-rgb) / .1)}.bg-paper\/95{background-color:rgb(var(--paper-rgb) / .95)}.bg-white\/60{background-color:#fff9}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-center{text-align:center}.font-display{font-family:Nunito Variable,ui-rounded,system-ui,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tracking-wide{letter-spacing:.025em}.text-ink{--tw-text-opacity:1;color:rgb(var(--ink-rgb) / var(--tw-text-opacity,1))}.text-ink-muted{--tw-text-opacity:1;color:rgb(var(--ink-muted-rgb) / var(--tw-text-opacity,1))}.text-ink-soft{--tw-text-opacity:1;color:rgb(var(--ink-soft-rgb) / var(--tw-text-opacity,1))}.text-ink-soft\/80{color:rgb(var(--ink-soft-rgb) / .8)}.text-ink-soft\/90{color:rgb(var(--ink-soft-rgb) / .9)}.text-lavender-deep{--tw-text-opacity:1;color:rgb(var(--lavender-deep-rgb) / var(--tw-text-opacity,1))}.text-paper{--tw-text-opacity:1;color:rgb(var(--paper-rgb) / var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(var(--success-rgb) / var(--tw-text-opacity,1))}.text-sunflower-darker{--tw-text-opacity:1;color:rgb(var(--sunflower-darker-rgb) / var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-80{opacity:.8}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);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)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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)}.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)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--canvas:#f8f6f1;--paper:#fffdfa;--surface:#fffdfa;--line:#ded8e4;--ink:#28213b;--ink-soft:#50465d;--ink-muted:#756b80;--ink-rgb:40 33 59;--ink-soft-rgb:80 70 93;--ink-muted-rgb:117 107 128;--lavender:#d4c3e8;--lavender-soft:#ebe3f7;--lavender-deep:#6e48a5;--lavender-rgb:212 195 232;--lavender-soft-rgb:235 227 247;--lavender-deep-rgb:110 72 165;--sunflower:#ead59c;--sunflower-deep:#cfa44a;--sunflower-darker:#8d6424;--sunflower-rgb:234 213 156;--sunflower-deep-rgb:207 164 74;--sunflower-darker-rgb:141 100 36;--sky-high:#f5f1f8;--sky-mid:#ede5f5;--sky-low:#f5eedc;--sky-high-rgb:245 241 248;--sky-mid-rgb:237 229 245;--sky-low-rgb:245 238 220;--paper-rgb:255 253 250;--leaf:#596d4c;--leaf-rgb:89 109 76;--success:#2f7054;--success-rgb:47 112 84;--font-rounded:"Nunito Variable", ui-rounded, system-ui, sans-serif;--radius:28px;--radius-control:16px;--header-height:5rem;--shadow:0 5px 0 #ebe5ed, 0 10px 24px -18px #28213b29;--shadow-button:0 3px 0 #ded5e8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);min-height:100%;scroll-padding-top:100px}body{min-height:100%;font-family:var(--font-rounded);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:500;line-height:1.65}#root{isolation:isolate;min-height:100vh}button,a,input{-webkit-tap-highlight-color:transparent;scroll-margin-top:100px}button{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}::selection{background:var(--lavender);color:var(--ink)}:focus-visible{outline:3px solid var(--lavender-deep);outline-offset:4px}main:focus{outline:none}.app-content{padding-top:var(--header-height);background-image:radial-gradient(#b5a4c327 .8px,#0000 .8px);background-size:24px 24px;min-height:100vh}.ui-page{width:min(100%,1184px);margin-inline:auto;padding-inline:32px}.ui-eyebrow{color:var(--lavender-deep);letter-spacing:.015em;margin:0;font-size:.8125rem;font-weight:800;line-height:1.5}.ui-title,.ui-heading{font-family:var(--font-rounded);letter-spacing:-.04em;text-wrap:balance;font-weight:850}.ui-title{margin:0;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.15}.ui-heading{margin:0;font-size:clamp(1.625rem,3vw,2.25rem);line-height:1.25}.ui-lead{max-width:62ch;color:var(--ink-soft);font-size:1.0625rem;line-height:1.75}.ui-panel,.paper{background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.ui-divider{border:0;border-top:2px dashed var(--line)}.ui-button{border-radius:var(--radius-control);white-space:normal;text-align:center;border:2px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:46px;font-size:.9375rem;font-weight:800;line-height:1.4;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex}.ui-button-md{padding:11px 18px}.ui-button-sm{padding:9px 12px;font-size:.8125rem}.ui-button-lg{min-height:52px;padding:14px 23px}.ui-button-primary{background:var(--lavender-deep);color:var(--paper);border-color:var(--lavender-deep);box-shadow:0 4px #50317e}.ui-button-primary:hover{background:#7952b1;border-color:#7952b1;transform:translateY(-2px);box-shadow:0 6px #50317e}.ui-button-secondary{background:var(--paper);color:var(--ink-soft);border-color:var(--line);box-shadow:var(--shadow-button)}.ui-button-secondary:hover{background:var(--sky-high);color:var(--ink);border-color:#baabc9;transform:translateY(-1px)}.ui-button-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.ui-button-ghost:hover{background:var(--lavender-soft);color:var(--lavender-deep)}.ui-button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.ui-button:disabled{opacity:.45;box-shadow:none;transform:none}.ui-button svg{stroke-width:2px;flex-shrink:0}.app-toolbar{top:0;height:var(--header-height);z-index:30;background:var(--paper);border-bottom:2px solid #e9e2ec;position:fixed;inset-inline:0}.app-toolbar-inner{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1184px);height:100%;margin-inline:auto;padding-inline:32px;display:flex}.app-toolbar-left,.app-toolbar-actions{align-items:center;gap:20px;min-width:0;display:flex}.app-brand{color:var(--ink);font-family:var(--font-rounded);letter-spacing:-.06em;white-space:nowrap;align-items:center;gap:9px;font-size:1.625rem;font-weight:900;line-height:1;text-decoration:none;display:inline-flex}.app-brand>svg{flex-shrink:0;transition:transform .2s}.app-brand:hover>svg{transform:rotate(12deg)}.app-brand-accent{color:var(--lavender-deep)}.app-header-context:empty{display:none}.app-backlink{min-height:44px;color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;font-size:.8125rem;font-weight:750;text-decoration:none;display:inline-flex}.app-backlink:hover{color:var(--lavender-deep)}.app-toolbar-actions{flex-shrink:0;gap:12px}.app-quick-settings{gap:4px;display:flex}.ui-icon-switch{border:2px solid var(--line);background:var(--paper);min-width:44px;height:44px;color:var(--ink-soft);border-radius:15px;justify-content:center;align-items:center;display:inline-flex}.ui-icon-switch:hover{background:var(--lavender-soft);color:var(--lavender-deep)}.ui-icon-switch[aria-checked=true]{color:var(--lavender-deep);background:var(--sky-high)}.language-control{border:2px solid var(--line);background:var(--paper);border-radius:16px;align-items:center;gap:2px;padding:3px;display:flex}.language-control button{min-width:36px;min-height:34px;color:var(--ink-muted);border-radius:10px;place-items:center;padding:5px;font-size:.75rem;font-weight:850;line-height:1;display:grid}.language-control button[aria-pressed=true]{background:var(--lavender-soft);color:#56338a}.chapter-navigation{align-items:center;gap:5px;display:flex}.chapter-navigation button{min-width:29px;min-height:32px;color:var(--ink-muted);border:2px solid #0000;border-radius:10px;place-items:center;font-size:.75rem;font-weight:800;display:grid}.chapter-navigation button[aria-current=step]{color:var(--lavender-deep);background:var(--lavender-soft);border-color:#cebddf}.chapter-navigation button:hover{color:var(--lavender-deep);background:var(--sky-high)}.chapter-navigation .is-done{color:var(--success);background:#eef3eb}.content-skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:12px;padding:10px 16px;font-size:.875rem;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.content-skip-link:focus{transform:translateY(0)}.katex{color:var(--ink)}.katex.is-highlighted{color:var(--lavender-deep)}.font-display{font-weight:800}@media (width<=1050px){.chapter-navigation{display:none}.app-toolbar-left{gap:14px}}@media (width<=760px){:root{--header-height:4.5rem;--radius:24px}.ui-page,.app-toolbar-inner{padding-inline:20px}.app-toolbar-inner{gap:12px}.app-brand{gap:8px;font-size:1.5rem}.app-toolbar-actions{gap:8px}.app-toolbar-left{gap:12px}.app-toolbar-is-chapter .app-brand span{display:none}.katex-display{max-width:100%;padding-block:4px;overflow-x:auto}}@media (width<=400px){.ui-page,.app-toolbar-inner{padding-inline:16px}.app-backlink{font-size:.75rem}.app-brand{gap:5px;font-size:1.25rem}.app-brand>svg{width:28px;height:28px}.app-toolbar-inner,.app-toolbar-left{gap:8px}.app-toolbar-actions{gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-reduced-motion=true] *,[data-reduced-motion=true] :before,[data-reduced-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@keyframes flap{0%{transform:scaleX(1)}to{transform:scaleX(.85)}}.app-content{padding-bottom:calc(var(--shell-actions-height,0px) + env(safe-area-inset-bottom,0px))}html{scroll-padding-bottom:calc(var(--shell-actions-height,0px) + 20px)}.app-action-bar{bottom:0;z-index:25;border-top:2px solid var(--line);background:var(--paper);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;inset-inline:0;box-shadow:0 -8px 24px -20px #28213b55}.app-action-bar:empty{display:none}.shell-actions{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1184px);margin-inline:auto;padding:16px 32px 18px;display:flex}.shell-actions>:last-child{margin-left:auto}.shell-actions .page-save-note{max-width:45ch;margin:0}.shell-resume-context{flex-direction:column;gap:3px;min-width:0;display:flex}.shell-resume-context>span{color:var(--lavender-deep);font-size:.75rem;font-weight:800}.shell-resume-context>strong{color:var(--ink);font-size:.875rem;font-weight:850;line-height:1.25}@media (width>=768px){.app-action-bar:has(.hub-shell-actions){display:none}}@media (width<=760px){.shell-actions{flex-wrap:wrap;gap:10px;padding:12px 20px 14px}.shell-actions .ui-button-lg{min-height:46px;padding:11px 16px;font-size:.875rem}.shell-actions .page-save-note{max-width:24ch;font-size:.75rem}.shell-resume-context{flex:100px}}@media (width<=400px){.shell-actions{padding-inline:16px}.shell-actions .ui-button{padding-inline:12px;font-size:.8125rem}.shell-actions .page-save-note{flex:100px}}.open\:flex[open]{display:flex}.open\:flex-col[open]{flex-direction:column}.open\:items-center[open]{align-items:center}.open\:justify-center[open]{justify-content:center}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--ink-rgb) / var(--tw-text-opacity,1))}.hover\:text-lavender-deep:hover{--tw-text-opacity:1;color:rgb(var(--lavender-deep-rgb) / var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-lavender-deep:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(var(--lavender-deep-rgb) / var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-paper:focus{--tw-ring-offset-color:rgb(var(--paper-rgb) / 1)}@media (width>=640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:p-8{padding:2rem}}.lesson-page,.practice-page{padding-top:36px;padding-bottom:56px;scroll-margin-top:96px}.chapter-trail{border:2px solid var(--line);background:var(--paper);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px;padding:14px 18px;display:flex}.chapter-trail-title{max-width:70%}.chapter-trail-position{flex-shrink:0;align-items:center;gap:12px;display:flex}.chapter-trail-count{color:var(--ink-muted);white-space:nowrap;font-size:.8125rem;font-weight:750}.chapter-trail-progress{width:64px;height:8px;accent-color:var(--lavender-deep);border:0;border-radius:999px;overflow:hidden}.chapter-trail-progress::-webkit-progress-bar{background:var(--lavender-soft)}.chapter-trail-progress::-webkit-progress-value{background:var(--lavender-deep)}.chapter-trail-progress::-moz-progress-bar{background:var(--lavender-deep)}.lesson-layout{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);align-items:start;gap:clamp(28px,4vw,60px);display:grid}.lesson-reading{min-width:0}.lesson-title{max-width:18ch;margin:0 0 24px;font-size:clamp(1.875rem,3.2vw,2.5rem);line-height:1.2}.lesson-narration{color:var(--ink-soft);font-size:1rem;line-height:1.8}.lesson-narration>*+*{margin-top:18px}.lesson-narration p{margin-bottom:0}.lesson-narration strong{color:var(--ink);font-weight:650}.lesson-narration .katex{font-size:1.05em}.lesson-stage{background:var(--paper);border-color:#d5c6e7;border-radius:28px;min-width:0;padding:24px;box-shadow:0 5px #e4d9ed}.lesson-stage-label{background:var(--sky-low);width:fit-content;color:var(--sunflower-darker);border-radius:10px;align-items:center;gap:9px;margin-bottom:20px;padding:6px 12px;display:flex}.lesson-stage-mark{background:var(--sunflower-deep);border-radius:50%;width:8px;height:8px}.lesson-stage-body{width:100%;min-width:0}.lesson-stage-body>*{max-width:100%}.lesson-layout-reading{grid-template-columns:minmax(0,1fr);max-width:720px;margin-inline:auto}.lesson-layout-reading .lesson-title{max-width:22ch}.learning-navigation{border-top:2px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:24px;display:flex}.learning-navigation>div{min-width:0}.tonelo-companion{background:var(--sky-low);border:2px solid #e8dec8;border-radius:24px;width:100%;min-width:0;padding:18px}.tonelo-companion-heading{align-items:center;gap:14px;display:flex}.tonelo-portrait{background:var(--paper);cursor:pointer;border:2px solid #e2d4b5;border-radius:24px;flex:0 0 80px;justify-content:center;align-items:center;width:80px;min-height:92px;display:flex;box-shadow:0 3px #e5d9bf}.tonelo-portrait:hover{border-color:var(--lavender-deep)}.tonelo-portrait:focus-visible{outline:2px solid var(--lavender-deep);outline-offset:4px}.tonelo-companion-name{font-family:var(--font-rounded);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:1.4375rem;font-weight:850;display:inline-flex}.tonelo-companion-dot{background:var(--leaf);border-radius:50%;width:8px;height:8px}.tonelo-companion-note{min-width:0;margin-top:12px}.tonelo-companion-idle,.tonelo-dialog{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.75}.tonelo-companion-idle{max-width:40ch}.tonelo-dialog{padding-right:34px;position:relative}.tonelo-dialog-copy{margin:0}.tonelo-dialog-dismiss{width:44px;height:44px;color:var(--lavender-deep);border-radius:50%;justify-content:center;align-items:center;font-size:1.3125rem;display:inline-flex;position:absolute;top:-10px;right:-10px}.tonelo-dialog-dismiss:hover{background:var(--lavender-soft)}.tonelo-dialog-whisper{padding-right:0;font-style:normal}.lesson-companion{margin-top:28px}.practice-header{border-bottom:2px dashed var(--line);margin-bottom:24px;padding-bottom:24px}.practice-position-row{justify-content:space-between;align-items:center;gap:14px;margin-top:12px;display:flex}.practice-position{color:var(--lavender-deep);font-size:.875rem;font-weight:600}.practice-invite{max-width:68ch;color:var(--ink-soft);margin-top:16px;font-size:1rem;line-height:1.7}.practice-layout{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:36px;display:grid}.practice-companion{padding-top:18px;position:sticky;top:104px}.exercise-panel{padding:clamp(24px,3vw,40px)}.exercise-title{margin:0 0 28px;font-size:clamp(1.625rem,2.8vw,2.125rem);line-height:1.25}.exercise-options{gap:12px;display:grid}.exercise-option{border:2px solid var(--line);background:var(--paper);width:100%;min-height:62px;color:var(--ink-soft);cursor:pointer;border-radius:18px;align-items:start;gap:14px;padding:17px 18px;font-size:.9375rem;font-weight:650;line-height:1.7;transition:background .15s,border-color .15s;display:flex;box-shadow:0 2px #eee8f2}.exercise-option:hover{background:var(--sky-high);border-color:var(--lavender-deep)}.exercise-option.is-selected{border-color:var(--lavender-deep);background:var(--lavender-soft);color:var(--ink);box-shadow:0 3px #c8b5df}.exercise-option:focus-within{outline:2px solid var(--lavender-deep);outline-offset:3px}.exercise-option.is-locked{cursor:default}.exercise-radio{width:20px;height:20px;accent-color:var(--lavender-deep);flex-shrink:0;margin-top:3px}.exercise-submit{margin-top:20px}.exercise-utilities{border-top:1px solid var(--line,#ded8e4);flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:24px;padding-top:16px;display:flex}.exercise-utilities>button{padding-inline:0}.learning-feedback{color:var(--ink-soft);border:2px solid var(--lavender);background:var(--sky-high);border-radius:18px;margin-top:16px;padding:18px 20px;font-size:.9375rem;line-height:1.75}.learning-hint{background:var(--lavender-soft)}.learning-retry{color:var(--lavender-deep);background:0 0;border:0;border-radius:0;padding:0;font-weight:800}.learning-correct{background:#edf4e9;border-color:#b7d0b9}.learning-revealed{background:var(--sky-low);border-color:#e4d3a8}.learning-feedback-title{color:var(--ink);margin-bottom:6px;font-size:1rem;font-weight:850}.learning-feedback-copy{margin:0}.practice-navigation{justify-content:flex-end}.summary-panel{min-width:0;padding:clamp(24px,3vw,40px)}.summary-heading{padding-right:36px;position:relative}.summary-mark{color:var(--sunflower-darker);position:absolute;top:0;right:0}.summary-title{margin:12px 0 24px;font-size:clamp(2rem,3.5vw,2.625rem);line-height:1.2}.summary-intro{color:var(--ink-soft);margin-bottom:8px;font-size:1rem}.summary-list{margin:0;padding:0;list-style:none}.summary-item{border-bottom:2px dashed var(--line);color:var(--ink-soft);align-items:start;gap:14px;padding:20px 0;font-size:1rem;line-height:1.75;display:flex}.summary-item-number{letter-spacing:.06em;color:var(--lavender-deep);background:var(--lavender-soft);border-radius:11px;flex:0 0 32px;place-items:center;height:32px;padding-top:0;font-size:.75rem;font-weight:850;display:grid}.summary-recall{color:var(--ink-muted);margin-top:22px;font-size:.9375rem;line-height:1.75}.summary-navigation{justify-content:flex-start}.summary-navigation>:last-child{margin-left:auto}@media (width<=1000px){.lesson-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.lesson-stage{padding:18px}.practice-layout{grid-template-columns:minmax(0,1fr) 200px;gap:24px}}@media (width<=760px){.lesson-page,.practice-page{padding-top:24px;padding-bottom:36px}.chapter-trail{flex-wrap:wrap;gap:10px;margin-bottom:24px;padding-bottom:16px}.chapter-trail-title{max-width:100%}.lesson-layout,.practice-layout{grid-template-columns:minmax(0,1fr);gap:24px}.lesson-reading{display:contents}.lesson-title{order:1;max-width:none;margin-bottom:0;font-size:2.125rem}.lesson-narration{order:2;font-size:.9375rem}.lesson-stage{order:3;margin-top:0}.lesson-companion{order:4;margin-top:0}.tonelo-companion{-moz-column-gap:16px;grid-template-columns:80px minmax(0,1fr);align-items:start;column-gap:16px;padding-top:18px;display:grid}.tonelo-companion-heading{display:contents}.tonelo-portrait{grid-area:1/1/3}.tonelo-companion-name{grid-column:2;margin-top:2px;font-size:1.25rem}.tonelo-companion-note{grid-column:2;margin-top:6px}.practice-companion{position:static}.learning-navigation{margin-top:24px;padding-top:18px}.practice-position-row{align-items:start}.practice-header{margin-bottom:24px;padding-bottom:20px}.exercise-panel,.summary-panel{padding:24px}.exercise-title{font-size:1.75rem}.summary-item{gap:14px;padding-block:18px}}@media (width<=400px){.chapter-trail{align-items:start}.lesson-title{font-size:1.875rem}.lesson-stage{padding:16px}.lesson-stage-label{letter-spacing:0;font-size:.75rem}.exercise-panel,.summary-panel{padding:20px 18px}.exercise-title{font-size:1.5625rem}.exercise-option{gap:10px;padding:14px 12px;font-size:.8125rem}.learning-feedback{padding:16px 14px;font-size:.8125rem}.practice-position-row{flex-wrap:wrap;gap:10px}.summary-navigation{align-items:stretch}.summary-navigation>:last-child{margin-left:0}.tonelo-companion{display:block}.tonelo-companion-heading{display:flex}.tonelo-companion-name{margin-top:0}.tonelo-companion-note{margin-top:12px}}.lesson-title[tabindex="-1"]:focus,.exercise-title[tabindex="-1"]:focus,.summary-title[tabindex="-1"]:focus{outline:none}.chapter-opener{min-height:calc(100dvh - var(--header-height));position:relative;overflow:hidden}.chapter-opener-note{background:var(--paper);text-align:center;max-width:850px;font-family:var(--font-rounded);letter-spacing:-.035em;color:var(--ink);border:2px solid #d5c6e7;border-radius:32px;padding:clamp(28px,5vw,60px);font-size:clamp(1.75rem,4vw,3.25rem);font-weight:850;line-height:1.25;position:relative;box-shadow:6px 8px #d9cce6}.chapter-opener-note:before{content:"";border-inline:3px dotted var(--paper);background:#ead59cdd;width:84px;height:28px;position:absolute;top:-15px;left:calc(50% - 42px);transform:rotate(-4deg)}.lesson-stage{border-width:1px;box-shadow:0 6px #e8e0ee}.lesson-reading .lesson-title{margin-bottom:24px;font-size:clamp(1.625rem,2.7vw,2rem);line-height:1.25}.lesson-explanation summary{border-top:1px solid var(--line);background:0 0;border-radius:0;padding-inline:0}.tonelo-companion{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:20px 0 0}.tonelo-portrait{box-shadow:none;background:var(--sky-low);border-width:1px}.tonelo-help-invite{color:var(--lavender-deep);margin-top:3px;font-size:.75rem;font-weight:750;display:block}.tonelo-companion-idle{color:var(--ink-muted)}.tonelo-dialog .ui-button{margin:8px 0 0;padding-inline:0}@media (width<=760px){.tonelo-companion-label{grid-column:2;margin-top:2px}}:root{--plot-curve:var(--lavender-deep);--plot-tangent:#9a641b;--plot-grid:#e4deeb;--plot-axis:#a49aaa;--plot-fill:#6e48a524;--plot-area:#cfa44a33}.math-plane{width:100%;min-width:0;max-width:38rem;height:auto;color:var(--ink);font-family:var(--font-rounded);display:block;overflow:hidden}.math-plane__paper{fill:#fffdfa;stroke:var(--plot-grid);stroke-width:1px}.math-plane__grid{stroke:var(--plot-grid);stroke-width:.7px}.math-plane__axes{stroke:var(--plot-axis);stroke-width:1.15px}.math-plane__ticks{fill:var(--ink-muted);font-size:var(--plot-tick-size,.8125rem);font-variant-numeric:tabular-nums}.math-plane__label{font-weight:650}.math-plane__data path,.math-plane__data line,.math-plane__data rect{clip-path:var(--plot-clip)}.math-plane [stroke=\#7c3aed]{stroke:var(--plot-curve)}.math-plane [fill=\#7c3aed]{fill:var(--plot-curve)}.math-plane [stroke=\#b45309]{stroke:var(--plot-tangent)}.math-plane [fill=\#b45309]{fill:var(--plot-tangent)}.math-plane [fill=\#2e1065],.math-plane [fill=\#3f246b]{fill:var(--ink)}.math-plane [fill=\#5b4a8a]{fill:var(--ink-muted)}.viz-card{border:1px solid var(--plot-grid);background:var(--paper);border-radius:18px;min-width:0;padding:1rem}.viz-slider{border:2px solid var(--plot-grid);background:var(--sky-high);border-radius:18px;flex-direction:column;gap:.375rem;width:100%;min-width:0;padding:.875rem 1rem .625rem;display:flex;position:relative}.viz-slider__label{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:.75rem;font-size:.875rem;font-weight:750;line-height:1.4;display:flex}.viz-slider__value{background:var(--paper);min-width:2.5rem;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border:1px solid var(--line);border-radius:9px;flex-shrink:0;padding:.25rem .5rem;font-family:ui-monospace,monospace;font-size:.8125rem;font-weight:700}.viz-slider__input{appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;width:100%;min-width:0;height:44px;margin:0;display:block}.viz-slider__input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--lavender-deep) var(--slider-position), var(--plot-grid) var(--slider-position));border-radius:8px;height:8px}.viz-slider__input::-webkit-slider-thumb{appearance:none;border:4px solid var(--paper);background:var(--lavender-deep);width:24px;height:24px;box-shadow:0 0 0 2px var(--lavender-deep), 0 3px 0 #cdbbdf;border-radius:50%;margin-top:-8px}.viz-slider__input::-moz-range-track{background:var(--plot-grid);border-radius:8px;height:8px}.viz-slider__input::-moz-range-progress{background:var(--lavender-deep);border-radius:8px;height:8px}.viz-slider__input::-moz-range-thumb{border:4px solid var(--paper);background:var(--lavender-deep);width:16px;height:16px;box-shadow:0 0 0 2px var(--lavender-deep);border-radius:50%}.viz-slider__input:focus-visible{outline:2px solid var(--lavender-deep);outline-offset:3px;border-radius:6px}.viz-formula{flex-direction:column;gap:.625rem;width:100%;min-width:0;display:flex}.viz-formula__field{border:2px solid var(--plot-grid);background:#fffdfa;border-radius:16px;align-items:center;gap:.625rem;padding:.375rem .5rem .375rem 1rem;display:flex}.viz-formula__field:focus-within{border-color:var(--lavender-deep);box-shadow:0 0 0 3px #6e48a51a}.viz-formula__label{color:var(--lavender-deep);flex-shrink:0;font-family:ui-monospace,monospace;font-size:.875rem}.viz-formula__input{width:100%;min-width:0;min-height:44px;color:var(--ink);caret-color:var(--lavender-deep);background:0 0;border:0;border-radius:6px;flex:1;padding:.5rem;font-family:ui-monospace,monospace;font-size:1rem}.viz-formula__input:focus{outline:none}.viz-formula__input[aria-invalid=true]{background:#fbf2e6}.viz-formula__hint{color:var(--ink-muted);font-size:.75rem;line-height:1.65}.viz-formula__error{border-left:2px solid var(--plot-tangent);color:var(--ink-soft);background:#fbf2e6;border-radius:12px;padding:.625rem .75rem;font-size:.8125rem;line-height:1.6}.figure-readout{width:100%;color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:center;background:var(--sky-low);border:1px solid #e8dec8;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.5rem;padding:.75rem 1rem;font-family:ui-monospace,monospace;font-size:.8125rem;line-height:1.7;display:flex}.scene3d-frame{background:radial-gradient(#f4eef8,#fffdfa 75%);border-radius:20px;width:100%;height:100%;min-height:240px;overflow:hidden}.scene3d-frame canvas{display:block}.scene3d-fallback{width:100%;min-height:240px;color:var(--ink-muted);background:#fffdfa;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex}.scene3d-fallback img{-o-object-fit:contain;object-fit:contain;border-radius:8px;width:100%;max-height:260px}.scene3d-fallback__message{text-align:center;place-items:center;max-width:28rem;min-height:180px;font-size:.875rem;display:grid}.scene3d-fallback__retry,.orbit-presets button{border:2px solid var(--plot-grid);min-height:44px;color:var(--ink-soft);background:#fffdfa;border-radius:14px;padding:.5rem 1rem;font-size:.8125rem;font-weight:750;box-shadow:0 2px #e9e2ed}.scene3d-fallback__retry:hover,.orbit-presets button:hover{border-color:var(--lavender-deep);background:var(--lavender-soft)}.orbit-presets{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.surface-figure{flex-direction:column;gap:1.25rem;width:100%;min-width:0;display:flex}.surface-figure__plots{grid-template-columns:1fr 1.6fr 1fr;align-items:center;gap:.75rem;width:100%;min-width:0;display:grid}.surface-figure__slice{min-width:0}.surface-figure__slice>p{text-align:center;color:var(--ink-muted);letter-spacing:0;text-transform:none;margin:0 0 .5rem;font-size:.8125rem;font-weight:800}.surface-figure__canvas{border-radius:10px;width:100%;min-width:0;height:300px}.surface-figure__controls{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.prism-figure{flex-direction:column;align-items:center;gap:1rem;width:100%;min-width:0;max-width:38rem;display:flex}.prism-figure__canvas{width:100%;height:340px}.prism-figure__control{width:100%;max-width:28rem}.gallery-page,.farewell-page{width:100%;max-width:76rem;margin:0 auto;padding:1.5rem 2rem 5rem;scroll-margin-top:110px}.gallery-page__header{text-align:center;max-width:44rem;margin:0 auto 2rem}.gallery-page__header h1{font-family:var(--font-rounded);letter-spacing:-.04em;color:var(--ink);margin:0 0 .875rem;font-size:clamp(2rem,4vw,3rem);font-weight:850;line-height:1.15}.gallery-page__header p{color:var(--ink-soft);font-size:.9375rem;line-height:1.8}.gallery-page__items{flex-direction:column;gap:1.5rem;display:flex}.vignette-card{border:2px solid var(--plot-grid);min-width:0;box-shadow:var(--shadow);background:#fffdfa;border-radius:28px;overflow:hidden}.vignette-card__grid{grid-template-columns:1fr 1.1fr;align-items:center;display:grid}.vignette-card__hero{background:var(--lavender-soft);border-right:2px solid var(--plot-grid);justify-content:center;align-items:center;min-width:0;height:100%;min-height:300px;padding:1.5rem;display:flex}.vignette-card__hero .text-ink-muted{color:var(--ink-soft)}.vignette-card__content{min-width:0;padding:2rem}.vignette-card__index{color:var(--lavender-deep);font-family:var(--font-rounded);letter-spacing:0;background:var(--sky-low);border-radius:12px;place-items:center;width:36px;height:36px;margin-bottom:1rem;font-size:.8125rem;font-weight:850;display:grid}.vignette-card__content h2{color:var(--ink);font-family:var(--font-rounded);letter-spacing:-.02em;margin:0 0 .875rem;font-size:1.625rem;font-weight:850;line-height:1.25}.vignette-card__body{color:var(--ink-soft);flex-direction:column;gap:.875rem;font-size:1rem;line-height:1.8;display:flex}.vignette-card__body p{margin:0}.vignette-card__demo{border-top:1px solid var(--plot-grid);background:#fffdfa;justify-content:center;align-items:center;padding:1.25rem;display:flex}.vignette-card__demo .math-plane{max-width:48rem}.vignette-card__citation{border-top:1px solid var(--plot-grid);color:var(--ink-muted);margin:1.25rem 0 0;padding-top:1rem;font-size:.75rem;line-height:1.7}.farewell-page{max-width:52rem}.farewell-page__sheet{padding:clamp(1.25rem,4vw,3rem)}.farewell-page__sheet h1{letter-spacing:-.03em;font-size:clamp(1.875rem,4vw,2.5rem);line-height:1.2}.farewell-page__recap{gap:.75rem;margin:1.5rem 0 2.25rem;display:grid}.farewell-page__recap li{color:var(--ink-soft);border-left:0;border:1px solid var(--line);background:#f5f1f8;border-radius:16px;padding:16px 18px;font-size:1rem;line-height:1.7}.farewell-resource{border:2px solid var(--plot-grid);background:#fffdfa;border-radius:18px;padding:1rem 1.25rem}.farewell-resource a{color:var(--lavender-deep);text-underline-offset:4px;align-items:center;gap:.5rem;font-size:1rem;font-weight:850;text-decoration:underline;display:inline-flex}.farewell-resource p{color:var(--ink-muted);margin:.5rem 0 0;font-size:.8125rem;line-height:1.7}.farewell-message{border-top:2px dashed var(--plot-grid);text-align:center;margin-block:2.5rem 2rem;padding-top:2rem}@media (width<=1023px){.surface-figure__plots{grid-template-columns:1fr 1fr}.surface-figure__canvas{grid-area:1/1/auto/-1;height:320px}.vignette-card__content{padding:1.5rem}}@media (width<=640px){.gallery-page,.farewell-page{padding:1.25rem 1rem 4rem}.vignette-card__grid{grid-template-columns:1fr}.vignette-card__hero{border-right:0;border-bottom:1px solid var(--plot-grid);min-height:220px;padding:1rem}.vignette-card__content{padding:1.25rem}.vignette-card__content h2{font-size:1.5rem}.surface-figure__plots{gap:.5rem}.surface-figure__controls{grid-template-columns:1fr;gap:.75rem}.surface-figure__canvas,.prism-figure__canvas{height:260px}.viz-slider{padding-inline:.75rem}.figure-readout{gap:.25rem .75rem;padding-inline:.5rem;font-size:.75rem}}@media (forced-colors:active){.viz-slider__input{appearance:auto}.viz-slider__input::-webkit-slider-runnable-track{background:canvastext}.viz-slider__input::-webkit-slider-thumb{background:highlight}.math-plane__paper{fill:canvas;stroke:canvastext}.math-plane__grid,.math-plane__axes{stroke:graytext}.math-plane__ticks{fill:canvastext}}.curve-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;width:100%;max-width:44rem;display:grid}.curve-gallery__tile{border:2px solid var(--plot-grid);background:#fffdfa;border-radius:18px;min-width:0;margin:0;padding:.875rem .5rem .5rem}.curve-gallery__tile figcaption{color:var(--ink-soft);text-align:center;margin:0 0 .5rem;font-family:ui-monospace,monospace;font-size:.8125rem}@media (width<=640px){.curve-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}}.farewell-surprise-message{max-width:30rem;color:var(--ink);font-family:var(--font-rounded);text-align:center;margin:1rem 0 0;font-size:clamp(1.5rem,4vw,2rem);font-weight:850;line-height:1.4}.farewell-dismiss{border:2px solid var(--plot-grid);min-height:44px;color:var(--ink-soft);box-shadow:var(--shadow-button);background:#fffdfa;border-radius:16px;margin-top:1rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:800}.farewell-dismiss:hover{background:var(--lavender-soft);border-color:var(--lavender-deep)}.limit-symbol{width:100%;min-height:220px;color:var(--lavender-deep);font-family:var(--font-rounded);place-items:center;font-size:clamp(3rem,8vw,4.5rem);font-style:normal;font-weight:850;display:grid}.lesson-stage-body p[role=status]{border:1px solid var(--plot-grid);color:var(--ink-soft);background:#f5f1f8;border-radius:16px;padding:.875rem 1rem;font-size:.875rem;line-height:1.65}.gallery-page__intro{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:3rem;margin-bottom:2rem;display:grid}.gallery-page__intro .gallery-page__header{text-align:left;max-width:42rem;margin:0}.gallery-page__companion{width:100%;margin:0}.vignette-card--illustration .vignette-card__grid{grid-template-columns:240px minmax(0,1fr)}.vignette-card--illustration .vignette-card__hero{min-height:250px;padding:1rem}.vignette-card--illustration .vignette-card__hero>svg{width:100%;max-width:220px;height:auto}.farewell-page__companion{width:100%;max-width:340px;margin:0 auto 2rem}@media (width<=767px){.gallery-page__intro{grid-template-columns:1fr;gap:1.25rem}.gallery-page__companion{max-width:340px}.vignette-card--illustration .vignette-card__grid{grid-template-columns:1fr}.vignette-card--illustration .vignette-card__hero{border-right:0;border-bottom:1px solid var(--plot-grid);min-height:180px;padding:.75rem}.vignette-card--illustration .vignette-card__hero>svg{max-width:190px}}.formula-chip{background:var(--sky-high);max-width:100%;color:var(--ink);border:2px solid #d5c6e7;border-radius:15px;align-items:center;padding:10px 16px;display:inline-flex}.gallery-page__items>section:nth-child(3n+2) .vignette-card__hero{background:var(--sky-low)}.gallery-page__items>section:nth-child(3n) .vignette-card__hero{background:#edf1e7}.viz-slider{border:0;border-top:1px solid var(--plot-grid);background:0 0;border-radius:0;padding-inline:0}.viz-slider__value{background:var(--lavender-soft);border:0}.viz-card{background:0 0;border:0;border-radius:0;padding:0}.curve-gallery__tile{border-width:1px}.discovery-prediction{border:0;min-width:0;margin:0 0 22px;padding:0}.discovery-prediction legend{width:100%;padding:0}.discovery-prediction legend .ui-eyebrow{margin-bottom:10px;display:block}.discovery-question{font-family:var(--font-rounded);color:var(--ink);letter-spacing:-.015em;font-size:1.25rem;font-weight:800;line-height:1.4;display:block}.discovery-invite{color:var(--ink-muted);margin:10px 0 14px;font-size:.8125rem;line-height:1.7}.discovery-choices{gap:10px;margin-top:12px;display:grid}.discovery-choices label{border:2px solid var(--line);min-height:44px;color:var(--ink-soft);cursor:pointer;background:var(--paper);border-radius:15px;align-items:start;gap:12px;padding:13px 14px;font-size:.875rem;font-weight:650;line-height:1.65;transition:background .16s,border-color .16s,box-shadow .16s;display:flex;box-shadow:0 2px #eae3ee}.discovery-choices label.is-selected{background:var(--lavender-soft);border-color:var(--lavender-deep);color:var(--ink);box-shadow:0 3px #c8b5df}.discovery-choices label:focus-within{outline:2px solid var(--lavender-deep);outline-offset:3px}.discovery-choices input{width:18px;height:18px;accent-color:var(--lavender-deep);flex-shrink:0;margin-top:4px}.prediction-feedback{background:var(--lavender-soft);color:var(--ink-soft);border:2px solid var(--lavender);border-radius:18px;margin-top:18px;padding:16px;font-size:.875rem;line-height:1.75}.prediction-feedback-compare{background:#f5eedc;border-color:#e4d3a8}.prediction-feedback p{margin:0}.prediction-feedback p+p{margin-top:10px}.prediction-feedback-title{color:var(--ink);align-items:center;gap:9px;font-weight:850;display:flex}.prediction-feedback-title svg{color:var(--lavender-deep);flex-shrink:0}.prediction-feedback-compare .prediction-feedback-title svg{color:var(--sunflower-darker)}.prediction-feedback-choice{color:var(--ink-soft);font-size:.8125rem}.prediction-feedback-experiment{border-top:1px solid var(--line);padding-top:12px}.prediction-feedback-experiment strong{color:var(--ink)}.prediction-feedback-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.prediction-feedback-actions .ui-button{white-space:normal;max-width:100%}.prediction-feedback-actions .ui-button-ghost{color:var(--ink-soft)}.lesson-stage{scroll-margin-top:calc(var(--header-height) + 20px)}.discovery-observation{border-top:2px dashed var(--line);margin-top:22px;padding-top:16px}.discovery-observation>button{padding-left:0}.discovery-connection{color:var(--ink-soft);margin:6px 0 18px;font-size:.875rem;line-height:1.8}.discovery-observation .ui-button{white-space:normal;max-width:100%}.reading-discovery{max-width:720px;margin:28px auto 0}.lesson-explanation summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);background:var(--lavender-soft);border-radius:14px;padding:12px 16px;font-size:.875rem;font-weight:800}.lesson-explanation>div{padding:16px 4px 0}.lesson-explanation>div>*+*{margin-top:18px}.chapter-trail-position{flex-wrap:wrap;flex-shrink:1;max-width:100%}.lesson-page,.practice-page,.discoveries-page{overflow-wrap:anywhere}.hub-discoveries-link{border-top:2px dashed #cbbada;margin-top:24px;padding-top:14px}.hub-discoveries-link .ui-button{color:var(--ink-soft);padding:10px 0;font-size:.875rem}.hub-discoveries-link p{color:var(--ink-soft);margin-top:4px;font-size:.75rem}.hub-suggestion-copy>.discovery-resume-topic{background:#fffdfa88;border-left:0;border-radius:12px;padding:12px;font-size:.8125rem}.recall-discovery{color:var(--ink-soft);margin-top:22px}.recall-discovery summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:.8125rem;font-weight:600}.recall-discovery-body>p,.recall-discovery-body details p{font-size:.8125rem;line-height:1.75}.recall-discovery .discovery-prediction{border:0;margin:18px 0 0;padding:0}.recall-discovery .discovery-question{font-size:1.1875rem}.recall-discovery .discovery-choices label{border-color:#6e48a559}.discoveries-page{padding-top:32px;padding-bottom:60px}.discovery-back{min-height:44px;color:var(--lavender-deep);align-items:center;gap:8px;font-size:.8125rem;font-weight:800;display:inline-flex}.discoveries-heading{max-width:680px;margin:22px 0 32px}.discoveries-heading .ui-eyebrow{align-items:center;gap:10px;display:flex}.discoveries-heading h1{margin:14px 0 18px}.discoveries-list{gap:24px;margin:0;padding:0;list-style:none;display:grid}.discoveries-list>li{border-top:1px solid var(--line);border:2px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:28px;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:36px;padding:28px;display:grid}.discovery-sketch{width:100%;color:var(--lavender-deep);background:var(--lavender-soft);border:2px solid #d5c6e7;border-radius:22px;display:block}.discoveries-list h2{font-family:var(--font-rounded);letter-spacing:-.025em;margin:10px 0 14px;font-size:1.6875rem;font-weight:850;line-height:1.3}.discoveries-list p:not(.ui-eyebrow){color:var(--ink-soft);max-width:68ch;font-size:1rem;line-height:1.8}.discovery-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.discovery-actions .ui-button{white-space:normal}.discovery-empty{border-top:1px solid var(--line);max-width:65ch;color:var(--ink-soft);background:var(--sky-high);border:2px dashed #cfbedf;border-radius:26px;padding:32px;line-height:1.8}@media (width<=760px){.discoveries-list>li{grid-template-columns:minmax(0,1fr);gap:22px}.discovery-sketch{max-width:220px}.lesson-prediction{order:2}.lesson-narration{order:3}.lesson-stage{order:4}.lesson-companion{order:5}}@media (width<=400px){.discovery-question{font-size:1.25rem}.discovery-choices label{padding:10px}}.discovery-choices label:hover{background:var(--sky-high);border-color:#b49bcd}.discovery-choices label.is-selected:hover{background:var(--lavender-soft)}.discovery-empty-illustration{-o-object-fit:contain;object-fit:contain;width:112px;height:134px;margin-bottom:16px;display:block}@media (width<=760px){.discoveries-list>li{padding:22px}}.experiment-guide{top:calc(var(--header-height) + 12px);z-index:4;background:var(--sky-low);max-height:55vh;color:var(--ink-soft);scroll-margin-top:calc(var(--header-height) + 20px);border:2px solid #e0cb98;border-radius:18px;margin-bottom:20px;padding:18px 48px 18px 18px;position:sticky;overflow-y:auto;box-shadow:0 4px #e9dfc9}.experiment-guide p{margin:0;font-size:.9375rem;line-height:1.7}.experiment-guide p+p{margin-top:8px}.experiment-guide .experiment-guide-title{color:var(--ink);align-items:center;gap:9px;font-weight:850;display:flex}.experiment-guide:focus{outline:3px solid var(--lavender-deep);outline-offset:4px}.experiment-guide-dismiss{width:44px;height:44px;color:var(--sunflower-darker);border-radius:12px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.experiment-guide-dismiss:hover{background:var(--paper)}.lesson-stage[data-exploring=true]{border-color:var(--lavender-deep)}[data-guided-control=true]{scroll-margin-top:calc(var(--header-height) + var(--experiment-guide-height,120px) + 24px)}[data-guided-control=true]:not([data-experiment-control=point]){outline:3px solid var(--lavender-deep);outline-offset:5px;border-radius:10px}[data-guided-control=true][data-experiment-control=point]{stroke:var(--lavender-deep);stroke-width:2px;stroke-dasharray:5 4}:is(.viz-slider:has([data-guided-control=true]),.viz-formula__field:has([data-guided-control=true])){background:var(--sky-low);border-color:var(--sunflower-deep)}.experiment-readout{border:2px solid var(--line);background:var(--sky-high);color:var(--ink-soft);border-radius:16px;padding:16px;font-size:.9375rem;line-height:1.75}.experiment-readout p{margin:0}.experiment-readout p+p{margin-top:7px}@media (width<=400px){.experiment-guide{padding:14px 42px 14px 14px}.experiment-readout{padding:14px}}.experiment-guide-instructions{margin-top:10px}.experiment-guide-instructions summary{cursor:pointer;min-height:44px;color:var(--sunflower-darker);padding-block:10px;font-size:.8125rem;font-weight:800}.experiment-readout[hidden]{display:none}[data-guided-control=true]{scroll-margin-bottom:calc(var(--shell-actions-height,0px) + 24px)}.discovery-choices[hidden]{display:none}.discovery-choices label{box-shadow:none;background:0 0;border-width:1px}.discovery-choices label.is-selected{box-shadow:none}.prediction-feedback{border:0;border-left:3px solid var(--lavender-deep);background:0 0;border-radius:0;padding:8px 0 8px 16px}.prediction-feedback-compare{border-color:var(--sunflower-deep);background:0 0}.prediction-feedback-live:focus{outline:none}.prediction-feedback-live:focus .prediction-feedback{border-left-width:4px}.discovery-question{text-wrap:balance;font-size:1.375rem;line-height:1.4}.prediction-feedback-actions{margin-top:16px}.experiment-guide{border-width:1px;box-shadow:0 5px 18px -16px #50465d88}.experiment-readout{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:16px 0 0}.experiment-comparisons{margin-top:14px}.experiment-comparison{border-top:1px dashed #ccbcd9;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.experiment-comparison>span:first-child{color:var(--ink-soft);font-size:.8125rem;font-weight:750}.comparison-values{color:var(--lavender-deep);align-items:center;gap:12px;display:flex}.comparison-values>span:not(:nth-child(2)){flex-direction:column;gap:2px;display:flex}.comparison-values small{color:var(--ink-soft);font-size:.6875rem;font-weight:650}.comparison-values strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:850}.notebook-save-hint,.notebook-save-error{color:var(--ink-soft);margin:10px 0 0;font-size:.8125rem;line-height:1.65}.notebook-save-error{color:var(--sunflower-darker)}.notebook-picture{align-self:start;min-width:0;margin:0}.notebook-picture-grid{gap:12px;display:grid}.notebook-picture img{border:1px solid var(--line);background:var(--paper);border-radius:14px;width:100%;height:auto;display:block}.notebook-picture figcaption{color:var(--ink-muted);margin-top:10px;font-size:.75rem;line-height:1.5}.notebook-picture>p{font-size:.875rem;line-height:1.6}.notebook-entry-copy{min-width:0}.notebook-moment>.ui-eyebrow{margin:16px 0 8px}.notebook-moment details{margin-top:8px}.notebook-moment summary{min-height:44px;color:var(--lavender-deep);cursor:pointer;padding-block:10px;font-size:.875rem;font-weight:750}.notebook-controls{margin:8px 0}.notebook-controls>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding-block:10px;font-size:.8125rem;display:grid}.notebook-controls dd{font-variant-numeric:tabular-nums;margin:0}.notebook-note{margin-top:22px}.notebook-note label{color:var(--ink);margin-bottom:8px;font-size:.875rem;font-weight:800;display:block}.notebook-note textarea{resize:vertical;border:1px solid var(--line);background:var(--sky-high);width:100%;min-height:100px;color:var(--ink);font:inherit;border-radius:14px;padding:14px;font-size:.9375rem;line-height:1.7;display:block}.notebook-note textarea::placeholder{color:var(--ink-muted);opacity:1}.notebook-note textarea:focus{border-color:var(--lavender-deep);outline:2px solid var(--lavender-deep);outline-offset:3px}.discoveries-list .notebook-note-status,.discoveries-list .notebook-language-note{color:var(--ink-muted);margin:8px 0 0;font-size:.75rem}@media (width<=760px){.notebook-picture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notebook-picture-grid>img:only-child{grid-column:1/-1;max-width:300px}}@media (width<=400px){.experiment-comparison{flex-wrap:wrap;gap:8px}.comparison-values{gap:10px}}.experiment-guide .experiment-comparisons{margin-top:8px}.experiment-guide .experiment-comparison{padding-block:6px}.experiment-guide .experiment-comparison>span:first-child{font-size:.75rem}.experiment-guide .comparison-values{gap:8px}.experiment-guide .comparison-values strong{font-size:.9375rem}:root{--header-height:4rem}html{scroll-padding-top:calc(var(--header-height) + 12px)}.app-toolbar .app-notebook-link{min-width:44px;min-height:44px;color:var(--lavender-deep);border-radius:12px;justify-content:center;align-items:center;gap:7px;font-size:.8125rem;font-weight:800;text-decoration:none;display:inline-flex}.app-notebook-link:hover,.app-notebook-link[aria-current]{background:var(--lavender-soft)}.app-action-bar .shell-actions{gap:10px;padding-block:8px 10px}.shell-actions>*,.shell-actions .ui-button{min-width:0}.shell-actions>div:first-child>.ui-button{max-width:100%}.shell-actions .ui-button{overflow-wrap:anywhere;min-height:44px;padding-block:9px}.scene-fork-actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.lesson-page,.practice-page{padding-top:16px;padding-bottom:24px}.lesson-page .chapter-trail,.practice-page .chapter-trail,.gallery-page .chapter-trail,.farewell-page .chapter-trail{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin-bottom:14px;padding:0 0 10px}.lesson-page .lesson-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.43fr);gap:24px}.lesson-page .lesson-stage{--plot-max-height:clamp(160px, calc(100dvh - var(--header-height) - var(--shell-actions-height,64px) - 260px), 280px);border-radius:22px;grid-area:1/1;padding:14px}.lesson-page .lesson-reading{grid-area:1/2}.lesson-page .lesson-title{max-width:none;margin:0 0 14px;font-size:clamp(1.5rem,2.4vw,2rem)}.lesson-stage .lesson-stage-heading{justify-content:space-between;align-items:start;gap:8px;margin-bottom:8px;display:flex}.lesson-stage .lesson-stage-label{min-height:36px;color:var(--lavender-deep);background:0 0;margin:0;padding:4px 8px;font-size:.75rem}.lesson-stage .lesson-stage-body{min-width:0}.lesson-stage .lesson-stage-body>.experiment-layout{gap:10px;width:100%;max-width:none}.math-plane{aspect-ratio:var(--plot-aspect,4 / 3);max-height:var(--plot-max-height,none)}.lesson-stage .viz-card{background:0 0;border:0;padding:6px}.lesson-stage .viz-slider{background:0 0;border:0;gap:0;padding:0}.lesson-stage .viz-slider__label{min-height:20px;font-size:.8125rem}.lesson-stage .viz-slider__value{background:var(--lavender-soft);border:0;padding:1px 5px}.lesson-stage .viz-slider:has([data-guided-control=true]){outline:3px solid var(--lavender-deep);outline-offset:3px;border-radius:10px}.lesson-stage .viz-slider>[data-guided-control=true]{outline:none}.lesson-stage .viz-formula__field{padding-block:4px}.lesson-stage .experiment-readout{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:8px 0 0;font-size:.875rem;line-height:1.55}.lesson-stage .experiment-readout p+p{margin-top:3px}.experiment-comparison-details>summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);align-content:center;font-size:.8125rem}.lesson-stage .discovery-observation{border-width:1px;margin-top:8px;padding-top:0}.lesson-stage .discovery-observation>.ui-button{min-height:44px}.lesson-stage .story-experiment{gap:8px}.lesson-stage .story-metrics{gap:8px;padding:6px 8px}.lesson-stage .story-metrics dt{margin-bottom:0}.lesson-stage .story-boundary{font-size:.75rem;line-height:1.5}.lesson-stage .story-legend{gap:4px 12px;font-size:.75rem}.lesson-page .discovery-question{font-size:1.0625rem;line-height:1.4}.lesson-page .discovery-prediction{margin-bottom:10px}.discovery-idea-toggle>summary,.discovery-idea-toggle[hidden]{display:none}.lesson-page .discovery-invite{margin:6px 0 8px;font-size:.75rem;line-height:1.5}.lesson-page .discovery-choices{gap:6px;margin-top:8px}.lesson-page .discovery-choices label{min-height:44px;padding:8px 10px;line-height:1.45}.lesson-page .prediction-feedback{margin-top:8px;padding:6px 0 6px 10px;font-size:.8125rem;line-height:1.55}.lesson-page .prediction-feedback p+p{margin-top:4px}.lesson-page .prediction-feedback-actions{margin-top:6px}.lesson-page .lesson-explanation summary{min-height:44px;padding-block:8px}.lesson-page .lesson-narration{font-size:.9375rem;line-height:1.65}.lesson-page .lesson-companion{margin-top:12px}.tonelo-companion .tonelo-portrait{border-radius:18px;flex-basis:60px;width:60px;min-height:66px}.tonelo-portrait>*{max-width:56px}.tonelo-companion .tonelo-companion-name{font-size:1.125rem}.tonelo-companion .tonelo-companion-note{margin-top:8px}.experiment-tools-menu{flex-shrink:0;font-size:.8125rem;position:relative}.experiment-tools-menu>summary{cursor:pointer;min-height:36px;color:var(--ink-soft);border-radius:10px;align-content:center;padding:4px 8px}.experiment-tools-menu[open]>summary{background:var(--lavender-soft)}.experiment-tools-menu .experiment-tools{margin:0;display:block}.experiment-tools-menu>.experiment-tools{z-index:12;border:1px solid var(--line);background:var(--paper);width:min(300px,100vw - 56px);max-height:calc(100dvh - var(--header-height) - var(--shell-actions-height,64px) - 110px);border-radius:16px;padding:14px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #28213b20}.experiment-tools-menu .experiment-tools summary{min-height:44px}.lesson-stage .experiment-guide{top:calc(var(--header-height) + 8px);max-height:none;margin-bottom:10px;padding:10px 42px 10px 12px;overflow:visible}.lesson-stage .experiment-guide:has(.experiment-guide-instructions[open]){position:relative;top:auto}.lesson-stage .figure-description{margin-top:0}.experiment-guide .experiment-guide-hint{font-size:.8125rem}.experiment-guide .experiment-comparison{align-items:center;gap:8px;min-height:32px;padding-block:2px;display:flex}.experiment-guide .experiment-comparison>span:first-child{flex:1;min-width:0;font-size:.75rem;line-height:1.4}.experiment-guide .comparison-values{flex-shrink:0;align-items:center}.experiment-guide .comparison-values>span{align-items:baseline;gap:4px;display:inline-flex}.experiment-guide .comparison-values small{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.experiment-guide .experiment-goal-status{margin-top:4px;padding-block:0}.experiment-guide .experiment-goal-status>.ui-eyebrow{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.experiment-guide .experiment-goal-status.is-found:before{content:"✓";float:left;color:var(--success);margin-right:6px}.experiment-guide .figure-cue-action{margin-top:2px}.experiment-guide .experiment-guide-instructions{margin-top:0}.experiment-guide .experiment-guide-actions{flex-wrap:wrap;align-items:start;gap:4px 8px;display:flex}.experiment-guide-actions>details[open]{flex-basis:100%}.experiment-guide-actions>.figure-cue-action:has(details[open]){flex-basis:100%}.lesson-page .lesson-layout-reading{max-width:720px;display:block}.lesson-stage .paired-experiment{--plot-max-height:clamp(150px, calc((100dvh - var(--header-height) - var(--shell-actions-height,64px) - 210px) / 1.6), 230px);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.paired-experiment>:nth-child(n+3){grid-column:1/-1}.lesson-stage .paired-experiment .accessible-figure{max-width:none}.practice-page .practice-header{margin-bottom:14px;padding-bottom:10px}.practice-page .practice-position-row{margin-top:4px}.practice-page .practice-invite{margin-top:6px;font-size:.8125rem;line-height:1.5}.practice-invite>summary{cursor:pointer;min-height:32px;color:var(--lavender-deep);align-content:center;font-weight:750}.practice-page .exercise-panel{padding:18px}.practice-page{--plot-max-height:clamp(150px, calc((100dvh - var(--header-height) - var(--shell-actions-height,64px)) * .4), 260px)}.practice-page .exercise-title{margin-bottom:14px;font-size:clamp(1.5rem,2.7vw,2rem)}.practice-page .exercise-option{min-height:52px;padding:10px 12px;font-size:.875rem;line-height:1.5}.practice-page .exercise-options{gap:8px}.practice-page .exercise-submit{margin-top:12px}.practice-page .exercise-utilities{margin-top:10px;padding-top:6px}.practice-page .learning-feedback{margin-top:10px;padding:12px;font-size:.875rem;line-height:1.55}.exercise-answer-details>summary{cursor:pointer;min-height:44px;color:var(--ink-soft);padding-block:8px;font-size:.875rem}.exercise-answer-details.is-answering>summary{display:none}.practice-page .feedback-actions{gap:8px;margin-top:10px}.practice-page .feedback-actions>button{padding:8px 10px}.practice-page .summary-panel{padding:20px}.practice-page .summary-title{margin:8px 0 14px;font-size:clamp(1.75rem,3vw,2.5rem)}.practice-page .summary-item{gap:10px;padding:10px 0;font-size:.9375rem;line-height:1.55}.practice-page .summary-recall{margin-top:14px;font-size:.875rem;line-height:1.55}@media (width>=1024px){.practice-page .exercise-experiment>div:has(>.accessible-figure){grid-template-columns:minmax(0,1fr) minmax(200px,.6fr);align-items:start;gap:8px;display:grid}.practice-page .exercise-experiment>div:has(>.accessible-figure)>*{margin-block:0}.practice-page .exercise-experiment>div:has(>.accessible-figure)>.accessible-figure{grid-area:1/1/span 12}.practice-page .exercise-experiment>div:has(>.accessible-figure)>:not(.accessible-figure){grid-column:2}.lesson-stage .experiment-layout:not(.paired-experiment):has(.math-plane,.scene3d-frame){grid-template-columns:minmax(0,1fr) minmax(170px,.48fr);align-items:start;display:grid}.experiment-layout:not(.paired-experiment)>.accessible-figure,.experiment-layout:not(.paired-experiment)>.scene3d-accessible,.experiment-layout:not(.paired-experiment)>.surface-figure{grid-area:1/1/span 12}.experiment-layout:not(.paired-experiment)>div:has(.math-plane):not(.experiment-readout){grid-area:1/1/span 12}.experiment-layout:not(.paired-experiment)>:not(.accessible-figure):not(.scene3d-accessible):not(.surface-figure):not(div:has(.math-plane)){grid-column:2}.lesson-stage .experiment-layout:has(.surface-figure){display:flex}}@media (width<=1023px){.lesson-page .lesson-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.app-notebook-link>span{display:none}}@media (width<=767px){.practice-page{--plot-max-height:clamp(140px, calc((100dvh - var(--header-height) - var(--shell-actions-height,64px)) * .25), 190px)}.app-toolbar .app-brand>span{display:none}.app-toolbar .app-backlink{justify-content:center;min-width:36px}.app-toolbar .app-backlink>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-toolbar .app-toolbar-left,.app-toolbar .app-toolbar-actions{gap:6px}.lesson-page,.practice-page{padding-top:10px}.lesson-page .chapter-trail,.practice-page .chapter-trail{flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-bottom:6px}.chapter-trail .chapter-trail-name{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chapter-trail .chapter-trail-title{flex-shrink:0;max-width:none}.chapter-trail .chapter-trail-position{justify-content:end;gap:6px}.chapter-trail .chapter-trail-count{white-space:normal;font-size:.75rem}.chapter-trail .chapter-trail-progress{width:40px}.lesson-page .lesson-layout{flex-direction:column;gap:10px;display:flex}.lesson-page .lesson-reading{display:contents}.lesson-page .lesson-title{order:1;margin-bottom:0;font-size:1.5rem}.lesson-page .lesson-prediction{order:2;width:100%}.lesson-page .lesson-stage{--plot-max-height:clamp(150px, calc((100dvh - var(--header-height) - var(--shell-actions-height,64px)) * .3), 220px);order:3;width:100%;padding:10px}.lesson-stage .lesson-stage-heading{margin-bottom:4px}.lesson-stage .experiment-tools-menu{flex-shrink:1;min-width:0;max-width:65%}.lesson-stage .lesson-stage-heading:has(.mobile-prediction-trigger) .lesson-stage-label{display:none}.lesson-stage .experiment-layout{gap:6px}.mobile-prediction-trigger{z-index:11;position:relative}.mobile-prediction-trigger .discovery-idea-toggle>summary{cursor:pointer;min-height:36px;color:var(--lavender-deep);align-content:center;padding:4px 8px;font-size:.8125rem;font-weight:800;display:list-item}.mobile-prediction-trigger .discovery-idea-toggle>.discovery-prediction{border:1px solid var(--line);background:var(--paper);width:min(300px,100vw - 56px);max-height:calc(100dvh - var(--header-height) - var(--shell-actions-height,64px) - 110px);border-radius:16px;margin:0;padding:14px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 8px 24px #28213b20}.mobile-prediction-trigger .discovery-choices{grid-template-columns:1fr}.mobile-prediction-trigger .discovery-prediction legend .ui-eyebrow{display:none}.lesson-page .lesson-narration{order:4;width:100%}.lesson-page .lesson-companion{order:5;width:100%;margin-top:0}.lesson-page .discovery-prediction{margin-bottom:0;display:block}.lesson-page .discovery-prediction>legend{margin-bottom:4px}.lesson-page .discovery-idea-toggle>summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);align-content:center;font-size:.8125rem;font-weight:750;display:list-item}.lesson-page .discovery-idea-toggle>.discovery-prediction{padding-top:4px}.lesson-page .discovery-idea-toggle[open]>summary{margin-bottom:4px}.lesson-page .prediction-feedback-actions{margin-top:0}.lesson-page .discovery-prediction legend .ui-eyebrow{display:none}.lesson-page .discovery-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-page .discovery-choices label{gap:7px;padding:7px 8px;font-size:.8125rem}.lesson-page .discovery-choices label:last-child:nth-child(odd){grid-column:1/-1}.lesson-page .discovery-invite{display:none}.lesson-page .prediction-feedback-choice{font-size:.75rem}.lesson-page .prediction-feedback-actions>.ui-button{min-height:44px;padding:7px 10px;font-size:.8125rem}.lesson-stage .paired-experiment{--plot-max-height:clamp(140px, calc((100dvh - var(--header-height) - var(--shell-actions-height,64px)) * .23), 180px);grid-template-columns:1fr}.lesson-stage .paired-experiment>*{grid-column:1}.scene-fork-actions{flex-wrap:nowrap;gap:4px}.scene-fork-actions .ui-button{padding-inline:8px;font-size:.75rem}.practice-page .practice-layout{flex-direction:column;gap:12px;display:flex}.practice-layout>*{width:100%}.practice-page .practice-companion{padding-top:0}.app-action-bar .shell-actions{flex-wrap:nowrap;gap:6px;padding-inline:16px}.shell-actions .ui-button{padding-inline:10px;font-size:.8125rem}.shell-actions .page-save-note{max-width:20ch}}@media (height<=650px) and (width>=768px){.lesson-page .lesson-stage{--plot-max-height:170px}.lesson-page .lesson-title{font-size:1.5rem}.lesson-page .tonelo-companion{padding-top:8px}}@media (width<=767px) and (height<=750px){.lesson-stage .paired-experiment{--plot-max-height:105px}}.hub-page.hub-page{padding-top:20px;padding-bottom:28px}.hub-page .hub-heading{gap:20px;margin-bottom:16px}.hub-page .hub-heading .ui-title{font-size:clamp(2rem,3.5vw,2.75rem)}.hub-page .hub-heading .ui-lead{margin-top:8px;font-size:.9375rem;line-height:1.6}.hub-intro>summary{display:none}.hub-page .hub-progress{padding:12px 14px}.hub-page .hub-progress p{margin-block:6px}.hub-page .hub-suggestion{top:calc(var(--header-height) + 20px);max-height:calc(100dvh - var(--header-height) - 40px)}.hub-page .hub-suggestion-plate{height:96px;min-height:96px;margin-top:10px}.hub-page .hub-suggestion-plate svg{height:96px}.hub-page .hub-suggestion-plate img{width:82px;height:98px}.hub-page .hub-suggestion-copy{padding:14px 18px}.hub-page .hub-suggestion-copy h2{margin:10px 0 8px;font-size:1.375rem}.hub-page .hub-suggestion-copy>p{margin-bottom:10px;font-size:.8125rem}.hub-page .hub-suggestion-actions{padding:12px 18px}.hub-page .chapter-index-list{gap:10px}.hub-page .chapter-index-entry{grid-template-rows:auto;grid-template-columns:28px minmax(0,1fr) 32px;gap:6px 12px;min-height:142px;padding:14px}.hub-page .chapter-index-number{align-self:start;width:28px;height:28px;font-size:.75rem}.hub-page .chapter-index-copy{grid-area:1/2}.hub-page .chapter-index-motif{grid-area:1/3;width:32px;height:32px}.hub-page .chapter-index-motif svg{width:26px;height:26px}.hub-page .chapter-index-title{font-size:1.0625rem}.hub-page .chapter-index-description{margin:5px 0 8px;font-size:.75rem;line-height:1.45}.hub-page .chapter-index-arrow{bottom:10px;right:15px}.hub-page .journey-group-label{margin-top:4px}.hub-page .recall-discovery{margin-top:10px}.discoveries-page .discoveries-heading{margin:8px 0 18px}.discoveries-page .discoveries-heading h1{margin:8px 0;font-size:clamp(2rem,3.5vw,2.75rem)}.discoveries-page .ui-lead{font-size:.9375rem;line-height:1.55}.discoveries-page .discoveries-list{gap:14px}.discoveries-page .discoveries-list>li{grid-template-columns:120px minmax(0,1fr);align-items:start;gap:18px;padding:16px}.discoveries-list .notebook-entry h2{margin:6px 0;font-size:1.25rem}.notebook-entry .notebook-preview{margin:4px 0;font-size:.875rem;line-height:1.55}.notebook-entry .discovery-actions{gap:6px;margin-top:10px}.notebook-entry .notebook-details>summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);align-content:center;font-size:.8125rem;font-weight:800}.notebook-entry .notebook-picture img{-o-object-fit:contain;object-fit:contain;max-height:110px}.notebook-entry .notebook-picture figcaption{margin-top:5px;font-size:.6875rem;line-height:1.4}.notebook-entry:has(.notebook-details[open]) .notebook-picture img{max-height:none}.notebook-entry .notebook-reviewed-explanation{margin:8px 0;padding-top:8px}.gallery-page.gallery-page{padding-top:16px;padding-bottom:24px}.gallery-page .gallery-page__intro{gap:24px;margin-bottom:16px;display:block}.gallery-page .gallery-page__companion{max-width:360px;margin-top:12px;display:block}.gallery-page .gallery-page__header h1{margin-bottom:6px;font-size:clamp(1.75rem,3vw,2.5rem)}.gallery-page .gallery-page__header p{font-size:.9375rem;line-height:1.55}.gallery-prediction{margin-bottom:12px}.gallery-tools{justify-content:space-between;align-items:start;gap:12px;margin-bottom:8px;display:flex}.gallery-tools .gallery-prediction{flex:1;margin:0}.gallery-prediction>summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);align-content:center;font-size:.875rem;font-weight:800}.gallery-prediction>.discovery-prediction{max-width:680px;margin-bottom:12px}.gallery-page .gallery-page__items{--plot-max-height:250px;display:block}.curiosity-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.curiosity-option{border:2px solid var(--line);background:var(--paper);min-height:92px;color:var(--ink);text-align:left;box-shadow:var(--shadow-button);border-radius:20px;align-items:center;gap:12px;padding:16px;display:flex}.curiosity-option>svg{color:var(--lavender-deep);flex-shrink:0}.curiosity-option>span:first-of-type{flex:1;font-size:1rem;font-weight:800;line-height:1.4}.curiosity-option>span:last-child{color:var(--lavender-deep)}.curiosity-option:hover{background:var(--lavender-soft);border-color:var(--lavender)}.gallery-page-selected .gallery-page__header p{display:none}.gallery-page-selected .gallery-page__intro{margin-bottom:4px}.gallery-page-selected .gallery-page__header h1{font-size:1.5rem}.gallery-page-selected .gallery-back{margin-bottom:8px}.gallery-page-selected .vignette-card{padding:18px}.gallery-page-selected .vignette-card__grid{gap:20px}.gallery-page-selected .vignette-card__content h2{margin-bottom:8px;font-size:1.5rem}.vignette-card__reading>summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);align-content:center;font-size:.875rem;font-weight:800}.gallery-page-selected .vignette-card__body{font-size:.9375rem;line-height:1.6}.gallery-page-selected .vignette-card__citation{margin-top:8px;padding-top:8px}.gallery-page-selected .vignette-card__demo{margin-top:12px;padding-top:10px}.gallery-page-selected .vignette-card__hero>svg{max-height:160px}.gallery-page-selected .scene3d-frame{max-height:250px}.gallery-page-selected .orbit-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.gallery-page-selected .orbit-presets button{padding:8px 6px}.gallery-page-selected .vignette-card__content h2{display:none}.gallery-page-selected .vignette-card__content{padding:8px}.gallery-page-selected .vignette-card__index{display:none}.gallery-page-selected .vignette-card__hero{min-height:0;padding:10px}.gallery-page-selected .scene3d-accessible>.scene3d-frame{height:220px;min-height:180px;max-height:220px}.gallery-page-selected .orbit-current-state{font-size:.8125rem;line-height:1.5}.gallery-page-selected .discovery-observation{margin-top:12px;padding-top:6px}.welcome-page.welcome-page{padding-top:20px;padding-bottom:28px}.welcome-page .welcome-cover{gap:36px;padding-bottom:24px}.welcome-page .welcome-letter{margin-top:20px}.welcome-page .cover-plate{justify-self:center;max-width:420px;padding:20px}.welcome-page .welcome-method li{padding:16px}.welcome-page .welcome-method li p{margin-top:8px}.welcome-page .welcome-method>.ui-eyebrow{margin-bottom:12px}.farewell-page.farewell-page{padding-top:16px;padding-bottom:24px}.farewell-page .farewell-page__recap{margin:14px 0 20px}.farewell-page .farewell-page__recap li{padding:12px}.farewell-page .farewell-message{margin-block:20px 16px;padding-top:16px}@media (width<=767px){.hub-page.hub-page{padding-top:16px}.hub-page .hub-heading .ui-lead{font-size:.875rem;line-height:1.5}.hub-page .hub-intro>summary{cursor:pointer;min-height:44px;color:var(--lavender-deep);align-content:center;font-size:.8125rem;font-weight:800;display:list-item}.hub-page .hub-progress{box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:4px;padding:0}.hub-page .hub-progress p{margin:0 0 6px}.hub-page .hub-body{gap:16px}.hub-page .hub-suggestion{grid-template-columns:minmax(0,1fr) 80px;display:grid}.hub-page .hub-suggestion-content{display:contents}.hub-page .hub-suggestion-plate{grid-area:1/2;height:80px;min-height:80px;margin:10px 8px 0 0}.hub-page .hub-suggestion-plate svg{height:80px}.hub-page .hub-suggestion-plate img{width:66px;height:80px}.hub-page .hub-suggestion-copy{grid-area:1/1;padding:10px 12px}.hub-page .hub-suggestion-copy>.ui-eyebrow{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.hub-page .hub-suggestion-copy h2{margin:0 0 6px;font-size:1.125rem}.hub-page .hub-suggestion-copy>.discovery-resume-topic{background:0 0;padding:0;font-size:.75rem;line-height:1.5}.hub-page .recall-discovery{margin-top:4px}.hub-page .recall-discovery>summary{padding-block:0}.hub-page .hub-suggestion-copy>p{margin-bottom:4px}.hub-page .hub-suggestion-actions{grid-column:1/-1;padding:0 14px 8px}.hub-page .hub-suggestion-actions .page-save-note{display:none}.hub-page .hub-discoveries-link{border:0;justify-content:space-between;align-items:center;margin-top:0;padding-top:0;display:flex}.hub-page .chapter-index-entry{min-height:100px;padding:12px}.hub-page .chapter-index-description{margin-bottom:6px}.hub-page .hub-index-heading{padding-bottom:8px}.discoveries-page .discoveries-list>li{grid-template-columns:84px minmax(0,1fr);gap:12px;padding:12px}.discoveries-list .notebook-entry h2{font-size:1.0625rem}.notebook-entry .notebook-picture img{max-height:90px}.notebook-entry .notebook-preview{font-size:.8125rem}.notebook-entry .discovery-actions{flex-direction:column;align-items:start}.gallery-page .gallery-page__intro,.gallery-page .gallery-page__companion{display:block}.gallery-page .gallery-page__header h1{font-size:1.75rem}.curiosity-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.curiosity-option{flex-wrap:wrap;gap:8px;min-height:96px;padding:12px}.curiosity-option>span:first-of-type{flex-basis:100%;font-size:.875rem}.curiosity-option>span:last-child{display:none}.gallery-page-selected .gallery-page__header h1{font-size:1.25rem}.gallery-page-selected .vignette-card__grid{flex-direction:column;gap:10px;display:flex}.gallery-page-selected .vignette-card__content{order:2}.gallery-page-selected .vignette-card{padding:12px}.gallery-page-selected .vignette-card__index{display:none}.gallery-page-selected .vignette-card__content h2{font-size:1.25rem}.welcome-page .welcome-cover{gap:24px}.welcome-page .welcome-wordmark{font-size:clamp(2.875rem,13vw,4rem)}.welcome-page .welcome-letter{margin-top:14px}.welcome-page .welcome-letter .ui-lead,.welcome-page .welcome-companion-note{font-size:.9375rem;line-height:1.6}.welcome-page .cover-plate{max-width:280px;padding:16px}.welcome-page .cover-plate-heading>span:last-child{font-size:1rem}.welcome-page .welcome-method ol{gap:10px}.welcome-page .welcome-method-title h3{font-size:1rem}}
