.haven-mark[data-v-4cee5644]{display:block;flex-shrink:0}.navbar[data-v-75ec13fb]{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;pointer-events:none}.navbar-inner[data-v-75ec13fb]{height:0;overflow:visible;pointer-events:none}.navbar-logo-side[data-v-75ec13fb]{display:flex;align-items:center;gap:8px;position:fixed;left:16px;top:14px;z-index:201;text-decoration:none;opacity:.92;transition:opacity .2s;pointer-events:auto}.navbar-logo-side[data-v-75ec13fb]:hover{opacity:1}.navbar-logo-icon[data-v-75ec13fb]{color:var(--gold);flex-shrink:0}.navbar-logo-text[data-v-75ec13fb]{font-family:var(--font-heading);font-size:1.3rem;color:var(--band-ink)}@media(min-width:768px){.navbar-logo-side[data-v-75ec13fb]{left:24px;top:18px}.navbar-logo-text[data-v-75ec13fb]{font-size:1.4rem}}.hamburger[data-v-75ec13fb]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0;z-index:201;transition:transform .15s ease;position:fixed;top:16px;right:16px;background:var(--nav-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:12px;width:44px;height:44px;pointer-events:auto}.hamburger[data-v-75ec13fb]:active{transform:scale(.85)}.hamburger span[data-v-75ec13fb]{display:block;height:2px;width:18px;background:var(--gold2);border-radius:2px;transform-origin:center;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .25s ease,width .3s ease}.hamburger span[data-v-75ec13fb]:nth-child(1){transition-delay:0s}.hamburger span[data-v-75ec13fb]:nth-child(2){transition-delay:.04s}.hamburger span[data-v-75ec13fb]:nth-child(3){transition-delay:.08s}.hamburger span:nth-child(1).open[data-v-75ec13fb]{transform:translateY(8px) rotate(45deg);transition-delay:.08s}.hamburger span:nth-child(2).open[data-v-75ec13fb]{opacity:0;transform:scaleX(0);transition-delay:0s}.hamburger span:nth-child(3).open[data-v-75ec13fb]{transform:translateY(-8px) rotate(-45deg);transition-delay:.04s}.navbar-menu[data-v-75ec13fb]{display:flex;flex-direction:column;position:fixed;inset:0;min-height:100vh;min-height:100dvh;background:var(--band-fade);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:32px 24px;gap:4px;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;z-index:99;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px);transition:opacity .3s ease,transform .38s cubic-bezier(.16,1,.3,1),visibility .3s}.navbar-menu.active[data-v-75ec13fb]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);padding-top:88px}@keyframes menuItemIn-75ec13fb{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}.navbar-menu.active[data-v-75ec13fb]>*{animation:menuItemIn-75ec13fb .4s cubic-bezier(.16,1,.3,1) backwards}.navbar-menu.active[data-v-75ec13fb]>*:nth-child(1){animation-delay:.08s}.navbar-menu.active[data-v-75ec13fb]>*:nth-child(2){animation-delay:.13s}.navbar-menu.active[data-v-75ec13fb]>*:nth-child(3){animation-delay:.18s}.navbar-menu.active[data-v-75ec13fb]>*:nth-child(4){animation-delay:.23s}.navbar-menu.active[data-v-75ec13fb]>*:nth-child(5){animation-delay:.28s}.navbar-menu.active[data-v-75ec13fb]>*:nth-child(6){animation-delay:.33s}.navbar-menu a[data-v-75ec13fb]{font-size:1.1rem;color:#ffffffd1;text-decoration:none;padding:14px 0;transition:color .2s}.navbar-menu a[data-v-75ec13fb]:hover{color:var(--band-ink)}.navbar-menu a.router-link-exact-active[data-v-75ec13fb]{color:var(--gold2);font-weight:600}.nav-icon[data-v-75ec13fb]{display:none}.navbar-menu .btn[data-v-75ec13fb]{margin-top:20px;text-align:center;width:100%;color:var(--app-text-on-accent)}@media(min-width:768px){.hamburger[data-v-75ec13fb]{display:none}.navbar[data-v-75ec13fb]{background:transparent!important;padding:14px 24px;position:fixed;top:0;left:0;right:0;z-index:200}.navbar-inner[data-v-75ec13fb]{background:transparent;border:none;box-shadow:none;padding:0;height:auto;display:flex;justify-content:center;align-items:center}.navbar-menu[data-v-75ec13fb]{display:flex;flex-direction:row;position:static;align-items:center;gap:2px;overflow:visible;z-index:auto;min-height:0;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none;animation:none;background:var(--nav-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:60px;padding:6px 8px;box-shadow:0 8px 32px #00000047,0 0 60px #1f4d3a59}.navbar-menu[data-v-75ec13fb]>*{animation:none}.navbar-menu a[data-v-75ec13fb]:not(.btn){display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:50px;color:#fff9;font-size:.88rem;font-weight:500;transition:all .2s}.navbar-menu a[data-v-75ec13fb]:not(.btn):hover{background:#ffffff12;color:#ffffffe6}.navbar-menu a.router-link-exact-active[data-v-75ec13fb]:not(.btn){background:#ffffff14;color:var(--band-ink);font-weight:600}.nav-icon[data-v-75ec13fb]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#ffffff14;flex-shrink:0;color:#fff9;transition:all .2s}.navbar-menu a:not(.btn):hover .nav-icon[data-v-75ec13fb]{background:#ffffff1f;color:var(--band-ink)}.navbar-menu a.router-link-exact-active .nav-icon[data-v-75ec13fb]{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--app-text-on-accent);box-shadow:0 0 14px #e8a83080}.navbar-menu .btn[data-v-75ec13fb]{margin-top:0;margin-left:8px;width:auto;padding:8px 18px;font-size:.86rem;color:var(--app-text-on-accent);border-radius:50px}}.theme-btn[data-v-75ec13fb]{display:flex;align-items:center;gap:10px;background:none;border:none;padding:14px 0;font:inherit;font-size:1.1rem;color:#ffffffd1;cursor:pointer;transition:color .2s}.theme-btn[data-v-75ec13fb]:hover{color:var(--band-ink)}.theme-btn .nav-icon[data-v-75ec13fb]{display:none}@media(min-width:768px){.theme-btn[data-v-75ec13fb]{padding:5px;margin-left:4px;font-size:.88rem}.theme-btn .nav-icon[data-v-75ec13fb]{display:flex}.theme-label[data-v-75ec13fb]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.theme-btn:hover .nav-icon[data-v-75ec13fb]{background:#ffffff1f;color:var(--band-ink)}}.footer[data-v-9fc9fc47]{background:var(--band);color:#ffffffbf;padding-top:64px}.footer-inner[data-v-9fc9fc47]{display:grid;grid-template-columns:1fr;gap:36px;padding-bottom:48px}@media(min-width:769px){.footer-inner[data-v-9fc9fc47]{grid-template-columns:2fr 1fr;gap:32px 48px}}.brand-name[data-v-9fc9fc47]{font-family:var(--font-heading);font-size:1.4rem;color:var(--band-ink);display:flex;align-items:center;gap:8px;margin-bottom:12px}.brand-spark[data-v-9fc9fc47]{color:var(--gold)}.footer-brand p[data-v-9fc9fc47]{font-size:.9rem;line-height:1.7;max-width:280px}.footer-contact[data-v-9fc9fc47]{display:flex;flex-direction:column;gap:10px}.footer-contact h4[data-v-9fc9fc47]{font-family:var(--font-heading);color:var(--band-ink);font-size:1rem;margin-bottom:4px}.footer-contact p[data-v-9fc9fc47]{font-size:.88rem;display:flex;align-items:center;gap:8px}.contact-icon[data-v-9fc9fc47]{flex-shrink:0;color:var(--gold)}.footer-contact a[data-v-9fc9fc47]{display:inline-flex;align-items:center;min-height:var(--tap-min, 44px);color:inherit;text-decoration:none}.footer-contact a[data-v-9fc9fc47]:hover{color:var(--band-ink);text-decoration:underline}.footer-bottom[data-v-9fc9fc47]{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:.8rem;text-align:center;color:#ffffff94}#layout{display:flex;flex-direction:column;min-height:100vh}.layout-body{flex:1}#layout.layout-app{min-height:100dvh}#layout.layout-app>.layout-body{display:flex;flex-direction:column}.hero-bg[data-v-22d8ec9f]{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-canvas[data-v-22d8ec9f]{position:absolute;inset:0;width:100%;height:100%}.hero-doodles[data-v-22d8ec9f]{position:absolute;inset:0;width:100%;height:100%;color:var(--hero-doodle);opacity:.14}.orb[data-v-22d8ec9f]{position:absolute;border-radius:50%;will-change:transform}.orb-1[data-v-22d8ec9f]{width:560px;height:560px;background:radial-gradient(circle,var(--hero-orb-a) 0%,var(--hero-orb-a2) 45%,transparent 70%);top:-160px;right:-130px;animation:orb-a-22d8ec9f 20s ease-in-out infinite}.orb-2[data-v-22d8ec9f]{width:420px;height:420px;background:radial-gradient(circle,var(--hero-orb-b) 0%,transparent 70%);bottom:-110px;left:-90px;animation:orb-b-22d8ec9f 25s ease-in-out infinite}.orb-3[data-v-22d8ec9f]{width:280px;height:280px;background:radial-gradient(circle,var(--hero-orb-c) 0%,transparent 70%);top:40%;left:30%;animation:orb-c-22d8ec9f 16s ease-in-out infinite}@keyframes orb-a-22d8ec9f{0%,to{transform:translate(0)}33%{transform:translate(-40px,55px)}66%{transform:translate(55px,-30px)}}@keyframes orb-b-22d8ec9f{0%,to{transform:translate(0)}33%{transform:translate(48px,-48px)}66%{transform:translate(-32px,42px)}}@keyframes orb-c-22d8ec9f{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-52px,-38px) scale(1.2)}}.waves[data-v-2a469a0f]{position:absolute;inset:0;overflow:hidden;pointer-events:none}svg[data-v-2a469a0f]{width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(120% 95% at 50% 45%,transparent 8%,#000 62%);mask-image:radial-gradient(120% 95% at 50% 45%,transparent 8%,#000 62%)}@keyframes heroIn-3178e3c8{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-anim[data-v-3178e3c8]{opacity:0;animation:heroIn-3178e3c8 .72s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i, 0) * .13s + .25s)}.hero[data-v-3178e3c8]{min-height:100vh;min-height:100svh;background:var(--band);display:flex;align-items:center;position:relative;overflow:hidden;padding-top:64px}.hero[data-v-3178e3c8]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:220px;background:linear-gradient(to bottom,transparent,var(--band-fade));pointer-events:none;z-index:1}@keyframes text-glow-3178e3c8{0%,to{text-shadow:0 0 18px rgba(232,168,48,.5),0 0 48px rgba(232,168,48,.2)}50%{text-shadow:0 0 26px rgba(232,168,48,.95),0 0 64px rgba(232,168,48,.4)}}.glow-text[data-v-3178e3c8]{color:var(--gold);font-style:normal;animation:text-glow-3178e3c8 2.6s ease-in-out infinite}.hero-typed-line[data-v-3178e3c8]{font-size:1rem;color:#ffffffb8;font-weight:500;margin-top:-10px;margin-bottom:22px;min-height:1.6rem;line-height:1.6}.typed-word[data-v-3178e3c8]{color:var(--gold);font-weight:600}.typed-cursor[data-v-3178e3c8]{display:inline-block;width:2px;height:1em;background:var(--gold);margin-left:2px;vertical-align:middle;animation:blink-3178e3c8 .85s step-end infinite}@keyframes blink-3178e3c8{0%,to{opacity:1}50%{opacity:0}}.hero-content[data-v-3178e3c8]{position:relative;padding:100px 24px 60px;max-width:700px}.hero-content h1[data-v-3178e3c8]{font-size:clamp(2.2rem,6vw,4rem);color:var(--band-ink);margin-bottom:16px;line-height:1.1}.hero-sub[data-v-3178e3c8]{color:#ffffffbf;font-size:1rem;max-width:540px;margin-bottom:32px;line-height:1.7}.hero-actions[data-v-3178e3c8]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}.hero-actions .btn[data-v-3178e3c8]{flex:1 1 100%;justify-content:center}@media(min-width:500px){.hero-actions .btn[data-v-3178e3c8]{flex:initial}}@media(min-width:769px){.hero-content[data-v-3178e3c8]{padding:80px 24px}.hero-sub[data-v-3178e3c8]{font-size:1.1rem}}.stmt-scroll-space[data-v-3178e3c8]{height:180vh;position:relative;z-index:2;margin-top:-36px}.statement-section[data-v-3178e3c8]{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;background:var(--cream);border-radius:28px 28px 0 0;box-shadow:var(--shadow)}.statement-section .container[data-v-3178e3c8]{padding-top:0;padding-bottom:0}.statement-text[data-v-3178e3c8]{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.6rem);line-height:1.25;max-width:900px}.stmt-typed[data-v-3178e3c8]{color:var(--navy)}.stmt-ghost[data-v-3178e3c8]{color:var(--stmt-ghost)}.stmt-cursor[data-v-3178e3c8]{display:inline-block;width:3px;height:.85em;background:var(--gold);border-radius:2px;vertical-align:middle;margin:0 2px -2px;animation:blink-3178e3c8 .85s step-end infinite}.features[data-v-3178e3c8]{padding:96px 0 0}.section-header[data-v-3178e3c8]{text-align:center;margin-bottom:56px}.section-header h2[data-v-3178e3c8]{font-size:clamp(1.8rem,4vw,2.6rem)}.stack-list[data-v-3178e3c8]{position:relative;padding-bottom:120px;display:flex;flex-direction:column;gap:16px}.stack-card[data-v-3178e3c8]{position:sticky;top:calc(72px + var(--i) * 28px);z-index:calc(10 + var(--i));border-radius:24px;overflow:hidden;margin:0 auto;max-width:1092px;padding:0 24px;box-sizing:border-box;width:100%;background:var(--white);box-shadow:var(--shadow)}.stack-card.stack-dark[data-v-3178e3c8]{background:var(--band)}.stack-card[data-v-3178e3c8]:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);opacity:.5;border-radius:24px 24px 0 0}.stack-card[data-v-3178e3c8]:first-child:after{display:none}.stack-inner[data-v-3178e3c8]{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;padding:48px 0}@media(min-width:769px){.stack-card[data-v-3178e3c8]{padding:0}.stack-inner[data-v-3178e3c8]{grid-template-columns:1fr 1fr;gap:64px;padding:64px 40px}}.stack-num[data-v-3178e3c8]{display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--app-accent-text);margin-bottom:14px}.stack-text h3[data-v-3178e3c8]{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin-bottom:16px;color:var(--navy)}.stack-dark .stack-num[data-v-3178e3c8]{color:var(--accent-lite)}.stack-dark .stack-text h3[data-v-3178e3c8]{color:var(--band-ink)}.stack-text p[data-v-3178e3c8]{font-size:.98rem;line-height:1.75;color:var(--grey);max-width:460px}.stack-dark .stack-text p[data-v-3178e3c8]{color:#ffffffbd}.stack-visual[data-v-3178e3c8]{display:none}@media(min-width:769px){.stack-visual[data-v-3178e3c8]{display:flex;align-items:center;justify-content:center}}.stack-icon-wrap[data-v-3178e3c8]{width:180px;height:180px;border-radius:36px;display:flex;align-items:center;justify-content:center;background:#e8a8301a;color:var(--gold)}.stack-dark .stack-icon-wrap[data-v-3178e3c8]{background:#e8a83021}.subjects[data-v-3178e3c8]{background:var(--band);padding:96px 0 80px;position:relative;overflow:hidden}.subjects .container[data-v-3178e3c8]{position:relative;z-index:1}.subjects .section-header[data-v-3178e3c8]{text-align:center;margin-bottom:48px}.subjects .section-header .tag[data-v-3178e3c8]{background:#e8a83026}.subjects .section-header h2[data-v-3178e3c8]{color:var(--band-ink)}.subjects-scroll-wrap[data-v-3178e3c8]{position:relative;z-index:1;overflow-x:auto;padding:0 24px 24px;scrollbar-width:none}.subjects-scroll-wrap[data-v-3178e3c8]::-webkit-scrollbar{display:none}.subjects-track[data-v-3178e3c8]{display:flex;gap:16px;min-width:max-content;padding:0 max(0px,calc((100vw - 1140px)/2))}.subjects-track .subject-card[data-v-3178e3c8]{flex:0 0 240px}@media(min-width:769px){.subjects-track[data-v-3178e3c8]{flex-wrap:wrap;justify-content:center;min-width:unset}.subjects-track .subject-card[data-v-3178e3c8]{flex:0 1 240px}}.subject-card[data-v-3178e3c8]{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 20px 20px;display:flex;flex-direction:column;justify-content:space-between;min-height:160px;cursor:default;transition:background .2s,border-color .2s,transform .2s}.subject-card[data-v-3178e3c8]:hover{background:#ffffff17;border-color:#ffffff2e;transform:translateY(-3px)}.sc-top h3[data-v-3178e3c8]{font-family:var(--font-heading);font-size:1.2rem;color:var(--band-ink);line-height:1.25;margin:0}.sc-bottom[data-v-3178e3c8]{display:flex;align-items:flex-end;justify-content:space-between;margin-top:20px}.sc-code[data-v-3178e3c8]{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.12em;color:#ffffffb8;font-family:var(--font-mono, monospace)}.sc-cat[data-v-3178e3c8]{display:flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffbd}.sc-dot[data-v-3178e3c8]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sc-letter[data-v-3178e3c8]{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;line-height:1;border:2px solid;border-radius:50%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;opacity:.7}.cta-banner[data-v-3178e3c8]{background:linear-gradient(135deg,var(--band) 0%,var(--band-2) 100%);padding:60px 0}.cta-inner[data-v-3178e3c8]{display:flex;flex-direction:column;align-items:flex-start;gap:24px}@media(min-width:769px){.cta-banner[data-v-3178e3c8]{padding:72px 0}.cta-inner[data-v-3178e3c8]{flex-direction:row;align-items:center;justify-content:space-between;gap:32px}}.cta-inner h2[data-v-3178e3c8]{font-size:clamp(1.6rem,4vw,2rem);color:var(--band-ink);margin-bottom:8px}.cta-inner p[data-v-3178e3c8]{color:#ffffffb3}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/dm-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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:DM Sans;font-style:normal;font-weight:300 600;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-latin.woff2) format("woff2");unicode-range:U+0000-00FF,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:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--navy: var(--app-text);--navy2: var(--app-text-dim);--cream: var(--app-bg);--white: var(--app-surface);--light: var(--app-surface-sunken);--grey: var(--app-text-mute);--gold: var(--app-accent);--gold2: var(--accent-lite);--shadow: var(--el-2);--shadow-lg: var(--el-3);--band: #1f4d3a;--band-2: #2f6b4c;--band-deep: #12291d;--band-ink: #ffffff;--accent-lite: #f5c96a;--stmt-ghost: rgba(31, 77, 58, .13);--nav-glass: rgba(8, 22, 16, .82);--band-fade: rgba(8, 22, 16, .94);--hero-doodle: #a8e8c4;--hero-speck: #7fd9a8;--hero-orb-a: rgba(79, 181, 124, .22);--hero-orb-a2: rgba(79, 181, 124, .07);--hero-orb-b: rgba(20, 64, 46, .65);--hero-orb-c: rgba(79, 181, 124, .12);--hero-wave-1: #e8a830;--hero-wave-2: #7fd9a8;--hero-wave-3: #f5c96a;--hero-node: #ffffff;--green-light: #7fd9a8;--font-heading: "DM Serif Display", serif;--font-body: "DM Sans", sans-serif;--radius: 12px}:root[data-theme=dark]{--band: #16161a;--band-2: #1f1f25;--band-deep: #09090b;--band-ink: #f4f4f5;--accent-lite: #ffb862;--stmt-ghost: rgba(244, 244, 245, .13);--nav-glass: rgba(18, 18, 22, .86);--band-fade: rgba(9, 9, 11, .94);--hero-doodle: #f5871f;--hero-speck: #ffb862;--hero-orb-a: rgba(245, 135, 31, .2);--hero-orb-a2: rgba(245, 135, 31, .06);--hero-orb-b: rgba(32, 22, 10, .7);--hero-orb-c: rgba(245, 135, 31, .1);--hero-wave-1: #f5871f;--hero-wave-2: #35b077;--hero-wave-3: #ffb862;--hero-node: #f4f4f5}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html{overflow-x:clip}body{font-family:var(--font-body);background:var(--cream);color:var(--navy);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1140px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section-sm{padding:64px 0}.tag{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--app-accent-text);background:#e8a8301f;padding:4px 12px;border-radius:99px;margin-bottom:16px}.hero .tag,.page-hero .tag,.subjects .tag,.cta-banner .tag,.info-card .tag{color:var(--accent-lite);background:#ffffff1a}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.btn-primary{background:var(--gold);color:var(--app-text-on-accent)}.btn-primary:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:var(--shadow)}.btn-outline{background:transparent;color:var(--band-ink);border:2px solid rgba(255,255,255,.5)}.btn-outline:hover{border-color:var(--band-ink);background:#ffffff14}.btn-dark{background:var(--band);color:var(--band-ink)}.btn-dark:hover{background:var(--band-2);transform:translateY(-2px);box-shadow:var(--shadow)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.15}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes slideUpIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-text>.tag{opacity:0;animation:slideUpIn .62s cubic-bezier(.22,1,.36,1) .12s forwards}.hero-text>h1{opacity:0;animation:slideUpIn .68s cubic-bezier(.22,1,.36,1) .26s forwards}.hero-text>p{opacity:0;animation:slideUpIn .62s cubic-bezier(.22,1,.36,1) .42s forwards}:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-full: 999px;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .9375rem;--fs-lg: 1.0625rem;--fs-xl: 1.3125rem;--fs-2xl: 1.75rem;--fs-3xl: 2.25rem;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, monospace;--label-spacing: .09em;--dur-fast: .12s;--dur: .2s;--dur-slow: .38s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--shell-sidebar: 248px;--shell-header: 56px;--tap-min: 44px}:root,:root[data-theme=light]{color-scheme:light;color-scheme:only light;--app-bg: #faf8f3;--app-surface: #ffffff;--app-surface-raised: #ffffff;--app-surface-sunken: #f3efe6;--app-surface-hover: #f6f2e9;--app-border: #e6e0d3;--app-border-strong: #d1c8b4;--app-text: #1f4d3a;--app-text-dim: #4a6656;--app-text-mute: #6e736f;--app-text-on-accent: #1f4d3a;--app-accent: #e8a830;--app-accent-hover: #d59720;--app-accent-press: #bd8317;--app-accent-soft: rgba(232, 168, 48, .15);--app-accent-line: rgba(154, 96, 6, .45);--app-accent-text: #8a5605;--app-success: #15803d;--app-success-soft: rgba(21, 128, 61, .12);--app-warn: #b45309;--app-warn-soft: rgba(180, 83, 9, .12);--app-danger: #b91c1c;--app-danger-soft: rgba(185, 28, 28, .1);--app-focus-ring: #1f4d3a;--el-1: 0 1px 2px rgba(31, 77, 58, .07), 0 1px 3px rgba(31, 77, 58, .05);--el-2: 0 4px 16px rgba(31, 77, 58, .1);--el-3: 0 12px 40px rgba(31, 77, 58, .16);--math-ink: #1f4d3a;--math-grid: rgba(31, 77, 58, .09);--math-axis: rgba(31, 77, 58, .35);--math-series-1: #d97706;--math-series-2: #0e7490;--math-series-3: #7c3aed;--math-series-4: #15803d;--skeleton-base: #ece7dc;--skeleton-sheen: rgba(255, 255, 255, .85);--scrim: rgba(31, 77, 58, .35);--bd-grid: rgba(31, 77, 58, .055);--bd-bloom-a: rgba(232, 168, 48, .2);--bd-bloom-b: rgba(31, 77, 58, .07);--bd-line: rgba(154, 96, 6, .2);--bd-ring: rgba(31, 77, 58, .09);--bd-dot: rgba(154, 96, 6, .22);--auth-panel: #173d2e;--auth-panel-glow: rgba(232, 168, 48, .22);--auth-panel-ink: #f6f4ee;--auth-panel-dim: rgba(246, 244, 238, .66);--auth-grid: rgba(255, 255, 255, .07);--auth-curve-1: #e8a830;--auth-curve-2: #f5c96a;--auth-curve-3: #7fd9a8}:root{--ill-text-vw: 1;--ill-bg: #191920;--ill-bg-deep: #0a0a0e;--ill-glow: rgba(245, 135, 31, .15);--ill-ink: #f4f4f5;--ill-ink-dim: rgba(244, 244, 245, .68);--ill-ink-mute: rgba(244, 244, 245, .44);--ill-line: rgba(244, 244, 245, .16);--ill-wrong: #f4685f;--ill-focus-dark: #a9500a;--ill-focus: #f5871f;--ill-focus-lite: #ffb862;--ill-subject-dark: #08414c;--ill-subject: #1c8494;--ill-subject-lite: #45bccd;--ill-second-dark: #57389f;--ill-second: #8b6cf0;--ill-second-lite: #c0a8ff;--ill-fluid-dark: #1b3a63;--ill-fluid: #3a6cab;--ill-fluid-lite: #7cabdd;--ill-ground-dark: #4f4022;--ill-ground: #806a3e;--ill-ground-lite: #b09a6c;--ill-extra-dark: #17724a;--ill-extra: #35b077;--ill-extra-lite: #74dda8;--ill-metal-dark: #4b5159;--ill-metal: #8e969f;--ill-metal-lite: #d3d8de;--ill-stone-dark: #6d6759;--ill-stone: #a9a293;--ill-stone-lite: #dcd6c8}:root[data-ill-palette=grove]{--ill-bg: #17392c;--ill-bg-deep: #0e241c;--ill-glow: rgba(232, 168, 48, .1);--ill-ink: #f2efe6;--ill-ink-dim: rgba(242, 239, 230, .66);--ill-ink-mute: rgba(242, 239, 230, .42);--ill-line: rgba(242, 239, 230, .18);--ill-focus-dark: #a86f12;--ill-focus: #d99a2b;--ill-focus-lite: #f0c266;--ill-subject-dark: #1d5b45;--ill-subject: #2f7d5f;--ill-subject-lite: #52a17e;--ill-second-dark: #8a3a28;--ill-second: #b85c44;--ill-second-lite: #d78a72;--ill-fluid-dark: #33505c;--ill-fluid: #4e7686;--ill-fluid-lite: #7ba3b3;--ill-ground-dark: #7a6a45;--ill-ground: #b09a6c;--ill-ground-lite: #d3c19b;--ill-extra-dark: #4a6b3c;--ill-extra: #6b9152;--ill-extra-lite: #97ba7c;--ill-metal-dark: #4f5752;--ill-metal: #8d9690;--ill-metal-lite: #cdd4ce;--ill-stone-dark: #6e6852;--ill-stone: #a8a088;--ill-stone-lite: #d9d2bb}:root[data-theme=dark]{color-scheme:dark;color-scheme:only dark;--app-bg: #0a0a0b;--app-surface: #141416;--app-surface-raised: #1e1e21;--app-surface-sunken: #0f0f11;--app-surface-hover: #1a1a1d;--app-border: #2a2a2f;--app-border-strong: #3d3d44;--app-text: #f4f4f5;--app-text-dim: #a3a3a9;--app-text-mute: #85858e;--app-text-on-accent: #0a0a0b;--app-accent: #f5871f;--app-accent-hover: #ff9a3c;--app-accent-press: #dd6f08;--app-accent-soft: rgba(245, 135, 31, .16);--app-accent-line: rgba(245, 135, 31, .42);--app-accent-text: #f5871f;--app-success: #4ecb8d;--app-success-soft: rgba(78, 203, 141, .14);--app-warn: #f5b93f;--app-warn-soft: rgba(245, 185, 63, .14);--app-danger: #f4685f;--app-danger-soft: rgba(244, 104, 95, .14);--app-focus-ring: #f5871f;--el-1: 0 1px 2px rgba(0, 0, 0, .6);--el-2: 0 6px 24px rgba(0, 0, 0, .55);--el-3: 0 16px 48px rgba(0, 0, 0, .65);--math-ink: #f4f4f5;--math-grid: rgba(255, 255, 255, .07);--math-axis: rgba(255, 255, 255, .28);--math-series-1: #f5871f;--math-series-2: #37c2d0;--math-series-3: #a78bfa;--math-series-4: #4ecb8d;--skeleton-base: #1c1c1f;--skeleton-sheen: rgba(255, 255, 255, .06);--scrim: rgba(0, 0, 0, .66);--bd-grid: rgba(255, 255, 255, .038);--bd-bloom-a: rgba(245, 135, 31, .14);--bd-bloom-b: rgba(245, 135, 31, .055);--bd-line: rgba(245, 135, 31, .2);--bd-ring: rgba(245, 135, 31, .13);--bd-dot: rgba(245, 135, 31, .3);--auth-panel: #0d0d0f;--auth-panel-glow: rgba(245, 135, 31, .2);--auth-panel-ink: #f4f4f5;--auth-panel-dim: rgba(244, 244, 245, .62);--auth-grid: rgba(255, 255, 255, .05);--auth-curve-1: #f5871f;--auth-curve-2: #ff9a3c;--auth-curve-3: #37c2d0}:root{--state-not-started: var(--app-text-mute);--state-not-started-soft: transparent;--state-in-progress: var(--app-accent-text);--state-in-progress-soft: var(--app-accent-soft);--state-in-progress-fill: .38;--state-practised: var(--app-accent-text);--state-practised-soft: var(--app-accent-soft);--state-mastered: var(--app-success);--state-mastered-soft: var(--app-success-soft);--state-review: var(--app-danger);--state-review-soft: var(--app-danger-soft)}:root{--sk-ink: var(--app-surface);--sk-wash: rgba(232, 168, 48, .15)}:root[data-theme=dark]{--sk-ink: var(--app-bg);--sk-wash: rgba(245, 135, 31, .11)}[data-skill-palette=haven]{--sk-lo: #e9c98d;--sk-mid: #b36f00;--sk-hi: #5c3a00;--sk-glow: rgba(179, 111, 0, .17);--sk-fresh: #15803d;--sk-soon: #b36f00;--sk-due: #b91c1c;--sk-shade: #ece7dc}[data-skill-palette=tide]{--sk-lo: #9fd0e0;--sk-mid: #1a86ab;--sk-hi: #0a4f6c;--sk-glow: rgba(26, 134, 171, .18);--sk-fresh: #1a86ab;--sk-soon: #b7791f;--sk-due: #c2255c;--sk-shade: #e2eef2}[data-skill-palette=aurora]{--sk-lo: #c4b9f5;--sk-mid: #5b45cf;--sk-hi: #33208f;--sk-glow: rgba(91, 69, 207, .17);--sk-fresh: #0d9488;--sk-soon: #6d4bd8;--sk-due: #be2a78;--sk-shade: #e9e5f7}[data-skill-palette=moonlight]{--sk-lo: #b8c0d4;--sk-mid: #5b6785;--sk-hi: #232c44;--sk-glow: rgba(60, 75, 110, .15);--sk-fresh: #232c44;--sk-soon: #5b6785;--sk-due: #c2410c;--sk-shade: #e4e8f0}[data-skill-palette=dawn]{--sk-lo: #f0b7c6;--sk-mid: #c2315a;--sk-hi: #8a5a00;--sk-glow: rgba(194, 49, 90, .15);--sk-fresh: #8a5a00;--sk-soon: #c2315a;--sk-due: #a11846;--sk-shade: #f3e6ea}:root[data-theme=dark] [data-skill-palette=haven]{--sk-lo: #7a4310;--sk-mid: #f5871f;--sk-hi: #ffc58a;--sk-glow: rgba(245, 135, 31, .26);--sk-fresh: #4ecb8d;--sk-soon: #f5871f;--sk-due: #f4685f;--sk-shade: #26262b}:root[data-theme=dark] [data-skill-palette=tide]{--sk-lo: #1f6f8b;--sk-mid: #35b8dc;--sk-hi: #b9f0ff;--sk-glow: rgba(53, 184, 220, .27);--sk-fresh: #35b8dc;--sk-soon: #ffc857;--sk-due: #ff5d8f;--sk-shade: #1c2a33}:root[data-theme=dark] [data-skill-palette=aurora]{--sk-lo: #5747b8;--sk-mid: #9a85ff;--sk-hi: #e2dbff;--sk-glow: rgba(154, 133, 255, .3);--sk-fresh: #5eead4;--sk-soon: #a78bfa;--sk-due: #f472b6;--sk-shade: #25213d}:root[data-theme=dark] [data-skill-palette=moonlight]{--sk-lo: #5a6480;--sk-mid: #aeb9d6;--sk-hi: #f3f6ff;--sk-glow: rgba(190, 205, 240, .26);--sk-fresh: #f3f6ff;--sk-soon: #c9d2ea;--sk-due: #ff9a76;--sk-shade: #272b38}:root[data-theme=dark] [data-skill-palette=dawn]{--sk-lo: #8a4a63;--sk-mid: #ff8fab;--sk-hi: #ffe2a8;--sk-glow: rgba(255, 160, 150, .28);--sk-fresh: #ffe2a8;--sk-soon: #ff8fab;--sk-due: #ff5d8f;--sk-shade: #2e2228}:root[data-theme-switching] *,:root[data-theme-switching] *:before,:root[data-theme-switching] *:after{transition:none!important}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]){--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}}:root[data-motion=reduced]{--dur-fast: 1ms;--dur: 1ms;--dur-slow: 1ms}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) *:before,:root:not([data-motion=full]) *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}body.app-body{background:var(--app-bg)}body.nav-locked{overflow:hidden}.app-scope{background:var(--app-bg);color:var(--app-text);font-family:var(--font-body);font-size:var(--fs-md);min-height:100vh;min-height:100dvh}.app-scope h1,.app-scope h2,.app-scope h3,.app-scope h4{font-family:var(--font-heading);color:var(--app-text);line-height:1.2}.app-scope :focus-visible{outline:2px solid var(--app-focus-ring);outline-offset:2px;border-radius:var(--r-sm)}.app-scope :focus:not(:focus-visible){outline:none}.app-scope .tabular{font-variant-numeric:tabular-nums}.app-scope .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-scope .label{font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--app-text-mute)}.app-scope *{scrollbar-width:thin;scrollbar-color:var(--app-border-strong) transparent}.app-scope *::-webkit-scrollbar{width:10px;height:10px}.app-scope *::-webkit-scrollbar-track{background:transparent}.app-scope *::-webkit-scrollbar-thumb{background:var(--app-border-strong);border-radius:var(--r-full);border:3px solid transparent;background-clip:content-box}.app-scope .skip-link{position:absolute;left:var(--sp-4);top:var(--sp-4);z-index:300;padding:var(--sp-2) var(--sp-4);background:var(--app-surface-raised);color:var(--app-text);border:1px solid var(--app-border);border-radius:var(--r-md);transform:translateY(-200%);transition:transform var(--dur) var(--ease-out)}.app-scope .skip-link:focus{transform:translateY(0)}.app-skeleton{display:block;position:relative;overflow:hidden;background:var(--skeleton-base)}.app-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--skeleton-sheen),transparent);animation:app-shimmer 1.35s var(--ease-out) infinite}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) .app-skeleton:after{display:none}}:root[data-motion=reduced] .app-skeleton:after{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes app-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes app-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes app-spin{to{transform:rotate(360deg)}}.app-scope .katex{color:var(--math-ink);font-size:1.05em}.app-scope .katex-display{margin:var(--sp-4) 0;overflow-x:auto;overflow-y:hidden}:root[data-text=sm]{--fs-2xs: .625rem;--fs-xs: .6875rem;--fs-sm: .75rem;--fs-md: .875rem;--fs-lg: 1rem;--fs-xl: 1.1875rem;--fs-2xl: 1.5rem;--fs-3xl: 2rem}:root[data-text=lg]{--fs-2xs: .75rem;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.1875rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.5rem}@media(max-width:640px){:root{--ill-text-vw: 1.45}}
