/*! tailwindcss v4.2.4 | 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)))){*,: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-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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}}}@layer theme{:root,:host{--font-sans:"Rubik", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-xl:.75rem;--radius-2xl:1rem;--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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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,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{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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.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}}.mt-\[18px\]{margin-top:18px}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.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}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-5{gap:calc(var(--spacing) * 5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[\#FFA400\]{border-color:#ffa400}.border-\[\#FFA400\]\/20{border-color:#ffa40033}.border-\[\#FFA400\]\/40{border-color:#ffa40066}.border-\[color\:var\(--line\)\]{border-color:var(--line)}.border-blue-600{border-color:var(--color-blue-600)}.border-white{border-color:var(--color-white)}.bg-\[\#2a0b00\]{background-color:#2a0b00}.bg-\[\#140702\]{background-color:#140702}.bg-\[\#F58400\]{background-color:#f58400}.bg-\[color\:var\(--panel\)\]{background-color:var(--panel)}.bg-\[color\:var\(--panel-strong\)\]{background-color:var(--panel-strong)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[0\.35em\]{padding-inline:.35em}.px-\[11px\]{padding-inline:11px}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-\[0\.12em\]{padding-block:.12em}.py-\[7px\]{padding-block:7px}.text-center{text-align:center}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.9em\]{font-size:.9em}.text-\[0\.95em\]{font-size:.95em}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[clamp\(2\.625rem\,6vw\,4\.875rem\)\]{font-size:clamp(2.625rem,6vw,4.875rem)}.text-\[clamp\(2rem\,5vw\,3\.5rem\)\]{font-size:clamp(2rem,5vw,3.5rem)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[0\.95\]{--tw-leading:.95;line-height:.95}.leading-\[0\.98\]{--tw-leading:.98;line-height:.98}.leading-\[1\.08\]{--tw-leading:1.08;line-height:1.08}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-\[850\]{--tw-font-weight:850;font-weight:850}.font-\[880\]{--tw-font-weight:880;font-weight:880}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.text-\[\#FFA400\]{color:#ffa400}.text-\[color\:var\(--accent\)\]{color:var(--accent)}.text-\[color\:var\(--accent-strong\)\]{color:var(--accent-strong)}.text-\[color\:var\(--danger\)\]{color:var(--danger)}.text-\[color\:var\(--ink\)\]{color:var(--ink)}.text-\[color\:var\(--muted\)\]{color:var(--muted)}.text-\[color\:var\(--muted-soft\)\]{color:var(--muted-soft)}.text-blue-500{color:var(--color-blue-500)}.text-gray-200{color:var(--color-gray-200)}.text-inherit{color:inherit}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.decoration-\[color\:var\(--accent\)\]{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.decoration-\[color\:var\(--line-strong\)\]{-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.shadow-black\/30{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 30%, transparent) var(--tw-shadow-alpha), transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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))}@media not all and (min-width:860px){.max-\[860px\]\:text-\[clamp\(2\.25rem\,9vw\,3\.5rem\)\]{font-size:clamp(2.25rem,9vw,3.5rem)}}@media not all and (min-width:560px){.max-\[560px\]\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.max-\[560px\]\:text-\[36px\]{font-size:36px}.max-\[560px\]\:leading-none{--tw-leading:1;line-height:1}.max-\[560px\]\:leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}}@media(min-width:40rem){.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/Rubik-VariableFont_wght.ttf)format("truetype")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/GeistMono-Regular.ttf)format("truetype")}:root{--bg:black;color:#fff;background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--bg-deep:#130500;--accent:#ffa400;--accent-strong:#f58400;--ink:#fff;--muted:#ffffffad;--muted-soft:#ffffff7a;--line:#ffa4002b;--line-strong:#ffa40057;--panel:#ffffff0e;--panel-strong:#ffffff17;--code:#0b0b0d;--danger:#ff784f;--success:#ffa400;--font-code:"Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ease-out-back:cubic-bezier(.16, 1.25, .3, 1);--ease-soft-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.16s;--duration-med:.42s;font-family:Rubik,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg);min-height:100%}body{background-color:var(--bg);min-height:100%;margin:0}#root{background-color:var(--bg);min-height:100%}#root:has(>.course-landing-shell){flex-direction:column;min-height:100dvh;display:flex}button,textarea{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #ffa400b8}.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}.animated-icon{color:currentColor;justify-content:center;align-items:center;width:1em;height:1em;line-height:0;display:inline-flex}.animated-icon svg{overflow:visible}.animated-play-triangle,.animated-copy-front,.animated-copy-back,.animated-chevron-shift,.animated-rotate-svg,.animated-sparkles-main,.animated-sparkles-star{transform-box:fill-box;transform-origin:50%}button:hover .animated-play-triangle,.animated-icon-play:hover .animated-play-triangle{animation:.52s cubic-bezier(.22,1,.36,1) animated-play-wiggle}button:hover .animated-copy-front,.code-block-copy-btn:hover .animated-copy-front,.animated-icon-copy:hover .animated-copy-front{animation:.52s cubic-bezier(.34,1.56,.64,1) animated-copy-front}button:hover .animated-copy-back,.code-block-copy-btn:hover .animated-copy-back,.animated-icon-copy:hover .animated-copy-back{animation:.52s cubic-bezier(.34,1.56,.64,1) animated-copy-back}button:hover .animated-chevron-shift,.lesson-back-button:hover .animated-chevron-shift,.animated-icon-chevron-back:hover .animated-chevron-shift{animation:.52s cubic-bezier(.34,1.56,.64,1) animated-chevron-nudge}button:hover .animated-rotate-svg,.animated-icon-rotate-ccw:hover .animated-rotate-svg{animation:.62s cubic-bezier(.34,1.56,.64,1) animated-rotate-ccw}.build-status.is-ready .animated-check-path,.animated-icon-circle-check:hover .animated-check-path,.code-block-copy-btn.is-copied .animated-check-path{stroke-dasharray:8;stroke-dashoffset:8px;animation:.68s forwards animated-check-draw}.brand-mark:hover .animated-sparkles-main,.animated-icon-sparkles:hover .animated-sparkles-main{animation:1s animated-sparkle-pop}.brand-mark:hover .animated-sparkles-star,.animated-icon-sparkles:hover .animated-sparkles-star{animation:1.4s animated-sparkle-blink}@keyframes animated-play-wiggle{0%{transform:translate(0)rotate(0)}20%{transform:translate(-1px)rotate(-10deg)}50%{transform:translate(2px)rotate(0)}to{transform:translate(0)rotate(0)}}@keyframes animated-copy-front{50%{transform:translate(-3px,-3px)}}@keyframes animated-copy-back{50%{transform:translate(3px,3px)}}@keyframes animated-chevron-nudge{50%{transform:translate(-4px)}}@keyframes animated-rotate-ccw{50%{transform:rotate(-50deg)}}@keyframes animated-check-draw{to{stroke-dashoffset:0}}@keyframes animated-sparkle-pop{0%,to{fill:#0000;transform:translateY(0)}45%{fill:currentColor;transform:translateY(-1px)}}@keyframes animated-sparkle-blink{0%,to{opacity:1}20%,38%,62%{opacity:0}}.app-shell{background:var(--bg);grid-template-columns:300px minmax(0,1fr);min-height:100vh;display:grid}.landing-page{text-align:center;background:radial-gradient(circle at 50% 16%,#ffa4002e,#0000 30%),radial-gradient(circle at 12% 78%,#ec489924,#0000 28%),#000;justify-content:center;align-items:center;min-height:100dvh;padding:4rem 1.5rem;display:flex;position:relative;overflow:hidden}.landing-hero-canvas{pointer-events:none;opacity:.6;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.landing-hero-inner{z-index:3;flex-direction:column;align-items:center;gap:2rem;display:flex;position:relative}.landing-hero-kicker{letter-spacing:.32em;text-transform:uppercase;color:#ffffff4d;margin:0;font-size:.68rem;font-weight:760}.landing-hero-title{letter-spacing:-.045em;color:#fff;margin:0;font-size:clamp(3.4rem,9.5vw,6.5rem);font-weight:750;line-height:1}.landing-hero-cta{background:var(--accent);color:#fff;cursor:pointer;transform-origin:50%;will-change:transform;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.5rem;min-width:180px;padding:.88rem 2.4rem;font-size:.875rem;font-weight:720;transition:background-color .2s;display:inline-flex}.landing-hero-cta:hover{background:var(--accent-strong)}.wavy-word{cursor:default;-webkit-user-select:none;user-select:none;padding-bottom:20px;display:inline-block;position:relative}.wavy-text{display:inline}.wavy-svg{pointer-events:none;width:100%;height:24px;position:absolute;bottom:0;left:0;overflow:visible}.course-landing-shell{box-sizing:border-box;width:100%;max-width:min(760px,100%);min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 50% 16%,#ffa4002e,#0000 30%),radial-gradient(circle at 12% 78%,#ec489924,#0000 28%),#000;flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:28px;margin:0 auto;padding:clamp(24px,5vw,48px) clamp(22px,4vw,40px);display:flex}.landing-joy-hero{box-sizing:border-box;width:100%;color:var(--ink);text-align:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:16px;flex-direction:column;align-items:center;gap:14px;margin:0 0 12px;padding:22px 18px 24px;display:flex}.landing-joy-badge{color:#ffffffc7;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:7px;max-width:100%;padding:8px 12px;font-size:12px;font-weight:760;line-height:1;display:inline-flex}.landing-joy-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-soft);margin:0;font-size:11px;font-weight:780}.landing-joy-headline{letter-spacing:-.045em;max-width:620px;color:var(--ink);margin:0;font-size:clamp(1.65rem,5vw,2.35rem);font-weight:800;line-height:1.08}.course-landing-motion-root{isolation:isolate;position:relative}.course-landing-content-stack{z-index:3;text-align:center;flex-direction:column;align-items:center;gap:18px;width:100%;display:flex;position:relative}.course-landing-content-stack>*{width:100%}.course-landing-pillar-tilt{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.course-landing-loader-spin{display:inline-flex}.course-landing-shell-loading{text-align:center;justify-content:center;align-items:center}.course-landing-spinner{color:var(--accent-strong);animation:.85s linear infinite auth-spin}.course-landing-loading-copy{color:var(--muted-soft);margin:14px 0 0;font-size:14px;font-weight:650}.course-landing-header{align-items:flex-start;gap:14px;display:flex}.course-landing-brand-mark{width:40px;height:40px;color:var(--accent-strong);background:#ffa4001f;border:1px solid #ffa40038;border-radius:12px;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.course-landing-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-soft);margin:0 0 4px;font-size:11px;font-weight:780}.course-landing-title{letter-spacing:-.045em;margin:0;font-size:clamp(1.85rem,5vw,2.35rem);font-weight:800;line-height:1.06}.course-landing-lead{text-align:center;color:#fffbf5d1;max-width:40rem;margin:0;font-size:clamp(1.05rem,2.4vw,1.18rem);font-weight:560;line-height:1.55}.course-landing-pillars{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:14px;width:100%;margin:0;padding:0;list-style:none;display:grid}.course-landing-pillar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0b;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:132px;padding:14px 16px;display:flex}.course-landing-pillar-icon{color:#fff;background:#ffffff14;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.course-landing-pillar-icon svg{stroke:currentColor}.course-landing-pillar-title{letter-spacing:0;text-align:center;color:#fff;flex:none;min-width:0;margin:0;font-size:15px;font-weight:780}.course-landing-cta-row{flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:360px;padding-top:8px;display:flex}.course-landing-cta-note{color:var(--muted-soft);text-align:center;margin:0;font-size:12px;font-weight:620;line-height:1.45}.course-landing-primary{letter-spacing:0;color:#121218;cursor:pointer;background:#fff;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 18px;font-size:15px;font-weight:800;transition:transform .18s,filter .18s;display:inline-flex;box-shadow:0 16px 42px #ffffff1a}.course-landing-primary:hover{filter:brightness(1.05)}.course-landing-primary:active{transform:scale(.99)}@media(max-width:720px){.course-landing-shell{max-width:min(520px,100%)}.course-landing-pillars{grid-template-columns:1fr}.course-landing-pillar{min-height:0}}.course-sidebar{isolation:isolate;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080100c2;flex-direction:column;height:100vh;padding:20px 18px;display:flex;position:sticky;top:0}.sidebar-confetti-canvas{pointer-events:none;z-index:8;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.brand-lockup{align-items:center;gap:11px;padding:8px 8px 22px;display:flex}.brand-mark{color:#140702;background:linear-gradient(135deg,var(--accent),var(--accent-strong));border:1px solid #ffffff29;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;box-shadow:0 12px 26px #f5840038}.brand-kicker{color:var(--accent);margin:0 0 3px;font-size:12px;font-weight:800}.brand-lockup h1{color:var(--ink);margin:0;font-size:16px;line-height:1.15}.lesson-nav{flex:1;padding-right:2px;overflow:auto}.home-nav-button{border:1px solid var(--line);width:100%;color:var(--muted);text-align:left;background:#ffffff0b;border-radius:8px;align-items:center;gap:10px;margin:0 0 16px;padding:10px;transition:color .16s,background .16s,border-color .16s;display:flex}.home-nav-button>svg{color:var(--accent)}.home-nav-button span{gap:3px;min-width:0;display:grid}.home-nav-button strong{color:inherit;font-size:13px;line-height:1.1}.home-nav-button small{color:var(--muted-soft);font-size:12px;font-weight:650}.home-nav-button:hover,.home-nav-button.is-active{border-color:var(--line-strong);color:var(--ink);background:#ffa4001c}.nav-section+.nav-section{margin-top:18px}.nav-section-title{color:var(--muted-soft);align-items:center;gap:9px;padding:8px 8px 6px;font-size:13px;font-weight:760;display:flex}.nav-section-icon{width:22px;height:22px;color:var(--accent);background:#ffffff0d;border:1px solid #ffa4001f;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-section-icon:after{background:var(--line);content:"";width:1px;height:10px;position:absolute;top:100%;left:50%}.nav-items{gap:2px;display:grid}.nav-item{width:100%;min-height:58px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:stretch;gap:10px;padding:7px 8px 7px 22px;transition:color .16s,background .16s,transform .16s;display:flex;position:relative}.nav-item:focus-visible{outline-offset:0}.nav-item:hover,.nav-item.is-active{color:var(--ink);background:#fff1}.nav-item:not(:disabled):hover .nav-item-copy,.nav-item.is-active .nav-item-copy{transform:translate(3px)}.nav-item.is-locked{cursor:not-allowed;opacity:.52}.nav-item.is-locked:hover{color:var(--muted);background:0 0}.nav-rail{background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:17px}.nav-active-pill{background:0 0;border-radius:999px;width:4px;transition:background .16s;position:absolute;top:18%;bottom:18%;left:15px}.nav-item.is-active .nav-active-pill{background:var(--accent);box-shadow:0 0 22px #ffa4006b}.nav-item-copy{gap:6px;min-width:0;padding-left:13px;transition:transform .16s;display:grid}.nav-item-title-row{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.nav-item-title{min-width:0;font-size:13px;font-weight:700;line-height:1.25}.nav-done-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.nav-item.is-complete .nav-item-title{color:#ffffffeb}.nav-item-copy small{color:var(--muted-soft);align-items:center;gap:5px;font-size:12px;font-weight:650;display:inline-flex}.sidebar-auth{background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;margin-top:14px;padding:12px 12px 14px}.sidebar-auth-row{align-items:flex-start;gap:10px;min-width:0;display:flex}.sidebar-auth-icon{color:var(--accent-strong);opacity:.95;flex-shrink:0;margin-top:2px}.sidebar-auth-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.sidebar-auth-title{letter-spacing:-.02em;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:780;overflow:hidden}.sidebar-auth-meta{color:var(--muted-soft);align-items:center;gap:6px;font-size:11px;font-weight:650;display:inline-flex}.sidebar-auth-meta-warn{color:#ffb460d9}.sidebar-auth-spinner{animation:.85s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.sidebar-auth-actions{gap:8px;margin-top:10px;display:flex}.sidebar-auth-button{letter-spacing:-.02em;color:var(--ink);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-size:11.5px;font-weight:750;transition:background .18s,border-color .18s;display:inline-flex}.sidebar-auth-button:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff1f}.sidebar-auth-button:disabled{opacity:.45;cursor:not-allowed}.auth-dialog{background:var(--surface-elevated,#141418);width:min(480px,100vw - 32px);color:var(--ink);--dialog-spring:cubic-bezier(.154, 1.937, .213, .901);--dialog-spring-duration:.72s;border:none;border-radius:22px;margin:auto;padding:0;box-shadow:0 32px 80px #0009,0 0 0 1px #ffffff0f}@supports (animation-timing-function:linear(0,1)){.auth-dialog{--dialog-spring:linear(0, .006, .025 1.5%, .101 3.1%, .539 9.3%, .721 11.6%, .869 13.9%, .985 16.2%, 1.06 18.2%, 1.107 20.3%, 1.129 22.4%, 1.133, 1.13, 1.12 27.1%, 1.107 28.7%, 1.061 33.1%, 1.022 37.2%, .99 41.9%, .977 45.7%, .974 49.5%, .979 53.5%, 1.003 64.5%, 1.009 69.6%, 1.007 76.4%, 1);--dialog-spring-duration:.9s}}@media(prefers-reduced-motion:no-preference){.auth-dialog[open]:not([data-closing]){animation:auth-dialog-enter var(--dialog-spring-duration) var(--dialog-spring) both}.auth-dialog[data-closing]{animation:.16s cubic-bezier(.55,0,.88,.4) forwards auth-dialog-exit}.auth-dialog[open]:not([data-closing])::backdrop{animation:auth-dialog-backdrop-in var(--dialog-spring-duration) ease both}.auth-dialog[data-closing]::backdrop{animation:.16s forwards auth-dialog-backdrop-out}@keyframes auth-dialog-enter{0%{opacity:0;transform:translateY(18px)scale(.95)}}@keyframes auth-dialog-exit{to{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes auth-dialog-backdrop-in{0%{opacity:0}}@keyframes auth-dialog-backdrop-out{to{opacity:0}}}.auth-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06080e9e}.auth-dialog-inner{padding:28px 30px 30px}.auth-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.auth-dialog-title{letter-spacing:-.04em;margin:0;font-size:1.55rem;font-weight:800}.auth-dialog-close{color:var(--muted-soft);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:9px;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:700}.auth-dialog-close:hover{color:var(--ink);border-color:#ffffff29}.auth-dialog-tabs{gap:6px;margin-bottom:14px;display:flex}.auth-dialog-tab{letter-spacing:-.02em;color:var(--muted-soft);cursor:pointer;background:#ffffff0a;border:1px solid #0000;border-radius:10px;flex:1;padding:9px 10px;font-size:12px;font-weight:780;position:relative;overflow:hidden}.auth-dialog-tab.is-active{color:var(--ink);background:0 0;border-color:#0000}.auth-dialog-tab-indicator{z-index:0;background:#ffa4001f;border:1px solid #ffa40038;border-radius:10px;position:absolute;top:0;right:0;bottom:0;left:0}.auth-dialog-tab-label{z-index:1;position:relative}.auth-dialog-form{flex-direction:column;gap:16px;display:flex}.auth-dialog-hint{color:var(--muted-soft);margin:0 0 4px;font-size:14px;line-height:1.5}.auth-dialog-label{color:var(--muted-soft);flex-direction:column;gap:8px;font-size:13px;font-weight:720;display:flex}.auth-dialog-input{color:var(--ink);background:#00000047;border:1px solid #ffffff1a;border-radius:12px;padding:13px 14px;font-size:16px}.auth-dialog-input:focus{outline-offset:1px;outline:2px solid #ffa40059}.auth-dialog-error{color:#ff8a8a;margin:0;font-size:12px;font-weight:650}.auth-dialog-submit{letter-spacing:-.02em;color:#fff;background:linear-gradient(135deg,var(--accent-strong),var(--accent));cursor:pointer;transform-origin:50%;will-change:transform;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:14px 18px;font-size:15px;font-weight:800;display:inline-flex}.auth-dialog-submit:disabled{opacity:.55;cursor:wait}.auth-dialog-signed-in{flex-direction:column;gap:12px;display:flex}.auth-dialog-signed-email{word-break:break-all;margin:0;font-size:14px;font-weight:750}.auth-dialog-email-strong{color:var(--ink);font-weight:780}.auth-dialog-input-otp{letter-spacing:.12em;font-variant-numeric:tabular-nums}.auth-dialog-secondary-actions{flex-wrap:wrap;gap:12px 18px;margin-top:4px;display:flex}.auth-dialog-link-button{color:var(--accent-strong);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12px;font-weight:720;text-decoration:underline}.auth-dialog-link-button:hover:not(:disabled){color:var(--accent)}.auth-dialog-link-button:disabled{opacity:.45;cursor:not-allowed}.sidebar-footer{margin-top:16px;padding-top:12px}.sidebar-progress{align-items:center;gap:14px;min-width:0;display:flex;overflow:visible}.sidebar-progress-meter{flex-shrink:0;width:62px;height:62px}.sidebar-progress-svg{width:100%;height:100%;display:block}.sidebar-progress-svg-track{fill:none;stroke:#ffa40024;stroke-width:11px}.sidebar-progress-svg-ring{fill:none;stroke-width:11px;stroke-linecap:round;transition:stroke-dashoffset .95s var(--ease-soft-out),filter .45s ease}.sidebar-progress-percent{min-width:0;color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(1.65rem,2.6vw,2.15rem);font-weight:800;line-height:1;display:block}.course-main{flex-direction:column;align-items:stretch;gap:0;width:min(1180px,100%);margin:0 auto;padding:28px;display:flex}.course-main.is-home{width:min(1260px,100%);display:block}.profile-dashboard{box-sizing:border-box;max-width:720px;margin:0 auto;padding:8px 0 80px}.profile-dashboard-header{background:#ffffff0b;border:1px solid #ffffff14;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:28px;padding:22px 24px;display:grid;box-shadow:0 14px 40px #00000038}.profile-dashboard-avatar-wrap{flex-shrink:0}.profile-dashboard-avatar-ring{background:linear-gradient(145deg,#ffa400d9,#a855f7bf);border-radius:999px;padding:3px;box-shadow:0 6px 18px #00000040}.profile-dashboard-avatar-face{color:#fff;letter-spacing:-.04em;background:linear-gradient(160deg,#3a3f52,#252830);border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;font-weight:800;display:flex}.profile-dashboard-header-copy{min-width:0}.profile-dashboard-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-soft);margin:0 0 4px;font-size:11px;font-weight:780}.profile-dashboard-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 6px;font-size:clamp(1.35rem,3vw,1.65rem);font-weight:800;line-height:1.15}.profile-dashboard-email{color:#fffbf5b8;word-break:break-word;margin:0;font-size:14px;font-weight:600}.profile-dashboard-quick-stats{gap:18px;display:flex}.profile-dashboard-stat{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.profile-dashboard-stat-value{letter-spacing:-.04em;color:var(--ink);font-size:1.65rem;font-weight:800;line-height:1}.profile-dashboard-stat-label{color:var(--muted-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:720}.profile-dashboard-section-title{letter-spacing:-.02em;color:var(--ink);margin:0 0 16px;font-size:1.05rem;font-weight:800}.profile-dashboard-empty{color:var(--muted-soft);background:#ffffff08;border:1px dashed #ffffff1f;border-radius:16px;margin:0;padding:20px 22px;font-size:14px;font-weight:560;line-height:1.55}.profile-dashboard-card-list{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.profile-topic-card-shell{margin:0;padding:0}.profile-topic-card{background:var(--topic-card-bg);min-height:152px;box-shadow:0 4px 0 var(--topic-card-rim),0 18px 44px #00000047;color:#fff;border:none;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;padding:22px 22px 20px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.profile-topic-card:hover{box-shadow:0 5px 0 var(--topic-card-rim),0 22px 50px #00000052;transform:translateY(-2px)}.profile-topic-card-body{z-index:1;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex;position:relative}.profile-topic-card-section{letter-spacing:.08em;text-transform:uppercase;opacity:.92;margin:0;font-size:12px;font-weight:780}.profile-topic-card-title{letter-spacing:-.03em;text-shadow:0 1px #0000001f;margin:0;font-size:clamp(1.15rem,2.6vw,1.45rem);font-weight:800;line-height:1.18}.profile-topic-card-status{opacity:.95;align-items:center;gap:7px;margin:4px 0 0;font-size:13px;font-weight:780;display:inline-flex}.profile-topic-card-cta{color:#374151;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#fff;border:0;border-radius:14px;margin-top:10px;padding:10px 22px;font-size:13px;font-weight:800;transition:transform .12s,box-shadow .12s;box-shadow:0 3px #00000024,inset 0 1px #ffffffd9}.profile-topic-card-cta:hover{transform:translateY(-1px)}.profile-topic-card-cta:active{transform:translateY(2px);box-shadow:0 1px #0000001f,inset 0 1px #ffffffbf}.profile-topic-card-art{width:min(120px,28vw);color:var(--topic-card-illustration);opacity:.95;justify-content:center;align-items:center;display:flex;position:relative}.profile-topic-card-art svg{filter:drop-shadow(0 6px 14px #0000002e)}@media(max-width:640px){.profile-dashboard-header{text-align:center;grid-template-columns:1fr}.profile-dashboard-avatar-wrap{justify-self:center}.profile-dashboard-quick-stats{justify-content:center}.profile-dashboard-stat{align-items:center}.profile-topic-card{grid-template-columns:1fr;padding-bottom:18px}.profile-topic-card-art{display:none}}.home-screen{min-width:0;padding:24px 0 80px}.home-hero{padding-bottom:28px}.home-hero .home-hero-title{font-size:clamp(1.875rem,3.4vw,2.75rem);font-weight:800;line-height:1.08}.sidebar-progress.is-complete .sidebar-progress-svg-ring{filter:drop-shadow(0 0 10px #ffa40059);animation:2.5s ease-in-out infinite sidebar-progress-complete-glow}@keyframes sidebar-progress-complete-glow{0%,to{filter:drop-shadow(0 0 8px #ffa40047)}50%{filter:drop-shadow(0 0 16px #ffa40085)}}@media(prefers-reduced-motion:reduce){.sidebar-progress-svg-ring{transition:none}.sidebar-progress.is-complete .sidebar-progress-svg-ring{filter:drop-shadow(0 0 10px #ffa40052);animation:none}}@media(max-width:520px){.home-hero .home-hero-title{font-size:clamp(1.625rem,7vw,2rem)}}.home-screen>.learning-map{margin-top:28px}.learning-map{gap:34px;min-width:0;display:grid}.map-unit{min-width:0}.map-unit-header{grid-template-columns:74px minmax(0,1fr);align-items:start;gap:14px;margin-bottom:18px;display:grid}.map-unit-header>span{border:1px solid var(--line);min-height:34px;color:var(--accent);background:#ffffff0e;border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:850;display:inline-flex}.map-unit-header h3{color:var(--ink);margin:0;font-size:26px;line-height:1.12}.map-unit-header p{max-width:680px;color:var(--muted);margin:7px 0 0;font-size:15px;line-height:1.6}.topic-path{flex-direction:column;align-items:center;gap:28px;padding:16px 0 8px;display:flex;position:relative}.topic-connector{z-index:0;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.topic-connector path{fill:none}.topic-connector-bloom,.topic-connector-shadow,.topic-connector-line{stroke-linecap:round;stroke-linejoin:round}.topic-connector-bloom{stroke:#ffa40026;stroke-width:22px;opacity:.75}.topic-connector-shadow{stroke:#ff86282e;stroke-width:9px}.topic-connector-line{stroke-width:3.2px;stroke-dasharray:4 16;filter:drop-shadow(0 0 5px #ffa40073)drop-shadow(0 0 12px #ffa4001f);animation:32s linear infinite topic-path-dash}@keyframes topic-path-dash{to{stroke-dashoffset:-264px}}.topic-slot{--x-offset:0px;--label-nudge:0px;z-index:1;width:100%;transform:translate(var(--x-offset));justify-content:center;display:flex;position:relative}.topic-node{color:inherit;cursor:pointer;text-align:center;animation:topic-node-pop var(--duration-med) var(--ease-out-back) both;animation-delay:calc(var(--node-index) * 72ms);background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;padding:0;display:flex;position:relative}.topic-node:disabled{cursor:default}.topic-orb-group{display:inline-flex;position:relative}.topic-orb{--topic-orb-bg:#120604;--topic-orb-border:#ffffff2e;--topic-orb-color:var(--muted-soft);--topic-orb-inset-shadow:#00000038;width:84px;height:84px;color:var(--topic-orb-color);filter:drop-shadow(0 18px 34px #00000038);transition:filter var(--duration-fast) var(--ease-soft-out);transform-origin:50% 70%;justify-content:center;align-items:center;display:inline-flex;position:relative}.topic-orb-face{z-index:1;background:var(--topic-orb-border);color:inherit;transition:background var(--duration-fast) ease,color var(--duration-fast) ease;padding:2px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.topic-orb-base{background:var(--topic-orb-bg);flex:1;width:100%;height:100%;display:flex;position:relative}.topic-orb-base-shadow{background:var(--topic-orb-inset-shadow);position:absolute;top:0;right:0;bottom:0;left:0}.topic-orb-core{background:var(--topic-orb-bg);justify-content:center;align-items:center;width:100%;height:calc(100% - 8px);display:inline-flex;position:absolute;top:0;right:0;bottom:8px;left:0}.topic-orb-glow{z-index:0;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease;background:radial-gradient(circle,#ffa40052,#0000 65%);border-radius:999px;position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.topic-orb-badge-wrap{z-index:2;filter:drop-shadow(0 4px 14px #00000047);width:26px;height:26px;display:inline-flex;position:absolute}.topic-orb-lock-wrap{bottom:-4px;right:-4px}.topic-orb-done-wrap{top:-4px;right:-4px}.topic-orb-lock,.topic-orb-done{border-radius:999px;justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.topic-orb-lock{color:var(--muted-soft);background:#1a0a05;border:2px solid #ffffff2e}.topic-orb-done{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#140702;border:2px solid #13050059}.topic-label{max-width:min(288px,48vw);transform:translate(var(--label-nudge));transition:transform var(--duration-med) var(--ease-soft-out);text-wrap:balance;flex-direction:column;align-items:center;gap:2px;padding-inline:10px;display:flex}.topic-eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:850}.topic-label strong{color:var(--ink);font-size:14px;font-weight:800;line-height:1.2}.topic-action{color:#fff9;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;margin-top:2px;font-size:11px;font-weight:800;display:inline-flex}.topic-node.is-live .topic-orb{filter:drop-shadow(0 0 14px #ffa40029)drop-shadow(0 22px 40px #f5840047);--topic-orb-bg:linear-gradient(180deg, var(--accent), var(--accent-strong));--topic-orb-border:#ffffff57;--topic-orb-color:#140702;--topic-orb-inset-shadow:#13050038}.topic-node.is-live .topic-orb-glow{opacity:.5;animation:2.6s ease-in-out infinite topic-orb-pulse}.topic-node.is-draft .topic-orb{--topic-orb-border:#ffa4006b;--topic-orb-color:var(--accent)}.topic-node.is-queued .topic-label{opacity:.62}.topic-node.is-queued .topic-orb{--topic-orb-border:#ffffff24;--topic-orb-color:#ded2c8e0}.topic-node.can-open:hover .topic-orb{filter:drop-shadow(0 0 16px #ffa40038)drop-shadow(0 26px 44px #f5840057)}.topic-node.can-open:hover .topic-orb-glow{opacity:.8}@keyframes topic-node-pop{0%{opacity:0;transform:translateY(14px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes topic-orb-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.7;transform:scale(1.12)}}.lesson-article{min-width:0;padding:26px 0 80px}.lesson-back-bar{flex-shrink:0;margin:0}.lesson-back-button{color:#ffffffb8;width:40px;height:40px;transition:background .16s ease,color .16s ease,transform .16s var(--ease-soft-out);background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.lesson-back-button:hover{color:var(--accent);background:#ffa40014}.lesson-back-button:focus-visible{outline-offset:2px;outline:2px solid #ffa400b8}.lesson-back-button:active{transform:scale(.96)}.lesson-top-row{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:20px;display:flex}.lesson-meta-row{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;margin-bottom:0;display:flex}.lesson-meta-row span{border:1px solid var(--line);color:#ffffffb8;background:#ffffff0e;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:760;display:inline-flex}.lesson-header{border-bottom:1px solid var(--line);padding-bottom:26px}.lesson-header h2,.empty-lesson h2{max-width:850px;color:var(--ink);margin:0;font-size:clamp(34px,5vw,64px);font-weight:500;line-height:.98}.lesson-header p,.empty-lesson p{max-width:720px;color:var(--muted);margin:18px 0 0;font-size:18px;line-height:1.65}.lesson-complete-footer{border-top:1px solid var(--line);justify-content:center;width:100%;margin-top:48px;padding-top:32px;display:flex}.lesson-complete-footer .lesson-complete-row{margin-top:0}.lesson-complete-row{justify-content:center;display:flex}.lesson-complete-toggle{color:#fafafa;letter-spacing:-.01em;transition:border-color .18s ease,background .18s ease,transform var(--duration-fast) var(--ease-soft-out);background:#181818;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:14px;padding:13px 22px;font-size:15px;font-weight:620;display:inline-flex}.lesson-complete-toggle:hover:not(.is-pending){background:#1f1f1f;border-color:#ffffff1c}.lesson-complete-toggle:focus-visible{outline-offset:3px;outline:2px solid #ffffff61}.lesson-complete-toggle.is-pending{cursor:progress;pointer-events:none;opacity:.96}.lesson-complete-toggle.is-complete{color:#fafafa;background:#181818;border-color:#ffffff17}.lesson-complete-toggle-label{text-align:left;vertical-align:middle;min-width:16ch;display:inline-block}.lesson-complete-toggle-lead{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.lesson-complete-idle-ring{box-sizing:border-box;border:2px solid #ffffff38;border-radius:999px;width:22px;height:22px}.lesson-complete-spinner{box-sizing:border-box;border:2px solid #ffffff29;border-top-color:#fff;border-radius:999px;flex-shrink:0;width:22px;height:22px;animation:.68s linear infinite lesson-complete-spin}.lesson-complete-check-disk{color:#0a0a0a;background:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.lesson-complete-check-glyph{display:block}.lesson-complete-toggle:active:not(.is-pending){transform:scale(.985)}@keyframes lesson-complete-spin{to{transform:rotate(360deg)}}.lesson-section{padding:34px 0 4px}.lesson-mdx{min-width:0}.section-eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:850}.lesson-section h3{max-width:780px;color:var(--ink);margin:0 0 13px;font-size:28px;font-weight:780;line-height:1.12}.lesson-section p{color:#ffffffb8;max-width:760px;margin:0 0 14px;font-size:16px;line-height:1.78}.lesson-section ul,.lesson-section ol{color:#ffffffb8;max-width:760px;margin:0 0 16px;padding-left:22px;font-size:16px;line-height:1.72}.lesson-section li{margin-bottom:8px}.lesson-inline-code{color:#ffffffe0;font-family:var(--font-code);background:#ffffff12;border:1px solid #ffffff1a;border-radius:5px;padding:.08em .34em;font-size:.92em}.code-block{background:var(--code);border:1px solid #ffffff1f;border-radius:8px;margin:22px 0 0;overflow:hidden;box-shadow:0 24px 70px #00000047}.code-block figcaption{color:#ffffffa8;min-height:42px;font-family:var(--font-code);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:0 12px 0 16px;font-size:12px;display:flex}.code-block-copy-btn{color:#ffffffd1;letter-spacing:.03em;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;height:30px;min-height:30px;padding:0 12px;font-family:inherit;font-size:11px;font-weight:680;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.code-block-copy-btn-lead{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.code-block-copy-btn-label{vertical-align:middle;min-width:4.25ch;line-height:1;display:inline-block}.code-block-copy-btn:hover{color:#fff;background:#ffffff24;border-color:#ffa40059}.code-block-copy-btn:focus-visible{outline-offset:2px;outline:2px solid #ffa4008c}.code-block-copy-btn.is-copied{color:var(--accent);background:#ffa40014;border-color:#ffa4006b}.code-block-copy-btn:hover.is-copied{background:#ffa4001f;border-color:#ffa4008c}.code-block pre{margin:0;padding:18px;overflow:auto}.code-block code{font-family:var(--font-code);-moz-tab-size:2;tab-size:2;white-space:pre;font-size:13px;line-height:1.65}.syntax-code{color:#f7f7f5;counter-reset:code-line;min-width:max-content;display:block}.syntax-line{border-left:2px solid #0000;min-height:1.65em;padding:0 2px;display:block}.syntax-code.has-line-numbers .syntax-line:before{counter-increment:code-line;content:counter(code-line);color:#ffffff40;font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;width:2.25rem;margin-right:.75rem;display:inline-block}.syntax-keyword{color:#ff8fb3}.syntax-string{color:#f6d365}.syntax-property{color:#8fd8ff}.syntax-number,.syntax-constant{color:#b6a4ff}.syntax-comment{color:#7d8596;font-style:italic}.syntax-function{color:#7dd3fc}.syntax-component{color:#86efac}.syntax-punctuation{color:#c9ced8}.syntax-operator{color:#f0abfc}.syntax-plain{color:#f7f7f5}.empty-lesson{align-content:start;min-height:calc(100vh - 56px);display:grid}.draft-note{border:1px solid var(--line);background:var(--panel);width:fit-content;color:var(--muted);border-radius:8px;margin-top:28px;padding:14px 16px}.playground-shell{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080100cc;border-radius:8px;min-width:0;position:relative;top:auto;overflow:hidden;box-shadow:0 24px 80px #00000057}.lesson-playground-slot{min-width:0;margin:12px 0 40px}.playground-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:14px;display:flex}.playground-header-title{min-width:0;color:var(--ink);letter-spacing:-.02em;flex:1;margin:0;font-size:16px;font-weight:650;line-height:1.3}.playground-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.playground-actions button{border:1px solid var(--line-strong);min-width:36px;height:36px;color:var(--ink);background:#ffffff0f;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:760;display:inline-flex}.playground-actions button:not(.run-button):hover{background:#ffa40021}.playground-actions .run-button{border-color:var(--accent);background:linear-gradient(180deg,#ffc24a,var(--accent));color:#140702;padding:0 13px}.playground-actions .run-button:hover:not(:disabled){border-color:var(--accent-strong);color:#0d0300;background:linear-gradient(#ffd073,#ff9a0d)}.playground-actions .run-button:disabled{cursor:wait;opacity:.88}.playground-actions .run-button-text{vertical-align:middle;min-width:4.5ch;line-height:1;display:inline-block}.playground-actions .run-button:focus-visible:not(:disabled){outline-offset:2px;outline:2px solid #ffa400a6}.playground-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.78fr);min-height:640px;display:grid}.editor-pane,.preview-pane{min-width:0}.editor-pane{background:#101012;border-right:1px solid #ffffff14;grid-template-rows:auto minmax(0,1fr);display:grid}.file-tabs{border-bottom:1px solid #ffffff14;align-items:center;gap:4px;min-height:42px;padding:6px;display:flex;overflow-x:auto}.file-tab{color:#ffffff94;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;min-width:max-content;padding:8px 10px;font-size:12px;font-weight:750;display:inline-flex}.file-tab.is-active{color:#fff;background:#ffffff1a}.editor-surface{background:#101012;min-height:598px;position:relative}.editor-highlight,.code-editor{width:100%;height:100%;font-family:var(--font-code);-moz-tab-size:2;tab-size:2;white-space:pre;border:0;margin:0;padding:18px;font-size:12.5px;line-height:1.62;position:absolute;top:0;right:0;bottom:0;left:0}.editor-highlight{z-index:1;pointer-events:none;overflow:hidden}.editor-highlight .syntax-line{min-height:1.62em}.code-editor{z-index:2;resize:none;color:#0000;caret-color:#fff;-webkit-text-fill-color:transparent;background:0 0;outline:0;overflow:auto}.code-editor::selection{background:#8fd8ff3d}.preview-pane{background:linear-gradient(#ffa4001f,#08010000 190px),#0b0200;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:12px;display:grid}.preview-toolbar{justify-content:flex-end;display:flex}.build-status{border:1px solid var(--line);color:#ffffffb8;text-transform:capitalize;background:#ffffff0f;border-radius:999px;align-items:center;gap:7px;height:30px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.build-status.is-ready{color:var(--success)}.build-status.is-error{color:var(--danger)}.device-frame{aspect-ratio:1406/2822;filter:drop-shadow(0 28px 42px #0000007a);justify-self:center;width:min(100%,320px);position:relative}.device-screen{background:var(--bg);border-radius:9.2%/4.3%;width:85.78%;height:92.91%;position:absolute;top:3.54%;left:7.11%;overflow:hidden;box-shadow:inset 0 0 0 1px #ffa40029}.device-screen iframe{background:var(--bg);border:0;width:100%;height:100%}.device-frame-image{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.preview-placeholder{height:100%;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.preview-placeholder p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.console-panel{border:1px solid var(--line);background:#ffffff0e;border-radius:8px;min-height:92px;max-height:150px;padding:10px;overflow:auto}.console-title{color:var(--accent);align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:820;display:flex}.console-entry{color:var(--muted);font-family:var(--font-code);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.console-entry+.console-entry{margin-top:4px}.console-entry.is-error{color:var(--danger)}.spin{animation:.82s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.animated-play-triangle,.animated-copy-front,.animated-copy-back,.animated-chevron-shift,.animated-rotate-svg,.animated-check-path,.animated-sparkles-main,.animated-sparkles-star,.topic-connector-line,.topic-node,.topic-orb,.topic-orb-glow,.topic-slot,.spin{transition:none!important;animation:none!important}}@media(max-width:1220px){.app-shell{grid-template-columns:270px minmax(0,1fr)}}@media(max-width:860px){.app-shell{display:block}.course-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;max-height:none;position:relative}.lesson-nav{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid;overflow:visible}.nav-section+.nav-section{margin-top:0}.course-main{padding:20px}.topic-path{gap:22px}.playground-grid{grid-template-columns:1fr}.editor-pane{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:560px){.course-main{padding:14px}.home-screen{padding-top:14px}.map-unit-header{grid-template-columns:1fr}.topic-orb{width:72px;height:72px}.topic-label{transform:translate(calc(var(--label-nudge) * .94));max-width:min(270px,94vw);padding-inline:6px}.lesson-header h2,.empty-lesson h2{font-size:38px}.lesson-header p,.empty-lesson p{font-size:16px}.playground-header{flex-direction:column;align-items:stretch}.playground-header-title{flex:none}.playground-actions{width:100%}.playground-actions .run-button{flex:1}.device-frame{width:min(100%,300px)}}@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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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}
