@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/montserrat-alternates-latin-900-normal.35c7bc7466.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/montserrat-alternates-cyrillic-900-normal.c4f2406654.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:900;src:url(/fonts/montserrat-alternates-ruble-900-normal.9518dff8a1.woff2) format("woff2");unicode-range:u+20bd}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/montserrat-alternates-latin-800-normal.bdefd5dd7e.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/montserrat-alternates-cyrillic-800-normal.a51f5f969d.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat Alternates;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/montserrat-alternates-ruble-800-normal.8dcf66f5f3.woff2) format("woff2");unicode-range:u+20bd}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-latin-wght-normal.ba344451ea.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-cyrillic-wght-normal.63b14e3ef0.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-ruble-wght-normal.8fad7b61be.woff2) format("woff2-variations");unicode-range:u+20bd}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-latin-wght-italic.6cfcc3786d.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-cyrillic-wght-italic.2c394b5d3b.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Variable;font-style:italic;font-display:swap;font-weight:200 1000;src:url(/fonts/nunito-ruble-wght-italic.131c3d180b.woff2) format("woff2-variations");unicode-range:u+20bd}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/fonts/fira-code-latin-wght-normal.771bf4b79a.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/fonts/fira-code-cyrillic-wght-normal.b0ea81e782.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/fonts/fira-code-ruble-wght-normal.5b27c89f2f.woff2) format("woff2-variations");unicode-range:u+20bd}@font-face{font-family:Montserrat Alternates Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Roboto Bold"),local("Roboto-Bold"),local("Nimbus Sans Bold"),local("NimbusSans-Bold"),local("Liberation Sans Bold"),local("Arial");font-weight:650 1000;size-adjust:119.30%;ascent-override:81.14%;descent-override:21.04%;line-gap-override:0.00%}@font-face{font-family:Nunito Variable Fallback;src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto"),local("Roboto-Regular"),local("Nimbus Sans"),local("NimbusSans-Regular"),local("Liberation Sans");font-weight:100 549;size-adjust:102.20%;ascent-override:98.92%;descent-override:34.54%;line-gap-override:0.00%}@font-face{font-family:Nunito Variable Fallback;src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Roboto"),local("Roboto-Regular"),local("Nimbus Sans"),local("NimbusSans-Regular"),local("Liberation Sans");font-weight:550 649;size-adjust:102.80%;ascent-override:98.35%;descent-override:34.34%;line-gap-override:0.00%}@font-face{font-family:Nunito Variable Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Roboto Bold"),local("Roboto-Bold"),local("Nimbus Sans Bold"),local("NimbusSans-Bold"),local("Liberation Sans Bold"),local("Arial");font-weight:650 749;size-adjust:97.50%;ascent-override:103.69%;descent-override:36.21%;line-gap-override:0.00%}@font-face{font-family:Nunito Variable Fallback;src:local("Arial Bold"),local("Arial-BoldMT"),local("Helvetica Bold"),local("Roboto Bold"),local("Roboto-Bold"),local("Nimbus Sans Bold"),local("NimbusSans-Bold"),local("Liberation Sans Bold"),local("Arial");font-weight:750 1000;size-adjust:104.10%;ascent-override:97.12%;descent-override:33.91%;line-gap-override:0.00%}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--animate-spin:spin 1s linear infinite;--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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-50{top:calc(var(--spacing) * 50)}.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}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.py-1{padding-block:var(--spacing)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.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))}.\[email\:console\]{email:console}}:root{--font-display:"Montserrat Alternates","Montserrat Alternates Fallback","Arial Black",system-ui,sans-serif;--font-body:"Nunito Variable","Nunito Variable Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"Fira Code Variable","Fira Code",ui-monospace,"SFMono-Regular",Menlo,monospace;--fs-hero:clamp(40px,1.2rem + 5vw,86px);--fs-display:clamp(36px,1.2rem + 3.4vw,64px);--fs-display-m:40px;--fs-h1:44px;--fs-h2:28px;--fs-h3:20px;--fs-body:17px;--fs-lesson:18px;--fs-ui:15px;--fs-small:14px;--fs-caption:13px;--fs-key:12px;--lh-body:1.6;--lh-ui:1.45;--tr-display:-.04em;--tr-h:-.025em;--tr-caption:.12em;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;--s20:80px;--s24:96px;--s32:128px;--row:44px;--row-dense:36px;--page-max:1240px;--measure:700px;--gutter:32px;--section-gap:64px;--r-1:8px;--r-2:12px;--r-3:18px;--r-4:26px;--r-5:36px;--r-pill:999px;--bw:2px;--bw-strong:3px;--hair:1px;--lift:6px;--lift-btn:5px;--dur:.12s;--dur-press:80ms;--dur-slow:.2s;--dur-event:.48s;--dur-float:4s;--dur-wobble:5.6s;--ease:cubic-bezier(.2,0,0,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--topbar-h:72px;--bottom-nav-h:64px;--lesson-bar-h:64px;--z-topbar:30;--z-float:40;--z-overlay:70;--z-toast:90}@media (max-width:767px){:root{--gutter:16px;--section-gap:48px;--fs-h1:32px;--fs-h2:24px;--fs-h3:18px;--fs-lesson:17px;--fs-body:16px;--topbar-h:60px}}:root{color-scheme:dark;--bg:oklch(20% .085 286);--surface:oklch(24% .1 287);--card:oklch(27.5% .11 288);--raised:oklch(32% .12 289);--text:oklch(98.5% .008 290);--text-2:oklch(90% .03 290);--text-3:oklch(83% .045 290);--text-4:oklch(78% .05 290);--border:oklch(40% .11 289);--border-strong:oklch(62% .1 290);--edge:oklch(13% .06 285);--accent:oklch(89% .16 96);--accent-hover:oklch(93% .14 98);--accent-edge:oklch(68% .14 75);--on-accent:oklch(22% .07 285);--accent-text:oklch(90% .15 96);--accent-tint:oklch(36% .065 95);--warm:oklch(76% .16 38);--warm-hover:oklch(80% .15 40);--warm-edge:oklch(55% .15 35);--on-warm:oklch(20% .06 30);--warm-text:oklch(82% .13 42);--warm-tint:oklch(35% .085 35);--success:oklch(86% .15 148);--success-tint:oklch(35% .075 150);--danger:oklch(82% .12 18);--danger-tint:oklch(34% .09 15);--warning:oklch(90% .13 85);--warning-tint:oklch(36% .07 80);--info:oklch(85% .1 220);--info-tint:oklch(35% .065 225);--focus:oklch(90% .15 96);--code-bg:oklch(16% .07 285);--window:oklch(16% .07 285);--window-bar:oklch(30% .12 289);--iris-ink-1:oklch(90% .15 96);--iris-ink-2:oklch(82% .13 42);--iris-fill-1:oklch(89% .16 96);--iris-fill-2:oklch(84% .16 80);--iris-1:oklch(62% .22 300);--iris-2:oklch(76% .16 38);--shadow-glow:oklch(8% .06 285/.9);--backdrop:oklch(10% .06 285/.7);--dots-ink:oklch(100% 0 0/.07);--rays-ink:oklch(100% 0 0/.09);--sun-ray:oklch(89% .16 96/.16);--cover-dim:oklch(15% .07 285/.4);--grad-hero:radial-gradient(60% 70% at 50% 0%,oklch(48% .22 292/.9),transparent 70%),radial-gradient(40% 50% at 90% 70%,oklch(62% .2 340/.35),transparent 70%),radial-gradient(40% 50% at 5% 80%,oklch(60% .16 250/.4),transparent 70%);--grad-mark:linear-gradient(transparent 58%,oklch(76% .16 38/.85) 58% 92%,transparent 92%);--glow-yellow:radial-gradient(50% 50% at 50% 50%,oklch(89% .16 96/.35),transparent 70%)}:root.light{color-scheme:light;--bg:oklch(97.5% .015 295);--surface:oklch(95.5% .025 295);--card:oklch(99.5% .004 295);--raised:oklch(93.5% .032 295);--text:oklch(22% .07 285);--text-2:oklch(33% .07 286);--text-3:oklch(42% .07 287);--text-4:oklch(48% .07 288);--border:oklch(85% .05 293);--border-strong:oklch(55% .1 290);--edge:oklch(80% .07 292);--accent:oklch(88% .16 95);--accent-hover:oklch(84% .16 92);--accent-edge:oklch(66% .14 75);--on-accent:oklch(22% .07 285);--accent-text:oklch(45% .21 290);--accent-tint:oklch(95% .065 95);--warm:oklch(72% .17 38);--warm-hover:oklch(68% .17 38);--warm-edge:oklch(52% .15 35);--on-warm:oklch(20% .06 30);--warm-text:oklch(52% .17 35);--warm-tint:oklch(95.3% .021 34);--success:oklch(47% .13 150);--success-tint:oklch(95.4% .024 156);--danger:oklch(50% .19 22);--danger-tint:oklch(94.7% .023 13);--warning:oklch(50% .12 70);--warning-tint:oklch(95.7% .045 88);--info:oklch(47% .13 240);--info-tint:oklch(95.5% .019 239);--focus:oklch(45% .21 290);--code-bg:oklch(96.5% .02 295);--window:oklch(99.5% .004 295);--window-bar:oklch(93% .035 295);--iris-ink-1:oklch(45% .21 290);--iris-ink-2:oklch(52% .17 35);--iris-fill-1:oklch(88% .16 95);--iris-fill-2:oklch(84% .16 82);--iris-1:oklch(55% .22 295);--iris-2:oklch(72% .17 38);--shadow-glow:oklch(40% .15 290/.45);--backdrop:oklch(22% .07 285/.45);--dots-ink:oklch(40% .15 290/.08);--rays-ink:oklch(100% 0 0/.35);--sun-ray:oklch(88% .16 95/.45);--cover-dim:oklch(97% .015 295/.45);--grad-hero:radial-gradient(60% 70% at 50% 0%,oklch(84% .1 292/.9),transparent 70%),radial-gradient(40% 50% at 90% 70%,oklch(88% .08 340/.6),transparent 70%),radial-gradient(40% 50% at 5% 80%,oklch(88% .07 230/.6),transparent 70%);--grad-mark:linear-gradient(transparent 58%,oklch(88% .16 95) 58% 92%,transparent 92%);--glow-yellow:radial-gradient(50% 50% at 50% 50%,oklch(90% .15 96/.5),transparent 70%)}:root{--paper-yellow:oklch(89% .16 96);--paper-coral:oklch(76% .16 38);--paper-green:oklch(79% .17 143);--paper-white:oklch(99% .01 95);--paper-ink:oklch(22% .07 285);--paper-ink-green:oklch(20% .05 150);--paper-edge:oklch(70% .14 80);--brand-1:oklch(50% .24 293);--brand-2:oklch(42% .22 270);--brand-edge:oklch(30% .16 285);--on-brand:oklch(99% 0 0);--on-brand-2:oklch(94% .03 290);--on-brand-veil:oklch(100% 0 0/.16);--brand-well:oklch(15% .08 285/.5);--tostych:oklch(79% .17 143);--tostych-lever:oklch(88% .11 143);--toast-golden:oklch(74% .12 70);--toast-crust:oklch(60% .1 60);--toast-pale:oklch(93% .035 85);--toast-pale-crust:oklch(84% .05 80);--toast-burnt:oklch(36% .05 45);--toast-burnt-crust:oklch(50% .07 50);--toast-ink:oklch(30% .07 60);--scene-shade:oklch(0% 0 0/.18);--scene-pill:oklch(15% .07 285/.78);--on-scene-pill:oklch(97% .01 290);--confetti-1:var(--paper-yellow);--confetti-2:var(--paper-coral);--confetti-3:var(--paper-green);--confetti-4:oklch(75% .15 220);--confetti-5:oklch(98% 0 0);--confetti-6:oklch(70% .2 330);--shadow-hard:0 var(--lift) 0 var(--edge);--shadow-hard-sm:0 4px 0 var(--edge);--shadow-press:0 1px 0 var(--edge);--shadow-float:0 24px 60px -20px var(--shadow-glow);--shadow-pop:0 var(--lift) 0 var(--edge),0 24px 60px -20px var(--shadow-glow);--ring:inset 0 0 0 var(--bw) var(--border);--ring-strong:inset 0 0 0 var(--bw-strong) var(--accent);--grad-brand:linear-gradient(135deg,var(--brand-1),var(--brand-2));--grad-sun:linear-gradient(100deg,var(--paper-yellow),var(--paper-coral));--dots:radial-gradient(var(--dots-ink) 1.5px,transparent 1.5px);--pedestal:repeating-conic-gradient(var(--sun-ray) 0 10deg,transparent 10deg 20deg),var(--glow-yellow);--rays:repeating-conic-gradient(from -8deg at 68% 115%,var(--rays-ink) 0 7deg,transparent 7deg 15deg);--iris:linear-gradient(100deg,var(--iris-fill-1) 0%,var(--iris-fill-2) 55%,var(--iris-2) 100%);--iris-fill:linear-gradient(100deg,var(--iris-fill-1) 0%,var(--iris-fill-2) 100%);--iris-ink:linear-gradient(100deg,var(--iris-ink-1) 0%,var(--iris-ink-2) 100%)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + var(--s6))}body,html{background:var(--bg)}body{min-width:320px;color:var(--text);font:400 var(--fs-body)/1.55 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tr-h);text-wrap:balance;font-weight:900;line-height:1.08}code,kbd,pre,samp{font-family:var(--font-mono)}.cm-editor,.t-mono,.ui-input--mono,.ui-ticket,code,kbd,pre,samp{font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--r-1)}[role=button],[role=tab],a[href],button:not(:disabled),label[for],select,summary{cursor:pointer}:disabled,[aria-disabled=true]{cursor:not-allowed}li>a:not([class]),p>a:not([class]){color:var(--accent-text);text-underline-offset:3px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}li>a:not([class]):hover,p>a:not([class]):hover{color:var(--text)}.skip-link{left:var(--s2);top:var(--s2);z-index:1000;padding:var(--s2) var(--s4);border-radius:var(--r-2);background:var(--accent);color:var(--on-accent);font-weight:800;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.t-hero{font:900 var(--fs-hero)/.98 var(--font-display);margin:0}.t-display,.t-hero{letter-spacing:var(--tr-display);text-wrap:balance}.t-display{font:900 var(--fs-display)/1 var(--font-display)}.t-h1{font:900 var(--fs-h1)/1.04 var(--font-display);letter-spacing:-.03em;margin:0}.t-h2{font:900 var(--fs-h2)/1.12 var(--font-display);letter-spacing:var(--tr-h);margin:0}.t-h3{font:800 var(--fs-h3)/1.25 var(--font-display);letter-spacing:-.015em;margin:0}.t-lead{color:var(--text-2);font-size:19px;line-height:1.55}.t-body{font-size:var(--fs-body);line-height:var(--lh-body)}.t-ui{font-size:var(--fs-ui);line-height:var(--lh-ui)}.t-small{font-size:var(--fs-small);color:var(--text-3);line-height:1.5}.t-kicker{font:800 var(--fs-caption)/1.2 var(--font-body);letter-spacing:var(--tr-caption);color:var(--warm-text);display:inline-block}.t-cap,.t-kicker{text-transform:uppercase}.t-cap{font:800 var(--fs-key)/1.4 var(--font-body);letter-spacing:.1em;color:var(--text-3)}.t-mono{font-family:var(--font-mono)}.t-muted{color:var(--text-3)}.t-num{font-variant-numeric:tabular-nums}.t-accent{color:var(--accent-text)}.t-mark{background:var(--grad-mark);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em}.t-wavy{-webkit-text-decoration:underline wavy var(--paper-coral);text-decoration:underline wavy var(--paper-coral);text-underline-offset:.16em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:.07em}@media (max-width:767px){.t-display{font-size:var(--fs-display-m);line-height:1.04}.t-lead{font-size:17px}}.page{width:100%;max-width:var(--page-max);padding-block:var(--s10) var(--s24);margin-inline:auto}.page--narrow{max-width:800px}.page--prose{max-width:calc(var(--measure) + 2 * var(--s6))}.page--wide{max-width:1440px}.app-shell:has(.shell-main>.page--wide){--page-max:1440px}@media (min-width:1680px){.app-shell:not(.app-shell--guest){--page-max:min(1600px,76vw)}.app-shell:not(.app-shell--guest):has(.shell-main>.page--wide){--page-max:min(1760px,86vw)}.app-shell:not(.app-shell--guest) .page--wide{max-width:var(--page-max)}.app-shell--guest{--page-max:min(1560px,78vw)}}@media (min-width:1920px){.app-shell--guest{--fs-body:18px;--fs-small:15px;--fs-ui:16px;--fs-h2:32px;--fs-h3:22px;--fs-caption:14px}}.ui-strip:has(+.page--narrow){max-width:800px}.ui-strip:has(+.page--prose){max-width:calc(var(--measure) + 2 * var(--s6))}@media (max-width:767px){.page{padding-block:var(--s6) var(--s16)}}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s4) var(--s6);margin-bottom:var(--s8);flex-wrap:wrap;display:flex}.page-head__main{gap:var(--s2);min-width:0;display:grid}.page-head__lead{max-width:640px;color:var(--text-2);margin:0;line-height:1.6}.page-head__aside{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.section{margin-top:var(--section-gap)}.section:first-child{margin-top:0}.stack{gap:var(--s4);min-width:0;display:grid}.stack--sm{gap:var(--s2)}.stack--lg{gap:var(--s6)}.row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.split{gap:var(--s6);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (min-width:1024px){.split{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.grid-auto{gap:var(--s6);grid-template-columns:repeat(auto-fill,minmax(min(100%,264px),1fr));display:grid}@media (max-width:767px){.rail-m{scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gutter));padding:var(--s1) var(--gutter) var(--s5);gap:var(--s4);scrollbar-width:none;overflow-x:auto;display:flex!important}.rail-m>*{scroll-snap-align:start;flex:0 0 84%}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.only-mobile{display:none!important}@media (max-width:767px){.only-mobile{display:revert!important}.only-desktop{display:none!important}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.bg-hero{isolation:isolate;background:var(--grad-hero),var(--bg);position:relative}.bg-hero:before{content:"";z-index:-1;background-image:var(--dots);pointer-events:none;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 85%);mask-image:linear-gradient(#000,#0000 85%)}.bg-brand{isolation:isolate;background:var(--grad-brand);color:var(--on-brand);border-radius:var(--r-5);box-shadow:0 8px 0 var(--brand-edge);position:relative}.bg-brand:before{content:"";z-index:-1;border-radius:inherit;background-image:radial-gradient(var(--on-brand-veil) 1.5px,transparent 1.5px);opacity:.6;pointer-events:none;background-size:22px 22px;position:absolute;inset:0}.bg-paper{isolation:isolate;background:var(--paper-yellow);color:var(--paper-ink);border-radius:var(--r-5);box-shadow:0 var(--lift) 0 var(--accent-edge);position:relative}.bg-paper:before{content:"";z-index:-1;border-radius:inherit;background:repeating-conic-gradient(from 0deg at 85% 120%,var(--rays-ink) 0 6deg,transparent 6deg 14deg);pointer-events:none;position:absolute;inset:0}.rays{background-image:var(--rays)}.dots{background-image:var(--dots);background-size:22px 22px}.scene{--h1:288;--h2:80;aspect-ratio:16/9;isolation:isolate;background:var(--rays),radial-gradient(60% 60% at 68% 100%,oklch(80% .16 var(--h2)/.7),transparent 70%),linear-gradient(160deg,oklch(56% .2 var(--h1)),oklch(40% .2 calc(var(--h1) + 20)));position:relative;overflow:hidden}:root.light .scene{background:var(--rays),radial-gradient(60% 60% at 68% 100%,oklch(92% .12 var(--h2)/.9),transparent 70%),linear-gradient(160deg,oklch(82% .11 var(--h1)),oklch(72% .14 calc(var(--h1) + 20)))}.scene__prop{z-index:1;aspect-ratio:1;background:var(--paper-white);width:30%;color:oklch(40% .2 var(--h1));box-shadow:0 6px 0 var(--scene-shade);border-radius:22%;place-items:center;display:grid;position:absolute;top:14%;left:8%;transform:rotate(-9deg)}.scene__prop svg{width:66%;height:66%}.scene__disc{z-index:0;background:oklch(25% .12 var(--h1)/.45);border-radius:50%;width:44%;height:16%;position:absolute;bottom:4%;right:8%}:root.light .scene__disc{background:oklch(50% .15 var(--h1)/.25)}.scene--dim:after{content:"";z-index:3;background:var(--cover-dim);position:absolute;inset:0}.iris-text{background:var(--iris-ink);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@media (forced-colors:active){.iris-text{color:canvastext;-webkit-text-fill-color:CanvasText;background:0 0}}.iris-border{border:var(--bw-strong) solid transparent;background:linear-gradient(var(--iris-bg,var(--card)),var(--iris-bg,var(--card))) padding-box,var(--iris) border-box}.iris-fill{isolation:isolate;background:var(--iris-fill);color:var(--on-accent);position:relative;overflow:hidden}.iris-fill:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(100deg,#0000 30%,oklch(100% 0 0/.35) 50%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}.iris-fill:focus-visible:after,.iris-fill:hover:after{transition:transform .7s var(--ease);transform:translate(100%)}.iris-edge{position:relative}.iris-edge:before{content:"";border-radius:var(--r-4) var(--r-4) 0 0;background:var(--iris);pointer-events:none;height:6px;position:absolute;inset:0 0 auto}.iris-glow{isolation:isolate;position:relative}.iris-glow:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:var(--glow-yellow);opacity:0;transition:opacity var(--dur-slow) var(--ease);position:absolute;inset:0}.iris-glow:focus-within:after,.iris-glow:hover:after{opacity:1}.skeleton{background:var(--raised);border-radius:var(--r-2);color:#0000;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(100deg,transparent 20%,var(--text) 50%,transparent 80%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.skeleton:after{background:linear-gradient(100deg,transparent 20%,color-mix(in oklch,var(--text) 8%,transparent) 50%,transparent 80%)}}.skeleton:after{animation:m-shimmer 1.4s var(--ease) infinite;transform:translate(-100%)}@keyframes m-shimmer{to{transform:translate(100%)}}@keyframes m-fade{0%{opacity:0}}@keyframes m-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes m-drop{0%{opacity:0;transform:translateY(-8px)}}@keyframes m-pop{0%{opacity:0;transform:scale(.9)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes m-check{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}@keyframes m-pulse{50%{opacity:.35}}@keyframes m-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes m-jump{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-18px)scale(.98,1.03)}55%{transform:translateY(0)scale(1.04,.96)}75%{transform:translateY(-6px)}}@keyframes m-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes m-wobble{0%,to{transform:rotate(var(--tilt,-6deg))}50%{transform:rotate(calc(var(--tilt,-6deg) + 3deg))}}@keyframes m-confetti{0%{opacity:0;transform:translateY(-40px)rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--cf-x,0),var(--cf-y,220px),0) rotate(var(--cf-r,540deg))}}.m-fade{animation:m-fade var(--dur-slow) var(--ease) both}.m-rise{animation:m-rise .28s var(--ease) both;animation-delay:calc(var(--i,0) * 50ms)}.m-drop{animation:m-drop var(--dur-slow) var(--ease) both}.m-pop{animation:m-pop var(--dur-event) var(--ease-spring) both}.m-check{animation:m-check var(--dur-event) var(--ease-spring) both}.m-pulse{animation:m-pulse 2s var(--ease) infinite}.m-shake{animation:m-shake .36s var(--ease)}.m-jump{animation:m-jump .9s var(--ease) both}.m-float{animation:m-float var(--dur-float) ease-in-out infinite}.m-wobble{animation:m-wobble var(--dur-wobble) ease-in-out infinite}.m-lift{transition:transform var(--dur) var(--ease)}.m-lift:hover{transform:translateY(-3px)}.m-lift:active{transform:translateY(2px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.iris-fill:after,.skeleton:after{display:none}.m-float,.m-jump,.m-lift:active,.m-lift:hover,.m-wobble{transform:none;animation:none!important}}.social-link{align-items:center;gap:var(--s2);min-height:var(--row-dense);color:var(--text-2);font-weight:700;text-decoration:none;display:inline-flex}.social-link:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}@keyframes bf-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--bf-burst-dx,0),var(--bf-burst-dy,0)) scale(.4);opacity:0}}.bf-burst-dot{background:var(--accent);pointer-events:none;width:8px;height:8px;animation:bf-burst .7s var(--ease) var(--bf-burst-delay,0s) both;border-radius:2px;position:absolute}@media (prefers-reduced-motion:reduce){.bf-burst-dot{display:none}}@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}@keyframes spin{to{transform:rotate(1turn)}}.app-shell{display:flex;flex-direction:column;min-height:100dvh;overflow-x:clip}.shell-top{position:sticky;top:0;z-index:var(--z-topbar);background:var(--bg);border-bottom:var(--bw) solid var(--border)}.shell-top--guest{background:color-mix(in oklch,var(--bg) 92%,transparent);backdrop-filter:blur(10px)}.shell-top__in{display:flex;align-items:center;gap:var(--s6);height:var(--topbar-h);max-width:calc(var(--page-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.shell-top--guest .shell-top__in{height:80px;gap:var(--s8)}.shell-top__right{margin-left:auto;gap:var(--s2)}.shell-nav,.shell-top__right{display:flex;align-items:center}.shell-nav{position:relative;flex:1 1 0;gap:var(--s1);height:100%;min-width:0}.shell-nav__measure{position:absolute;top:0;left:0;display:flex;gap:var(--s1);visibility:hidden;pointer-events:none;white-space:nowrap}.shell-nav:not([data-fit]){overflow-x:clip}.shell-nav>.shell-nav__more{display:none;flex:none}.shell-nav[data-fit]:not([data-fit=all])>.shell-nav__more{display:inline-flex}.shell-nav[data-fit="0"]>.shell-nav__item:nth-child(n+1),.shell-nav[data-fit="1"] .shell-menu__item:nth-child(-n+1),.shell-nav[data-fit="1"]>.shell-nav__item:nth-child(n+2),.shell-nav[data-fit="2"] .shell-menu__item:nth-child(-n+2),.shell-nav[data-fit="2"]>.shell-nav__item:nth-child(n+3),.shell-nav[data-fit="3"] .shell-menu__item:nth-child(-n+3),.shell-nav[data-fit="3"]>.shell-nav__item:nth-child(n+4),.shell-nav[data-fit="4"] .shell-menu__item:nth-child(-n+4),.shell-nav[data-fit="4"]>.shell-nav__item:nth-child(n+5),.shell-nav[data-fit="5"] .shell-menu__item:nth-child(-n+5),.shell-nav[data-fit="5"]>.shell-nav__item:nth-child(n+6),.shell-nav[data-fit="6"] .shell-menu__item:nth-child(-n+6),.shell-nav[data-fit="6"]>.shell-nav__item:nth-child(n+7),.shell-nav[data-fit="7"] .shell-menu__item:nth-child(-n+7),.shell-nav[data-fit="7"]>.shell-nav__item:nth-child(n+8){display:none}.shell-nav__more>.shell-nav__item{border:0;background:transparent;cursor:pointer}.shell-nav[data-fit="0"]:has(>.shell-nav__item:nth-child(n+1)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="1"]:has(>.shell-nav__item:nth-child(n+2)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="2"]:has(>.shell-nav__item:nth-child(n+3)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="3"]:has(>.shell-nav__item:nth-child(n+4)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="4"]:has(>.shell-nav__item:nth-child(n+5)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="5"]:has(>.shell-nav__item:nth-child(n+6)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="6"]:has(>.shell-nav__item:nth-child(n+7)[aria-current=page])>.shell-nav__more>.shell-nav__item,.shell-nav[data-fit="7"]:has(>.shell-nav__item:nth-child(n+8)[aria-current=page])>.shell-nav__more>.shell-nav__item{color:var(--text);background:var(--raised);box-shadow:inset 0 -3px 0 var(--accent-text)}.shell-nav__more>.shell-nav__item[aria-expanded=true]{color:var(--text);background:var(--surface)}.shell-menu--start{right:auto;left:0}.shell-menu__item[aria-current=page]{background:var(--accent-tint);box-shadow:inset 0 0 0 var(--bw) var(--accent)}.shell-menu__text{display:grid;gap:2px;min-width:0;padding-block:var(--s2);line-height:1.2}.shell-menu__text small{display:flex;align-items:center;gap:var(--s1);max-width:30ch;font-size:var(--fs-key);font-weight:600;line-height:1.35;color:var(--text-3);white-space:normal}.shell-nav__item{position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:var(--r-2);color:var(--text-2);font:800 var(--fs-ui)/1 var(--font-body);text-decoration:none;white-space:nowrap;transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease)}.shell-nav__item:hover{color:var(--text);background:var(--surface)}.shell-nav__item[aria-current=page]{color:var(--text);background:var(--raised);box-shadow:inset 0 -3px 0 var(--accent-text)}.shell-nav__item svg{color:var(--text-3)}.shell-mode{display:inline-flex;flex:none;padding:3px;border-radius:var(--r-2);background:var(--surface);box-shadow:var(--ring)}.shell-mode__item{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-1);color:var(--text-2);font:800 13px/1 var(--font-body);text-decoration:none;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.shell-mode__item:hover{color:var(--text)}.shell-mode__item[aria-current=true]{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 0 var(--accent-edge)}.shell-search{display:flex;align-items:center;gap:var(--s2);height:42px;width:240px;padding:0 var(--s2) 0 var(--s3);border:0;border-radius:var(--r-2);background:var(--surface);box-shadow:var(--ring);color:var(--text-3);font:700 var(--fs-small)/1 var(--font-body);text-align:left;cursor:pointer;transition:box-shadow var(--dur) var(--ease),color var(--dur) var(--ease)}.shell-search span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-search:hover{color:var(--text-2);box-shadow:inset 0 0 0 var(--bw) var(--border-strong)}.shell-search-icon{display:none}.shell-top__in:has(.shell-mode) .shell-search{width:168px}.shell-top__in:has(.shell-mode){gap:var(--s4)}@media (max-width:1180px){.shell-search{width:168px}.shell-top__in{gap:var(--s4)}}@media (max-width:1023px){.shell-search{display:none}.shell-search-icon{display:inline-grid}}.shell-top__right{flex:none}.shell-top__right .shell-bug{display:none}@media (min-width:768px) and (max-width:1599px){.shell-top__right .shell-bug{display:inline-grid}}@media (min-width:768px) and (max-width:1100px){.app-shell:not(.app-shell--guest) .shell-search{display:none}.app-shell:not(.app-shell--guest) .shell-search-icon{display:inline-grid}.app-shell:not(.app-shell--guest) .shell-top__in{gap:var(--s3)}.app-shell:not(.app-shell--guest) .shell-nav__item{padding:0 var(--s3)}.shell-top__in:has(.shell-mode) .brand-logo__word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media (min-width:1101px) and (max-width:1280px){.shell-top__in:has(.shell-mode) .shell-search{display:none}.shell-top__in:has(.shell-mode) .shell-search-icon{display:inline-grid}}@media (min-width:768px) and (max-width:900px){.app-shell:not(.app-shell--guest) .brand-logo__word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.shell-pop{position:relative;display:inline-flex}.shell-avatar{display:inline-grid;place-items:center;padding:0;border:0;border-radius:var(--r-2);background:transparent;cursor:pointer}.shell-avatar,.shell-avatar .ui-avatar{width:42px;height:42px}.shell-avatar:hover .ui-avatar,.shell-avatar[aria-expanded=true] .ui-avatar{box-shadow:0 0 0 3px var(--accent)}.shell-menu{position:absolute;top:calc(100% + var(--s3));right:0;z-index:var(--z-float);min-width:240px;padding:var(--s2);background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-pop)}.shell-menu__label{padding:var(--s2) var(--s3);font:500 12px/1.4 var(--font-mono);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:var(--bw) dashed var(--border);margin-bottom:var(--s2)}.shell-menu__item{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:40px;padding:0 var(--s3);border:0;border-radius:var(--r-2);background:transparent;color:var(--text);font:700 var(--fs-ui)/1 var(--font-body);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--dur) var(--ease)}.shell-menu__item:hover{background:var(--raised)}.shell-menu__item svg{color:var(--text-3)}.shell-menu__sep{height:var(--bw);margin:var(--s2) 0;background:var(--border)}@media (max-width:767px){.shell-menu__item{min-height:var(--row)}.shell-avatar,.shell-avatar .ui-avatar{width:var(--row);height:var(--row)}.shell-top .brand-logo{min-height:var(--row)}.shell-mode__item{position:relative}.shell-mode__item:after{content:"";position:absolute;inset:-6px 0}}.shell-notif{position:absolute;top:calc(100% + var(--s3));right:0;z-index:var(--z-float);width:400px;max-height:70vh;display:flex;flex-direction:column;background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-pop);overflow:hidden}.shell-notif__count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--paper-coral);color:var(--on-warm);font:900 11px/1 var(--font-body);box-shadow:0 0 0 3px var(--bg)}.shell-notif__foot{padding:var(--s3) var(--s4);border-top:var(--bw) dashed var(--border);font-size:var(--fs-small);font-weight:700}@media (max-width:767px){.shell-notif{position:fixed;top:calc(var(--topbar-h) + var(--s2));right:var(--s2);left:var(--s2);width:auto}}.shell-main{--main-pt:0px;flex:1;width:100%;min-width:0;padding:0 var(--gutter)}.shell-main>div[style*=max-width]{padding-left:0!important;padding-right:0!important}.app-shell--guest .shell-main>:where(:not(.page):not(.ui-strip):not([style*=max-width])){max-width:var(--page-max);margin-inline:auto}.shell-main>:where(:not(.page):not(.ui-strip):not(.lesson-page):not([style*=max-width]):first-child){margin-top:var(--s8)}.shell-bottom{display:none}@media (max-width:767px){.shell-top--guest .shell-top__in,.shell-top__in{gap:var(--s3);height:var(--topbar-h)}.app-shell:not(.app-shell--guest) .shell-nav{display:none}.app-shell{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom))}.app-shell--guest,.app-shell:has(.lesson-bar){padding-bottom:0}.shell-bottom{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-float);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);min-height:var(--bottom-nav-h);padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:var(--bw) solid var(--border)}.shell-bottom__tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--bottom-nav-h);padding:6px 2px;border:0;background:none;color:var(--text-3);font:800 11px/1.2 var(--font-body);text-decoration:none;cursor:pointer}.shell-bottom__tab svg{box-sizing:content-box;padding:3px 14px;border-radius:var(--r-pill);transition:background-color var(--dur) var(--ease)}.shell-bottom__tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-bottom__tab[aria-current=page],.shell-bottom__tab[data-active]{color:var(--text)}.shell-bottom__tab[aria-current=page] svg,.shell-bottom__tab[data-active] svg{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 0 var(--accent-edge)}.shell-bottom__tab:focus-visible{outline-offset:-2px}.shell-mode__item{padding:0 var(--s2);font-size:12px}.shell-top__in:has(.shell-mode){gap:var(--s2)}.shell-top__in:has(.shell-mode) .brand-logo__word{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell-top__in:has(.shell-mode) .shell-top__right{gap:0}.shell-top__in:has(.shell-mode) [data-testid=theme-toggle]{display:none}}.shell-more{margin:0;padding:0;list-style:none;display:grid;gap:2px}.shell-more__item{display:flex;align-items:center;gap:var(--s3);min-height:52px;padding:var(--s2) var(--s3);border-radius:var(--r-3);color:var(--text);font-size:16px;font-weight:800;text-decoration:none;transition:background-color var(--dur) var(--ease)}.shell-more__item:hover{background:var(--raised)}.shell-more__item svg{color:var(--text-3);flex:none}.shell-more__item[aria-current=page]{background:var(--accent-tint);box-shadow:inset 0 0 0 var(--bw) var(--accent)}.shell-more__text{display:grid;gap:2px;min-width:0}.shell-more__text small{display:flex;align-items:center;gap:var(--s1);font-size:var(--fs-small);font-weight:600;color:var(--text-3)}.shell-top__right .shell-burger{display:none}.shell-guest-actions{display:grid;gap:var(--s4);margin-top:var(--s5);padding-top:var(--s5);border-top:var(--bw) dashed var(--border)}@media (max-width:1023px){.app-shell--guest .shell-nav,.shell-top__right .shell-guest-login{display:none}.shell-top__right .shell-burger{display:inline-grid}}@media (max-width:420px){.shell-top__right .shell-guest-cta{display:none}}.cmdk-overlay{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--s4) var(--s4);background:var(--backdrop)}.cmdk{width:min(640px,100%);max-height:76vh;display:flex;flex-direction:column;background:var(--card);border:var(--bw) solid var(--border);border-radius:var(--r-4);box-shadow:var(--shadow-pop);overflow:hidden}.cmdk__head{display:flex;align-items:center;gap:var(--s3);min-height:64px;padding:0 var(--s2) 0 var(--s5);border-bottom:var(--bw) solid var(--border);color:var(--text-3)}.cmdk__input{flex:1;min-width:0;height:44px;border:0;background:transparent;color:var(--text);font:700 17px/1.4 var(--font-body);outline:none}.cmdk__input::placeholder{color:var(--text-4)}.cmdk__list{overflow-y:auto;padding:var(--s2)}.cmdk__note{margin:0;padding:var(--s4);font-size:14px;color:var(--text-3)}.cmdk__group{padding:var(--s3) var(--s3) var(--s1);font:800 var(--fs-key)/1.4 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--warm-text)}.cmdk__row{display:flex;align-items:flex-start;gap:var(--s3);width:100%;min-height:var(--row);padding:10px var(--s3);border:0;border-radius:var(--r-3);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.cmdk__row:hover,.cmdk__row[data-active]{background:var(--raised)}.cmdk__row[data-active]{box-shadow:inset 0 0 0 var(--bw) var(--accent)}.cmdk__row-icon{display:inline-flex;margin-top:3px;color:var(--text-3)}.cmdk__row-text{display:grid;gap:2px;min-width:0}.cmdk__row-title{font-size:var(--fs-ui);font-weight:800;line-height:1.4}.cmdk__row-sub{font-size:var(--fs-small);font-weight:600;line-height:1.45;color:var(--text-3);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cmdk__row-chips{display:inline-flex;flex-wrap:wrap;gap:var(--s1);margin-left:auto;flex:none}.cmdk__row .ui-avatar{margin-top:-3px}.cmdk__foot{display:flex;gap:var(--s4);padding:var(--s2) var(--s5);border-top:var(--bw) solid var(--border);background:var(--surface);font:700 12px/24px var(--font-body);color:var(--text-3)}.cmdk__foot span{display:inline-flex;align-items:center;gap:var(--s1)}@media (max-width:767px){.cmdk-overlay{padding-top:var(--s4)}.cmdk__foot{display:none}}.shell-foot{margin-top:var(--s24);border-top:var(--bw) solid var(--border);background:var(--surface);color:var(--text-3);font-size:var(--fs-small);font-weight:700}.shell-foot__in{max-width:calc(var(--page-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.shell-foot__grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(4,minmax(0,2fr));gap:var(--s8);padding-block:var(--s12) var(--s10)}.shell-foot__brand{display:grid;gap:var(--s3);align-content:start}.shell-foot__brand p{margin:0;max-width:28ch;line-height:1.5}.shell-foot__col h2{margin:0 0 var(--s3)}.shell-foot__col ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--s2)}.shell-foot a,.shell-foot li>a:not([class]){color:var(--text-2);text-decoration:none}.shell-foot a:hover,.shell-foot li>a:not([class]):hover{color:var(--text);text-decoration:underline}.shell-foot a:hover{text-underline-offset:2px}.shell-foot__bottom{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;padding-block:var(--s5);border-top:var(--bw) dashed var(--border);font-size:var(--fs-caption)}.shell-foot__copy{font:500 12px/1.6 var(--font-mono)}.shell-foot__col h2{color:var(--warm-text)}.shell-foot--app{margin-top:0;background:transparent}.shell-foot--app .shell-foot__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;min-height:56px;padding-block:var(--s3)}.shell-foot__links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}.shell-foot__btn{padding:0;border:0;background:none;color:var(--text-2);font:inherit;cursor:pointer;text-align:left}.shell-foot__btn:hover{color:var(--text);text-decoration:underline;text-underline-offset:2px}@media (max-width:1023px){.shell-foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-foot__brand{grid-column:1/-1}}@media (max-width:767px){.shell-foot{margin-top:var(--s16)}.shell-foot__grid{padding-block:var(--s8);gap:var(--s6)}.shell-foot a,.shell-foot__btn{display:inline-flex;align-items:center;min-height:var(--row)}.shell-foot--app .shell-foot__in{padding-bottom:var(--s4)}}.state-screen{position:relative;isolation:isolate;display:grid;place-items:center;min-height:min(680px,calc(100dvh - var(--topbar-h) - var(--s24)));padding-block:var(--s12)}.state-screen:before{content:"";position:absolute;inset:0 calc(-1 * var(--gutter));z-index:-1;background:var(--grad-hero);opacity:.7;pointer-events:none}.state-screen .ui-empty__title{font-size:var(--fs-h1);line-height:1.05;letter-spacing:-.03em}.state-screen__code{display:inline-block;margin-bottom:var(--s4);font-size:22px}.state-screen__digest{margin:var(--s4) 0 0;text-align:center;font:500 12px/1.4 var(--font-mono);color:var(--text-3)}.shell-main:has(>.state-screen),.shell-main:has(>[role=alert]>.state-screen),.shell-main>[role=alert]:has(>.state-screen){display:flex;flex-direction:column}.shell-main>.state-screen,.shell-main>[role=alert]:has(>.state-screen),.shell-main>[role=alert]>.state-screen{flex:1}.shell-main>.state-screen{margin-top:0}