@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;--tw-ease: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-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.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}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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}.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,)}.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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#eef1f6;--paper-2:#e4e9f1;--paper-3:#d8dfea;--card:#f7f9fc;--ink:#121826;--ink-soft:#2c3547;--muted:#566174;--metal-accent:#8fa2c6;--accent-strong:#34497d;--accent-soft:#c9d4e6;--metal-1:#2c3d68;--metal-2:#d3def2;--metal-3:#8fa2c6;--metal-4:#34497d;--night:#0e1320;--night-2:#161c28;--night-3:#1f283b;--night-ink:#e6ebf5;--night-muted:#97a2b8;--night-accent:#c9d4e6;--chart-1:#547ecd;--chart-2:#c06145;--chart-3:#078fa9;--chart-4:#6b8e2d;--chart-5:#9569bc;--chart-6:#029678;--chart-7:#a57700;--chart-8:#b95c88;--good:#0c8a2e;--bad:#c8363a;--gold:#d9a441;--flame:#d9621f;--on-fill:#fff;--sky-alpha:24%;--grain-opacity:.5}:root[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0e1320;--paper-2:#121827;--paper-3:#1f283b;--card:#161c28;--ink:#e6ebf5;--ink-soft:#c9d1e0;--muted:#97a2b8;--metal-accent:#a7b8d9;--accent-strong:#c3d1ee;--accent-soft:#3e5282;--metal-1:#a7b8d9;--metal-2:#d3def2;--metal-3:#a7b8d9;--metal-4:#c3d1ee;--night:#080b13;--night-2:#0e1320;--night-3:#182032;--night-accent:#c3d1ee;--chart-1:#608bdb;--chart-2:#ce6d51;--chart-3:#029cb9;--chart-4:#779a3b;--chart-5:#a175c9;--chart-6:#01a483;--chart-7:#b38309;--chart-8:#c76894;--good:#3fbf62;--bad:#f0706f;--gold:#e3b458;--flame:#f08a4b;--on-fill:#0e1320;--sky-alpha:22%;--grain-opacity:.22}@media (prefers-color-scheme:dark){:root[data-mode=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0e1320;--paper-2:#121827;--paper-3:#1f283b;--card:#161c28;--ink:#e6ebf5;--ink-soft:#c9d1e0;--muted:#97a2b8;--metal-accent:#a7b8d9;--accent-strong:#c3d1ee;--accent-soft:#3e5282;--metal-1:#a7b8d9;--metal-2:#d3def2;--metal-3:#a7b8d9;--metal-4:#c3d1ee;--night:#080b13;--night-2:#0e1320;--night-3:#182032;--night-accent:#c3d1ee;--chart-1:#608bdb;--chart-2:#ce6d51;--chart-3:#029cb9;--chart-4:#779a3b;--chart-5:#a175c9;--chart-6:#01a483;--chart-7:#b38309;--chart-8:#c76894;--good:#3fbf62;--bad:#f0706f;--gold:#e3b458;--flame:#f08a4b;--on-fill:#0e1320;--sky-alpha:22%;--grain-opacity:.22}}:root{--line:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--line:color-mix(in oklab, var(--ink) 12%, transparent)}}:root{--line-strong:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--line-strong:color-mix(in oklab, var(--ink) 24%, transparent)}}:root{--glow:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){:root{--glow:color-mix(in oklab, var(--accent-soft) 38%, transparent)}}:root{--metal:linear-gradient(100deg, var(--metal-4) 18%, var(--metal-3) 36%, var(--metal-2) 48%, var(--metal-3) 60%, var(--metal-4) 82%);--night-metal:linear-gradient(100deg, #8fa2c6 18%, #c9d4e6 38%, #f2f5fb 50%, #c9d4e6 62%, #8fa2c6 82%);--grad-brand:linear-gradient(90deg, var(--accent-strong), var(--chart-1));--good-ink:var(--good)}@supports (color:color-mix(in lab, red, red)){:root{--good-ink:color-mix(in oklab, var(--good) 70%, var(--ink))}}:root{--bad-ink:var(--bad)}@supports (color:color-mix(in lab, red, red)){:root{--bad-ink:color-mix(in oklab, var(--bad) 72%, var(--ink))}}:root{--gold-ink:var(--gold)}@supports (color:color-mix(in lab, red, red)){:root{--gold-ink:color-mix(in oklab, var(--gold) 52%, var(--ink))}}:root{--good-wash:var(--good)}@supports (color:color-mix(in lab, red, red)){:root{--good-wash:color-mix(in oklab, var(--good) 9%, var(--card))}}:root{--bad-wash:var(--bad)}@supports (color:color-mix(in lab, red, red)){:root{--bad-wash:color-mix(in oklab, var(--bad) 8%, var(--card))}}:root{--gold-wash:var(--gold)}@supports (color:color-mix(in lab, red, red)){:root{--gold-wash:color-mix(in oklab, var(--gold) 16%, var(--card))}}:root{--sky-ink:var(--accent-strong)}@supports (color:color-mix(in lab, red, red)){:root{--sky-ink:color-mix(in oklab, var(--accent-strong) var(--sky-alpha), transparent)}}:root{--mark-1:var(--metal-1);--mark-2:var(--chart-1);--mark-3:var(--metal-3);--mark-spark:var(--card);--bg:var(--paper);--surface:var(--card);--surface-2:var(--paper-2);--surface-3:var(--paper-3);--ink-2:var(--ink-soft);--faint:var(--muted);--brand:var(--accent-strong);--brand-2:var(--chart-5)}@supports (color:color-mix(in lab, red, red)){:root{--brand-2:color-mix(in oklab, var(--chart-5) 72%, var(--ink))}}:root{--success:var(--good);--accent:var(--chart-1);--radius-sm:10px;--radius:14px;--radius-lg:22px;--shadow-sm:0 1px 0 #12182608;--shadow-md:0 1px 0 #12182608, 0 22px 44px -34px #2c3d6873;--shadow-lg:0 30px 60px -32px #2c3d688c;--ease:cubic-bezier(.19, 1, .22, 1);--tracking-caps:.28em;--header-h:68px;--font-display:var(--font-serif), "Cormorant Garamond", Garamond, "Times New Roman", serif;--font-body:var(--font-sans), "Jost", Futura, "Century Gothic", Arial, sans-serif}*{--accent-ink:var(--accent)}@supports (color:color-mix(in lab, red, red)){*{--accent-ink:color-mix(in oklab, var(--accent) 62%, var(--ink))}}*{--accent-fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){*{--accent-fill:color-mix(in oklab, var(--accent) 78%, var(--ink))}}*{box-sizing:border-box}html{background-color:var(--paper);scroll-padding-top:calc(var(--header-h) + 72px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.32 0 0 0 0 0.4 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");transition:background-color .6s}body{min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;margin:0;font-size:16.5px;font-weight:350;line-height:1.65;display:flex}a{color:inherit;text-decoration:none}b,strong{font-weight:500}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}::selection{color:var(--ink);background:var(--accent-soft)}:focus-visible{outline:1px solid var(--accent-strong);outline-offset:4px;border-radius:6px}.icon{stroke-width:1.6px;flex:none;width:1.15em;height:1.15em}.katex{color:inherit;font-size:1.1em}.katex-display{margin:0;padding:2px 0;overflow:auto hidden}.skip-link{z-index:200;background:var(--ink);color:var(--paper);letter-spacing:.14em;text-transform:uppercase;border-radius:100px;padding:10px 18px;font-size:13px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.app-main{flex:1;width:100%}.eyebrow{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:14px;margin:0 0 12px;font-size:12px;font-weight:400;display:flex}.eyebrow:before{content:"";background:linear-gradient(90deg,#0000,currentColor);flex:none;width:40px;height:1px}.eyebrow-light{color:var(--night-accent)}.display{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(48px,6.6vw,88px);font-weight:300;line-height:.98}.display em,.metal{background:var(--metal);color:#0000;background-size:260% 100%;-webkit-background-clip:text;background-clip:text;padding-right:.08em;font-style:italic;font-weight:400;animation:9s ease-in-out infinite metal-shimmer}@keyframes metal-shimmer{0%,to{background-position:100% 0}50%{background-position:0 0}}.display-md{font-size:clamp(40px,5vw,64px);line-height:1.02}.lead{max-width:62ch;color:var(--ink-2);margin:18px 0 0;font-size:18.5px;font-weight:300;line-height:1.65}.button{border:1px solid var(--line-strong);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;height:46px;color:var(--ink);background:var(--card);transition:background .6s var(--ease), color .6s var(--ease), border-color .6s var(--ease), transform .6s var(--ease);border-radius:100px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:12px;font-weight:400;display:inline-flex}.button .icon{width:16px;height:16px;transition:transform .6s var(--ease)}.button:hover .icon:last-child{transform:translate(3px)}.button-primary{color:var(--paper);background:var(--ink);border-color:var(--ink)}.button-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button-glass{color:var(--night-ink);background:#c9d4e60d;border-color:#c9d4e652}.button-glass:hover{border-color:var(--night-accent);background:#c9d4e61a}.hero .button-primary,.auth-showcase .button-primary,.topic-gate .button-primary,.levelup-card .button-primary,.skillnet .button-primary{color:var(--night);background:var(--night-accent);border-color:var(--night-accent)}.hero .button-primary:hover,.auth-showcase .button-primary:hover,.topic-gate .button-primary:hover,.levelup-card .button-primary:hover,.skillnet .button-primary:hover{background:#fff;border-color:#fff}.button-quiet{height:40px;color:var(--ink-2);background:var(--card);padding:0 18px}.button-quiet:hover{color:var(--accent-strong);border-color:var(--accent-strong)}.button-block{width:100%}.badge{border:1px solid var(--line-strong);letter-spacing:.16em;text-transform:uppercase;height:24px;color:var(--muted);white-space:nowrap;border-radius:100px;align-items:center;gap:6px;padding:0 10px;font-size:10.5px;font-weight:400;display:inline-flex}.badge .icon{width:13px;height:13px}.badge-live{color:var(--good-ink);border-color:var(--good)}@supports (color:color-mix(in lab, red, red)){.badge-live{border-color:color-mix(in oklab, var(--good) 45%, transparent)}}.badge-new{color:var(--accent-ink);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.badge-new{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.badge-live i{background:var(--good);width:6px;height:6px;box-shadow:0 0 0 3px var(--good);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.badge-live i{box-shadow:0 0 0 3px color-mix(in oklab, var(--good) 20%, transparent)}}.badge-accent{color:var(--accent-ink);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.badge-accent{border-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.meter{background:var(--line);border-radius:3px;height:3px;position:relative;overflow:hidden}.meter i{border-radius:inherit;background:var(--grad-brand);transition:width .9s var(--ease);position:absolute;inset:0 auto 0 0}.progress-ring{color:var(--accent);flex:none;place-items:center;display:inline-grid;position:relative}.progress-ring svg{display:block}.progress-ring-track{fill:none;stroke:var(--line-strong)}.progress-ring-value{fill:none;stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .9s var(--ease)}.progress-ring:not(.is-started) .progress-ring-value{opacity:0}.progress-ring.is-complete{color:var(--good)}.progress-ring.is-complete:not(:has(.progress-ring-text)) svg circle.progress-ring-track{fill:var(--good);stroke:var(--good)}.progress-ring-check{width:62%;height:62%;color:var(--on-fill);position:absolute}.progress-ring-text{font-family:var(--font-display);color:var(--ink);font-size:29px;line-height:1;position:absolute}.progress-ring-text small{font-family:var(--font-body);color:var(--muted);margin-left:1px;font-size:12px}.breadcrumb{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:30px;font-size:11.5px;display:flex}.breadcrumb a:hover{color:var(--accent-strong)}.breadcrumb .icon{width:13px;height:13px;color:var(--muted)}.breadcrumb [aria-current]{color:var(--ink);font-weight:400}kbd{border:1px solid var(--line-strong);min-width:22px;height:22px;font-family:var(--font-body);letter-spacing:.08em;color:var(--muted);background:0 0;border-radius:6px;place-items:center;padding:0 6px;font-size:10.5px;font-weight:400;display:inline-grid}.app-header{z-index:50;height:var(--header-h);border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.app-header{background:color-mix(in oklab, var(--paper) 80%, transparent)}}.app-header{-webkit-backdrop-filter:blur(14px)}.app-header-inner{align-items:center;gap:32px;max-width:1320px;height:100%;margin:0 auto;padding:0 24px;display:flex}.app-brand{flex:none;align-items:center;display:flex}.app-nav{gap:6px;display:flex}.app-nav>a,.course-menu-trigger{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .6s var(--ease);background:0 0;border:0;align-items:center;gap:4px;padding:8px 12px;font-size:11.5px;font-weight:400;display:inline-flex;position:relative}.app-nav>a:after,.course-menu-trigger:after{content:"";background:var(--accent-strong);transform-origin:100%;height:1px;transition:transform .9s var(--ease);position:absolute;bottom:2px;left:12px;right:12px;transform:scaleX(0)}.app-nav>a:hover,.course-menu-trigger:hover,.course-menu-trigger[aria-expanded=true]{color:var(--ink)}.app-nav>a[aria-current=page],.course-menu-trigger[aria-current=page]{color:var(--accent-strong)}.app-nav>a[aria-current=page]:after,.course-menu-trigger[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.course-menu{position:relative}.course-menu-trigger{height:100%}.course-menu-trigger .icon{width:14px;height:14px;transition:transform .6s var(--ease)}.course-menu-trigger[aria-expanded=true] .icon{transform:rotate(180deg)}.course-menu-panel{z-index:60;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(165deg, var(--card), var(--paper-2));width:420px;box-shadow:var(--shadow-lg);animation:rise .5s var(--ease);gap:18px;padding:18px;display:grid;position:absolute;top:calc(100% + 14px);left:0}.course-menu-field ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.course-menu-heading{letter-spacing:.24em;text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:8px;margin:0 0 6px;padding:0 10px;font-size:11px;font-weight:400;display:flex}.course-menu-heading span{letter-spacing:.06em;text-transform:none;color:var(--muted)}.course-menu-heading span:before{content:"·";color:var(--muted);margin-right:8px}a.course-menu-heading{border-radius:8px;padding-block:4px;text-decoration:none}a.course-menu-heading:hover,a.course-menu-heading[aria-current=page]{color:var(--ink);background:var(--paper-2)}.course-menu-item{border-radius:10px;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:12px;padding:9px 10px;transition:background .3s;display:grid}.course-menu-item:hover,.course-menu-item[aria-current=page]{background:var(--paper-2)}.course-menu-item i{border:1px solid var(--accent);background:var(--accent);border-radius:50%;width:9px;height:9px}@supports (color:color-mix(in lab, red, red)){.course-menu-item i{background:color-mix(in oklab, var(--accent) 45%, transparent)}}.course-menu-item span{gap:1px;min-width:0;display:grid}.course-menu-item strong{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:500;line-height:1.15}.course-menu-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.app-search-trigger{border:1px solid var(--line-strong);width:240px;height:40px;color:var(--muted);background:var(--card);border-radius:100px;align-items:center;gap:10px;margin-left:auto;padding:0 8px 0 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.app-search-trigger{background:color-mix(in oklab, var(--card) 60%, transparent)}}.app-search-trigger{transition:border-color .6s var(--ease);font-size:14px}.app-search-trigger:hover{border-color:var(--accent-strong)}.app-search-trigger .icon{color:var(--muted)}.app-search-label{text-align:left;color:var(--muted);flex:1}.app-search-trigger kbd{width:auto}.mode-toggle{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--muted);background:var(--card);border-radius:50%;flex:none;place-items:center;margin-left:-18px;display:grid}@supports (color:color-mix(in lab, red, red)){.mode-toggle{background:color-mix(in oklab, var(--card) 60%, transparent)}}.mode-toggle{transition:color .6s var(--ease), border-color .6s var(--ease), rotate .9s var(--ease)}.mode-toggle:hover{color:var(--accent-strong);border-color:var(--accent-strong);rotate:20deg}.mode-toggle .icon{width:18px;height:18px}.app-footer{letter-spacing:.08em;width:100%;max-width:1320px;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin:0 auto;padding:10px 24px 14px;font-size:11px;display:flex}.mode-switch{border:1px solid var(--line);border-radius:100px;padding:2px;display:inline-flex}.mode-switch button{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;border-radius:100px;padding:2px 10px;font-size:10px;transition:color .3s,background .3s}.mode-switch button:hover{color:var(--ink)}.mode-switch button[aria-pressed=true]{color:var(--paper);background:var(--ink)}.home{max-width:1280px;margin:0 auto;padding:24px 24px 40px}.hero{border-radius:var(--radius-lg);color:var(--night-ink);background:radial-gradient(40rem 26rem at 88% 6%, #8fa2c633, transparent 62%), radial-gradient(34rem 24rem at 0% 110%, #547ecd24, transparent 60%), linear-gradient(160deg, var(--night-2), var(--night));box-shadow:var(--shadow-lg), inset 0 0 0 1px #c9d4e61a;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:48px;padding:64px 56px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#0000,#c9d4e68c,#0000);height:1px;position:absolute;inset:0 10% auto}.hero .display{font-size:clamp(50px,6.2vw,92px)}.hero .display em{background:var(--night-metal);background-size:260% 100%;-webkit-background-clip:text;background-clip:text}.hero-lead{color:#e6ebf5c2;max-width:46ch;margin:24px 0 0;font-size:18.5px;font-weight:300;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-stats{border-top:1px solid #ffffff1a;gap:36px;margin:44px 0 0;padding-top:24px;display:flex}.hero-stats dt{letter-spacing:.2em;text-transform:uppercase;color:#e6ebf580;font-size:12px}.hero-stats dd{font-family:var(--font-display);margin:4px 0 0;font-size:45px;line-height:1}.hero-resume{background:#ffffff0f;border-radius:18px;align-items:center;gap:14px;margin-top:40px;padding:12px 20px 12px 12px;transition:background .2s;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff1a}.hero-resume:hover{background:#ffffff1a}.hero-resume .progress-ring{color:#c9d4e6}.hero-resume .progress-ring-track{stroke:#ffffff1f}.hero-resume span{display:grid}.hero-resume small{color:#e6ebf58c;font-size:12px}.hero-resume strong{font-weight:500}.hero-graph{color:#fff;margin:0;position:relative}.hero-graph svg{width:100%;height:auto;display:block}.hero-graph-label{fill:#ffffffd9;font-family:var(--font-display);font-size:22px;font-style:italic}.hero-graph-readout{color:#e6ebf5b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0d;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;width:fit-content;min-height:40px;margin:8px auto 0;padding:10px 18px;font-size:13px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.hero-graph-readout div{align-items:center;gap:8px;display:flex}.hero-graph-readout strong{font-variant-numeric:tabular-nums;color:#fff;min-width:3.4em;font-weight:500}.hero-graph-readout .dot{border-radius:50%;width:8px;height:8px}.hero-graph-label.is-small{fill:#fff9;font-size:17px}.hero-scene-number{fill:#fff;font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.hero-scene{animation:.6s both hero-scene-in}@keyframes hero-scene-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.hero-tabs{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:18px;display:flex}.hero-tabs button{color:#e6ebf599;font:inherit;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:color .15s,background .15s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a}.hero-tabs button:hover{color:#fff}.hero-tabs button[aria-selected=true]{color:#fff;background:#ffffff14}.hero-tabs button[aria-selected=true]:after{content:"";background:var(--night-accent);height:2px;transform:scaleX(var(--progress,1));transform-origin:0;border-radius:2px;position:absolute;bottom:3px;left:12px;right:12px}.hero-scene-link{color:#e6ebf58c;justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:13px;transition:color .15s;display:flex}.hero-scene-link strong{color:#ffffffd9;font-weight:500}.hero-scene-link .icon{width:14px;height:14px}.hero-scene-link:hover,.hero-scene-link:hover strong{color:#fff}.section{margin-top:88px}.section-header{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:28px;display:flex}.section-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(40px,4.2vw,60px);font-weight:300;line-height:1.02}.section-intro{max-width:40ch;color:var(--muted);margin:0}.domain-features{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:20px;display:grid}.domain-feature{border-radius:var(--radius-lg);background:radial-gradient(28rem 16rem at 100% 0%, var(--accent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2));flex-direction:column;padding:32px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.domain-feature{background:radial-gradient(28rem 16rem at 100% 0%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2))}}.domain-feature{box-shadow:inset 0 0 0 1px var(--line);transition:translate .9s var(--ease), box-shadow .9s var(--ease)}.domain-feature:hover{box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--accent);translate:0 -6px}@supports (color:color-mix(in lab, red, red)){.domain-feature:hover{box-shadow:var(--shadow-lg), inset 0 0 0 1px color-mix(in oklab, var(--accent) 55%, transparent)}}.domain-feature-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.domain-feature h3{font-family:var(--font-display);letter-spacing:-.02em;margin:22px 0 0;font-size:52px;font-weight:300;line-height:1}.domain-feature>p{color:var(--muted);margin:10px 0 0}.domain-formula{color:var(--accent-ink)}.domain-feature .domain-formula{font-size:20px}.domain-chapters{border-top:1px solid var(--line);margin:26px 0 0;padding:0;list-style:none;display:grid}.domain-chapters li{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 0;display:grid}.domain-chapter-code{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.domain-chapter-title{font-weight:500}.domain-chapter-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;display:inline-flex}.domain-chapter-count .icon{color:var(--success)}.domain-feature-foot{color:var(--muted);grid-template-columns:1fr auto auto;align-items:center;gap:16px;margin-top:auto;padding-top:26px;font-size:13.5px;display:grid}.domain-open{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:8px;font-size:11.5px;font-weight:400;display:inline-flex}.domain-feature:hover .domain-open .icon{transform:translate(3px)}.domain-open .icon{width:15px;height:15px;transition:transform .6s var(--ease)}.page{max-width:1080px;margin:0 auto;padding:36px 24px 64px}.course-header{grid-template-columns:minmax(0,1fr) 320px;align-items:end;gap:48px;display:grid}.course-progress-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:24px;display:grid}.course-progress-card>div{gap:2px;display:grid}.course-progress-card>div>strong{font-size:16px}.course-progress-card>div>span{color:var(--muted);font-size:13.5px}.course-progress-card .button{grid-column:1/-1;margin-top:4px}.chapter-jump{top:var(--header-h);z-index:10;scrollbar-width:none;background:linear-gradient(var(--bg) 70%, transparent);gap:8px;margin:44px -24px 0;padding:12px 24px;display:flex;position:sticky;overflow-x:auto}.chapter-jump::-webkit-scrollbar{display:none}.chapter-jump a{white-space:nowrap;height:36px;color:var(--ink-2);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 10px;font-size:14px;font-weight:500;transition:box-shadow .2s,color .2s;display:inline-flex}.chapter-jump a:hover{color:var(--ink);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line-strong)}.chapter-jump a span{width:22px;height:22px;color:var(--accent-ink);background:var(--accent);border-radius:50%;place-items:center;font-size:11px;font-weight:500;display:grid}@supports (color:color-mix(in lab, red, red)){.chapter-jump a span{background:color-mix(in oklab, var(--accent) 12%, transparent)}}.chapters{gap:56px;margin-top:24px;display:grid}.chapter-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:22px;margin-bottom:18px;display:grid}.chapter-code{font-family:var(--font-display);color:var(--accent-ink);font-size:63px;line-height:.86}.chapter-copy h2{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:36px;font-weight:400;line-height:1.1}.chapter-copy p{max-width:60ch;color:var(--muted);margin:6px 0 0}.chapter-formula{color:var(--ink-2);background:var(--accent);border-radius:12px;align-self:center;padding:10px 16px}@supports (color:color-mix(in lab, red, red)){.chapter-formula{background:color-mix(in oklab, var(--accent) 6%, var(--surface))}}.chapter-formula{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.chapter-formula{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 14%, transparent)}}.chapter-formula{white-space:nowrap}.topic-list{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);margin:0;padding:0;list-style:none;overflow:hidden}.topic-list li+li{border-top:1px solid var(--line)}.topic-row{grid-template-columns:48px minmax(0,1fr) auto 20px;align-items:center;gap:18px;padding:18px 22px;transition:background .18s;display:grid}.topic-row:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.topic-row:hover{background:color-mix(in oklab, var(--accent) 3.5%, var(--surface))}}.topic-glyph-tile{width:48px;height:48px;color:var(--accent);background:var(--accent);border-radius:14px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.topic-glyph-tile{background:color-mix(in oklab, var(--accent) 10%, var(--surface))}}.topic-glyph{width:28px;height:28px}.topic-row-main{gap:3px;min-width:0;display:grid}.topic-row-title{letter-spacing:-.005em;font-size:16.5px;font-weight:500}.topic-code{color:var(--accent-ink);font-variant-numeric:tabular-nums;margin-right:10px;font-weight:500}.topic-row-desc{color:var(--muted);font-size:14px}.topic-row-meta{align-items:center;gap:12px;display:flex}.topic-row-count{text-align:right;min-width:3ch;color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px}.topic-row-chevron{color:var(--faint);transition:transform .2s var(--ease), color .2s}.topic-row:hover .topic-row-chevron{color:var(--accent);transform:translate(3px)}.topic-layout{grid-template-columns:300px minmax(0,1fr);max-width:1320px;margin:0 auto;display:grid;position:relative}.topic-layout:before{content:"";background:var(--line);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:299px}.course-outline{top:var(--header-h);align-self:start;min-width:0;padding:20px 20px 20px 24px;position:sticky;overflow:visible}.course-outline-head{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 8px;display:flex}.course-outline-course{display:grid}.course-outline-course small{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:400}.course-outline-course strong{font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.1}.course-outline-course:hover strong{color:var(--brand)}.course-outline-close,.course-outline-toggle,.course-outline-scrim{display:none}.course-outline-nav{grid-template-columns:minmax(0,1fr);gap:4px;display:grid}.course-outline-chapter-toggle{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:26px minmax(0,1fr) auto 16px;align-items:center;gap:6px;width:100%;padding:7px 8px;transition:background .15s;display:grid}.course-outline-chapter-toggle:hover{background:var(--surface-2)}.course-outline-chapter-code{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.course-outline-chapter-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:14.5px;font-weight:500}.course-outline-chapter-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.course-outline-chevron{width:16px;height:16px;color:var(--faint);transition:transform .2s var(--ease)}.course-outline-chapter-toggle[aria-expanded=false] .course-outline-chevron{transform:rotate(-90deg)}.course-outline-chapter ol{gap:1px;margin:2px 0 8px;padding:0 0 0 20px;list-style:none;display:grid}.course-outline-topic{color:var(--ink-2);border-radius:10px;grid-template-columns:18px 30px minmax(0,1fr);align-items:start;gap:8px;padding:6px 10px;font-size:13.5px;line-height:1.3;transition:background .15s,color .15s;display:grid;position:relative}.course-outline-topic .progress-ring{margin-top:1px}.course-outline-topic:hover{background:var(--surface-2);color:var(--ink)}.course-outline-topic-code{color:var(--faint);font-variant-numeric:tabular-nums}.course-outline-topic[aria-current=page]{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);font-weight:500}.course-outline-topic[aria-current=page]:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:-12px}.course-outline-topic[aria-current=page] .course-outline-topic-code{color:var(--accent-ink)}.topic{width:100%;max-width:920px;margin:0 auto;padding:36px 48px 72px}.topic-kicker{color:var(--muted);align-items:center;gap:12px;margin:0 0 16px;font-size:14px;font-weight:500;display:flex}.topic-code-pill{border:1px solid var(--accent);padding:2px 12px}@supports (color:color-mix(in lab, red, red)){.topic-code-pill{border:1px solid color-mix(in oklab, var(--accent) 60%, transparent)}}.topic-code-pill{letter-spacing:.14em;color:var(--accent-ink);border-radius:100px;font-size:12px;font-weight:400}.topic-header .lead{font-size:19px}.topic-intro{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-top:36px;display:grid}.topic-intro.is-stacked{grid-template-columns:minmax(0,1fr)}.lead-formula{min-width:0}.lead-formula-split,.topic-intro.is-split .lead-formula-full{display:none}.topic-intro.is-split .lead-formula-split{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.lead-formula-split .katex-display{margin:.15em 0}.card-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:400;display:flex}.card-label .icon{color:var(--accent);width:16px;height:16px}.formula-card{border-radius:var(--radius-lg);background:radial-gradient(22rem 12rem at 100% 100%, var(--accent), transparent 70%), linear-gradient(180deg, var(--surface), var(--accent));grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;min-height:160px;padding:22px 24px;display:grid}@supports (color:color-mix(in lab, red, red)){.formula-card{background:radial-gradient(22rem 12rem at 100% 100%, color-mix(in oklab, var(--accent) 14%, transparent), transparent 70%), linear-gradient(180deg, var(--surface), color-mix(in oklab, var(--accent) 4%, var(--surface)))}}.formula-card{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.formula-card{box-shadow:var(--shadow-md), inset 0 0 0 1px color-mix(in oklab, var(--accent) 16%, var(--line))}}.formula-card .katex-display{font-size:calc(1.35em * var(--formula-scale,1));text-align:left;padding-bottom:2px;overflow:auto hidden}.formula-card .katex-display>.katex{text-align:left}.formula-card>*{min-width:0}.goal-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);align-content:start;gap:14px;padding:22px 24px;display:grid}.goal-card p{color:var(--ink-2);margin:0;font-size:16.5px;line-height:1.55}.topic-section{margin-top:56px}.topic-section-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.topic-section-header h2{font-family:var(--font-display);margin:0;font-size:38px;font-weight:400;line-height:1.05}.topic-section-header>p{max-width:40ch;color:var(--muted);text-align:right;margin:0;font-size:14.5px}.concept-progress{width:200px;color:var(--muted);text-align:right;gap:8px;font-size:13.5px;display:grid}.concept-progress strong{color:var(--ink)}.concept-intro{color:var(--muted);align-items:center;gap:10px;margin:-4px 0 16px;font-size:14px;display:flex}.concept-intro .icon{color:var(--accent);flex:none}.concept-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.concept-toggle{border-radius:var(--radius);text-align:left;background:var(--surface);width:100%;box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);transition:box-shadow .2s var(--ease), transform .2s var(--ease), background .2s;border:0;grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:14px;padding:16px 18px;display:grid}.concept-toggle:hover{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line-strong)}.concept-toggle:active{transform:scale(.995)}.concept-index{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.concept-text{color:var(--ink);font-size:15.5px;line-height:1.45}.concept-check{color:#0000;width:28px;height:28px;box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:50%;place-items:center;transition:background .2s,color .2s,box-shadow .2s;display:grid}.concept-check .icon{width:16px;height:16px}.concept-toggle:hover .concept-check,.concept-mark:hover .concept-check{color:var(--faint)}.concept-list .is-done>.concept-toggle{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.concept-list .is-done>.concept-toggle{background:color-mix(in oklab, var(--accent) 4%, var(--surface))}}.concept-list .is-done .concept-index{color:var(--accent-ink)}.concept-list .is-done .concept-text{color:var(--ink-2)}.concept-list .is-done .concept-check{color:var(--on-fill);background:var(--accent-fill);box-shadow:0 4px 10px -4px var(--accent)}.concept-list .is-highlighted>.concept-toggle,.concept-list .is-highlighted.has-lesson{box-shadow:0 0 0 2px var(--accent), var(--shadow-md);animation:ring-pulse 1.6s var(--ease) 2}@keyframes ring-pulse{50%{box-shadow:0 0 0 6px color-mix(in oklab, var(--accent) 22%, transparent), var(--shadow-md)}}.has-lesson{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);transition:box-shadow .25s var(--ease)}.has-lesson:hover{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line-strong)}.has-lesson.is-open{box-shadow:0 24px 60px -28px #2c3d6859, inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.has-lesson.is-open{box-shadow:0 24px 60px -28px #2c3d6859, inset 0 0 0 1px color-mix(in oklab, var(--accent) 35%, var(--line))}}.concept-list .is-done.has-lesson:not(.is-open){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.concept-list .is-done.has-lesson:not(.is-open){background:color-mix(in oklab, var(--accent) 4%, var(--surface))}}.concept-row{align-items:stretch;display:flex}.concept-open{border-radius:var(--radius) 0 0 var(--radius);text-align:left;background:0 0;border:0;flex:1;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:14px;min-width:0;padding:16px 12px 16px 18px;display:grid}.concept-chevron{width:18px;height:18px;color:var(--faint);transition:transform .25s var(--ease), color .2s}.concept-open:hover .concept-chevron{color:var(--accent)}.is-open .concept-chevron{color:var(--accent);transform:rotate(180deg)}.is-open .concept-text{font-weight:500}.concept-mark{border:0;border-left:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;background:0 0;flex:none;place-items:center;width:60px;display:grid}.concept-panel{border-top:1px solid var(--line);animation:reveal .3s var(--ease);padding:0 28px 28px}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}}.lesson{gap:18px;padding-top:22px;display:grid}.lesson-lead{border-left:2px solid var(--accent);font-family:var(--font-display);color:var(--ink);margin:0;padding-left:18px;font-size:22px;font-weight:400;line-height:1.45}.lesson-text{color:var(--ink-2);margin:0;line-height:1.7}.lesson-formula{text-align:center;background:var(--surface-2);border-radius:14px;margin:0;padding:18px 20px}.lesson-formula figcaption{text-align:left;color:var(--muted);margin-top:12px;font-size:14px;line-height:1.55}.lesson-box{background:var(--accent);border-radius:16px;padding:18px 20px}@supports (color:color-mix(in lab, red, red)){.lesson-box{background:color-mix(in oklab, var(--accent) 5%, var(--surface))}}.lesson-box{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.lesson-box{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 18%, transparent)}}.lesson-box-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);font-size:11.5px;font-weight:400}.lesson-box h4{margin:4px 0 8px;font-size:16.5px;font-weight:500}.lesson-box p{color:var(--ink-2);margin:0;line-height:1.65}.lesson-box .katex-display{margin-top:12px}.lesson-theorem{background:#8fa2c60f;box-shadow:inset 0 0 0 1px #8fa2c633}.lesson-theorem .lesson-box-label{color:var(--brand-2)}.lesson-example{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong)}.lesson-example .lesson-box-label{color:var(--chart-3)}@supports (color:color-mix(in lab, red, red)){.lesson-example .lesson-box-label{color:color-mix(in oklab, var(--chart-3) 62%, var(--ink))}}.lesson-steps{counter-reset:step;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.lesson-steps li{color:var(--ink-2);counter-increment:step;padding-left:34px;line-height:1.6;position:relative}.lesson-steps li:before{content:counter(step);width:22px;height:22px;color:var(--chart-3);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid;position:absolute;top:1px;left:0}@supports (color:color-mix(in lab, red, red)){.lesson-steps li:before{color:color-mix(in oklab, var(--chart-3) 62%, var(--ink))}}.lesson-steps li:before{background:var(--chart-3)}@supports (color:color-mix(in lab, red, red)){.lesson-steps li:before{background:color-mix(in oklab, var(--chart-3) 10%, transparent)}}.lesson-result{border-top:1px dashed var(--line-strong);align-items:flex-start;gap:8px;padding-top:12px;font-weight:500;display:flex;color:var(--ink)!important;margin:14px 0 0!important}.lesson-result .icon{color:var(--success);flex:none;margin-top:3px}.lesson-insight{background:var(--gold);border-radius:14px;gap:12px;padding:14px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.lesson-insight{background:color-mix(in oklab, var(--gold) 12%, transparent)}}.lesson-insight-icon{width:30px;height:30px;color:var(--gold-ink);background:var(--gold);border-radius:10px;flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.lesson-insight-icon{background:color-mix(in oklab, var(--gold) 22%, transparent)}}.lesson-insight p{color:var(--ink-2);margin:3px 0 0;line-height:1.6}.lesson-lab{gap:12px;margin:4px 0;display:grid}.lesson-lab figcaption{color:var(--muted);align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;display:flex}.lesson-lab figcaption .icon{color:var(--accent);flex:none;margin-top:2px}.lesson-lab .explorer-shell{box-shadow:0 20px 40px -24px #2c3d6880,inset 0 0 0 1px #ffffff0f}.lesson-checks{gap:14px;margin-top:6px;display:grid}.check{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent);border-radius:16px;padding:18px 20px}@supports (color:color-mix(in lab, red, red)){.check{box-shadow:inset 0 0 0 1.5px color-mix(in oklab, var(--accent) 25%, var(--line))}}.check{transition:box-shadow .3s}.check.is-solved{box-shadow:inset 0 0 0 1.5px var(--good)}@supports (color:color-mix(in lab, red, red)){.check.is-solved{box-shadow:inset 0 0 0 1.5px color-mix(in oklab, var(--good) 45%, transparent)}}.check-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.check-label{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-ink);font-size:11.5px;font-weight:400}.check-solved{color:var(--success);align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.check-prompt{margin:8px 0 14px;font-size:16px;line-height:1.6}.check-numeric input{background:var(--surface-2);width:min(260px,100%);height:46px;box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:12px;outline:0;padding:0 14px;font-size:16px;transition:box-shadow .2s}.check-numeric input:focus{box-shadow:inset 0 0 0 2px var(--accent)}.check-choices{gap:8px;display:grid}.check-choices button{text-align:left;background:var(--surface);width:100%;box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:12px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;padding:11px 14px;transition:box-shadow .15s,background .15s;display:grid}.check-choices button:hover{background:var(--surface-2)}.check-choices button.is-selected{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.check-choices button.is-selected{background:color-mix(in oklab, var(--accent) 7%, var(--surface))}}.check-choices button.is-selected{box-shadow:inset 0 0 0 2px var(--accent)}.check-choice-key{width:26px;height:26px;color:var(--muted);background:var(--surface-2);border-radius:50%;place-items:center;font-size:12px;font-weight:500;display:grid}.is-selected .check-choice-key{color:var(--on-fill);background:var(--accent-fill)}.check-matching{gap:10px;display:grid}.check-matching-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(190px,250px);align-items:center;gap:14px;padding:8px 0;display:grid}.check-matching-row label{line-height:1.5}.check-matching select{height:42px;font:inherit;color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:10px;padding:0 12px;font-size:14.5px}.check-actions{margin-top:16px}.button-small{height:40px;padding:0 18px;font-size:11.5px}.button-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.check-feedback{animation:reveal .25s var(--ease);border-radius:12px;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.check-feedback p{margin:0;line-height:1.55}.check-feedback.is-correct{color:var(--good-ink);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.check-feedback.is-correct{background:color-mix(in oklab, var(--good) 10%, transparent)}}.check-feedback.is-wrong{color:var(--bad-ink);background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.check-feedback.is-wrong{background:color-mix(in oklab, var(--bad) 8%, transparent)}}.check-feedback-icon{width:24px;height:24px;color:var(--on-fill);background:currentColor;border-radius:50%;flex:none;place-items:center;font-weight:500;display:grid}.check-feedback-icon>*{color:var(--on-fill)}.is-correct .check-feedback-icon{background:var(--success)}.is-wrong .check-feedback-icon{background:var(--bad);color:var(--on-fill)}.lesson-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:4px;padding-top:18px;display:flex}.lesson-footer p{color:var(--muted);margin:0;font-size:14px}.summary-card{border-radius:var(--radius-lg);background:radial-gradient(26rem 14rem at 100% 0%, var(--accent), transparent 70%), var(--surface);margin-top:40px;padding:26px 28px}@supports (color:color-mix(in lab, red, red)){.summary-card{background:radial-gradient(26rem 14rem at 100% 0%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 70%), var(--surface)}}.summary-card{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line)}.summary-card h2{font-family:var(--font-display);align-items:center;gap:10px;margin:0 0 16px;font-size:31px;font-weight:400;display:flex}.summary-card h2 .icon{color:var(--accent)}.summary-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.summary-card li{color:var(--ink-2);padding-left:20px;line-height:1.6;position:relative}.summary-card li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:.65em;left:2px}.concept-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.concept-hint{color:var(--muted);margin:0;font-size:14px}.concept-complete{color:var(--success);align-items:center;gap:8px;margin:0;font-weight:500;display:flex}.lab-teaser{border-radius:var(--radius);border:1px dashed var(--line-strong);background:var(--card);gap:16px;margin-top:40px;padding:20px 22px;display:flex}@supports (color:color-mix(in lab, red, red)){.lab-teaser{background:color-mix(in oklab, var(--card) 55%, transparent)}}.lab-teaser-icon{width:40px;height:40px;color:var(--accent);background:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.lab-teaser-icon{background:color-mix(in oklab, var(--accent) 10%, transparent)}}.lab-teaser strong{font-size:15px}.lab-teaser p{color:var(--muted);margin:2px 0 0;font-size:14.5px}.pager{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;padding-top:32px;display:grid}.pager-link{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);transition:box-shadow .2s, transform .2s var(--ease);gap:6px;padding:18px 22px;display:grid}.pager-link:hover{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line-strong);transform:translateY(-2px)}.pager-link small{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.pager-link small .icon{width:14px;height:14px}.pager-link strong{font-size:15px;font-weight:500}.pager-next{text-align:right}.pager-next small{justify-content:flex-end}.explorer-shell{--panel-line:#ffffff17;border-radius:var(--radius-lg);color:#e6ebf5;background:radial-gradient(40rem 20rem at 100% 0%, #8fa2c638, transparent 60%), linear-gradient(160deg, var(--night-2), var(--night));box-shadow:var(--shadow-lg), inset 0 0 0 1px #ffffff0f;overflow:hidden}.explorer-shell .MafsView{--mafs-bg:transparent;--mafs-fg:#e6ebf5;--mafs-line-color:#ffffff24;--grid-line-subdivision-color:#ffffff0d;--mafs-origin-color:#ffffff80}.explorer-topbar{border-bottom:1px solid var(--panel-line);justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;display:flex}.micro-label{letter-spacing:.2em;text-transform:uppercase;color:#e6ebf599;margin:0;font-size:12px;font-weight:400}.graph-legend{color:#e6ebf5b3;gap:16px;font-size:13px;display:flex}.graph-legend span{align-items:center;gap:7px;display:flex}.graph-legend i{border-radius:3px;width:14px;height:3px}.explorer-grid{grid-template-columns:minmax(0,1fr) 290px;display:grid}.graph-stage{min-width:0;position:relative}.graph-formula-badge{z-index:2;box-shadow:inset 0 0 0 1px var(--panel-line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b13b3;border-radius:10px;padding:6px 12px;position:absolute;top:14px;left:14px}.explorer-panel{border-left:1px solid var(--panel-line);background:#ffffff05;align-content:start;gap:14px;padding:18px 20px;display:grid}.panel-heading{justify-content:space-between;align-items:center;display:flex}.icon-button{color:#e6ebf5bf;background:#ffffff0f;border:0;border-radius:10px;place-items:center;width:34px;height:34px;transition:background .15s;display:grid}.icon-button:hover{color:#fff;background:#ffffff1f}.slider-block{gap:10px;display:grid}.slider-label-row{justify-content:space-between;font-size:14px;display:flex}.slider-label-row label{color:#e6ebf5bf}.slider-label-row output{font-variant-numeric:tabular-nums;color:#fff;font-weight:500}.range-scale{color:#e6ebf566;justify-content:space-between;font-size:11px;display:flex}.explorer-shell input[type=range]{appearance:none;background:linear-gradient(90deg, #8fa2c6, #c9d4e6) 0 / var(--range-progress,50%) 100% no-repeat, #ffffff1f;cursor:pointer;border-radius:6px;width:100%;height:6px}.explorer-shell input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 4px #8fa2c666,0 2px 6px #0006}.explorer-shell input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:20px;height:20px;box-shadow:0 0 0 4px #8fa2c666,0 2px 6px #0006}.approach-button{color:#1a1300;background:linear-gradient(180deg, #ffd77a, var(--gold));height:44px;box-shadow:inset 0 1px 0 #ffffff80, 0 8px 20px -10px var(--gold);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-weight:500;display:flex}@supports (color:color-mix(in lab, red, red)){.approach-button{box-shadow:inset 0 1px 0 #ffffff80, 0 8px 20px -10px color-mix(in oklab, var(--gold) 80%, transparent)}}.approach-button{transition:transform .2s var(--ease), opacity .2s}.approach-button:hover:not(:disabled){transform:translateY(-1px)}.approach-button:disabled{opacity:.6;cursor:progress}.toggle-row{flex-wrap:wrap;gap:6px;display:flex}.toggle-row button{color:#e6ebf5cc;height:32px;box-shadow:inset 0 0 0 1px var(--panel-line);background:#ffffff0f;border:0;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:13px;display:flex}.toggle-row i{background:#fff3;border-radius:50%;width:8px;height:8px;transition:background .2s}.toggle-row i.on{background:#5ad8ff;box-shadow:0 0 8px #5ad8ff}.measurement-stack{box-shadow:inset 0 0 0 1px var(--panel-line);border-radius:12px;display:grid}.measurement-row{justify-content:space-between;padding:10px 14px;font-size:13.5px;display:flex}.measurement-row+.measurement-row{border-top:1px solid var(--panel-line)}.measurement-row span{color:#e6ebf599}.measurement-row strong{font-variant-numeric:tabular-nums;font-weight:500}.slope-display{box-shadow:inset 0 0 0 1px var(--panel-line);background:#ffffff0a;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:14px;transition:box-shadow .3s;display:grid}.slope-display div{gap:2px;display:grid}.slope-display div:last-child{text-align:right}.slope-display span{color:#e6ebf58c;font-size:11.5px}.slope-display strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:400;line-height:1}.slope-display div:first-child strong{color:#c9a5ff}.slope-display div:last-child strong{color:#ffc857}.slope-arrow{color:#e6ebf559}.slope-display.is-close{box-shadow:inset 0 0 0 1px #ffc8578c,0 0 24px -6px #ffc85773}.zero-note{color:#e6ebf5a6;margin:0;font-size:13px}.equation-ribbon{border-top:1px solid var(--panel-line);background:#ffffff05;justify-content:space-between;align-items:center;gap:24px;padding:18px 22px;display:flex}.equation-copy span{letter-spacing:.2em;text-transform:uppercase;color:#e6ebf599;font-size:12px;font-weight:400;display:block}.equation-copy p{color:#e6ebf580;margin:2px 0 0;font-size:13.5px}.equation-live{color:#fff}.lab-stage{padding:12px 8px 6px}.lab-plot{width:100%;height:auto;display:block}.lab-grid line{stroke:#ffffff0f}.lab-axis{stroke:#ffffff52}.lab-tick-labels text{font-family:var(--font-body);fill:#e6ebf573;font-variant-numeric:tabular-nums;font-size:12px}.lab-band{fill:#ffc8571f;stroke:#ffc85766;stroke-dasharray:4 4}.lab-bar{fill:#c9a5ff52}.lab-chips{flex-wrap:wrap;gap:6px;display:flex}.lab-chips button{color:#e6ebf5bf;height:30px;box-shadow:inset 0 0 0 1px var(--panel-line);background:#ffffff0f;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.lab-chips button:hover{color:#fff;background:#ffffff1a}.lab-chips button[aria-pressed=true]{color:#fff;background:#5ad8ff29;box-shadow:inset 0 0 0 1px #5ad8ff8c}.lab-formula{color:#fff;box-shadow:inset 0 0 0 1px var(--panel-line);background:#ffffff0a;border-radius:12px;gap:6px;padding:12px 14px;display:grid;overflow-x:auto}.lab-formula-sub{color:#e6ebf599;font-size:.9em}.lab-terms{color:#e6ebf58c;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12.5px;display:flex}.toggle-row button:disabled{opacity:.4;cursor:not-allowed}.toggle-row button[aria-pressed=true]{color:#fff}.race-card{border-left:3px solid;gap:8px;padding-left:12px;display:grid}.race-card-head{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.race-card-head .katex{color:#fff;font-size:1em}.explorer-panel .measurement-row strong{text-align:right}.search-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b1366;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.search-dialog{background:var(--surface);width:min(640px,100%);max-height:72vh;box-shadow:0 40px 100px -20px #080b1380, inset 0 0 0 1px var(--line);animation:rise .2s var(--ease);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.985)}}.search-field{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:0 12px 0 20px;display:flex}.search-field>.icon{width:20px;height:20px;color:var(--muted)}.search-field input{height:60px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:17px}.search-field input::placeholder{color:var(--faint)}.search-close{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.search-close:hover{background:var(--surface-2)}.search-body{padding:10px;overflow-y:auto}.search-section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:6px 10px 8px;font-size:12px;font-weight:400}.search-body ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.search-body li{cursor:pointer;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.search-body li.is-active{background:var(--surface-2)}.search-glyph{width:38px;height:38px;color:var(--accent);background:var(--accent);border-radius:10px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.search-glyph{background:color-mix(in oklab, var(--accent) 10%, var(--surface))}}.search-glyph .topic-glyph{width:22px;height:22px}.search-text{min-width:0;display:grid}.search-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.search-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.search-empty{text-align:center;color:var(--muted);gap:4px;padding:28px 10px;display:grid}.search-empty strong{color:var(--ink)}.search-footer{border-top:1px solid var(--line);color:var(--faint);background:var(--surface-2);gap:18px;padding:10px 20px;font-size:12px;display:flex}.search-footer span{align-items:center;gap:4px;display:flex}.not-found{text-align:center;justify-items:center;gap:12px;max-width:560px;margin:0 auto;padding:120px 24px;display:grid}.not-found p{color:var(--muted);margin:0}.not-found .button{margin-top:16px}@media (max-width:1100px){.hero{grid-template-columns:1fr;gap:32px;padding:48px 40px}.hero-graph{max-width:620px}.explorer-grid{grid-template-columns:1fr}.explorer-panel{border-left:0;border-top:1px solid var(--panel-line);grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-panel .panel-heading,.explorer-panel .approach-button,.explorer-panel .toggle-row,.explorer-panel .zero-note{grid-column:1/-1}}@media (max-width:1024px){.topic-layout{grid-template-columns:minmax(0,1fr)}.topic-layout:before{display:none}.course-outline{z-index:90;background:var(--bg);width:min(340px,88vw);height:auto;box-shadow:var(--shadow-lg);transition:transform .3s var(--ease);border-right:0;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-104%)}.course-outline.is-open{transform:none}.course-outline-close{width:36px;height:36px;color:var(--muted);background:var(--surface-2);border:0;border-radius:10px;place-items:center;display:grid}.course-outline-scrim{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080b1359;animation:.2s fade;display:block;position:fixed;inset:0}.course-outline-toggle{top:var(--header-h);z-index:20;border:0;border-bottom:1px solid var(--line);text-align:left;background:var(--paper);align-items:center;gap:12px;width:100%;padding:10px 24px;display:flex;position:sticky}@supports (color:color-mix(in lab, red, red)){.course-outline-toggle{background:color-mix(in oklab, var(--paper) 88%, transparent)}}.course-outline-toggle{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.course-outline-toggle>.icon{width:20px;height:20px;color:var(--accent)}.course-outline-toggle span{min-width:0;font-size:14px;font-weight:500;display:grid}.course-outline-toggle small{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:400}.topic{padding:28px 24px 64px}}@media (max-width:860px){.app-header-inner{gap:12px;padding:0 16px}.app-search-trigger{width:auto}.app-search-label,.app-search-trigger kbd{display:none}.course-header{grid-template-columns:1fr;gap:28px}.topic-intro{grid-template-columns:minmax(0,1fr)}.chapter-header{grid-template-columns:auto minmax(0,1fr)}.chapter-formula{display:none}.section-header,.topic-section-header{flex-direction:column;align-items:flex-start}.topic-section-header>p{text-align:left}.concept-progress{text-align:left;width:100%}}@media (max-width:640px){.home{padding:12px 16px 32px}.hero{border-radius:24px;padding:36px 22px 28px}.hero-stats{gap:24px}.hero-stats dd{font-size:32px}.hero-graph-readout{gap:10px;padding:8px 12px;font-size:12px}.section{margin-top:64px}.domain-feature{padding:24px}.domain-feature-foot{grid-template-columns:1fr auto}.domain-feature-foot .meter{grid-column:1/-1}.app-nav>a{padding:7px 10px}.course-menu-trigger{padding:7px 8px 7px 10px}.course-menu{position:static}.course-menu-panel{top:calc(var(--header-h) + 8px);width:auto;max-height:calc(100dvh - var(--header-h) - 20px);position:fixed;left:12px;right:12px;overflow-y:auto}.page{padding:24px 16px 48px}.chapter-jump{margin:32px -16px 0;padding:12px 16px}.chapter-code{font-size:42px}.chapter-copy h2{font-size:26px}.topic-row{grid-template-columns:40px minmax(0,1fr) auto;gap:14px;padding:16px}.topic-glyph-tile{border-radius:12px;width:40px;height:40px}.topic-row-chevron,.topic-row-count,.topic-row-meta .badge{display:none}.topic{padding:24px 16px 56px}.course-outline-toggle{padding:10px 16px}.concept-toggle{grid-template-columns:28px minmax(0,1fr) 28px;gap:10px;padding:14px}.concept-open{grid-template-columns:26px minmax(0,1fr) 18px;gap:10px;padding:14px 8px 14px 14px}.concept-mark{width:52px}.concept-panel{padding:0 14px 18px}.check{padding:16px}.check-matching-row{grid-template-columns:1fr;gap:8px}.lesson-footer{flex-direction:column;align-items:stretch}.summary-card{padding:22px 18px}.concept-actions{flex-direction:column;align-items:stretch}.pager,.explorer-panel{grid-template-columns:1fr}.equation-ribbon{flex-direction:column;align-items:flex-start}.graph-legend{display:none}.app-footer{flex-direction:column;gap:4px;padding:24px 16px 32px}}@media (max-width:420px){.app-nav>a:first-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.explorer-shell{container-type:inline-size}@container (max-width:860px){.explorer-grid{grid-template-columns:1fr}.explorer-panel{border-left:0;border-top:1px solid var(--panel-line);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.explorer-panel>.lab-chips,.explorer-panel>.lab-formula,.explorer-panel>.toggle-row,.explorer-panel>.lab-terms,.explorer-panel>.measurement-stack,.explorer-panel>.panel-heading,.explorer-panel>.approach-button,.explorer-panel>.zero-note{grid-column:1/-1}}@container (max-width:520px){.explorer-panel{grid-template-columns:1fr}}.race-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.explorer-panel>.race-cards,.explorer-panel>.slider-block.is-wide{grid-column:1/-1}.lab-group{gap:6px;display:grid}.lab-group-label{color:#e6ebf58c;font-size:12px}.explorer-panel>.lab-group.is-wide,.explorer-panel>.machine{grid-column:1/-1}.machine{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.machine-value{text-align:center;font-variant-numeric:tabular-nums;color:#fff;min-width:44px;box-shadow:inset 0 0 0 1px var(--panel-line);background:#ffffff0f;border-radius:8px;padding:6px 8px;font-weight:500}.machine-value.is-result{color:#0e1320;box-shadow:none;background:#5ad8ff}.machine-box{width:34px;height:34px;font-family:var(--font-display);color:#fff;background:#c9a5ff40;border-radius:10px;place-items:center;font-size:22px;font-style:italic;display:grid;box-shadow:inset 0 0 0 1px #c9a5ff99}.machine-box.is-outer{background:#5ad8ff33;box-shadow:inset 0 0 0 1px #5ad8ff99}.machine-arrow{color:#e6ebf566}.mapping-set{font-family:var(--font-body);fill:#e6ebf599;font-size:13px;font-weight:500}.mapping-element{font-family:var(--font-display);fill:#fff;font-size:20px;font-style:italic}.topic-layout{grid-template-columns:300px minmax(0,1fr)}.topic,.concept-panel,.lesson>*,.lesson-checks>*{min-width:0}.lesson-formula,.lesson-box,.lesson-steps li,.summary-card li,.check-prompt{overflow:auto hidden}@media (max-width:1024px){.topic-layout{grid-template-columns:minmax(0,1fr)}}.lab-formula-note{color:#ffc857d9;font-size:12px}.lab-verdict{font-size:13px;font-weight:500}.lab-verdict.is-yes{color:#4fe0b0}.lab-verdict.is-no{color:#ff8fa3}.slope-field-stage{cursor:crosshair}.explorer-panel>.toggle-row.is-wide{grid-column:1/-1}.partial-label{font-family:var(--font-body);fill:#e6ebf5b3;paint-order:stroke;stroke:#121827;stroke-width:4px;stroke-linejoin:round;font-size:11.5px}.measurement-row strong .katex{font-size:1em}.xref{color:var(--brand);text-underline-offset:3px;transition:text-decoration-color .2s var(--ease);font-weight:500;-webkit-text-decoration:underline #547ecd4d;text-decoration:underline #547ecd4d}.xref:before{content:"↗ ";opacity:.7;font-weight:500}.xref:hover{text-decoration-color:currentColor}.venn-label{font-family:var(--font-display);fill:#e6ebf5cc;font-size:27px}.venn-value{font-family:var(--font-body);fill:#fff;paint-order:stroke;stroke:#121827;stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:500}.urn-ball{font-family:var(--font-body);fill:#fff;font-size:14px;font-weight:500}.urn-brace{font-family:var(--font-display);fill:#e6ebf599;font-size:49px}.tree-node{font-family:var(--font-body);fill:#fff;font-size:13px;font-weight:500}.tree-prob{font-family:var(--font-body);fill:#e6ebf5cc;paint-order:stroke;stroke:#121827;stroke-width:4px;stroke-linejoin:round;font-size:12px}.tree-path{font-family:var(--font-body);fill:#fff;font-size:13px;font-weight:500}.rv-cell{font-family:var(--font-body);fill:#e6ebf5b3;font-size:13px;font-weight:500}.rv-cell.is-hit{fill:#1a1300}.rv-bar-label{font-family:var(--font-body);fill:#e6ebf5bf;font-size:11px}.dist-plots{gap:4px;display:grid}.joint-cell{font-family:var(--font-body);fill:#fff;paint-order:stroke;stroke:#0e1320b3;stroke-width:3px;font-size:11px;font-weight:500}.joint-marginal{font-family:var(--font-body);fill:#e6ebf5cc;font-size:11px}.mtx-entry{font-family:var(--font-body);font-variant-numeric:tabular-nums;fill:#fff;font-size:17px;font-weight:500}.mtx-label{font-family:var(--font-body);fill:#e6ebf5bf;font-size:13px;font-weight:500}.mtx-op{font-family:var(--font-body);fill:#e6ebf599;font-size:24px}.mtx-bracket{fill:none;stroke:#e6ebf5b3;stroke-width:2px;stroke-linecap:round}.mtx-separator{stroke:#e6ebf573;stroke-width:1.5px;stroke-dasharray:4 4}.mtx-cell{cursor:pointer;outline:none}.drag-handle{cursor:grab;touch-action:none;outline:none}.drag-handle:active{cursor:grabbing}.drag-handle:focus-visible .drag-ring{stroke:#fff;stroke-opacity:1;stroke-width:2.5px}.vec-label{font-family:var(--font-body);paint-order:stroke;stroke:#121827;stroke-width:4px;stroke-linejoin:round;font-size:13px;font-weight:500}.mtx-cell:hover rect,.mtx-cell:focus-visible rect{stroke:#ffffff8c}.gauss-status{font-family:var(--font-body);fill:#ffc857;font-size:13.5px;font-weight:500}.gauss-log{font-family:var(--font-body);fill:#e6ebf5e6;font-size:13px}.lab-hint{color:#e6ebf5a6;margin:0;font-size:12.5px}.sort-list,.proof-steps{counter-reset:sort;gap:10px;margin:0;padding:14px;list-style:none;display:grid}.sort-item{color:#fff;background:#ffffff0a;border-radius:12px;gap:8px;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 1px #ffffff17}.sort-item.is-right{box-shadow:inset 0 0 0 1.5px #ffc857b3}.sort-item.is-wrong{box-shadow:inset 0 0 0 1.5px #ff7a90bf}.sort-text{margin:0;font-size:15px}.sort-feedback{color:#e6ebf5bf;margin:0;font-size:13px}.sort-buttons button{height:28px;font-size:12.5px}.truth-wrap,.relation-wrap{justify-items:center;gap:12px;padding:18px 14px;display:grid;overflow-x:auto}.truth-table,.relation-table{border-collapse:separate;border-spacing:0;color:#fff;font-variant-numeric:tabular-nums}.truth-table th,.truth-table td{text-align:center;border-bottom:1px solid #ffffff17;padding:9px 16px}.truth-table th{color:#e6ebf5cc;white-space:nowrap;font-weight:500}.truth-table tbody tr{cursor:pointer}.truth-table tbody tr.is-active td{background:#5ad8ff1f}.truth-table td.is-true{color:#ffc857;font-weight:500}.truth-table td.is-false{color:#ff7a90;font-weight:500}.logic-editor,.logic-result,.logic-resolvents{grid-column:1/-1;gap:8px;display:grid}.logic-editor label,.logic-result strong,.logic-resolvents strong{color:#e6ebf5d6;font-size:13px;font-weight:500}.logic-editor input{color:#fff;background:#080b13bf;border:1px solid #e6ebf540;border-radius:10px;outline:0;width:100%;min-height:42px;padding:8px 12px;font:500 16px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.logic-editor input:focus{border-color:#5ad8ff;box-shadow:0 0 0 3px #5ad8ff1f}.logic-editor input[aria-invalid=true]{border-color:#ff7a90}.logic-error{color:#ff9aad;margin:0;font-size:12px}.logic-empty{color:#e6ebf5a6;text-align:center;place-items:center;min-height:280px;padding:24px;display:grid}.logic-identities{text-align:center;align-content:center;gap:14px;min-height:300px;padding:24px;display:grid}.logic-identities p{color:#e6ebf5cc;margin:0}.logic-identities code,.logic-result code{color:#dff7ff;overflow-wrap:anywhere;background:#5ad8ff12;border:1px solid #5ad8ff33;border-radius:8px;padding:10px 12px;font-size:13px;display:block}.logic-result{border:1px solid var(--panel-line);border-radius:12px;padding:12px}.logic-table-stage .truth-note{text-align:center;color:#e6ebf5ad;margin:0 16px 16px;font-size:13px}.logic-choice-row{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;display:flex}.logic-choice-row strong{color:#5ad8ff}.logic-clauses{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-content:start;gap:10px;min-height:300px;padding:18px;display:grid}.logic-clauses button{color:#fff;text-align:left;background:#5ad8ff12;border:1px solid #5ad8ff4d;border-radius:11px;align-items:center;gap:12px;min-height:54px;padding:10px;display:flex}.logic-clauses button:hover,.logic-clauses button.is-picked{background:#ffc85721;border-color:#ffc857}.logic-clauses button small{background:#e6ebf521;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;display:grid}.logic-clauses button strong{overflow-wrap:anywhere}.logic-clauses button span{gap:4px;display:grid}.logic-clauses button em{color:#e6ebf594;font-size:11px;font-style:normal}.logic-resolvents{border:1px solid var(--panel-line);border-radius:11px;padding:10px}.logic-resolvents p{color:#e6ebf5a6;margin:0;font-size:12px}.logic-resolvents button{color:#fff;text-align:left;background:#ffc8571a;border:1px solid #ffc85773;border-radius:8px;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.logic-resolvents button span{color:#ffc857}.predicate-world,.predicate-workbench{color:#fff;align-content:start;gap:14px;min-height:300px;padding:18px;display:grid}.predicate-world .truth-wrap{justify-items:start;padding:0}.predicate-world .truth-table th,.predicate-world .truth-table td{padding:8px 12px}.predicate-formula{color:#c9a5ff;overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:500}.predicate-cell{color:#eaf8ff;cursor:pointer;background:#5ad8ff14;border:1px solid #5ad8ff59;border-radius:8px;min-width:34px;min-height:32px;padding:3px 7px}.predicate-cell[aria-pressed=true]{color:#ffc857;background:#ffc8572b;border-color:#ffc857}.predicate-result{color:#fff;overflow-wrap:anywhere;background:#ffc85717;border:1px solid #ffc85761;border-radius:10px;padding:11px 13px;font-size:14px}.predicate-result strong{color:#ffc857}.predicate-rule-card{background:#c9a5ff12;border:1px solid #c9a5ff4d;border-radius:10px;gap:6px;padding:11px 12px;display:grid}.predicate-rule-card>strong{color:#c9a5ff;font-size:13px}.predicate-rule-card>div{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.predicate-rule-card code{overflow-wrap:anywhere}.predicate-rule-card span{color:#ffc857;font-weight:500}.predicate-rule-card p{color:#e6ebf5ab;margin:3px 0 0;font-size:12px}.predicate-select,.predicate-relation{gap:7px;display:grid}.predicate-select label,.predicate-relation strong{color:#e6ebf5d9;font-size:13px}.predicate-select select{color:#fff;background:#161c28;border:1px solid #e6ebf540;border-radius:8px;min-height:35px;padding:5px 8px}.predicate-relation{border:1px solid var(--panel-line);border-radius:10px;grid-column:1/-1;padding:12px}.predicate-relation button{color:#fff;cursor:pointer;background:#5ad8ff1a;border:1px solid #5ad8ff61;border-radius:8px;padding:8px 10px}.predicate-pair{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.predicate-pair code{color:#fff;overflow-wrap:anywhere;background:#5ad8ff14;border:1px solid #5ad8ff47;border-radius:9px;padding:10px 12px}.predicate-pair span{color:#ffc857;font-size:24px}.predicate-steps{gap:8px;margin:0;padding-left:24px;display:grid}.predicate-steps li{background:#ffffff0d;border-radius:8px;padding:9px 11px}.predicate-steps li span,.predicate-steps li small{margin-top:4px;display:block}.predicate-steps li small{color:#e6ebf5a6}.predicate-matrix{justify-content:start;gap:5px;display:grid;overflow-x:auto}.predicate-matrix-row{grid-template-columns:86px repeat(4,38px);align-items:center;gap:5px;display:grid}.predicate-matrix-row span{color:#e6ebf5b3;font-size:12px}.predicate-matrix-row button,.predicate-matrix-row strong{color:#fff;background:#ffffff0d;border:1px solid #e6ebf533;border-radius:8px;place-items:center;width:38px;height:38px;font:500 17px/1 ui-monospace,monospace;display:grid}.predicate-matrix-row button{cursor:pointer}.predicate-matrix-row button.on-diagonal{background:#ffc8572b;border-color:#ffc857}.predicate-matrix-row.is-new strong{color:#5ad8ff;background:#5ad8ff26;border-color:#5ad8ff}.predicate-theorems{gap:10px;display:grid}.predicate-theorems>div{background:#c9a5ff12;border:1px solid #c9a5ff4d;border-radius:10px;padding:12px}.predicate-theorems strong{color:#c9a5ff}.predicate-theorems p{margin:5px 0;font-size:13px}.predicate-theorems code{color:#ffc857}.predicate-prolog-trace{gap:3px;max-height:380px;display:grid;overflow:auto}.predicate-prolog-trace>div{border-bottom:1px solid #ffffff0d;flex-wrap:wrap;align-items:baseline;gap:6px;padding-top:5px;padding-bottom:5px;font-size:12px;display:flex}.predicate-prolog-trace span{color:#e6ebf599}.predicate-prolog-trace code{color:#c9a5ff;overflow-wrap:anywhere}.predicate-prolog-trace small{color:#e6ebf5a6}.predicate-trace-answer code,.predicate-trace-answer small{color:#7ce7b4}.predicate-trace-cut code,.predicate-trace-cut small{color:#ff9aad}.predicate-program{color:#e6ebf5d9;grid-column:1/-1;font-size:12px}.predicate-program summary{cursor:pointer}.predicate-program pre{border:1px solid var(--panel-line);white-space:pre-wrap;overflow-wrap:anywhere;background:#080b1373;border-radius:8px;max-height:220px;padding:10px;font-size:11px;overflow:auto}.explorer-panel>.predicate-select,.explorer-panel>.predicate-relation{grid-column:1/-1}.truth-note{text-align:center;color:#e6ebf5b3;max-width:56ch;margin:0;font-size:13px}.relation-table th{color:#e6ebf5bf;padding:6px 10px;font-weight:500}.relation-table td{padding:2px}.relation-cell{color:#5ad8ff;cursor:pointer;background:#ffffff0d;border:0;border-radius:9px;width:38px;height:38px;font-size:16px;box-shadow:inset 0 0 0 1px #ffffff1a}.relation-cell.is-diagonal{box-shadow:inset 0 0 0 1px #ffc85773}.relation-cell.is-on{background:#5ad8ff2e}.relation-cell:focus-visible{outline:2px solid #fff}.element-row{align-items:center}.element-row button{min-width:34px;padding:0 8px}.element-label{width:22px;font-weight:500}.explorer-panel>.element-row{grid-column:1/-1}.powerset-wrap{gap:14px;padding:16px;display:grid}.powerset-group{gap:8px;display:grid}.partial-label-html{color:#e6ebf5b3;margin:0;font-size:12.5px}.powerset-chips{flex-wrap:wrap;gap:6px;display:flex}.powerset-chip{color:#fff;background:#c9a5ff29;border-radius:999px;padding:4px 10px;font-size:13.5px;box-shadow:inset 0 0 0 1px #c9a5ff73}.powerset-chip.is-new{background:#ffc85729;box-shadow:inset 0 0 0 1px #ffc8578c}.proof-step{color:#fff;background:#ffffff0a;border-radius:12px;gap:4px;padding:12px 14px;display:grid;box-shadow:inset 3px 0 #5ad8ff}.proof-step.is-given,.proof-step.is-claim,.proof-step.is-assume{box-shadow:inset 3px 0 #e6ebf580}.proof-step.is-contradiction{background:#ff7a9014;box-shadow:inset 3px 0 #ff7a90}.proof-step.is-conclusion{background:#ffc85714;box-shadow:inset 3px 0 #ffc857}.proof-step.is-current{outline:1px solid #ffffff40}.proof-kind{letter-spacing:.2em;text-transform:uppercase;color:#e6ebf599;font-size:11px;font-weight:400}.proof-text{margin:0;font-size:15px}.proof-why{color:#e6ebf5a6;margin:0;font-size:13px}.explorer-panel>.lab-hint{grid-column:1/-1}@media (min-width:1025px){.course-outline.is-unstuck{position:static}}.course-outline-topic-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.inline-code{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);overflow-wrap:anywhere;white-space:break-spaces;border-radius:6px;padding:.08em .38em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.lab-switcher{gap:12px;display:grid}.lab-switcher>.lab-chips{justify-self:start}.automaton-stage,.regex-stage,.pump-stage,.token-stage{gap:14px;padding:8px 12px 18px;display:grid}.automaton-tape{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tape-cell{color:#fff;border:1px solid #e6ebf540;border-radius:8px;place-items:center;min-width:34px;height:38px;padding:0 8px;font:500 17px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.tape-cell.is-read{color:#e6ebf573;border-color:#e6ebf51f}.tape-cell.is-current{color:#0e1320;background:#ffc857;border-color:#ffc857}.tape-cell.is-foreign{border-color:#ff7a90}.tape-cell.is-empty{color:#e6ebf5b3;font-size:13px;font-weight:500}.automaton-table .truth-table th,.automaton-table .truth-table td{padding:6px 12px}.automaton-table .truth-table tbody tr{cursor:default}.regex-pattern{text-align:center;margin:0}.regex-pattern code{color:#dff7ff;overflow-wrap:anywhere;background:#5ad8ff14;border:1px solid #5ad8ff59;border-radius:10px;padding:8px 14px;font-size:17px;display:inline-block}.regex-results{gap:8px;margin:0;padding:0;list-style:none;display:grid}.regex-results li{border:1px solid #e6ebf51f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;padding:9px 14px;display:flex}.regex-results code{color:#fff;overflow-wrap:anywhere;font-size:15px}.regex-results .is-yes span,.pump-verdict.is-yes,.pump-all .is-yes{color:#ffc857;font-weight:500}.regex-results .is-no span,.pump-verdict.is-no,.pump-all .is-no{color:#ff7a90;font-weight:500}.regex-results li span{font-size:13px}.logic-editor textarea.regex-words{color:#fff;resize:vertical;background:#080b13bf;border:1px solid #e6ebf540;border-radius:10px;outline:0;width:100%;padding:8px 12px;font:500 15px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.logic-editor textarea.regex-words:focus{border-color:#5ad8ff;box-shadow:0 0 0 3px #5ad8ff1f}.pump-row{color:#fff;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;margin:0;font:500 20px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.pump-row>span:not(.pump-label){border-radius:6px;place-items:center;min-width:26px;height:32px;display:grid}.pump-label{color:#e6ebf5bf;margin-right:8px;font:500 14px/1 inherit}.pump-u{background:#5ad8ff38}.pump-v{background:#ffc85759}.pump-w{background:#c9a5ff40}.pump-legend{color:#fff;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;font:500 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.pump-legend span{border-radius:8px;padding:6px 10px}.pump-verdict{text-align:center;margin:0;font-size:16px}.pump-all{flex-wrap:wrap;justify-content:center;gap:8px;font-size:13px;display:flex}.pump-all span{border:1px solid #e6ebf526;border-radius:999px;padding:5px 10px}.filter-table th code{color:#fff;overflow-wrap:anywhere;font-weight:500}.filter-table tbody tr{cursor:default}.filter-table td{font-size:13px}.token-list{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.token{border:1px solid var(--token,#5ad8ff);background:#080b1380;border-radius:10px;justify-items:center;gap:4px;padding:8px 10px;display:grid}.token code{color:#fff;font-size:16px;font-weight:500}.token span{color:var(--token,#5ad8ff);letter-spacing:.02em;font-size:11px;font-weight:500}.token-1{--token:#ffc857}.token-2{--token:#5ad8ff}.token-3{--token:#89e4b2}.token-4{--token:#c9a5ff}.token-5{--token:#ff9bd0}.token-6{--token:#ff7a90}.lab-switcher>.lab-chips button{height:34px;color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);padding:0 14px;font-weight:500}.lab-switcher>.lab-chips button:hover{color:var(--ink);background:var(--surface-2)}.lab-switcher>.lab-chips button[aria-pressed=true]{color:var(--on-fill);background:var(--ink);box-shadow:none}.brand-logo{align-items:center;gap:9px;display:inline-flex}.brand-logo svg{flex:none}.brand-word{font-family:var(--font-display);letter-spacing:.005em;color:var(--ink);font-size:29px;font-weight:500;line-height:1}.brand-word em{background:var(--metal);color:#0000;background-size:260% 100%;-webkit-background-clip:text;background-clip:text;padding-right:.06em;font-style:italic;font-weight:400;animation:9s ease-in-out infinite metal-shimmer}.area-block+.area-block{margin-top:40px}.area-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:16px;padding-bottom:12px;display:flex}.area-header h3{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:13px;font-weight:400}.area-header p{color:var(--muted);margin:0;font-size:14.5px}.field-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;display:grid}.field-tile{border-radius:var(--radius);background:radial-gradient(28rem 16rem at 100% 0%, var(--accent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2));flex-direction:column;padding:22px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.field-tile{background:radial-gradient(28rem 16rem at 100% 0%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2))}}.field-tile{box-shadow:inset 0 0 0 1px var(--line);transition:translate .9s var(--ease), box-shadow .9s var(--ease)}a.field-tile:hover{box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--accent);translate:0 -6px}@supports (color:color-mix(in lab, red, red)){a.field-tile:hover{box-shadow:var(--shadow-lg), inset 0 0 0 1px color-mix(in oklab, var(--accent) 55%, transparent)}}.field-tile-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-tile-glyph{width:56px;height:56px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);border-radius:50%;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.field-tile-glyph{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 40%, transparent)}}.field-tile h4{font-family:var(--font-display);letter-spacing:-.01em;margin:18px 0 0;font-size:34px;font-weight:400;line-height:1.05}.field-tile>p{color:var(--muted);margin:8px 0 0;font-size:14.5px;line-height:1.55}.field-tile-courses{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.field-tile-courses li{border:1px solid var(--line);color:var(--ink-2);border-radius:100px;padding:2px 10px;font-size:12.5px}.field-tile-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px;font-size:13px;display:flex}.field-tile-foot .domain-open{color:var(--accent-ink)}a.field-tile:hover .domain-open .icon{transform:translate(3px)}.field-tile.is-planned{background:linear-gradient(165deg, var(--paper-2), var(--paper-3));box-shadow:inset 0 0 0 1px var(--line)}.field-tile.is-planned .field-tile-glyph{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.field-tile.is-planned .field-tile-glyph{color:color-mix(in oklab, var(--accent) 70%, var(--faint))}}.field-tile.is-planned .field-tile-glyph{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.field-tile.is-planned .field-tile-glyph{background:color-mix(in oklab, var(--accent) 6%, transparent)}}.field-tile.is-planned h4{color:var(--ink-2)}.field-tile .field-tile-planned{color:var(--faint);margin:auto 0 0;padding-top:16px;font-size:12.5px}.field-tile .badge{color:var(--muted);background:var(--surface-3)}.field-hero{border-radius:var(--radius-lg);background:radial-gradient(34rem 18rem at 100% 0%, var(--accent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2));grid-template-columns:auto minmax(0,1fr);gap:8px 28px;padding:36px;display:grid}@supports (color:color-mix(in lab, red, red)){.field-hero{background:radial-gradient(34rem 18rem at 100% 0%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2))}}.field-hero{box-shadow:inset 0 0 0 1px var(--line)}.field-hero-glyph{width:88px;height:88px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 10px var(--accent);border-radius:50%;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.field-hero-glyph{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 40%, transparent), 0 0 0 10px color-mix(in oklab, var(--accent) 5%, transparent)}}.field-hero .display{margin-top:6px;font-size:clamp(40px,5vw,60px)}.field-hero .lead{margin-top:10px}.field-hero-stats{flex-wrap:wrap;grid-column:2;gap:12px 36px;margin:18px 0 0;display:flex}.field-hero-stats dt{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-size:12px;font-weight:400}.field-hero-stats dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:34px;line-height:1.1}.level-path{margin:48px 0 0;padding:0;list-style:none;position:relative}.level-stage{padding-left:36px;position:relative}.level-stage+.level-stage{margin-top:40px}.level-stage:before{content:"";background:var(--surface);width:12px;height:12px;box-shadow:0 0 0 3px var(--accent);border-radius:50%;position:absolute;top:10px;left:7px}.level-stage:not(:last-child):after{content:"";background:linear-gradient(var(--accent), var(--accent));width:2px;position:absolute;top:32px;bottom:-32px;left:12px}@supports (color:color-mix(in lab, red, red)){.level-stage:not(:last-child):after{background:linear-gradient(var(--accent), color-mix(in oklab, var(--accent) 15%, transparent))}}.level-header{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:16px;display:flex}.level-header h2{font-family:var(--font-display);margin:0;font-size:34px;font-weight:400;line-height:1.1}.level-header p{color:var(--muted);margin:0}.field-planned{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);margin-top:48px;padding:24px 28px}.field-planned h2{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px;font-weight:400}.field-planned ul{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.field-planned li{color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:999px;padding:6px 14px;font-size:14px}.field-related{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;font-size:14px;display:flex}.field-related a,.field-related .is-planned{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 8px;display:inline-flex}.field-related a{color:var(--ink);font-weight:500}.field-related a svg{color:var(--accent)}.field-related a:hover{box-shadow:inset 0 0 0 1px var(--accent)}.field-related .is-planned{color:var(--faint);background:var(--paper-2)}.anatomy-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:32px;display:grid}.anatomy-path{margin:0;padding:0;list-style:none}.anatomy-path li{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:18px 0;display:grid}.anatomy-path li+li{border-top:1px solid var(--line)}.anatomy-count{font-family:var(--font-display);color:#0000;background:var(--metal);font-variant-numeric:tabular-nums;background-size:260% 100%;-webkit-background-clip:text;background-clip:text;font-size:48px;font-style:italic;font-weight:300;line-height:1}.anatomy-path strong{font-size:16px}.anatomy-path p{color:var(--muted);margin:4px 0 0;font-size:14.5px}.anatomy-demo{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);gap:14px;padding:22px;display:grid}.anatomy-demo-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;display:grid}.anatomy-demo-head>span:first-child{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:400}.anatomy-demo-head strong{font-family:var(--font-display);grid-column:1;font-size:27px;font-weight:400;line-height:1.15}.anatomy-done{color:var(--muted);background:var(--surface-2);border-radius:999px;grid-area:1/2/span 2;align-items:center;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:500;transition:background .2s,color .2s;display:inline-flex}.anatomy-done .icon{width:14px;height:14px}.anatomy-done.is-done{color:var(--good-ink);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.anatomy-done.is-done{background:color-mix(in oklab, var(--good) 12%, transparent)}}.anatomy-part{border-radius:var(--radius-sm);background:var(--surface-2);padding:14px 16px}.anatomy-part p{color:var(--ink-2);margin:6px 0 0;font-size:14.5px;line-height:1.6}.anatomy-part-label{letter-spacing:.2em;text-transform:uppercase;color:var(--brand);font-size:11.5px;font-weight:400}.anatomy-lab{color:#e6ebf5;background:linear-gradient(160deg, var(--night-2), var(--night))}.anatomy-lab .anatomy-part-label{color:#c9d4e6}.anatomy-lab svg{width:100%;height:auto;max-height:190px;margin-top:6px;display:block}.anatomy-slider{font-variant-numeric:tabular-nums;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:8px;font-size:13px;display:grid}.anatomy-slider span:first-child{min-width:7ch}.anatomy-slider span:last-child{color:#ffc857;text-align:right;min-width:11ch}.anatomy-slider input{accent-color:#ffc857;width:100%}.anatomy-choices{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.anatomy-choices button{min-width:64px;font:inherit;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;border:0;border-radius:999px;padding:8px 16px;font-weight:500;transition:box-shadow .15s,background .15s}.anatomy-choices button:hover{box-shadow:inset 0 0 0 1px var(--brand)}.anatomy-choices button.is-right{color:var(--good-ink);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.anatomy-choices button.is-right{background:color-mix(in oklab, var(--good) 12%, transparent)}}.anatomy-choices button.is-right{box-shadow:inset 0 0 0 1.5px var(--success)}.anatomy-choices button.is-wrong{color:var(--bad-ink);background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.anatomy-choices button.is-wrong{background:color-mix(in oklab, var(--bad) 8%, transparent)}}.anatomy-choices button.is-wrong{box-shadow:inset 0 0 0 1.5px var(--bad)}.anatomy-part .anatomy-feedback{font-size:13.5px}.anatomy-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0 0;padding:0;list-style:none;display:grid}.anatomy-features li{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);gap:12px;padding:18px;font-size:14px;display:flex}.anatomy-features .icon{width:20px;height:20px;color:var(--brand);flex:none;margin-top:2px}.anatomy-features strong{color:var(--ink);margin-bottom:2px;display:block}@media (max-width:860px){.anatomy-grid,.anatomy-features{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.brand-word{font-size:19px}.field-hero{grid-template-columns:minmax(0,1fr);padding:24px}.field-hero-glyph{width:64px;height:64px}.field-hero-stats{grid-column:1;gap:12px 24px}.field-hero-stats dd{font-size:24px}.level-stage{padding-left:26px}.level-stage:before{left:3px}.level-stage:not(:last-child):after{left:8px}.level-stage .domain-feature{padding:20px}.anatomy-path li{grid-template-columns:56px minmax(0,1fr)}.anatomy-count{font-size:32px}.anatomy-demo{padding:16px}}.user-area{flex:none;align-items:center;gap:10px;min-width:36px;display:flex;position:relative}.user-login{color:var(--muted);padding:7px 10px;font-size:14.5px;font-weight:500}.user-login:hover{color:var(--ink)}.button-tiny{height:36px;padding:0 16px;font-size:11px}.player-chip{background:var(--surface);height:36px;box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:10px;padding:0 12px 0 8px;transition:box-shadow .2s;display:flex}.player-chip:hover{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line-strong)}.player-streak{color:var(--faint);font-variant-numeric:tabular-nums;align-items:center;gap:3px;font-size:13.5px;font-weight:500;display:inline-flex}.player-streak .icon{width:17px;height:17px}.player-streak.is-active{color:var(--flame)}.player-streak.is-active .icon{fill:var(--flame)}@supports (color:color-mix(in lab, red, red)){.player-streak.is-active .icon{fill:color-mix(in oklab, var(--flame) 20%, transparent)}}.player-level{gap:3px;display:grid}.player-level strong{letter-spacing:.02em;font-size:12px;line-height:1}.player-bar{background:var(--surface-3);border-radius:99px;width:64px;height:5px;display:block;position:relative;overflow:hidden}.player-bar i{border-radius:inherit;background:var(--grad-brand);transition:width .6s var(--ease);position:absolute;inset:0 auto 0 0}.user-avatar{width:36px;height:36px;font:inherit;color:var(--on-fill);background:var(--grad-brand);box-shadow:0 0 0 2px var(--surface), 0 0 0 3px var(--brand);border:0;border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:500;display:grid}@supports (color:color-mix(in lab, red, red)){.user-avatar{box-shadow:0 0 0 2px var(--surface), 0 0 0 3px color-mix(in oklab, var(--brand) 30%, transparent)}}.user-avatar{cursor:pointer}.user-avatar.is-large{cursor:default;width:44px;height:44px;font-size:18px}.user-avatar.is-hero{width:76px;height:76px;font-size:36px;font-family:var(--font-display);cursor:default;font-weight:400}.user-menu{z-index:60;background:var(--surface);width:290px;box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--line);animation:rise .18s var(--ease);border-radius:18px;padding:8px;display:grid;position:absolute;top:calc(100% + 12px);right:0}.user-menu-head{align-items:center;gap:12px;padding:8px 8px 12px;display:flex}.user-menu-head span:last-child{min-width:0;display:grid}.user-menu-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.user-menu-xp{color:var(--ink-2);background:var(--surface-2);border-radius:12px;grid-template-columns:1fr auto;gap:6px;margin:0 4px 6px;padding:10px 12px;font-size:12.5px;font-weight:500;display:grid}.user-menu-xp .player-bar{grid-column:1/-1;width:100%}.user-menu>a,.user-menu>button{font:inherit;text-align:left;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14.5px;display:flex}.user-menu>a:hover,.user-menu>button:hover{color:var(--ink);background:var(--surface-2)}.user-menu .icon{width:18px;height:18px;color:var(--muted)}.user-menu em{color:var(--brand);background:var(--brand);border-radius:99px;margin-left:auto;padding:2px 8px;font-size:11.5px;font-style:normal;font-weight:500}@supports (color:color-mix(in lab, red, red)){.user-menu em{background:color-mix(in oklab, var(--brand) 10%, transparent)}}.user-menu>button{border-top:1px solid var(--line);border-radius:0 0 10px 10px;margin-top:4px}.xp-toasts{z-index:90;pointer-events:none;justify-items:end;gap:8px;display:grid;position:fixed;bottom:20px;right:20px}.xp-toast{color:#fff;max-width:min(360px,100vw - 40px);animation:xp-float 2.6s var(--ease) forwards;background:linear-gradient(120deg,#161c28,#1f283b);border-radius:999px;align-items:center;gap:8px;padding:10px 16px 10px 12px;display:flex;box-shadow:0 18px 40px -16px #2c3d68b3,inset 0 0 0 1px #ffffff1f}.xp-toast .icon{color:#ffc857;fill:#ffc8574d;width:18px;height:18px}.xp-toast strong{color:#ffc857;white-space:nowrap;font-size:15px}.xp-toast span{color:#e6ebf5cc;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}@keyframes xp-float{0%{opacity:0;transform:translateY(16px)scale(.9)}12%{opacity:1;transform:translateY(0)scale(1.04)}20%{transform:scale(1)}82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.levelup{z-index:95;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080b138c;place-items:center;padding:16px;animation:.2s fade;display:grid;position:fixed;inset:0}.levelup-card{text-align:center;color:#fff;background:radial-gradient(24rem 16rem at 50% 0%, #8fa2c673, transparent 70%), linear-gradient(160deg, var(--night-2), var(--night));width:min(420px,100%);box-shadow:var(--shadow-lg), inset 0 0 0 1px #ffffff1a;animation:rise .35s var(--ease);isolation:isolate;border-radius:28px;justify-items:center;padding:40px 28px 28px;display:grid;position:relative;overflow:hidden}.levelup-card h2{font-family:var(--font-display);margin:6px 0 0;font-size:40px;font-weight:400;line-height:1.1}.levelup-card p{color:#e6ebf5bf;margin:10px 0 22px}.levelup-card .eyebrow{color:#ffc857;margin:18px 0 0}.levelup-burst{z-index:-1;width:0;height:0;position:absolute;top:88px;left:50%}.levelup-burst i{transform-origin:2px 160px;width:4px;height:160px;animation:burst-ray 1.2s var(--ease) both;background:linear-gradient(#ffc8578c,#ffc85700);border-radius:4px;position:absolute;top:-160px;left:-2px}@keyframes burst-ray{0%{opacity:0;height:0;top:0}40%{opacity:1}}.levelup-badge{background:radial-gradient(circle at 35% 30%,#fff,#d3def2 45%,#8fa2c6);border-radius:50%;place-items:center;width:108px;height:108px;animation:.6s cubic-bezier(.3,1.6,.5,1) .1s both badge-pop;display:grid;position:relative;box-shadow:0 0 0 8px #c9d4e624,0 20px 50px -10px #8fa2c699}.levelup-badge .icon{color:#1f2c4f38;fill:#ffffff40;width:92px;height:92px;position:absolute}.levelup-badge span{font-family:var(--font-display);color:#1f2c4f;font-size:58px;position:relative}.levelup-card .button{justify-content:center;width:100%}@keyframes badge-pop{0%{opacity:0;transform:scale(.3)rotate(-30deg)}}.check-xp{color:var(--gold-ink);background:#ffc85740;border-radius:99px;margin-left:6px;padding:1px 8px;font-size:12px;font-style:normal}.check-mistake{border-left:3px solid var(--mistake);background:var(--mistake);border-radius:0 12px 12px 0;gap:2px;margin-top:8px;padding:10px 14px;font-size:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.check-mistake{background:color-mix(in oklab, var(--mistake) 7%, var(--surface))}}.check-mistake{animation:reveal .25s var(--ease)}.check-mistake strong{letter-spacing:.2em;text-transform:uppercase;color:var(--mistake);font-size:12px}@supports (color:color-mix(in lab, red, red)){.check-mistake strong{color:color-mix(in oklab, var(--mistake) 80%, var(--ink))}}.check-mistake span{color:var(--ink-2)}.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;max-width:1080px;margin:0 auto;padding:40px 24px 56px;display:grid}.auth-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);align-content:start;padding:40px;display:grid}.auth-card .eyebrow{margin-top:22px}.auth-title{font-family:var(--font-display);letter-spacing:-.01em;margin:4px 0 0;font-size:52px;font-weight:400;line-height:1.05}.auth-lead{color:var(--muted);margin:10px 0 0}.auth-form{gap:6px;margin-top:26px;display:grid}.auth-form label{color:var(--ink-2);margin-top:10px;font-size:13.5px;font-weight:500}.auth-form input{width:100%;height:48px;font:inherit;color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:12px;outline:0;padding:0 14px;font-size:16px;transition:box-shadow .2s,background .2s}.auth-form input:focus{background:var(--surface);box-shadow:inset 0 0 0 2px var(--brand), 0 0 0 4px var(--brand)}@supports (color:color-mix(in lab, red, red)){.auth-form input:focus{box-shadow:inset 0 0 0 2px var(--brand), 0 0 0 4px color-mix(in oklab, var(--brand) 12%, transparent)}}.auth-form input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--bad)}.auth-password{position:relative}.auth-password input{padding-right:48px}.auth-password button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.auth-password button:hover{color:var(--ink);background:var(--surface-3)}.auth-hint,.auth-error{margin:2px 0 0;font-size:13px;line-height:1.45}.auth-hint{color:var(--muted)}.auth-error{color:var(--bad-ink)}.auth-error-form{background:var(--bad);border-radius:12px;margin:12px 0 0;padding:10px 14px}@supports (color:color-mix(in lab, red, red)){.auth-error-form{background:color-mix(in oklab, var(--bad) 8%, transparent)}}.auth-strength{gap:6px;display:grid}.auth-strength-bar{grid-template-columns:repeat(5,1fr);gap:4px;margin-top:4px;display:grid}.auth-strength-bar i{background:var(--surface-3);border-radius:4px;height:4px;transition:background .2s}.auth-strength[data-score="1"] .is-on,.auth-strength[data-score="2"] .is-on{background:var(--flame)}.auth-strength[data-score="3"] .is-on{background:var(--gold)}.auth-strength[data-score="4"] .is-on,.auth-strength[data-score="5"] .is-on{background:var(--success)}.auth-form .button{justify-content:center;height:50px;margin-top:20px}.auth-switch{color:var(--muted);margin:20px 0 0;font-size:14.5px}.auth-switch a{color:var(--brand);font-weight:500}.auth-showcase{border-radius:var(--radius-lg);color:#fff;background:radial-gradient(30rem 20rem at 100% 0%, #8fa2c666, transparent 60%), radial-gradient(26rem 18rem at 0% 100%, #547ecd40, transparent 60%), linear-gradient(160deg, var(--night-2), var(--night));box-shadow:var(--shadow-lg);align-content:start;padding:40px;display:grid;position:relative;overflow:hidden}.auth-showcase h2{font-family:var(--font-display);margin:6px 0 0;font-size:40px;font-weight:400;line-height:1.1}.auth-preview{margin:28px 0 8px;position:relative}.auth-preview-level{background:#ffffff0f;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}.auth-preview-ring{background:conic-gradient(#ffc857 0 62%, #ffffff1a 62%);border-radius:50%;place-items:center;width:54px;height:54px;display:grid}.auth-preview-ring strong{width:44px;height:44px;font-family:var(--font-display);background:var(--night-2);border-radius:50%;place-items:center;font-size:27px;font-weight:400;display:grid}.auth-preview-level>span:nth-child(2){gap:4px;display:grid}.auth-preview-level small{color:#e6ebf599;font-size:12px}.auth-preview-level b{font-size:18px}.auth-preview-level i{background:#ffffff1a;border-radius:6px;height:6px;display:block}.auth-preview-level em{border-radius:inherit;background:linear-gradient(90deg,#8fa2c6,#c9d4e6);height:100%;display:block}.auth-preview-streak{color:#ff9b5c;align-items:center;gap:4px;font-weight:500;display:inline-flex}.auth-preview-streak .icon{fill:var(--flame)}@supports (color:color-mix(in lab, red, red)){.auth-preview-streak .icon{fill:color-mix(in oklab, var(--flame) 30%, transparent)}}.auth-preview-toast{color:#ffc857;background:#161c28;border-radius:99px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex;position:absolute;bottom:-22px;right:-6px;transform:rotate(-2deg);box-shadow:0 14px 30px -12px #0009,inset 0 0 0 1px #ffffff1f}.auth-preview-toast .icon{width:16px;height:16px}.auth-features{gap:14px;margin:40px 0 0;padding:0;list-style:none;display:grid}.auth-features li{color:#e6ebf5b8;gap:12px;font-size:14.5px;display:flex}.auth-features .icon{color:#c9d4e6;flex:none;width:22px;height:22px;margin-top:1px}.auth-features strong{color:#fff;display:block}.signin-prompt{border-radius:var(--radius-lg);text-align:center;background:var(--surface);max-width:560px;box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);justify-items:center;gap:4px;margin:40px auto;padding:40px 28px;display:grid}.signin-prompt h1{font-family:var(--font-display);margin:16px 0 0;font-size:45px;font-weight:400;line-height:1.1}.signin-prompt p{color:var(--muted);margin:8px 0 20px}.signin-prompt div{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.player-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:0;margin-top:28px;display:grid}.player-card>div{align-items:center;gap:16px;padding:22px 24px;display:flex}.player-card>div+div{border-left:1px solid var(--line)}.player-card small{color:var(--muted);font-size:12.5px;display:block}.player-card strong{font-size:17px;display:block}.player-card-level>div{flex:1;gap:4px;min-width:0;display:grid}.player-card-level strong{font-family:var(--font-display);font-size:29px;font-weight:400;line-height:1.1}.player-card-badge{background:radial-gradient(circle at 35% 30%,#fff,#d3def2 45%,#8fa2c6);border-radius:50%;flex:none;place-items:center;width:68px;height:68px;display:grid;position:relative;box-shadow:0 10px 24px -10px #34497d99}.player-card-badge .icon{color:#1f2c4f2e;fill:#ffffff40;width:58px;height:58px;position:absolute}.player-card-badge strong{font-family:var(--font-display);color:#1f2c4f;font-size:36px;font-weight:500;position:relative}.player-card-bar{background:var(--surface-3);border-radius:8px;height:8px;margin:4px 0;display:block;overflow:hidden}.player-card-bar i{border-radius:inherit;background:var(--grad-brand);height:100%;transition:width .8s var(--ease);display:block}.player-card-flame{width:52px;height:52px;color:var(--faint);background:var(--surface-2);border-radius:16px;flex:none;place-items:center;display:grid}.player-card-flame .icon{width:28px;height:28px}.player-card-flame.is-active{color:var(--flame);background:var(--flame)}@supports (color:color-mix(in lab, red, red)){.player-card-flame.is-active{background:color-mix(in oklab, var(--flame) 12%, transparent)}}.player-card-flame.is-active .icon{fill:var(--flame)}@supports (color:color-mix(in lab, red, red)){.player-card-flame.is-active .icon{fill:color-mix(in oklab, var(--flame) 25%, transparent)}}.player-card-stat{position:relative}.hub-head .display{margin-top:6px;font-size:clamp(38px,5vw,58px)}.hub-welcome{color:var(--good-ink);background:var(--good);border-radius:14px;margin:16px 0 0;padding:14px 18px}@supports (color:color-mix(in lab, red, red)){.hub-welcome{background:color-mix(in oklab, var(--good) 10%, transparent)}}.hub-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.hub-mode{border-radius:var(--radius-lg);background:radial-gradient(28rem 16rem at 100% 0%, var(--accent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2));flex-direction:column;align-items:flex-start;gap:10px;padding:26px;display:flex}@supports (color:color-mix(in lab, red, red)){.hub-mode{background:radial-gradient(28rem 16rem at 100% 0%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2))}}.hub-mode{box-shadow:inset 0 0 0 1px var(--line);transition:translate .9s var(--ease), box-shadow .9s var(--ease)}.hub-mode h2{font-family:var(--font-display);margin:6px 0 0;font-size:36px;font-weight:400;line-height:1.05}.hub-mode>p{color:var(--muted);margin:0}.hub-mode>.button{margin-top:auto}.hub-mode-icon{width:52px;height:52px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);border-radius:50%;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.hub-mode-icon{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 45%, transparent)}}.hub-mode-icon .icon{width:26px;height:26px}.hub-controls{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 14px;width:100%;margin:6px 0 10px;font-size:14px;display:grid}.hub-controls label:not(.hub-toggle),.hub-label{color:var(--ink-2);font-weight:500}.hub-select{width:100%;height:40px;font:inherit;color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:10px;padding:0 10px;font-size:14px}.hub-segmented{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;justify-self:start;padding:3px;display:inline-flex}.hub-segmented button{min-width:48px;height:32px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:500}.hub-segmented button[aria-checked=true]{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line)}.hub-toggle{color:var(--ink-2);cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;font-weight:500;display:inline-flex}.hub-toggle input{width:18px;height:18px;accent-color:var(--accent)}.hub-toggle .icon{width:17px;height:17px;color:var(--accent)}.hub-count{color:var(--ink-2)!important;margin:4px 0 8px!important}.hub-count strong{font-family:var(--font-display);color:var(--accent-ink);font-size:45px;font-weight:400;line-height:1}.hub-empty{font-size:14px;margin-top:auto!important}.hub-row{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.hub-rules{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);margin-top:28px;padding:22px 26px}.hub-rules h2{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px;font-weight:400}.hub-rules ul{color:var(--ink-2);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:8px 24px;margin:14px 0 0;padding:0;font-size:14.5px;list-style:none;display:grid}.hub-rules strong{min-width:40px;color:var(--gold-ink);display:inline-block}.runner-page{max-width:820px}.runner-top{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.runner-close{width:38px;height:38px;color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;place-items:center;display:grid}.runner-close:hover{color:var(--ink)}.runner-title{grid-template-columns:auto auto;align-items:center;gap:0 8px;display:grid}.runner-title .icon{width:22px;height:22px;color:var(--brand);grid-row:span 2}.runner-title span{font-weight:500;line-height:1.1}.runner-title small{color:var(--muted);font-size:12px}.runner-dots{flex-wrap:wrap;justify-content:flex-end;gap:5px;margin:0;padding:0;list-style:none;display:flex}.runner-dots li{background:var(--surface-3);border-radius:7px;width:22px;height:7px;transition:background .3s,transform .3s}.runner-dots li.is-extra{width:12px}.runner-dots li.is-current{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.runner-dots li.is-current{background:color-mix(in oklab, var(--brand) 45%, var(--surface-3))}}.runner-dots li.is-current{transform:scaleY(1.3)}.runner-dots li.is-right{background:var(--success)}.runner-dots li.is-wrong{background:var(--bad)}.runner-xp{color:var(--gold-ink);font-variant-numeric:tabular-nums;background:#ffc85740;border-radius:99px;align-items:center;gap:4px;padding:6px 12px;font-weight:500;display:inline-flex}.runner-xp .icon{width:16px;height:16px}.runner-note{color:var(--ink-2);background:var(--surface-2);border-radius:12px;margin:18px 0 0;padding:12px 16px;font-size:14.5px}.runner-card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1.5px var(--line);animation:rise .3s var(--ease);margin-top:20px;padding:28px;transition:box-shadow .3s}.runner-card.is-right{box-shadow:var(--shadow-md), inset 0 0 0 2px var(--good)}@supports (color:color-mix(in lab, red, red)){.runner-card.is-right{box-shadow:var(--shadow-md), inset 0 0 0 2px color-mix(in oklab, var(--good) 50%, transparent)}}.runner-card.is-wrong{box-shadow:var(--shadow-md), inset 0 0 0 2px var(--bad)}@supports (color:color-mix(in lab, red, red)){.runner-card.is-wrong{box-shadow:var(--shadow-md), inset 0 0 0 2px color-mix(in oklab, var(--bad) 45%, transparent)}}.runner-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:14px;font-size:13px;display:flex}.runner-tag{color:var(--brand);background:var(--brand);border-radius:99px;padding:3px 10px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.runner-tag{background:color-mix(in oklab, var(--brand) 9%, transparent)}}.runner-topic{color:var(--ink-2);align-items:center;gap:6px;font-weight:500;display:inline-flex}.runner-topic i{background:var(--accent);border-radius:50%;width:8px;height:8px}.procedure-pick{background:var(--surface-2);border:0;border-radius:14px;margin:0 0 16px;padding:14px 16px}.procedure-pick legend{float:left;width:100%;color:var(--ink-2);margin-bottom:10px;padding:0;font-size:13.5px;font-weight:500}.procedure-pick legend small{color:var(--gold-ink);margin-left:6px;font-weight:500}.procedure-pick div{clear:both;flex-wrap:wrap;gap:8px;display:flex}.procedure-pick button{font:inherit;color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;border:0;border-radius:99px;padding:8px 14px;font-size:14px;transition:box-shadow .15s,background .15s}.procedure-pick button:hover{box-shadow:inset 0 0 0 1px var(--brand)}.procedure-pick button[aria-pressed=true]{color:var(--on-fill);background:var(--brand);box-shadow:none}.pq-prompt{margin:0 0 16px;font-size:18px;line-height:1.6}.pq-numeric input.is-right{box-shadow:inset 0 0 0 2px var(--success)}.pq-numeric input.is-wrong{box-shadow:inset 0 0 0 2px var(--bad)}.check-choices button.is-right{background:var(--good)}@supports (color:color-mix(in lab, red, red)){.check-choices button.is-right{background:color-mix(in oklab, var(--good) 8%, transparent)}}.check-choices button.is-right{box-shadow:inset 0 0 0 2px var(--success)}.check-choices button.is-wrong{background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.check-choices button.is-wrong{background:color-mix(in oklab, var(--bad) 6%, transparent)}}.check-choices button.is-wrong{box-shadow:inset 0 0 0 2px var(--bad)}.check-choices button:disabled,.check-matching select:disabled,.check-numeric input:disabled{cursor:default;opacity:1}.check-choices button:disabled:hover{background:inherit}.runner-invalid{color:var(--bad-ink);margin:12px 0 0;font-size:14px}.runner-result{animation:reveal .25s var(--ease);gap:12px;margin-top:18px;display:grid}.runner-verdict{border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px 16px;display:grid}.is-right .runner-verdict{color:var(--good-ink);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.is-right .runner-verdict{background:color-mix(in oklab, var(--good) 10%, transparent)}}.is-wrong .runner-verdict{color:var(--bad-ink);background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.is-wrong .runner-verdict{background:color-mix(in oklab, var(--bad) 8%, transparent)}}.runner-verdict p{margin:2px 0 0;line-height:1.55}.runner-verdict-icon{width:28px;height:28px;color:var(--on-fill);background:var(--bad);border-radius:50%;place-items:center;font-weight:500;display:grid}.is-right .runner-verdict-icon{background:var(--success)}.runner-verdict-icon .icon{width:16px;height:16px;color:var(--on-fill)}.runner-solution{color:var(--ink);font-weight:500}.runner-gain{color:var(--gold-ink);white-space:nowrap;background:#ffc8574d;border-radius:99px;padding:4px 10px;font-weight:500;animation:.45s cubic-bezier(.3,1.6,.5,1) both badge-pop}.runner-procedure{background:var(--surface-2);border-radius:12px;margin:0;padding:10px 14px;font-size:14.5px}.runner-procedure.is-right{color:var(--good-ink);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.runner-procedure.is-right{background:color-mix(in oklab, var(--good) 8%, transparent)}}.runner-followup{color:var(--muted);margin:0;font-size:14px}.runner-followup a{color:var(--brand);font-weight:500}.runner-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.runner-empty{border-radius:var(--radius-lg);text-align:center;background:var(--surface);max-width:520px;box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);justify-items:center;gap:8px;margin:40px auto;padding:40px 24px;display:grid}.runner-empty h1,.runner-empty h2{font-family:var(--font-display);margin:6px 0 0;font-size:38px;font-weight:400}.runner-empty p{color:var(--muted);margin:0 0 12px}.runner-empty-icon{width:60px;height:60px;color:var(--brand);background:var(--brand);border-radius:18px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.runner-empty-icon{background:color-mix(in oklab, var(--brand) 10%, transparent)}}.runner-empty-icon .icon{width:30px;height:30px}.mistake-card{background:var(--mistake);border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.mistake-card{background:color-mix(in oklab, var(--mistake) 7%, var(--surface))}}.mistake-card{box-shadow:inset 0 0 0 1px var(--mistake)}@supports (color:color-mix(in lab, red, red)){.mistake-card{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--mistake) 25%, transparent)}}.mistake-card.is-compact{margin-bottom:16px}.mistake-card strong{color:var(--mistake)}@supports (color:color-mix(in lab, red, red)){.mistake-card strong{color:color-mix(in oklab, var(--mistake) 75%, var(--ink))}}.mistake-card p{color:var(--ink-2);margin:4px 0 0;font-size:14.5px}.mistake-card ul{color:var(--ink-2);gap:4px;margin:8px 0 0;padding-left:18px;font-size:14px;display:grid}.mistake-card-icon{width:36px;height:36px;color:var(--mistake);background:var(--mistake);border-radius:11px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.mistake-card-icon{background:color-mix(in oklab, var(--mistake) 14%, transparent)}}.mistake-card-icon .icon{width:20px;height:20px}.round-end{animation:rise .35s var(--ease)}.round-end-score{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:28px;display:grid}.round-end-score .display{margin-top:4px;font-size:clamp(38px,5vw,56px)}.round-end-score .lead{margin-top:8px}.round-end-score .progress-ring{color:var(--success)}.round-end-score .progress-ring-text{font-family:var(--font-display);font-size:40px}.round-end-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.round-end-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);padding:22px}.round-end-card h2{align-items:center;gap:8px;margin:0 0 12px;font-size:17px;display:flex}.round-end-card h2 .icon{width:20px;height:20px;color:var(--brand)}.round-end-card p{color:var(--muted);margin:0;font-size:14.5px}.round-end-hint{margin-top:12px!important}.xp-lines{gap:6px;margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.xp-lines li{border-bottom:1px dashed var(--line-strong);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.xp-lines strong{color:var(--gold-ink)}.mistake-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mistake-chips li{color:var(--mistake);border-radius:99px;align-items:center;gap:8px;padding:6px 8px 6px 12px;font-size:13.5px;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mistake-chips li{color:color-mix(in oklab, var(--mistake) 75%, var(--ink))}}.mistake-chips li{background:var(--mistake)}@supports (color:color-mix(in lab, red, red)){.mistake-chips li{background:color-mix(in oklab, var(--mistake) 10%, transparent)}}.mistake-chips strong{min-width:22px;height:22px;color:var(--on-fill);background:var(--mistake);border-radius:99px;place-items:center;padding:0 6px;font-size:12px;display:grid}.mistake-chips.is-stacked{display:grid}.mistake-chips.is-stacked li{border-radius:12px;justify-content:space-between}.mistake-chips.is-stacked span{color:var(--muted);margin-left:auto;font-size:12px;font-weight:500}.round-end-card .mistake-chips+.gap-list,.round-end-card .gap-list+.mistake-chips{margin-top:14px}.round-end-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.exam-answered{color:var(--muted);justify-self:end;font-size:13.5px;font-weight:500}.exam-clock{color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.exam-clock .icon{width:16px;height:16px}.exam-clock.is-low{color:var(--bad-ink);box-shadow:inset 0 0 0 1.5px var(--bad)}.exam-page .runner-top{grid-template-columns:auto auto minmax(0,1fr) auto}.exam-nav{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.exam-nav button{width:38px;height:38px;font:inherit;color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;border:0;border-radius:10px;font-size:14px;font-weight:500;position:relative}.exam-nav button.is-answered{color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.exam-nav button.is-answered{background:color-mix(in oklab, var(--brand) 9%, var(--surface))}}.exam-nav button.is-answered{box-shadow:inset 0 0 0 1px var(--brand)}@supports (color:color-mix(in lab, red, red)){.exam-nav button.is-answered{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--brand) 35%, transparent)}}.exam-nav button[aria-current=step]{color:var(--on-fill);background:var(--ink);box-shadow:none}.exam-nav button.is-flagged:after{content:"";background:var(--gold);width:10px;height:10px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:-3px;right:-3px}.exam-flag{font:inherit;color:var(--muted);background:var(--surface-2);cursor:pointer;border:0;border-radius:99px;align-items:center;gap:6px;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:500;display:inline-flex}.exam-flag .icon{width:15px;height:15px}.exam-flag.is-on{color:var(--gold-ink);background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.exam-flag.is-on{background:color-mix(in oklab, var(--gold) 25%, transparent)}}.exam-actions{justify-content:space-between}.exam-submit-row{justify-content:flex-end;margin-top:14px;display:flex}.exam-confirm{color:var(--ink);background:var(--surface)}.exam-confirm h2{color:var(--ink)}.exam-confirm p{color:var(--muted)}.exam-confirm div{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.exam-confirm .button{flex:1;width:auto}.gap-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.gap-list li{grid-template-columns:minmax(0,1.4fr) minmax(60px,1fr) auto;align-items:center;gap:12px;display:grid}.gap-list a{min-width:0;display:grid}.gap-list a strong{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;overflow:hidden}.gap-list a:hover strong{color:var(--accent)}.gap-list small{color:var(--muted);font-size:12px}.gap-bar{background:var(--surface-3);border-radius:8px;height:8px;overflow:hidden}.gap-bar i{border-radius:inherit;background:var(--accent);height:100%;display:block}.gap-count{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.exam-review-title{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:40px 0 12px;font-size:13px;font-weight:400}.exam-review{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-review li{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px}.exam-review li>button{width:100%;font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;display:grid}.exam-review-mark{width:24px;height:24px;color:var(--on-fill);background:var(--bad);border-radius:50%;place-items:center;font-size:13px;font-weight:500;display:grid}.is-right .exam-review-mark{background:var(--success)}.exam-review-mark .icon{width:14px;height:14px;color:var(--on-fill)}.exam-review-text{gap:2px;line-height:1.5;display:grid}.exam-review-text small{color:var(--muted);font-size:12px}.exam-review-body{gap:6px;padding:0 16px 16px 52px;font-size:14.5px;display:grid}.exam-review-body p{margin:0}.exam-review-body a{color:var(--brand);align-items:center;gap:4px;font-weight:500;display:inline-flex}.exam-review-mistake{border-left:3px solid var(--mistake);background:var(--mistake);border-radius:0 10px 10px 0;padding:8px 12px}@supports (color:color-mix(in lab, red, red)){.exam-review-mistake{background:color-mix(in oklab, var(--mistake) 7%, transparent)}}.mistakes-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid}.mistakes-head .display{margin-top:6px;font-size:clamp(38px,5vw,56px)}.mistakes-stats{grid-column:auto}.mistakes-cta{border-radius:var(--radius);background:linear-gradient(100deg, var(--bad), #8fa2c614);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding:18px 22px;display:flex}@supports (color:color-mix(in lab, red, red)){.mistakes-cta{background:linear-gradient(100deg, color-mix(in oklab, var(--bad) 9%, transparent), #8fa2c614)}}.mistakes-cta{box-shadow:inset 0 0 0 1px var(--bad)}@supports (color:color-mix(in lab, red, red)){.mistakes-cta{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--bad) 18%, transparent)}}.mistakes-cta p{max-width:60ch;margin:0}.mistakes-title{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:40px 0 14px;font-size:13px;font-weight:400}.mistake-types{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px;display:grid}.mistake-type{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);border-top:3px solid var(--mistake);flex-direction:column;gap:10px;padding:20px;display:flex}.mistake-type header{align-items:center;gap:10px;display:flex}.mistake-type h3{margin:0;font-size:17px}.mistake-type-count{font-family:var(--font-display);color:var(--mistake);margin-left:auto;font-size:29px}.mistake-type-bar{background:var(--surface-3);border-radius:8px;height:8px;position:relative;overflow:hidden}.mistake-type-bar i,.mistake-type-bar b{border-radius:inherit;position:absolute;inset:0 auto 0 0}.mistake-type-bar i{background:var(--mistake)}@supports (color:color-mix(in lab, red, red)){.mistake-type-bar i{background:color-mix(in oklab, var(--mistake) 35%, transparent)}}.mistake-type-bar b{background:var(--mistake)}.mistake-type p{color:var(--ink-2);margin:0;font-size:14.5px}.mistake-type ul{color:var(--muted);gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.mistake-type footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;font-size:13.5px;display:flex}.mistake-type footer a{color:var(--mistake);align-items:center;gap:4px;font-weight:500;display:inline-flex}.mistakes-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;display:grid}.mistake-recent{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mistake-recent li{border-left:3px solid var(--mistake);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:0 14px 14px 0;padding:14px 16px}.mistake-recent li.is-cleared{opacity:.7}.mistake-recent-head{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;display:flex}.mistake-pill{color:var(--mistake);border-radius:99px;padding:2px 10px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.mistake-pill{color:color-mix(in oklab, var(--mistake) 80%, var(--ink))}}.mistake-pill{background:var(--mistake)}@supports (color:color-mix(in lab, red, red)){.mistake-pill{background:color-mix(in oklab, var(--mistake) 12%, transparent)}}.mistake-state{align-items:center;gap:3px;margin-left:auto;font-weight:500;display:inline-flex}.is-open .mistake-state{color:var(--bad-ink)}.is-cleared .mistake-state{color:var(--success)}.mistake-state .icon{width:14px;height:14px}.mistake-recent-prompt{margin:8px 0 6px;font-size:14.5px;line-height:1.55}.field-skillnet{margin-top:40px}.skillnet{border-radius:var(--radius-lg);background:radial-gradient(40rem 30rem at 30% 40%, #547ecd2e, transparent 65%), linear-gradient(160deg, var(--night-2), var(--night));box-shadow:var(--shadow-lg), inset 0 0 0 1px #ffffff0f;color:#e6ebf5;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);display:grid;overflow:hidden}.skillnet-stage{padding:12px}.skillnet-stage svg{width:100%;height:auto;max-height:640px;display:block}.skill-dust{fill:#ffffff59}.skill-ring{fill:none;stroke:#c9d4e614;stroke-dasharray:3 7}.skill-edge{fill:none;stroke:#c9d4e61f;stroke-width:1.5px;transition:stroke .3s,stroke-width .3s}.skill-edge.is-reference{stroke-dasharray:4 6}.skill-edge.is-lit{stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skill-edge.is-lit{stroke:color-mix(in oklab, var(--accent) 60%, transparent)}}.skill-edge.is-lit{stroke-width:2px}.skill-edge.is-focus{stroke:var(--accent);stroke-width:3px;stroke-dasharray:none}.skill-core{fill:#ffffff0d;stroke:#ffffff26}.skill-core-text{fill:#fff;font-family:var(--font-display);text-anchor:middle;font-size:29px}.skill-sector{letter-spacing:.02em;font-size:21px;font-weight:500}.skill-node{cursor:pointer;outline:none}.skill-halo{fill:var(--accent);filter:blur(7px)}.skill-star{fill:#161c28;stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skill-star{stroke:color-mix(in oklab, var(--accent) 45%, #3e5282)}}.skill-star{stroke-width:2px;transition:r .2s var(--ease), fill .3s, stroke .3s}.skill-node.level-1 .skill-star{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skill-node.level-1 .skill-star{fill:color-mix(in oklab, var(--accent) 35%, #161c28)}}.skill-node.level-1 .skill-star{stroke:var(--accent)}.skill-node.level-2 .skill-star{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skill-node.level-2 .skill-star{fill:color-mix(in oklab, var(--accent) 60%, #161c28)}}.skill-node.level-2 .skill-star{stroke:var(--accent)}.skill-node.level-3 .skill-star{fill:var(--accent);stroke:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skill-node.level-3 .skill-star{stroke:color-mix(in oklab, var(--accent) 50%, #fff)}}.skill-node.level-4 .skill-star{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.skill-node.level-4 .skill-star{fill:color-mix(in oklab, var(--accent) 75%, #fff)}}.skill-node.level-4 .skill-star{stroke:#fff;stroke-width:2.5px}.skill-node.level-5 .skill-star{fill:#ffc857;stroke:#fff4d6;stroke-width:3px;animation:3s ease-in-out infinite star-twinkle}.skill-crown{fill:#3a2200}.skill-hit{fill:#0000}.skill-node.is-active .skill-star,.skill-node:focus-visible .skill-star{stroke:#fff;stroke-width:3px}@keyframes star-twinkle{50%{filter:drop-shadow(0 0 6px #ffc857e6)}}.skillnet-panel{background:#ffffff05;border-left:1px solid #ffffff14;flex-direction:column;gap:18px;padding:26px;display:flex}.skillnet-counts{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.skillnet-counts div{text-align:center;background:#ffffff0d;border-radius:12px;padding:10px;display:grid}.skillnet-counts strong{font-family:var(--font-display);font-size:29px;font-weight:400;line-height:1.1}.skillnet-counts small{color:#e6ebf599;font-size:11px}.skillnet-detail{box-shadow:inset 0 0 0 1px var(--accent);background:#ffffff0f;border-radius:16px;padding:18px}@supports (color:color-mix(in lab, red, red)){.skillnet-detail{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 40%, transparent)}}.skillnet-detail{animation:reveal .2s var(--ease)}.skillnet-detail small{color:#e6ebf599;font-size:12px}.skillnet-detail h3{font-family:var(--font-display);margin:4px 0 8px;font-size:27px;font-weight:400;line-height:1.15}.skillnet-detail p{color:#e6ebf5cc;margin:8px 0 0;font-size:14px}.skill-stars{gap:3px;display:inline-flex}.skill-stars .icon{color:#ffffff40;width:18px;height:18px}.skill-stars .icon.is-on{color:#ffc857;fill:#ffc857}.skillnet-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.skillnet-actions .button-quiet{color:#fff;background:0 0;border-color:#c9d4e64d;height:40px}.skillnet-hint{color:#e6ebf5b8;margin:0;font-size:14px;line-height:1.6}.skillnet-legend{color:#e6ebf5b3;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:auto 0 0;padding:0;font-size:12.5px;list-style:none;display:grid}.skillnet-legend li{align-items:center;gap:8px;display:flex}.skillnet-legend i{background:#161c28;border:2px solid #8fa2c6;border-radius:50%;width:12px;height:12px}.skillnet-legend .level-1 i{background:#8fa2c659}.skillnet-legend .level-2 i{background:#8fa2c699}.skillnet-legend .level-3 i{background:#8fa2c6;border-color:#c9d4e6}.skillnet-legend .level-4 i{background:#c9d4e6;border-color:#fff}.skillnet-legend .level-5 i{background:#ffc857;border-color:#fff4d6;box-shadow:0 0 8px #ffc857cc}.skillnet-guest{color:#e6ebf5a6;margin:0;font-size:13px}.skillnet-guest a{color:#c9d4e6;font-weight:500}.profile-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;display:grid}.profile-head .display{margin-top:2px;font-size:clamp(36px,4.6vw,54px)}.profile-since{color:var(--muted);margin:4px 0 0;font-size:14px}.profile-stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.profile-stats div{border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:14px 16px}.profile-stats dt{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-size:11.5px;font-weight:400}.profile-stats dd{font-family:var(--font-display);margin:4px 0 0;font-size:34px;line-height:1.05}.profile-stats small{font-family:var(--font-body);color:var(--muted);font-size:13px}.profile-section{margin-top:48px}.profile-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.profile-tabs{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;padding:4px;display:inline-flex}.profile-tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:500}.profile-tabs button[aria-selected=true]{color:var(--on-fill);background:var(--accent-fill)}.profile-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.profile-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);padding:22px}.profile-card h2{align-items:center;gap:8px;margin:0 0 14px;font-size:17px;display:flex}.profile-card h2 .icon{width:20px;height:20px;color:var(--bad)}.profile-empty{color:var(--muted);margin:0}.profile-link{color:var(--brand);align-items:center;gap:4px;margin-top:14px;font-size:14px;font-weight:500;display:inline-flex}.heatmap-wrap{overflow-x:auto}.heatmap{grid-template-rows:repeat(7,13px);grid-auto-columns:13px;grid-auto-flow:column;gap:3px;width:max-content;display:grid}.heatmap i{background:var(--surface-3);border-radius:3px}.heatmap i.is-pad{background:0 0}.heat-1{background:var(--chart-1)!important}@supports (color:color-mix(in lab, red, red)){.heat-1{background:color-mix(in oklab, var(--chart-1) 30%, var(--paper-3))!important}}.heat-2{background:var(--chart-1)!important}@supports (color:color-mix(in lab, red, red)){.heat-2{background:color-mix(in oklab, var(--chart-1) 55%, var(--paper-3))!important}}.heat-3,.heat-4{background:var(--chart-1)!important}@supports (color:color-mix(in lab, red, red)){.heat-4{background:color-mix(in oklab, var(--chart-1) 65%, var(--ink))!important}}.heatmap-legend{color:var(--muted);align-items:center;gap:3px;margin-top:10px;font-size:12px;display:flex}.heatmap-legend i{background:var(--surface-3);border-radius:3px;width:11px;height:11px}.heatmap-legend span:first-child{margin-right:4px}.heatmap-legend span:last-child{margin-left:4px}.badges{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.badges li{border-radius:var(--radius);text-align:center;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);justify-items:center;gap:4px;padding:18px 14px;display:grid}.badges li strong{font-size:14.5px}.badges li small{color:var(--muted);font-size:12.5px;line-height:1.4}.badge-medal{width:58px;height:58px;color:var(--faint);background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--line-strong);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.badge-medal .icon{width:26px;height:26px}.badges li.is-earned .badge-medal{color:#1f2c4f;background:radial-gradient(circle at 35% 30%,#fff,#d3def2 45%,#8fa2c6);box-shadow:0 10px 22px -10px #34497db3}.badges li:not(.is-earned) strong{color:var(--muted)}.badge-progress{background:var(--surface-3);border-radius:5px;width:80%;height:5px;margin-top:6px;overflow:hidden}.badge-progress i{background:var(--grad-brand);height:100%;display:block}.exam-history{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.exam-history li{border-radius:var(--radius-sm);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-left:3px solid var(--bad);gap:2px;padding:16px;display:grid}.exam-history li.is-passed{border-left-color:var(--success)}.exam-history strong{font-family:var(--font-display);font-size:31px;font-weight:400}.exam-history small{color:var(--muted)}.hero-player{background:#ffffff0f;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;max-width:460px;margin-top:40px;padding:12px 18px 12px 12px;transition:background .2s;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}.hero-player:hover{background:#ffffff1a}.hero-player-level{color:#1f2c4f;background:radial-gradient(circle at 35% 30%,#fff,#d3def2 45%,#8fa2c6);border-radius:50%;place-items:center;width:56px;height:56px;line-height:1;display:grid}.hero-player-level strong{font-family:var(--font-display);font-size:29px;font-weight:400}.hero-player-level small{letter-spacing:.2em;text-transform:uppercase;margin-top:-10px;font-size:9px;font-weight:400}.hero-player-xp{gap:5px;display:grid}.hero-player-xp small{color:#e6ebf5a6;font-size:12.5px}.hero-player-xp .player-bar{background:#ffffff1f;width:100%;height:6px}.hero-player-streak{color:#e6ebf580;align-items:center;gap:4px;font-size:18px;font-weight:500;display:inline-flex}.hero-player-streak .icon{width:24px;height:24px}.hero-player-streak.is-active{color:#ff9b5c}.hero-player-streak.is-active .icon{fill:var(--flame)}@supports (color:color-mix(in lab, red, red)){.hero-player-streak.is-active .icon{fill:color-mix(in oklab, var(--flame) 30%, transparent)}}.game-modes{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.game-mode{border-radius:var(--radius);background:radial-gradient(28rem 16rem at 100% 0%, var(--accent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2));flex-direction:column;gap:8px;padding:22px;display:flex}@supports (color:color-mix(in lab, red, red)){.game-mode{background:radial-gradient(28rem 16rem at 100% 0%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 70%), linear-gradient(165deg, var(--card), var(--paper-2))}}.game-mode{box-shadow:inset 0 0 0 1px var(--line);transition:translate .9s var(--ease), box-shadow .9s var(--ease)}.game-mode:hover{box-shadow:var(--shadow-lg), inset 0 0 0 1px var(--accent);translate:0 -6px}@supports (color:color-mix(in lab, red, red)){.game-mode:hover{box-shadow:var(--shadow-lg), inset 0 0 0 1px color-mix(in oklab, var(--accent) 55%, transparent)}}.game-mode h3{font-family:var(--font-display);margin:8px 0 0;font-size:29px;font-weight:400;line-height:1.1}.game-mode p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.55}.game-mode-info{color:var(--accent-ink);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;font-size:13px;font-weight:500;display:flex}.game-mode:hover .game-mode-info .icon{transform:translate(3px)}.game-mode-info .icon{transition:transform .2s var(--ease)}.game-cta{border-radius:var(--radius);background:linear-gradient(100deg, var(--brand), var(--brand-2));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:18px 22px;display:flex}@supports (color:color-mix(in lab, red, red)){.game-cta{background:linear-gradient(100deg, color-mix(in oklab, var(--brand) 8%, transparent), color-mix(in oklab, var(--brand-2) 8%, transparent))}}.game-cta{box-shadow:inset 0 0 0 1px var(--brand)}@supports (color:color-mix(in lab, red, red)){.game-cta{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--brand) 18%, transparent)}}.game-cta p{color:var(--ink-2);margin:0}.game-cta div{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:1100px){.game-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1024px){.player-bar{width:44px}}@media (max-width:860px){.auth{grid-template-columns:minmax(0,1fr);padding-top:24px}.auth-showcase{order:2}.player-card{grid-template-columns:minmax(0,1fr)}.player-card>div+div{border-left:0;border-top:1px solid var(--line)}.hub-modes,.round-end-grid,.mistakes-columns,.profile-columns,.skillnet{grid-template-columns:minmax(0,1fr)}.skillnet-panel{border-top:1px solid #ffffff14;border-left:0}.mistakes-head{grid-template-columns:minmax(0,1fr)}.profile-head{grid-template-columns:auto minmax(0,1fr)}.profile-head .button{grid-column:1/-1;justify-self:start}}@media (max-width:640px){.player-level .player-bar{display:none}.auth{padding:16px 16px 32px}.auth-card,.auth-showcase{padding:24px 20px}.auth-title{font-size:38px}.runner-top{grid-template-columns:auto minmax(0,1fr) auto}.runner-dots{grid-area:2/1/auto/-1;justify-content:flex-start}.exam-page .runner-top{grid-template-columns:auto minmax(0,1fr) auto}.exam-answered{display:none}.runner-card{padding:20px 16px}.round-end-score{grid-template-columns:minmax(0,1fr);justify-items:start;gap:16px}.game-modes{grid-template-columns:minmax(0,1fr)}.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.skillnet-panel{padding:18px}.skillnet-stage{padding:4px}.hub-controls{grid-template-columns:minmax(0,1fr)}.gap-list li{grid-template-columns:minmax(0,1fr) 60px auto}.xp-toasts{justify-items:stretch;bottom:12px;left:12px;right:12px}.xp-toast{max-width:none}}@media (max-width:480px){.player-chip,.app-nav>.app-nav-practice,.user-area .button-tiny{display:none}.user-login{padding:7px 4px}.user-avatar.is-hero{width:60px;height:60px;font-size:26px}}@media (prefers-reduced-motion:reduce){.xp-toast,.levelup-burst i,.levelup-badge,.runner-gain,.skill-node.level-5 .skill-star{animation:none}}.skill-wedge{opacity:.075}.lines{vertical-align:top;gap:2px;display:inline-grid}@media (max-width:640px){.badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badges li{padding:14px 10px}}.variant{background:linear-gradient(135deg, var(--accent), var(--surface));border-radius:18px;margin-top:14px;padding:14px}@supports (color:color-mix(in lab, red, red)){.variant{background:linear-gradient(135deg, color-mix(in oklab, var(--accent) 7%, var(--surface)), var(--surface))}}.variant{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.variant{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 22%, var(--line))}}.variant-head{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 4px 12px;display:flex}.variant-title{color:var(--ink-2);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.variant-title .icon{width:18px;height:18px;color:var(--accent)}.variant-count{color:var(--success);background:var(--good);border-radius:99px;padding:2px 10px;font-size:12px;font-weight:500}@supports (color:color-mix(in lab, red, red)){.variant-count{background:color-mix(in oklab, var(--good) 10%, transparent)}}.variant-next{font:inherit;color:var(--accent-ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent);border:0;border-radius:99px;align-items:center;gap:6px;margin-left:auto;padding:7px 14px;font-size:13.5px;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.variant-next{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 35%, transparent)}}.variant-next{cursor:pointer}.variant-next:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.variant-next:hover{background:color-mix(in oklab, var(--accent) 8%, var(--surface))}}.variant-next .icon{width:15px;height:15px}.variant .check{box-shadow:inset 0 0 0 1px var(--line)}.topic-hint{color:var(--ink-2);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;align-items:flex-start;gap:12px;margin-top:18px;padding:14px 18px;font-size:14.5px;display:flex}.topic-hint .icon{width:20px;height:20px;color:var(--muted);flex:none;margin-top:1px}.topic-hint p{margin:0;line-height:1.55}.topic-hint a{color:var(--accent-ink);font-weight:500}.topic-hint.is-missing{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.topic-hint.is-missing{background:color-mix(in oklab, var(--gold) 10%, transparent)}}.topic-hint.is-missing{box-shadow:inset 0 0 0 1px var(--gold)}@supports (color:color-mix(in lab, red, red)){.topic-hint.is-missing{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--gold) 35%, transparent)}}.topic-hint.is-missing .icon{color:var(--gold-ink)}.topic-gate{border-radius:var(--radius-lg);text-align:center;color:#e6ebf5;background:radial-gradient(30rem 18rem at 50% 0%, #8fa2c64d, transparent 70%), linear-gradient(160deg, var(--night-2), var(--night));box-shadow:var(--shadow-lg);justify-items:center;gap:6px;margin-top:32px;padding:40px 32px;display:grid}.topic-gate-icon{color:#ffc857;background:#ffc8571f;border-radius:22px;place-items:center;width:68px;height:68px;display:grid;box-shadow:inset 0 0 0 1px #ffc8574d}.topic-gate-icon .icon{width:32px;height:32px}.topic-gate .eyebrow{color:#ffc857;margin-top:14px}.topic-gate h2{font-family:var(--font-display);color:#fff;margin:0;font-size:clamp(34px,4vw,45px);font-weight:400;line-height:1.1}.topic-gate>p{color:#e6ebf5bf;max-width:56ch;margin:6px 0 0}.topic-gate-list{text-align:left;gap:8px;width:min(460px,100%);margin:18px 0 6px;padding:0;list-style:none;display:grid}.topic-gate-list li{background:#ffffff0f;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.topic-gate-list li:hover{background:#ffffff1a}.topic-gate-list a{color:#fff;flex:1;min-width:0;display:grid}.topic-gate-list small{color:#e6ebf599;font-size:12.5px}.topic-gate-list .icon{color:#e6ebf599;flex:none;width:18px;height:18px}.topic-gate-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.topic-gate-actions .button-quiet{color:#fff;background:0 0;border-color:#c9d4e64d}.topic-gate-note{font-size:13px;color:#e6ebf58c!important}.unlock-go{margin-top:16px}.skill-node.is-locked .skill-star{fill:#0e1320;stroke:#c9d4e659;stroke-dasharray:3 3}.skill-node.is-locked .skill-halo{display:none}.skill-lock{fill:none;stroke:#c9d4e6b3;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.skill-next-ring{fill:none;stroke:#ffc857;stroke-width:2px;opacity:.8;transform-origin:50%;transform-box:fill-box;animation:2.4s ease-in-out infinite next-ring}@keyframes next-ring{0%,to{opacity:.9;transform:scale(.85)}50%{opacity:.25;transform:scale(1.2)}}.skillnet-legend .is-next i{background:0 0;border-color:#ffc857;box-shadow:0 0 0 3px #ffc85740}.skillnet-legend .is-locked i{background:#0e1320;border:2px dashed #c9d4e680}.skillnet-locked{color:#ffd58a!important}.skillnet-weak{color:#e6ebf5b3!important;font-size:13.5px!important}@media (prefers-reduced-motion:reduce){.skill-next-ring{animation:none}}@media (max-width:640px){.topic-gate{padding:28px 18px}.variant-next{margin-left:0}}.player-card-flame{position:relative}.player-card-shield{color:var(--chart-1);background:var(--surface);box-shadow:0 0 0 1px var(--line), var(--shadow-sm);border-radius:50%;padding:3px;position:absolute;bottom:-6px;right:-6px;width:22px!important;height:22px!important}.player-card-goal-link{color:inherit;border-radius:0 var(--radius-lg) var(--radius-lg) 0;transition:background .2s}.player-card-goal-link:hover{background:var(--surface-2)}.player-card-goal{width:52px;height:52px;color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong);background:0 0;border-radius:16px;flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.player-card-goal{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent-strong) 45%, transparent)}}.player-card-goal .icon{width:26px;height:26px}.player-card-goal-link.is-done .player-card-goal{color:var(--on-fill);background:var(--accent-strong);box-shadow:none}.user-menu em.is-done{color:var(--success);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.user-menu em.is-done{background:color-mix(in oklab, var(--good) 12%, transparent)}}.hub-welcome{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}.hub-welcome p{max-width:64ch;margin:0}.hub-welcome div{flex-wrap:wrap;gap:8px;display:flex}.hub-today{border-radius:var(--radius-lg);color:#fff;transition:transform .25s var(--ease);background:radial-gradient(26rem 12rem at 100% 0,#c9d4e638,#0000 70%),linear-gradient(120deg,#1f283b,#2c3d68 55%,#34497d);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:20px 24px;display:grid;box-shadow:0 20px 44px -22px #2c3d68cc,inset 0 0 0 1px #c9d4e624}.hub-today:hover{transform:translateY(-2px)}.hub-today>span:nth-child(2){gap:2px;display:grid}.hub-today small{letter-spacing:.2em;text-transform:uppercase;color:#ffffffbf;font-size:12px;font-weight:400}.hub-today strong{font-family:var(--font-display);font-size:34px;font-weight:400;line-height:1.1}.hub-today>span:nth-child(2)>span{color:#ffffffd9;font-size:14.5px}.hub-today>.icon{width:26px;height:26px}.hub-today-icon{background:#ffffff29;border-radius:18px;place-items:center;width:60px;height:60px;display:grid}.hub-today-icon .icon{width:30px;height:30px}.hub-today.is-done{box-shadow:var(--shadow-md), inset 0 0 0 1px #c9d4e61a;background:linear-gradient(120deg,#161c28,#1f283b)}.hub-placement{border-radius:var(--radius);color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);align-items:center;gap:14px;margin-top:18px;padding:16px 20px;display:flex}.hub-placement:hover{box-shadow:inset 0 0 0 1px var(--brand)}.hub-placement>.icon:first-child{width:24px;height:24px;color:var(--brand-2);flex:none}.hub-placement span{flex:1;font-size:14.5px}.hub-placement strong{color:var(--ink);margin-right:6px}.today{max-width:860px}.today-head .display{margin-top:6px;font-size:clamp(38px,5vw,58px)}.today-fields{margin-top:18px}.today-steps{flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0;list-style:none;display:flex}.today-steps li{color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;flex:150px;align-items:center;gap:10px;padding:10px 14px;font-weight:500;display:flex}.today-steps small{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:400;display:block}.today-step-icon{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.today-step-icon .icon{width:18px;height:18px}.today-steps li.is-current{color:var(--ink);box-shadow:inset 0 0 0 2px var(--brand)}.today-steps li.is-current .today-step-icon{color:var(--on-fill);background:var(--brand)}.today-steps li.is-done{color:var(--ink-2)}.today-steps li.is-done .today-step-icon{color:var(--on-fill);background:var(--success)}.today-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.today-card{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--line);gap:6px;padding:20px;display:grid}.today-card>.icon{width:26px;height:26px;color:var(--accent)}.today-card strong{font-size:16.5px}.today-card span{color:var(--muted);font-size:14px}.today-card.is-empty{opacity:.6;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface-2)}.today-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;display:flex}.today-meta{color:var(--muted);align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.today-meta .icon{width:17px;height:17px}.today-meta.is-active{color:var(--flame)}.today .round-player{margin-top:22px}.today-lesson{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line);margin-top:24px;padding:28px}.today-lesson header{margin-bottom:14px}.today-lesson .display{margin-top:6px}.today-lesson-link{margin:14px 0 0;font-size:14px}.today-lesson-link a{color:var(--accent-ink);font-weight:500}.today-finish{border-radius:var(--radius-lg);text-align:center;background:radial-gradient(28rem 16rem at 50% 0%, var(--chart-1), transparent 70%), var(--surface);justify-items:center;margin-top:28px;padding:44px 28px;display:grid}@supports (color:color-mix(in lab, red, red)){.today-finish{background:radial-gradient(28rem 16rem at 50% 0%, color-mix(in oklab, var(--chart-1) 14%, transparent), transparent 70%), var(--surface)}}.today-finish{box-shadow:var(--shadow-md), inset 0 0 0 1px var(--line)}.today-finish-badge{width:84px;height:84px;color:var(--on-fill);background:linear-gradient(135deg, var(--accent-strong), var(--chart-1));border-radius:50%;place-items:center;animation:.6s cubic-bezier(.3,1.6,.5,1) both badge-pop;display:grid;box-shadow:0 16px 36px -14px #34497db3}.today-finish-badge .icon{width:42px;height:42px}.today-finish .eyebrow{margin-top:18px}.today-finish .display{margin-top:4px;font-size:clamp(36px,5vw,52px)}.today-finish .lead{max-width:52ch}.today-finish .round-end-actions{justify-content:center}.placement{max-width:860px}.placement-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px;display:grid}.placement-head .display{margin-top:6px;font-size:clamp(38px,5vw,56px)}.placement-fields{margin-top:22px}.placement-courses{gap:10px;margin:24px 0 0;padding:0;list-style:none;display:grid}.placement-courses button{border-radius:var(--radius);width:100%;font:inherit;text-align:left;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 20px;transition:box-shadow .15s,background .15s;display:grid}.placement-courses button:hover{box-shadow:inset 0 0 0 1px var(--accent)}.placement-courses button.is-selected{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.placement-courses button.is-selected{background:color-mix(in oklab, var(--accent) 7%, var(--surface))}}.placement-courses button.is-selected{box-shadow:inset 0 0 0 2px var(--accent)}.placement-check{width:26px;height:26px;color:var(--on-fill);box-shadow:inset 0 0 0 2px var(--line-strong);border-radius:8px;place-items:center;display:grid}.is-selected .placement-check{background:var(--accent-fill);box-shadow:none}.placement-check .icon{width:16px;height:16px}.placement-course{gap:2px;display:grid}.placement-course small{color:var(--accent-ink);font-size:12px;font-weight:500}.placement-course strong{font-size:17px}.placement-course>span{color:var(--muted);font-size:14px}.placement-courses em{color:var(--muted);font-size:13px;font-style:normal;font-weight:500}.is-selected em{color:var(--accent-ink)}.placement-actions{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:22px;display:flex}.placement-actions p{color:var(--muted);margin:0;font-size:14px}.placement-actions .button:disabled{opacity:.45;cursor:not-allowed}.placement-chapters{gap:8px;margin:26px 0 0;padding:0;list-style:none;display:grid}.placement-chapters li{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.placement-chapters li.is-wrong .exam-review-mark{background:var(--faint)}.placement-chapters span:nth-child(2){display:grid}.placement-chapters small{color:var(--muted);font-size:12px}.placement-chapters em{color:var(--success);font-size:13px;font-style:normal;font-weight:500}.placement-chapters li.is-wrong em{color:var(--muted)}.placement-prompt{border-radius:var(--radius);background:linear-gradient(100deg, var(--brand-2), var(--surface));flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px;padding:16px 20px;display:flex}@supports (color:color-mix(in lab, red, red)){.placement-prompt{background:linear-gradient(100deg, color-mix(in oklab, var(--brand-2) 10%, var(--surface)), var(--surface))}}.placement-prompt{box-shadow:inset 0 0 0 1px var(--brand-2)}@supports (color:color-mix(in lab, red, red)){.placement-prompt{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--brand-2) 30%, transparent)}}.placement-prompt>.icon{width:26px;height:26px;color:var(--brand-2)}.placement-prompt p{flex:320px;margin:0;font-size:14.5px}.placement-prompt div{flex-wrap:wrap;gap:8px;display:flex}.topic-gate-note a{color:#c9d4e6;font-weight:500}.skill-map-switch{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;margin-bottom:14px;padding:4px;display:inline-flex}.skill-map-switch button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-flex}.skill-map-switch button .icon{width:17px;height:17px}.skill-map-switch button[aria-selected=true]{color:var(--on-fill);background:var(--ink)}.skill-path{border-radius:var(--radius-lg);background:radial-gradient(30rem 24rem at 50% 0%, #547ecd29, transparent 70%), linear-gradient(170deg, var(--night-2), var(--night));box-shadow:var(--shadow-lg);color:#e6ebf5;padding:22px 16px 30px}.path-courses{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px;display:flex}.path-courses button{font:inherit;color:#e6ebf5bf;cursor:pointer;background:#ffffff0f;border:0;border-radius:99px;padding:7px 14px;font-size:13.5px;font-weight:500;box-shadow:inset 0 0 0 1px #ffffff1a}.path-courses button[aria-selected=true]{color:#fff;background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-courses button[aria-selected=true]{background:color-mix(in oklab, var(--accent) 70%, #0e1320)}}.path-courses button[aria-selected=true]{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-courses button[aria-selected=true]{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 80%, #fff)}}.path-chapter{max-width:420px;margin:0 auto}.path-chapter-head{background:var(--accent);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;margin:22px 0 8px;padding:12px 16px;display:grid}@supports (color:color-mix(in lab, red, red)){.path-chapter-head{background:color-mix(in oklab, var(--accent) 22%, transparent)}}.path-chapter-head{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-chapter-head{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent) 45%, transparent)}}.path-chapter-head small{letter-spacing:.2em;text-transform:uppercase;color:#e6ebf5b3;font-size:11.5px;font-weight:400}.path-chapter-head strong{color:#fff;grid-column:1;font-size:16px}.path-chapter-head span{color:#e6ebf5cc;font-variant-numeric:tabular-nums;grid-area:1/2/span 2;align-self:center;font-weight:500}.path-track{width:320px;margin:0 auto;position:relative}.path-line{position:absolute;inset:0}.path-line path{fill:none;stroke:#c9d4e640;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 10}.path-stop{text-align:center;color:#e6ebf5;justify-items:center;width:150px;margin:-30px 0 0 -75px;display:grid;position:absolute}.path-stop-dot{width:60px;height:60px;font-family:var(--font-display);color:#fff;box-shadow:0 5px 0 #00000059, inset 0 0 0 2px var(--accent);background:#1f283b;border-radius:50%;place-items:center;font-size:27px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.path-stop-dot{box-shadow:0 5px 0 #00000059, inset 0 0 0 2px color-mix(in oklab, var(--accent) 55%, transparent)}}.path-stop-dot{transition:transform .15s var(--ease)}.path-stop:hover .path-stop-dot{transform:translateY(-2px)scale(1.04)}.path-stop-dot .icon{width:26px;height:26px}.path-stop-ring{width:72px;height:72px;position:absolute;inset:-6px;transform:rotate(-90deg)}.path-stop-ring circle{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round}.path-stop.is-started .path-stop-dot{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-stop.is-started .path-stop-dot{background:color-mix(in oklab, var(--accent) 45%, #1f283b)}}.path-stop.is-done .path-stop-dot{background:var(--accent);box-shadow:0 5px 0 var(--accent)}@supports (color:color-mix(in lab, red, red)){.path-stop.is-done .path-stop-dot{box-shadow:0 5px 0 color-mix(in oklab, var(--accent) 55%, #000)}}.path-stop.is-mastered .path-stop-dot{color:#3a2200;box-shadow:0 5px 0 var(--gold-ink), 0 0 22px #ffc85799;background:radial-gradient(circle at 35% 30%,#ffe29a,#ffc857 45%,#d4861a)}.path-stop.is-mastered .path-stop-dot .icon{fill:#fff6}.path-stop.is-next .path-stop-dot{background:var(--accent);width:68px;height:68px;box-shadow:0 6px 0 var(--accent), 0 0 0 6px #ffc85759}@supports (color:color-mix(in lab, red, red)){.path-stop.is-next .path-stop-dot{box-shadow:0 6px 0 color-mix(in oklab, var(--accent) 55%, #000), 0 0 0 6px #ffc85759}}.path-stop.is-next .path-stop-dot{animation:2.4s ease-in-out infinite next-glow}.path-stop.is-locked .path-stop-dot{color:#c9d4e68c;background:#121827;box-shadow:0 5px #00000059,inset 0 0 0 2px #c9d4e633}.path-stop-flag{letter-spacing:.2em;text-transform:uppercase;color:#3a2200;background:#ffc857;border-radius:99px;padding:3px 10px;font-size:11.5px;font-weight:400;position:absolute;top:-26px;box-shadow:0 4px 12px -4px #ffc857cc}.path-stop-label{color:#e6ebf5d9;margin-top:8px;font-size:12.5px;line-height:1.3;display:grid}.path-stop-label small{color:#e6ebf58c;font-size:11px;font-weight:500}.path-stop.is-locked .path-stop-label{color:#e6ebf573}@keyframes next-glow{50%{box-shadow:0 6px 0 color-mix(in oklab, var(--accent) 55%, #000), 0 0 0 12px #ffc8571f}}@media (max-width:860px){.today-overview{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.hub-today{grid-template-columns:auto minmax(0,1fr);padding:18px}.hub-today>.icon{display:none}.hub-today strong{font-size:24px}.today-lesson{padding:18px 14px}.today-steps li{flex-basis:calc(50% - 4px)}.placement-head{grid-template-columns:minmax(0,1fr)}.placement-courses button{grid-template-columns:auto minmax(0,1fr)}.placement-courses em{grid-column:2}.skill-path{padding:16px 4px 24px}}@media (prefers-reduced-motion:reduce){.path-stop.is-next .path-stop-dot,.today-finish-badge{animation:none}}.player-card-flame .player-card-shield{fill:none}.player-card>a{border-left:1px solid var(--line);align-items:center;gap:16px;padding:22px 24px;display:flex}@media (max-width:860px){.player-card>a{border-left:0;border-top:1px solid var(--line);border-radius:0 0 var(--radius-lg) var(--radius-lg)}}.path-stop-label{background:#080b13d1;border-radius:8px;padding:3px 8px}.topic-gate-next{text-align:left;color:#fff;width:min(460px,100%);transition:transform .2s var(--ease);background:linear-gradient(120deg,#2c3d68,#34497d 60%,#547ecd);border-radius:18px;gap:2px;margin:20px 0 4px;padding:16px 52px 16px 20px;display:grid;position:relative;box-shadow:0 18px 40px -18px #34497dcc}.topic-gate-next:hover{transform:translateY(-2px)}.topic-gate-next small{letter-spacing:.2em;text-transform:uppercase;color:#fffc;font-size:11.5px;font-weight:400}.topic-gate-next strong{font-family:var(--font-display);font-size:27px;font-weight:400;line-height:1.15}.topic-gate-next span{color:#fffc;font-size:13px}.topic-gate-next>.icon{width:22px;height:22px;margin-top:-11px;position:absolute;top:50%;right:18px}.topic-gate-way{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:14px 0 4px;padding:0;list-style:none;display:flex}.topic-gate-way li{align-items:center;gap:6px;display:flex}.topic-gate-way li+li:before{content:"";background:#c9d4e64d;border-radius:2px;width:14px;height:2px}.topic-gate-way a,.topic-gate-way span{color:#e6ebf5b3;background:#ffffff0f;border-radius:99px;place-items:center;min-width:42px;height:30px;padding:0 8px;font-size:12.5px;font-weight:500;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.topic-gate-way .is-entry a{color:#0b3b35;background:#5ce0c6;box-shadow:0 0 0 3px #5ce0c640}.topic-gate-way .is-gap{color:#e6ebf580}.topic-gate-way .is-goal span{color:#3a2200;box-shadow:none;background:#ffc857}.answer-pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px;margin-top:10px;display:grid}.answer-box{border-radius:12px;gap:2px;padding:10px 14px;font-size:14.5px;display:grid}.answer-box small{letter-spacing:.2em;text-transform:uppercase;font-size:11px;font-weight:400}.answer-box.is-wrong{color:var(--bad-ink);background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.answer-box.is-wrong{background:color-mix(in oklab, var(--bad) 7%, transparent)}}.answer-box.is-wrong{box-shadow:inset 0 0 0 1px var(--bad)}@supports (color:color-mix(in lab, red, red)){.answer-box.is-wrong{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--bad) 18%, transparent)}}.answer-box.is-wrong small{color:var(--bad-ink)}.answer-box.is-right,.answer-box.is-solution{color:var(--good-ink);background:var(--good)}@supports (color:color-mix(in lab, red, red)){.answer-box.is-right,.answer-box.is-solution{background:color-mix(in oklab, var(--good) 8%, transparent)}}.answer-box.is-right,.answer-box.is-solution{box-shadow:inset 0 0 0 1px var(--good)}@supports (color:color-mix(in lab, red, red)){.answer-box.is-right,.answer-box.is-solution{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--good) 20%, transparent)}}.answer-box.is-right small,.answer-box.is-solution small{color:var(--success)}.answer-table{box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;margin-top:10px;font-size:14px;display:grid;overflow:hidden}.answer-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;padding:9px 14px;display:grid}.answer-row+.answer-row{border-top:1px solid var(--line)}.answer-row.is-head{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding-block:7px;font-size:11px;font-weight:400}.answer-row.is-wrong{background:var(--bad)}@supports (color:color-mix(in lab, red, red)){.answer-row.is-wrong{background:color-mix(in oklab, var(--bad) 5%, transparent)}}.answer-left{color:var(--ink);font-weight:500}.answer-given{align-items:center;gap:8px;display:flex}.answer-given i{width:20px;height:20px;color:var(--on-fill);border-radius:50%;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:500;display:grid}.answer-given i .icon{width:12px;height:12px;color:var(--on-fill)}.is-right .answer-given{color:var(--ink-2)}.is-right .answer-given i{background:var(--success)}.is-wrong .answer-given{color:var(--bad-ink);text-decoration:line-through;-webkit-text-decoration-color:var(--bad);-webkit-text-decoration-color:var(--bad);-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}@supports (color:color-mix(in lab, red, red)){.is-wrong .answer-given{-webkit-text-decoration-color:color-mix(in oklab, var(--bad) 45%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--bad) 45%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--bad) 45%, transparent);text-decoration-color:color-mix(in oklab, var(--bad) 45%, transparent)}}.is-wrong .answer-given i{background:var(--bad)}.answer-solution{color:var(--good-ink);font-weight:500}.answer-same{color:var(--faint);font-size:12.5px;font-weight:500}.exam-review-body .answer-table,.exam-review-body .answer-pair{margin-top:0}@media (max-width:640px){.answer-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 12px}.answer-row.is-head span:first-child{display:none}.answer-left{grid-column:1/-1}}.app-footer nav{gap:12px;margin-left:12px;display:inline-flex}.app-footer nav a{color:inherit;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s}.app-footer nav a:hover{color:var(--ink-2);text-decoration-color:currentColor}.legal{max-width:760px}.legal .display{-webkit-hyphens:manual;hyphens:manual;margin-top:6px;font-size:clamp(38px,5vw,54px)}.legal section{margin-top:30px}.legal h2{margin:0 0 8px;font-size:18px}.legal p,.legal li{color:var(--ink-2);line-height:1.7}.legal ul{padding-left:20px}.legal a{color:var(--brand);font-weight:500}.legal code{background:var(--surface-2);border-radius:6px;padding:1px 6px;font-size:.9em}.legal-todo{color:var(--gold-ink);background:var(--gold-wash);box-shadow:inset 0 0 0 1px var(--gold);border-radius:6px;padding:1px 6px}.legal-stand{color:var(--muted);margin-top:36px;font-size:13.5px}.auth-legal{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.5}.auth-legal a{color:var(--brand);font-weight:500}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-card{border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);flex-direction:column;align-items:flex-start;gap:10px;padding:20px;display:flex}.account-card>.icon{width:24px;height:24px;color:var(--brand)}.account-card strong{font-size:16px}.account-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.account-card dl{gap:10px;margin:0;display:grid}.account-card dt{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-size:11.5px;font-weight:400}.account-card dd{word-break:break-word;margin:2px 0 0}.account-card .button{margin-top:auto}.account-legal{font-size:12.5px!important}.account-legal a{color:var(--brand)}.account-card.is-danger{box-shadow:inset 0 0 0 1px var(--bad)}@supports (color:color-mix(in lab, red, red)){.account-card.is-danger{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--bad) 25%, transparent)}}.account-card.is-danger strong,.account-delete{color:var(--bad-ink)}.account-delete .icon{width:17px;height:17px}.account-confirm{gap:8px;width:100%;margin-top:auto;display:grid}.account-confirm label{color:var(--ink-2);font-size:13px;font-weight:500}.account-confirm input{height:44px;font:inherit;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong);border:0;border-radius:10px;padding:0 12px}.account-confirm input:focus{box-shadow:inset 0 0 0 2px var(--bad);outline:0}.account-confirm div{flex-wrap:wrap;gap:8px;display:flex}.account-confirm .auth-error{color:var(--bad-ink);font-size:13px}.button-danger{height:44px;color:var(--on-fill);border-color:var(--bad);background:var(--bad);padding:0 20px}.button-danger:hover{background:var(--bad-ink);border-color:var(--bad-ink)}.button-danger:disabled{opacity:.5;cursor:not-allowed}.home-notice{color:var(--good-ink);background:var(--good);border-radius:14px;margin:0 0 18px;padding:14px 18px}@supports (color:color-mix(in lab, red, red)){.home-notice{background:color-mix(in oklab, var(--good) 10%, transparent)}}.error-page{text-align:center;justify-items:center;max-width:620px;padding-top:60px;display:grid}.error-page .eyebrow{margin-top:20px}.error-page .display{margin-top:6px;font-size:clamp(36px,5vw,52px)}.error-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.error-digest{color:var(--faint);margin-top:20px;font-size:12.5px}@media (max-width:860px){.account-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.app-footer nav{margin-left:0}}.account-devices{border-top:1px solid var(--line);justify-items:start;gap:8px;width:100%;margin-top:auto;padding-top:12px;display:grid}.account-devices .button .icon{width:17px;height:17px}.account-success{font-weight:500;color:var(--success)!important}.account-hint{font-size:12.5px!important}.account-card:not(.is-danger) .account-confirm input:focus{box-shadow:inset 0 0 0 2px var(--brand)}.auth-single{grid-template-columns:minmax(0,560px);justify-content:center}.auth-forgot{color:var(--brand);justify-self:end;margin-top:4px;font-size:13.5px;font-weight:500}.auth-cta{justify-self:start;margin-top:22px}.auth-done{gap:10px;display:grid}.report-open{font:inherit;color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-self:start;margin-top:10px;padding:4px 0;font-size:13px}.report-open:hover{color:var(--ink)}.report-done{color:var(--success);margin:10px 0 0;font-size:13.5px}.report-form{border-radius:var(--radius);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);gap:8px;margin-top:12px;padding:16px;display:grid}.report-title{margin:0;font-weight:500}.report-kinds{flex-wrap:wrap;gap:6px;display:flex}.report-kinds label{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;display:inline-flex}.report-kinds label.is-selected{color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.report-kinds input{opacity:0;pointer-events:none;position:absolute}.report-kinds label:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.report-label{color:var(--ink-2);margin-top:4px;font-size:13px;font-weight:500}.report-form textarea{width:100%;min-height:76px;font:inherit;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-strong);resize:vertical;border:0;border-radius:10px;padding:10px 12px;font-size:15px}.report-form textarea:focus{box-shadow:inset 0 0 0 2px var(--brand);outline:0}.report-note{color:var(--muted);margin:0;font-size:12.5px}.report-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.lab-loading{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface) 50%, var(--surface-2) 70%) 0 0 / 300% 100%;min-height:360px;animation:1.4s linear infinite shimmer}.concept-list .is-loading .concept-open{cursor:progress}.concept-list .is-loading .concept-text{color:var(--muted)}@keyframes shimmer{to{background-position:-300% 0}}@media (prefers-reduced-motion:reduce){.lab-loading{animation:none}}.math-pending{font-family:var(--font-serif), serif;color:var(--muted);font-style:italic}.math-pending.is-display{text-align:center;margin:1em 0;display:block}.topic-pending{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface) 50%, var(--surface-2) 70%) 0 0 / 300% 100%;min-height:420px;margin-top:32px;animation:1.4s linear infinite shimmer}@media (prefers-reduced-motion:reduce){.topic-pending{animation:none}}.sigma-stage,.grammar-stage{gap:12px;padding:8px 12px 18px;display:grid}.sigma-layer{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;display:grid}.sigma-label{color:#e6ebf5d9;gap:2px;padding-top:5px;font-size:13px;font-weight:500;display:grid}.sigma-label small{color:#e6ebf599;font-weight:500}.sigma-words{flex-wrap:wrap;gap:5px;display:flex}.sigma-words code{color:#e6ebf5b3;border:1px solid #e6ebf529;border-radius:7px;padding:4px 8px;font-size:14px}.sigma-words code.is-in{color:#0e1320;background:#ffc857;border-color:#ffc857;font-weight:500}.sigma-more{color:#e6ebf599;margin:0;font-size:13px}.grammar-tree{max-height:420px}.grammar-chain{gap:4px;max-height:330px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.grammar-chain li{border-radius:8px;align-items:center;gap:10px;padding:4px 8px;display:flex}.grammar-chain li.is-current{background:#ffc85714}.grammar-arrow{color:#e6ebf58c;text-align:center;width:18px}.grammar-form,.grammar-current{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.grammar-current{justify-content:center;margin:0}.grammar-label{color:#e6ebf5b3;margin-right:8px;font-size:13px;font-weight:500}.grammar-symbol{border-radius:6px;place-items:center;min-width:22px;height:28px;padding:0 5px;font:500 16px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-grid}.grammar-symbol.is-terminal{color:#ffc857}.grammar-symbol.is-nonterminal{color:#fff;box-shadow:inset 0 0 0 1px #5ad8ff99}.grammar-symbol.is-focus{background:#ffc85740;box-shadow:inset 0 0 0 2px #ffc857}.grammar-rules{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.grammar-rules li{border-right:1px solid #e6ebf51f;gap:1px;padding:2px 12px 2px 0;display:grid}.grammar-rules li:last-child{border-right:0}.grammar-caption{color:#e6ebf5d6;margin:0;font-size:13px;font-weight:500}.grammar-rules code{color:#fff;font-size:14px}.grammar-rules span{color:#e6ebf5a6;font-size:12px}.grammar-actions{flex-wrap:wrap;gap:6px;display:flex}.grammar-actions button,.grammar-controls button,.decide-table td button{color:#fff;cursor:pointer;background:#5ad8ff24;border:0;border-radius:10px;gap:1px;padding:6px 12px;font:500 14px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-grid;box-shadow:inset 0 0 0 1px #5ad8ff80}.grammar-actions button:hover,.grammar-controls button:hover:not(:disabled){background:#5ad8ff3d}.grammar-actions button small{color:#e6ebf5b3;font:500 11px/1.2 inherit}.grammar-actions p{flex-basis:100%;margin:0}.grammar-done{color:#e6ebf5d9;font-size:14px}.grammar-done strong{color:#ffc857}.grammar-controls{flex-wrap:wrap;gap:6px;display:flex}.grammar-controls button{background:#ffffff0f;font-family:inherit;box-shadow:inset 0 0 0 1px #e6ebf533}.grammar-controls button:disabled{opacity:.45;cursor:default}.grammar-reason{color:#e6ebf5e0;margin:0;font-size:14px;line-height:1.55}.decide-table th small{color:#e6ebf599;font-weight:500;display:block}.decide-table tbody tr{cursor:default}.decide-table td{padding:6px 8px}.decide-table td button{white-space:nowrap;color:inherit;background:0 0;font-family:inherit;font-size:13px;box-shadow:inset 0 0 0 1px #e6ebf529}.decide-table td button[aria-pressed=true]{background:#ffffff1a;box-shadow:inset 0 0 0 2px}.grammar-caption,.grammar-rules,.grammar-actions,.grammar-controls,.grammar-reason{grid-column:1/-1}.sky{z-index:-1;pointer-events:none;contain:strict;-webkit-mask-image:var(--sky-mask);-webkit-mask-image:var(--sky-mask);-webkit-mask-image:var(--sky-mask);-webkit-mask-image:var(--sky-mask);mask-image:var(--sky-mask);position:fixed;inset:0;overflow:hidden}:root{--sky-mask:linear-gradient(90deg, #000 4%, #00000052 26%, #00000052 74%, #000 96%)}.topic-layout,.page{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.topic-layout,.page{background:color-mix(in oklab, var(--paper) 88%, transparent)}}.topic-layout,.page{box-shadow:0 0 90px 50px var(--paper)}@supports (color:color-mix(in lab, red, red)){.topic-layout,.page{box-shadow:0 0 90px 50px color-mix(in oklab, var(--paper) 88%, transparent)}}.sky-scene{animation:sky-in 3.2s var(--ease) both;position:absolute;inset:0}.sky-scene.is-leaving{animation:1.8s cubic-bezier(.55,0,.75,.3) both sky-out}@keyframes sky-in{0%{opacity:0;transform:scale(1.32)rotate(-32deg)}40%{opacity:1}}@keyframes sky-out{to{opacity:0;transform:scale(.5)rotate(56deg)}}.sky-instrument{--tint:var(--accent-strong);--size:clamp(620px, 118vmin, 1280px);left:var(--x,80vw);top:var(--y,56vh);width:var(--size);aspect-ratio:1;background:radial-gradient(closest-side, var(--tint), transparent);position:absolute;translate:-50% -50%}@supports (color:color-mix(in lab, red, red)){.sky-instrument{background:radial-gradient(closest-side, color-mix(in oklab, var(--tint) 7%, transparent), transparent)}}.sky-instrument{border-radius:50%}.sky-scene[data-scene=mathematics] .sky-instrument{--tint:var(--chart-1);--x:17vw;--y:60vh}.sky-scene[data-scene=computer-science] .sky-instrument{--tint:var(--chart-2)}.sky-scene[data-scene=physics] .sky-instrument{--tint:var(--chart-3)}.sky-scene[data-scene=astronomy] .sky-instrument{--tint:var(--chart-5)}.sky-scene[data-scene=quantum-physics] .sky-instrument{--tint:var(--chart-8)}.sky-layer{position:absolute;inset:0}.sky-layer>svg{width:100%;height:100%;display:block;overflow:visible}.sky-line{fill:none;stroke:var(--sky-ink);stroke-width:1.2px}.sky-line.is-fine{stroke-width:.8px}.sky-line.is-faint{opacity:.6}.sky-line.is-dashed,.sky-tint.is-dashed{stroke-dasharray:5 7}.sky-tint{fill:none;stroke:var(--tint)}@supports (color:color-mix(in lab, red, red)){.sky-tint{stroke:color-mix(in oklab, var(--tint) 60%, transparent)}}.sky-tint{stroke-width:1.6px}.sky-tint.is-fine{stroke-width:1px}.sky-glow{fill:var(--tint)}@supports (color:color-mix(in lab, red, red)){.sky-glow{fill:color-mix(in oklab, var(--tint) 24%, transparent)}}.sky-glow{stroke:var(--tint)}@supports (color:color-mix(in lab, red, red)){.sky-glow{stroke:color-mix(in oklab, var(--tint) 70%, transparent)}}.sky-glow{stroke-width:1.4px}.sky-node{fill:var(--paper)}@supports (color:color-mix(in lab, red, red)){.sky-node{fill:color-mix(in oklab, var(--paper) 70%, transparent)}}.sky-node{stroke:var(--sky-ink);stroke-width:1.2px}.sky-star{fill:var(--sky-ink)}.sky-script{fill:var(--sky-ink);font-family:var(--font-body);letter-spacing:.34em;font-size:13.5px;font-weight:400}.sky-label{fill:var(--sky-ink);font-family:var(--font-display);font-size:34px;font-style:italic}.sky-cell{fill:var(--sky-ink);font-family:var(--font-body);text-anchor:middle;dominant-baseline:central;font-size:17px}.sky-cell.is-roman{font-family:var(--font-display);font-size:21px}.sky-symbol{fill:var(--sky-ink);font-family:var(--font-display);text-anchor:middle;dominant-baseline:central;font-size:24px;font-style:italic}.sky-state{fill:var(--sky-ink);font-family:var(--font-display);text-anchor:middle;font-size:27px;font-style:italic}.sky-draw{stroke-dasharray:1;animation:sky-draw 3.2s var(--ease) both .2s}@keyframes sky-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.sky-turn-rim,.sky-turn-rev,.sky-turn-tape,.sky-turn-automaton,.sky-turn-stars{rotate:var(--dial,0deg);transition:rotate 2.8s var(--ease)}.sky-turn-rev,.sky-turn-stars{rotate:calc(var(--dial,0deg) * -.5)}.sky-turn-tape{animation:180s linear infinite sky-turn}.sky-orbit{animation:60s linear infinite sky-turn}@keyframes sky-turn{to{transform:rotate(360deg)}}.sky-math-radius{animation:32s linear infinite reverse sky-turn;inset:19%}.sky-math-height{animation:16s cubic-bezier(.37,0,.63,1) -24s infinite alternate sky-sine;top:49%;bottom:49%}@keyframes sky-sine{0%{transform:translateY(calc(var(--size) * -.3))}to{transform:translateY(calc(var(--size) * .3))}}.sky-wave{height:64%;position:absolute;top:18%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 30%,#0000);mask-image:linear-gradient(90deg,#000 30%,#0000)}.sky-wave-track{height:100%;animation:32s linear infinite sky-wave;position:absolute;top:0}.sky-wave-track svg{width:100%;height:100%;display:block;overflow:visible}@keyframes sky-wave{to{transform:translateX(var(--shift))}}.sky-token{animation:16s infinite sky-token}@keyframes sky-token{0%,14%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:rotate(0)}20%,34%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:rotate(72deg)}40%,54%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:rotate(144deg)}60%,74%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:rotate(216deg)}80%,94%{animation-timing-function:cubic-bezier(.65,0,.35,1);transform:rotate(288deg)}to{transform:rotate(360deg)}}.sky-pendulum{animation:3.4s cubic-bezier(.37,0,.63,1) infinite alternate sky-swing}@keyframes sky-swing{0%{transform:rotate(-22deg)}to{transform:rotate(22deg)}}.sky-ripple{aspect-ratio:1;border:1px solid var(--sky-ink);will-change:transform, opacity;border-radius:50%;width:52%;margin:-26% 0 0 -26%;animation:12s linear infinite sky-ripple;position:absolute}@keyframes sky-ripple{0%{opacity:0;transform:scale(.04)}10%{opacity:1}to{opacity:0;transform:scale(1)}}.sky-orrery{transform:perspective(2400px)rotateX(64deg)}.sky-breathe{animation:9s ease-in-out infinite alternate sky-breathe}@keyframes sky-breathe{0%{opacity:.7;transform:scale(.96)}to{opacity:1;transform:scale(1.03)}}.sky-flatten{transform:scaleY(.34)}.sky-sphere{transform-style:preserve-3d;transform:perspective(2600px)rotateX(-16deg)}.sky-sphere-spin{transform-style:preserve-3d;animation:150s linear infinite sky-spin}.sky-sphere-spin>.sky-layer{transform-style:preserve-3d}@keyframes sky-spin{to{transform:rotateY(360deg)}}@media (max-width:860px){.sky-instrument{--size:clamp(520px, 150vmin, 900px);--x:78vw;--y:32vh}.sky-scene[data-scene=mathematics] .sky-instrument{--x:8vw;--y:34vh}}@media (prefers-reduced-motion:reduce){.sky-scene.is-leaving{display:none}}.sky-sweep{pointer-events:none;position:absolute;inset:0}.sky-sweep:before,.sky-sweep:after{content:"";border-radius:50%;position:absolute;inset:0}.sky-sweep:before{border:1px solid var(--tint)}@supports (color:color-mix(in lab, red, red)){.sky-sweep:before{border:1px solid color-mix(in oklab, var(--tint) 70%, transparent)}}.sky-sweep:before{animation:sky-shock 2s var(--ease) both}.sky-sweep:after{background:conic-gradient(from 0deg, transparent 0 290deg, var(--tint) 352deg, transparent 360deg)}@supports (color:color-mix(in lab, red, red)){.sky-sweep:after{background:conic-gradient(from 0deg, transparent 0 290deg, color-mix(in oklab, var(--tint) 26%, transparent) 352deg, transparent 360deg)}}.sky-sweep:after{animation:sky-beam 2.4s var(--ease) both}.sky-sweep.is-field:before{box-shadow:0 0 40px var(--tint), inset 0 0 40px var(--tint);border-width:2px}@supports (color:color-mix(in lab, red, red)){.sky-sweep.is-field:before{box-shadow:0 0 40px color-mix(in oklab, var(--tint) 40%, transparent), inset 0 0 40px color-mix(in oklab, var(--tint) 30%, transparent)}}.sky-sweep.is-field:before{animation-duration:3s;animation-delay:.5s}.sky-sweep.is-field:after{animation-duration:3.4s;animation-delay:.4s}@keyframes sky-shock{0%{opacity:1;transform:scale(.12)}to{opacity:0;transform:scale(1.4)}}@keyframes sky-beam{0%{opacity:0;transform:rotate(-150deg)}25%{opacity:1}to{opacity:0;transform:rotate(210deg)}}.sky-meridian{--tint:var(--accent-strong);z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-meridian:before{content:"";background:linear-gradient(90deg, transparent, var(--tint) 42%, var(--tint) 50%, var(--tint) 58%, transparent);width:36vw;position:absolute;top:-20vh;bottom:-20vh;left:0;rotate:12deg}@supports (color:color-mix(in lab, red, red)){.sky-meridian:before{background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--tint) 14%, transparent) 42%, color-mix(in oklab, var(--tint) 30%, transparent) 50%, color-mix(in oklab, var(--tint) 14%, transparent) 58%, transparent)}}.sky-meridian:before{will-change:transform;animation:2.2s cubic-bezier(.65,0,.35,1) both sky-meridian}.sky-meridian[data-scene=mathematics]{--tint:var(--chart-1)}.sky-meridian[data-scene=computer-science]{--tint:var(--chart-2)}.sky-meridian[data-scene=physics]{--tint:var(--chart-3)}.sky-meridian[data-scene=astronomy]{--tint:var(--chart-5)}.sky-meridian[data-scene=quantum-physics]{--tint:var(--chart-8)}@keyframes sky-meridian{0%{opacity:0;transform:translate(-40vw)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(110vw)}}@media (prefers-reduced-motion:reduce){.sky-sweep,.sky-meridian{display:none}}.sky-portal{--tint:var(--accent-strong);z-index:80;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.sky-portal[data-scene=mathematics]{--tint:var(--chart-1)}.sky-portal[data-scene=computer-science]{--tint:var(--chart-2)}.sky-portal[data-scene=physics]{--tint:var(--chart-3)}.sky-portal[data-scene=astronomy]{--tint:var(--chart-5)}.sky-portal[data-scene=quantum-physics]{--tint:var(--chart-8)}.sky-portal-ring{aspect-ratio:1;width:96vmin;animation:portal-pulse 1.3s var(--ease) both}.sky-portal-ring svg{width:100%;height:100%;display:block;overflow:visible}.sky-portal-line{fill:none;stroke:var(--tint)}@supports (color:color-mix(in lab, red, red)){.sky-portal-line{stroke:color-mix(in oklab, var(--tint) 55%, transparent)}}.sky-portal-line{stroke-width:1.2px}.sky-portal-line.is-fine{stroke-width:.8px}.sky-portal .sky-script{fill:var(--tint)}@supports (color:color-mix(in lab, red, red)){.sky-portal .sky-script{fill:color-mix(in oklab, var(--tint) 70%, var(--ink))}}.sky-portal .sky-script{font-size:15px}@keyframes portal-pulse{0%{opacity:0;transform:scale(.3)}30%{opacity:.5}to{opacity:0;transform:scale(1.25)}}.sky-portal.is-grand .sky-portal-ring{animation:portal-grand 2.3s var(--ease) both}@keyframes portal-grand{0%{opacity:0;transform:scale(.18)rotate(-60deg)}22%{opacity:.95}60%{opacity:.55}to{opacity:0;transform:scale(1.9)rotate(24deg)}}.sky-portal.is-grand:before{content:"";background:linear-gradient(90deg, transparent, var(--tint) 40%, var(--tint) 50%, var(--tint) 60%, transparent);width:42vw;position:absolute;top:-30vh;bottom:-30vh;left:0;rotate:14deg}@supports (color:color-mix(in lab, red, red)){.sky-portal.is-grand:before{background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--tint) 10%, transparent) 40%, color-mix(in oklab, var(--tint) 20%, transparent) 50%, color-mix(in oklab, var(--tint) 10%, transparent) 60%, transparent)}}.sky-portal.is-grand:before{will-change:transform;animation:1.9s cubic-bezier(.65,0,.35,1) .15s both sky-meridian}@media (prefers-reduced-motion:reduce){.sky-portal{display:none}}@media (max-width:860px),(pointer:coarse){:root{--sky-mask:none}html{background-image:none}.app-header{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){.app-header{background:color-mix(in oklab, var(--paper) 96%, transparent)}}.app-header,.course-outline-toggle{-webkit-backdrop-filter:none}.sky-instrument{--size:clamp(440px, 118vmin, 760px)}.sky-scene{animation:1.2s both sky-fade}.sky-scene.is-leaving{display:none}.sky *,.sky :before,.sky :after{transition:none!important;animation:none!important}.sky-turn-rim,.sky-turn-rev,.sky-turn-tape,.sky-turn-automaton,.sky-turn-stars{rotate:none}.sky-sweep,.sky-meridian,.sky-portal.is-grand:before{display:none}.topic-layout,.page{box-shadow:none}}@keyframes sky-fade{0%{opacity:0}}@media (max-width:1024px){.app-search-label,.app-search-trigger kbd{display:none}.app-search-trigger{flex:none;justify-content:center;width:40px;padding:0}}@media (max-width:860px){.app-header-inner{gap:10px;padding:0 24px}.app-nav>a:first-child{display:none}.app-search-trigger{flex:none;justify-content:center;width:38px;padding:0}.mode-toggle{width:38px;height:38px;margin-left:0}.user-area{margin-left:2px}}@media (max-width:760px){.player-chip{display:none}}@media (max-width:640px){.app-header-inner{gap:8px;padding:0 16px}.app-nav>.app-nav-practice,.user-area .button-tiny{display:none}.course-menu-panel{left:16px;right:16px}.user-login{padding:7px 2px}}@media (max-width:400px){.app-header-inner,.brand-logo{gap:6px}.brand-logo svg{width:26px;height:26px}.brand-word{font-size:24px}.app-nav>a,.course-menu-trigger{letter-spacing:.14em;padding-inline:4px}.app-search-trigger,.mode-toggle{width:34px;height:34px}}@media (max-width:359px){.app-header .mode-toggle{display:none}}@media (max-width:380px){.path-track{zoom:.84}}@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}@property --tw-ease{syntax:"*";inherits:false}
