@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-vietnamese-wght-normal.4a0fb5cd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-ext-wght-normal.5fecc5e6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(../media/space-grotesk-latin-wght-normal.43410083.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(../media/atkinson-hyperlegible-latin-ext-400-normal.919ada84.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-ext-400-normal.16c772d7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(../media/atkinson-hyperlegible-latin-400-normal.06001f43.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-400-normal.053251c7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(../media/atkinson-hyperlegible-latin-ext-700-normal.2f4b6bcb.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-ext-700-normal.c3314b92.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(../media/atkinson-hyperlegible-latin-700-normal.3a47e141.woff2)format("woff2"),url(../media/atkinson-hyperlegible-latin-700-normal.e9e5b3a2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.472863ba.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.e44713e8.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.d0101253.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.e4e4d6ce.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.ee78a2d9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.d8252392.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.36df61f8.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.ce445492.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.e1d6b3bf.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.73d9f091.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#06060e;--surface:#12121d;--ink:#f0f0f5;--muted:#aab0c2;--accent:#a78bfa;--accent-ink:#fff;--accent-gradient:linear-gradient(135deg,#3b82f6,#8b5cf6,#06b6d4);--gold:#ffc94d;--gold-press:#c7921c;--gold-ink:#1a1400;--gold-soft:#ffc94d21;--gold-glow:#ffc94d4d;--space-panel:#0a0a18;--honey:#fbbf24;--encourage:#22d3ee;--success:#34d399;--success-press:#1f7a54;--warning:#fbbf24;--error:#f87171;--error-press:#b0322e;--error-glow:#f8717147;--border:#26263a;--font-display:"Space Grotesk Variable","Inter",system-ui,sans-serif;--font-body:"Atkinson Hyperlegible",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-pill:999px;--shadow-soft:0 1px 2px #0006,0 8px 28px #00000073;--shell-max:clamp(1080px,92vw,1760px);--success-soft:#11261d;--error-soft:#2a1414;--accent-soft:#1b1830;--z-dropdown:50;--field-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23AAB0C2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}:root[data-theme=light]{--paper:#f6f7fb;--surface:#fff;--ink:#14141f;--muted:#565a6e;--accent:#6d28d9;--accent-ink:#fff;--gold:#ffc94d;--gold-press:#d9a52e;--gold-ink:#1a1400;--gold-soft:#fff4d6;--gold-glow:#d9a52e4d;--honey:#b45309;--encourage:#0891b2;--success:#1f8a5b;--success-press:#14603c;--warning:#b45309;--error:#c0392b;--error-press:#92271b;--error-glow:#c0392b3d;--border:#e4e6f0;--shadow-soft:0 1px 2px #1414280d,0 8px 24px #14142814;--success-soft:#e7f3ec;--error-soft:#fbeae8;--accent-soft:#efeafe;--field-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23565A6E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{font-size:16px}html[data-display=comfortable]{font-size:18px}html[data-display=large]{font-size:20px}html[data-display=xlarge]{font-size:22px}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.2}code,pre,.mono{font-family:var(--font-mono)}a{color:var(--accent)}.eyebrow{font-family:var(--font-display);color:var(--accent);margin:0;font-size:17px;font-weight:600}@supports ((-webkit-background-clip:text) or (background-clip:text)){:root:not([data-theme=light]) .eyebrow{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.btn-primary{justify-content:center;align-items:center;gap:var(--sp-xs);min-height:48px;padding:0 var(--sp-xl);background:var(--gold);color:var(--gold-ink);border-radius:var(--radius-pill);box-shadow:0 4px 0 var(--gold-press),0 6px 16px #ffc94d2e;font:inherit;cursor:pointer;border:none;font-weight:700;text-decoration:none;transition:filter .12s ease-out,box-shadow .12s ease-out,transform .12s ease-out;display:inline-flex}.btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:0 6px 0 var(--gold-press),0 12px 24px var(--gold-glow);transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:0 1px 0 var(--gold-press),0 2px 8px #ffc94d26;transform:translateY(3px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{justify-content:center;align-items:center;gap:var(--sp-xs);min-height:48px;padding:0 var(--sp-lg);background:var(--surface);color:var(--ink);border:1.5px solid var(--border);border-radius:var(--radius-pill);font:inherit;cursor:pointer;box-shadow:0 2px 0 var(--border);font-weight:600;text-decoration:none;transition:border-color .12s ease-out,background .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--gold);background:var(--gold-soft);box-shadow:0 4px 0 var(--gold-press),0 8px 18px var(--gold-glow);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){box-shadow:0 1px 0 var(--gold-press);transform:translateY(2px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{justify-content:center;align-items:center;gap:var(--sp-xs);min-height:48px;padding:0 var(--sp-lg);background:var(--surface);color:var(--error);border:1.5px solid var(--border);border-radius:var(--radius-pill);font:inherit;cursor:pointer;box-shadow:0 2px 0 var(--border);font-weight:600;text-decoration:none;transition:border-color .12s ease-out,background .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:inline-flex}.btn-danger:hover:not(:disabled){border-color:var(--error);background:var(--error-soft);box-shadow:0 4px 0 var(--error-press),0 8px 18px var(--error-glow);transform:translateY(-2px)}.btn-danger:active:not(:disabled){box-shadow:0 1px 0 var(--error-press);transform:translateY(2px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.icon-danger{justify-content:center;align-items:center;gap:var(--sp-xs);min-width:44px;min-height:44px;padding:0 var(--sp-xs);background:var(--surface);color:var(--error);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 2px 0 var(--border);font:inherit;cursor:pointer;transition:border-color .12s ease-out,background .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:inline-flex}.icon-danger:hover:not(:disabled){border-color:var(--error);background:var(--error-soft);box-shadow:0 4px 0 var(--error-press),0 8px 18px var(--error-glow);transform:translateY(-2px)}.icon-danger:active:not(:disabled){box-shadow:0 1px 0 var(--error-press);transform:translateY(2px)}.icon-danger:disabled{opacity:.5;cursor:not-allowed}.btn-icon{justify-content:center;align-items:center;gap:var(--sp-xs);min-width:44px;min-height:44px;padding:0 var(--sp-xs);background:var(--surface);color:var(--ink);border:1.5px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 2px 0 var(--border);font:inherit;cursor:pointer;transition:border-color .12s ease-out,background .12s ease-out,transform .12s ease-out,box-shadow .12s ease-out;display:inline-flex}.btn-icon:hover:not(:disabled){border-color:var(--gold);background:var(--gold-soft);box-shadow:0 4px 0 var(--gold-press),0 8px 18px var(--gold-glow);transform:translateY(-2px)}.btn-icon:active:not(:disabled){box-shadow:0 1px 0 var(--gold-press);transform:translateY(2px)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 2px 0 var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 0 var(--border),var(--shadow-soft);padding:var(--sp-lg)}a.card,button.card{transition:transform .12s ease-out,border-color .12s ease-out,box-shadow .12s ease-out;display:block}a.card:hover,a.card:focus-visible,button.card:hover:not(:disabled),button.card:focus-visible:not(:disabled){border-color:var(--gold);box-shadow:0 4px 0 var(--gold-press),0 8px 18px var(--gold-glow);transform:translateY(-2px)}.card.is-linked{transition:transform .12s ease-out,border-color .12s ease-out,box-shadow .12s ease-out}.card.is-linked:hover,.card.is-linked:focus-within{border-color:var(--gold);box-shadow:0 4px 0 var(--gold-press),0 8px 18px var(--gold-glow);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){a.card,button.card,.card.is-linked{transition:none}a.card:hover,a.card:focus-visible,button.card:hover:not(:disabled),button.card:focus-visible:not(:disabled),.card.is-linked:hover,.card.is-linked:focus-within{transform:none}}.option{text-align:left;width:100%;min-height:48px;padding:var(--sp-sm)var(--sp-md);background:var(--surface);color:var(--ink);border:1.5px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 0 var(--border);font:inherit;cursor:pointer;transition:border-color .12s ease-out,background .12s ease-out,box-shadow .12s ease-out,transform .12s ease-out;display:block}.option:hover:not(:disabled):not(.is-correct):not(.is-wrong):not(.is-selected){border-color:var(--gold);box-shadow:0 3px 0 var(--gold-press),0 6px 14px var(--gold-glow);transform:translateY(-1px)}.option:disabled{cursor:default}.option.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 2px 0 var(--accent)}.option.is-correct{border-color:var(--success);background:var(--success-soft);box-shadow:0 2px 0 var(--success)}.option.is-wrong{border-color:var(--error);background:var(--error-soft);box-shadow:0 2px 0 var(--error)}.option.is-muted{opacity:.6}.reorder-btn{min-height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0 2px;transition:color .12s ease-out;display:inline-flex}.reorder-btn:hover:not(:disabled),.reorder-btn:focus-visible{color:var(--accent)}.reorder-btn:disabled{opacity:.35;cursor:default}.menu-item{text-align:left;border-radius:var(--radius-sm);width:100%;padding:var(--sp-xs)var(--sp-sm);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;transition:background .12s ease-out,color .12s ease-out;display:block}.menu-item:hover,.menu-item:focus-visible{background:var(--accent-soft);color:var(--accent)}.pop-menu{z-index:var(--z-dropdown);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);transform-origin:0 0;animation:.14s cubic-bezier(.22,1,.36,1) pop-menu}.pop-menu--end{transform-origin:100% 0}@keyframes pop-menu{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.text-link{color:var(--accent);text-underline-offset:3px;cursor:pointer;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .12s ease-out}.text-link:hover,.text-link:focus-visible{text-decoration-color:currentColor}.brand-link{transition:opacity .12s ease-out}.brand-link:hover,.brand-link:focus-visible{opacity:.82}.video-play{justify-content:center;align-items:center;gap:var(--sp-sm);background:var(--ink);width:100%;height:100%;color:var(--paper);cursor:pointer;border:none;flex-direction:column;display:flex;position:absolute;inset:0}.video-play-ring{transition:transform .12s ease-out,filter .12s ease-out}.video-play:hover .video-play-ring,.video-play:focus-visible .video-play-ring{filter:brightness(1.08);transform:scale(1.08)}@media (prefers-reduced-motion:reduce){.video-play:hover .video-play-ring,.video-play:focus-visible .video-play-ring{filter:none;transform:none}}.feedback{margin-top:var(--sp-sm);padding:var(--sp-sm)var(--sp-md);border-radius:var(--radius-md);border:1px solid var(--border)}.feedback.is-correct{background:var(--success-soft);border-color:var(--success)}.feedback.is-wrong{background:var(--error-soft);border-color:var(--error)}.field{width:100%;padding:var(--sp-sm)var(--sp-md);background:var(--surface);color:var(--ink);border:1.5px solid var(--border);border-radius:var(--radius-sm);font:inherit;transition:border-color .12s ease-out}.field:focus{border-color:var(--accent)}textarea.field{font-family:var(--font-mono);resize:vertical;line-height:1.5}select.field{appearance:none;padding-right:calc(var(--sp-md) + 20px);background-image:var(--field-caret);background-repeat:no-repeat;background-position:right var(--sp-md)center;cursor:pointer;background-size:16px}.admin-shell{max-width:800px;padding:var(--sp-2xl)var(--sp-lg);margin:0 auto}.admin-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-md);flex-wrap:wrap;display:flex}.admin-head h1{margin:var(--sp-xs)0 0}.org-card{justify-content:space-between;align-items:center;gap:var(--sp-md);padding:var(--sp-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 0 var(--border),var(--shadow-soft);color:var(--ink);text-decoration:none;transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out;display:flex;position:relative;overflow:hidden}.org-card:before{content:"";background:var(--accent-gradient);opacity:0;width:4px;transition:opacity .18s ease-out;position:absolute;top:0;bottom:0;left:0}.org-card:hover,.org-card:focus-visible{border-color:var(--accent);box-shadow:0 4px 0 var(--border),var(--shadow-soft);transform:translateY(-2px)}.org-card:hover:before,.org-card:focus-visible:before{opacity:1}.org-arrow{color:var(--accent);white-space:nowrap;transition:transform .18s ease-out}.org-card:hover .org-arrow{transform:translate(3px)}.stat-chip{align-items:center;gap:var(--sp-xs);font-family:var(--font-body);color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 12px;font-size:13px;display:inline-flex}.stat-chip.is-success{color:var(--success);background:var(--success-soft);border-color:var(--success)}.stat-chip.is-accent{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.subcard{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-md)}.tree-rail{border-left:2px solid var(--border);padding-left:var(--sp-md)}@media (prefers-reduced-motion:reduce){.org-card,.org-arrow{transition:none}.org-card:hover,.org-card:focus-visible,.org-card:hover .org-arrow{transform:none}}.filter-bar{gap:var(--sp-md);padding:var(--sp-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.filter-search{align-items:center;display:flex;position:relative}.filter-search>svg{left:var(--sp-sm);color:var(--muted);pointer-events:none;position:absolute}.filter-search .field{padding-left:44px}.filter-group{align-items:center;gap:var(--sp-xs);flex-wrap:wrap;display:flex}.filter-group-label{align-items:center;gap:var(--sp-xs);color:var(--muted);margin-right:var(--sp-xs);font-size:14px;display:inline-flex}.filter-chip{align-items:center;gap:var(--sp-xs);min-height:44px;padding:0 var(--sp-md);background:var(--surface);color:var(--ink);border:1.5px solid var(--border);border-radius:var(--radius-pill);box-shadow:0 2px 0 var(--border);font:inherit;cursor:pointer;font-size:15px;transition:border-color .12s ease-out,background .12s ease-out,box-shadow .12s ease-out,transform .12s ease-out;display:inline-flex}.filter-chip:hover{border-color:var(--gold);box-shadow:0 3px 0 var(--gold-press),0 6px 14px var(--gold-glow);transform:translateY(-1px)}.filter-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 2px 0 var(--accent);font-weight:700;transform:none}.dir-org-head{align-items:center;gap:var(--sp-sm);padding-bottom:var(--sp-sm);margin-bottom:var(--sp-md);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.dir-program-head{align-items:baseline;gap:var(--sp-sm);margin-bottom:var(--sp-md);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){.filter-chip{transition:none}}.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}.auth-split{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.auth-brand{color:#fff;padding:clamp(var(--sp-xl),5vw,88px);background:linear-gradient(135deg,#1e1b4b 0%,#0c0a1f 45%,#0a1628 100%);align-items:center;display:flex}.auth-panel{padding:clamp(var(--sp-xl),5vw,72px)var(--sp-lg);justify-content:center;align-items:center;display:flex}@media (max-width:820px){.auth-split{grid-template-columns:1fr}.auth-brand{display:none}}.video-frame{aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--ink);width:100%;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.navlink{color:var(--ink);white-space:nowrap;padding:var(--sp-xs)var(--sp-sm);border-radius:var(--radius-sm);font-weight:600;text-decoration:none;transition:background .12s ease-out,color .12s ease-out}.navlink:hover{background:var(--accent-soft);color:var(--accent)}.navlink[aria-current=page]{color:var(--accent)}.tabnav{gap:var(--sp-2xs,4px)var(--sp-xs);border-bottom:1px solid var(--border);margin-bottom:var(--sp-lg);flex-wrap:wrap;display:flex}.tab{min-height:44px;padding:0 var(--sp-md);color:var(--muted);border:none;border-bottom:3px solid #0000;align-items:center;margin-bottom:-1px;font-weight:600;text-decoration:none;transition:color .12s ease-out,border-color .12s ease-out;display:inline-flex}.tab:hover{color:var(--ink)}.tab[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.subtabnav{gap:var(--sp-2xs,4px);padding:var(--sp-2xs,4px);margin-bottom:var(--sp-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);flex-wrap:wrap;display:inline-flex}.subtab{min-height:44px;padding:0 var(--sp-md);border-radius:var(--radius-pill);color:var(--muted);border:1px solid #0000;align-items:center;font-weight:600;text-decoration:none;transition:color .12s ease-out,background-color .12s ease-out,border-color .12s ease-out;display:inline-flex}.subtab:hover{color:var(--ink)}.subtab[aria-current=page]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.mode-toggle{gap:var(--sp-2xs,4px);padding:var(--sp-2xs,4px);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-pill);display:inline-flex}.mode-opt{min-height:40px;padding:0 var(--sp-md);border-radius:var(--radius-pill);color:var(--muted);border:1px solid #0000;align-items:center;font-weight:600;text-decoration:none;transition:color .12s ease-out,background-color .12s ease-out,border-color .12s ease-out;display:inline-flex}.mode-opt:hover{color:var(--ink)}.mode-opt[aria-current=page]{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.teach-subnav{align-items:center;gap:var(--sp-2xs,4px)var(--sp-sm);flex-wrap:wrap;display:inline-flex}.modal{width:100%;max-width:100vw;height:100%;max-height:100vh;padding:var(--sp-lg);background:0 0;border:none;margin:0;position:fixed;inset:0}.modal[open]{justify-content:center;align-items:center;display:flex}.modal::backdrop{background:#04040aa6}.modal-card{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);width:100%;max-width:720px;max-height:90vh;padding:var(--sp-xl);overflow-y:auto}.author-shell{max-width:var(--shell-max);padding:0 var(--sp-xl)var(--sp-2xl);margin:0 auto}.author-grid{gap:var(--sp-xl);margin-top:var(--sp-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.author-preview{max-height:calc(100vh - 96px);position:sticky;top:80px;overflow-y:auto}.author-type-card{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}@media (max-width:1080px){.author-grid{grid-template-columns:1fr}.author-preview{max-height:none;position:static}}.lesson-accordion-toggle{align-items:center;gap:var(--sp-sm);text-align:left;cursor:pointer;min-width:0;min-height:44px;color:var(--ink);background:0 0;border:none;flex:1;padding:0;display:flex}.lesson-accordion-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.lesson-accordion-toggle:hover .lesson-accordion-title{color:var(--accent)}.lesson-accordion-title{min-width:0;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:24px;transition:color .12s ease-out;overflow:hidden}.lesson-accordion-count{color:var(--muted);flex-shrink:0;font-size:15px}.lesson-accordion-chevron{flex-shrink:0;transition:transform .18s ease-in-out}.lesson-accordion-toggle[aria-expanded=true] .lesson-accordion-chevron{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.lesson-accordion-chevron{transition:none}}.learn-shell{max-width:var(--shell-max);padding:var(--sp-lg)var(--sp-xl)var(--sp-2xl);gap:var(--sp-xl);grid-template-columns:264px minmax(0,768px);justify-content:center;align-items:start;margin:0 auto;display:grid}.lesson-nav{position:sticky;top:80px}.lesson-nav-title{font-family:var(--font-display);margin:0 0 var(--sp-sm);font-size:18px;font-weight:600}.lesson-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.lesson-link{gap:var(--sp-xs);min-height:40px;padding:var(--sp-xs)var(--sp-sm);border-radius:var(--radius-sm);color:var(--ink);align-items:center;text-decoration:none;transition:background .12s ease-out,color .12s ease-out;display:flex}.lesson-link:hover{background:var(--accent-soft)}.lesson-link[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}@media (max-width:900px){.learn-shell{gap:var(--sp-lg);padding-left:var(--sp-md);padding-right:var(--sp-md);grid-template-columns:1fr}.lesson-nav{position:static}}.card-grid{gap:var(--sp-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.deck-stage{border:1px solid var(--border);border-radius:var(--radius-md);background:#0b0b17;overflow:hidden}.deck-shape{aspect-ratio:16/9;position:relative;overflow:hidden}.deck-frame{transform-origin:0 0;background:radial-gradient(120% 120% at 0 0,#101021 0%,#0b0b17 55%);outline:none;flex-direction:column;justify-content:center;width:1280px;height:720px;padding:51px 90px;display:flex;position:absolute;top:0;left:0}.deck-stage:fullscreen{background:#06060e;border:none;border-radius:0;justify-content:center;align-items:center;display:flex}.deck-stage:fullscreen .deck-shape{width:min(100vw,177.778dvh)}@media (prefers-reduced-motion:no-preference){.deck-anim{animation:.24s ease-out both deck-rise}}@keyframes deck-rise{0%{opacity:0;transform:translateY(14px)}}.disclosure-btn{align-items:center;gap:var(--sp-xs);text-align:left;border:none;border-bottom:1px solid var(--border);width:100%;padding:var(--sp-sm)0;cursor:pointer;color:var(--ink);font:inherit;font-family:var(--font-display);background:0 0;font-size:1.05em;font-weight:600;display:flex}.disclosure-btn:hover{color:var(--accent)}.disclosure-chevron{transition:transform .18s ease-out}.disclosure-chevron.is-open{transform:rotate(0)}.disclosure-chevron.is-closed{transform:rotate(-90deg)}.lp-track{border-radius:var(--radius-pill);background:var(--border);height:10px;overflow:hidden}.lp-fill{border-radius:var(--radius-pill);background:var(--gold);height:100%;transition:width .28s ease-out}.lp-segs{gap:6px;display:flex}.lp-seg{border-radius:var(--radius-pill);background:var(--border);flex:1 1 0;min-width:0;height:10px;overflow:hidden}.lp-seg-fill{border-radius:var(--radius-pill);height:100%;transition:width .28s ease-out}.lp-seg-fill.is-complete{background:var(--gold)}.lp-seg-fill.is-partial{background:var(--accent)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.18s ease-out fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toast-viewport{bottom:var(--sp-lg);right:var(--sp-lg);z-index:1000;gap:var(--sp-sm);max-width:min(380px,calc(100vw - 2*var(--sp-lg)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--sp-sm);padding:var(--sp-sm)var(--sp-md);background:var(--surface);color:var(--ink);border:1.5px solid var(--toast-edge,var(--border));border-radius:var(--radius-md);box-shadow:0 4px 0 var(--toast-edge,var(--border)),0 8px 22px #00000047;animation:.32s cubic-bezier(.22,1,.36,1) both toast-in;display:flex}.toast--leaving{pointer-events:none;animation:.22s cubic-bezier(.4,0,1,1) both toast-out}.toast--success{--toast-edge:var(--success-press)}.toast--error{--toast-edge:var(--error-press)}.toast--info{--toast-edge:var(--gold-press)}.toast-icon{flex-shrink:0;margin-top:2px}.toast--success .toast-icon{color:var(--success)}.toast--error .toast-icon{color:var(--error)}.toast--info .toast-icon{color:var(--gold)}.toast-message{flex:1;margin:0;font-size:16px;line-height:1.4}.toast-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast-close:hover{background:var(--gold-soft);color:var(--ink)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.96)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
