@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Baloo2-latin.woff2)format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Manrope-latin.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceMono-400-latin.woff2)format("woff2")}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SpaceMono-700-latin.woff2)format("woff2")}:root{--bg:#fbfaf6;--bg-glow:radial-gradient(120% 90% at 50% -10%, #eaf3ff 0%, #fbfaf6 55%, #f6f3ec 100%);--panel:linear-gradient(158deg, #fff 0%, #fdfcf8 100%);--panel-deep:#fff;--card:#fff;--header-bg:#ffffffeb;--gold:#4a8fe8;--gold-bright:#63a7ff;--gold-dark:#3374cc;--gold-deep:#2d66b5;--gold-kicker:#8fa9cf;--cream:#eaf3ff;--ink:#33323b;--ink-title:#26252e;--ink-body:#64626d;--ink-muted:#6e6c77;--ink-faint:#74727d;--ink-fine:#878590;--ink-ghost:#908e99;--acc-gold:#f5a623;--acc-coral:#ff7a59;--acc-mint:#2fbd8f;--acc-sky:#4a9eff;--acc-pink:#f06bb3;--acc-lavender:#9b7bf0;--hairline:#505a821f;--border:#505a8238;--shadow-card:0 1px 3px #282d500f, 0 6px 18px -8px #282d501a;--shadow-hover:0 10px 30px -10px #282d502e;--font-display:"Baloo 2", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace}::selection{color:var(--ink-title);background:#4a8fe838}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--ink-ghost)}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes slowspin{0%{transform:rotate(45deg)}to{transform:rotate(405deg)}}@keyframes floaty{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14px)rotate(9deg)}}@keyframes ctaPulse{0%,to{box-shadow:0 8px 22px -10px #4a8fe880}50%{box-shadow:0 8px 30px -8px #4a8fe8bf}}@keyframes enterUp{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.82)translateY(10px)}60%{opacity:1;transform:scale(1.04)translateY(0)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes swoopIn{0%{opacity:0;transform:translateY(26px) rotate(var(--rot,0deg)) scale(.94)}to{opacity:1;transform:translateY(0) rotate(var(--rot,0deg)) scale(1)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glowPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes sheen{0%{transform:translate(-120%)skew(-18deg)}to{transform:translate(320%)skew(-18deg)}}@keyframes tick{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.reveal-ready [data-reveal]{opacity:0;transition:opacity .65s cubic-bezier(.22,.68,.24,1),transform .65s cubic-bezier(.22,.68,.24,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(22px)}.reveal-ready [data-reveal].is-revealed{opacity:1;transform:none}.reveal-ready [data-reveal=left]{transform:translate(-26px)}.reveal-ready [data-reveal=right]{transform:translate(26px)}.reveal-ready [data-reveal=zoom]{transform:scale(.92)}.reveal-ready [data-reveal=left].is-revealed,.reveal-ready [data-reveal=right].is-revealed,.reveal-ready [data-reveal=zoom].is-revealed{transform:none}.sheen{isolation:isolate;position:relative;overflow:hidden}.sheen:after{content:"";z-index:1;pointer-events:none;opacity:0;background:linear-gradient(100deg,#0000 0%,#ffffff8c 50%,#0000 100%);width:45%;position:absolute;inset:0 auto 0 0;transform:translate(-120%)skew(-18deg)}.sheen:hover:after,.sheen:focus-visible:after{opacity:1;animation:.85s cubic-bezier(.3,.7,.3,1) sheen}.link-sweep{text-decoration:none;position:relative}.link-sweep:after{content:"";transform-origin:100%;background:currentColor;border-radius:2px;height:2px;transition:transform .32s cubic-bezier(.22,.68,.24,1);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.link-sweep:hover:after,.link-sweep:focus-visible:after{transform-origin:0;transform:scaleX(1)}.press{transition:transform .14s cubic-bezier(.34,1.56,.64,1)}.press:active{transform:scale(.96)}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}@view-transition{navigation:auto}@keyframes fadeOutSoft{to{opacity:0;transform:translateY(-6px)}}@keyframes fadeUpSoft{0%{opacity:0;transform:translateY(10px)}}.brand .logo{view-transition-name:stu-logo}html{scroll-behavior:smooth}:where(button,.btn,.btn-gold,.btn-ghost,[role=button],a.tile,a.soul,a.play,a.poster):not(.no-juice){will-change:transform;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .22s cubic-bezier(.22,.68,.24,1),filter .22s}:where(button,.btn,.btn-gold,.btn-ghost,[role=button]):not(.no-juice):active{transition-duration:70ms;transform:scale(.94)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)scale(.994)}to{opacity:1;transform:none}}@keyframes pageOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)scale(.995)}}.vt-no body{animation:.5s cubic-bezier(.16,.84,.3,1) both pageIn}.vt-no body.page-leaving{animation:.26s cubic-bezier(.4,0,1,1) both pageOut}::view-transition-old(root){animation:.24s cubic-bezier(.4,0,1,1) both pageOut}::view-transition-new(root){animation:.42s cubic-bezier(.16,.84,.3,1) both pageIn}.btn-gold{color:#fff;font-family:var(--font-display);letter-spacing:.01em;cursor:pointer;background:linear-gradient(#63a7ff,#4a8fe8);border:none;border-radius:999px;padding:13px 28px;font-size:16px;font-weight:600;transition:transform .15s,box-shadow .15s,filter .2s;box-shadow:0 4px #3374cc,0 8px 20px -8px #4a8fe880}.btn-gold:hover{filter:brightness(1.05);transform:translateY(-2px)}.btn-gold:active{transform:translateY(2px);box-shadow:0 2px #3374cc,0 4px 10px -6px #4a8fe880}.kicker{font-family:var(--font-mono);letter-spacing:.24em;color:var(--ink-faint);text-transform:uppercase;font-size:10.5px}.fold{border:1px solid var(--hairline);background:var(--panel);border-radius:14px;transition:border-color .22s,box-shadow .22s;overflow:hidden}.fold+.fold{margin-top:8px}.fold:hover{border-color:color-mix(in srgb, var(--gold) 45%, transparent)}.fold[open]{border-color:color-mix(in srgb, var(--gold) 55%, transparent);box-shadow:var(--shadow-card)}.fold>summary{cursor:pointer;user-select:none;font-family:var(--font-display);align-items:center;gap:11px;padding:13px 15px;list-style:none;display:flex}.fold>summary::-webkit-details-marker{display:none}.fold>summary::marker{content:""}.fold-emoji{flex:none;font-size:1.35rem;line-height:1}.fold-name{color:var(--ink-title);font-size:15px;font-weight:700}.fold-hint{font-family:var(--font-body);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:400;overflow:hidden}.fold-tail{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.fold>summary:after{content:"▾";color:var(--ink-ghost);flex:none;margin-left:auto;font-size:13px;transition:transform .25s cubic-bezier(.34,1.56,.64,1),color .2s}.fold>summary:has(.fold-tail):after{margin-left:0}.fold[open]>summary:after{color:var(--gold);transform:rotate(180deg)}.fold>summary:hover:after{color:var(--gold)}.fold-body{padding:0 15px 14px;animation:.3s cubic-bezier(.16,.84,.3,1) foldOpen}@keyframes foldOpen{0%{transform:translateY(-7px)}to{transform:none}}.fold.fold-quiet{background:0 0;border-style:dashed}.fold.fold-quiet>summary{color:var(--ink-muted);padding:10px 12px;font-size:13px}.fold.fold-quiet .fold-name{color:var(--ink-muted);font-size:13px;font-weight:600}.fold.fold-quiet .fold-body{padding:0 12px 12px}@media (width<=480px){.fold-hint{display:none}}[data-theme=midnight]{--bg:#14161d;--bg-glow:radial-gradient(120% 90% at 50% -10%, #1d2331 0%, #14161d 55%, #101218 100%);--panel:linear-gradient(158deg, #1c1f29 0%, #181b24 100%);--panel-deep:#1b1e27;--card:#1b1e27;--header-bg:#14161deb;--gold:#63a7ff;--gold-bright:#8bc0ff;--gold-dark:#4a8fe8;--gold-deep:#3374cc;--gold-kicker:#7d8aa6;--cream:#23293a;--ink:#edecf3;--ink-title:#f8f7fb;--ink-body:#c2c0cd;--ink-muted:#b0aebc;--ink-faint:#a2a0ae;--ink-fine:#8b8996;--ink-ghost:#7d7b88;--acc-gold:#ffc046;--acc-coral:#ff9576;--acc-mint:#4fd6a8;--acc-sky:#6fb2ff;--acc-pink:#ff8ac7;--acc-lavender:#b79bff;--hairline:#becdff1a;--border:#becdff2e;--shadow-card:0 1px 0 #ffffff0a inset, 0 8px 22px -12px #000000bf;--shadow-hover:0 1px 0 #ffffff0f inset, 0 16px 36px -14px #000000d9}[data-theme=gilded]{--bg:#100f0c;--bg-glow:radial-gradient(120% 90% at 50% -10%, #22201a 0%, #100f0c 55%, #0b0a08 100%);--panel:linear-gradient(158deg, #1a1814 0%, #15130f 100%);--panel-deep:#17150f;--card:#17150f;--header-bg:#100f0ced;--gold:#d4a24c;--gold-bright:#efc172;--gold-dark:#b1832f;--gold-deep:#8d6722;--gold-kicker:#9a8a68;--cream:#2a2419;--ink:#f0ece1;--ink-title:#fbf8f0;--ink-body:#c8c2b2;--ink-muted:#b7b1a1;--ink-faint:#a9a393;--ink-fine:#918b7c;--ink-ghost:#837d6f;--acc-gold:#f0b73f;--acc-coral:#ff9068;--acc-mint:#52c99b;--acc-sky:#6aa9f0;--acc-pink:#ef82b6;--acc-lavender:#ab8ff0;--hairline:#f0dcaa1a;--border:#f0dcaa33;--shadow-card:0 1px 0 #ffebbe0d inset, 0 8px 22px -12px #000c;--shadow-hover:0 1px 0 #ffebbe14 inset, 0 16px 36px -14px #000000e6}[data-theme=orchard]{--bg:#f6faf4;--bg-glow:radial-gradient(120% 90% at 50% -10%, #e4f3e2 0%, #f6faf4 55%, #eff5ec 100%);--panel:linear-gradient(158deg, #fff 0%, #fafdf8 100%);--panel-deep:#fff;--card:#fff;--header-bg:#ffffffeb;--gold:#3f9d5c;--gold-bright:#57b876;--gold-dark:#2f7f47;--gold-deep:#266a3b;--gold-kicker:#8aa591;--cream:#e4f3e2;--ink:#2c342c;--ink-title:#1f261f;--ink-body:#5c665c;--ink-muted:#667066;--ink-faint:#697369;--ink-fine:#7d877d;--ink-ghost:#868f86;--acc-gold:#e5a021;--acc-coral:#f2704c;--acc-mint:#23a87c;--acc-sky:#3d8fe0;--acc-pink:#dd5fa1;--acc-lavender:#8a6ce0;--hairline:#3c64461f;--border:#3c644638;--shadow-card:0 1px 3px #1e3c280f, 0 6px 18px -8px #1e3c281a;--shadow-hover:0 10px 30px -10px #1e3c282e}.stu-dialog{max-width:min(440px,100vw - 32px);color:var(--ink);background:0 0;border:none;padding:0}.stu-dialog::backdrop{background:color-mix(in srgb, var(--ink-title) 55%, transparent);backdrop-filter:blur(2px);animation:.18s ease-out stuDialogFade}.stu-dialog form{background:var(--card);border:1.5px solid var(--border);box-shadow:var(--shadow-hover);border-radius:18px;padding:22px 22px 18px;animation:.2s cubic-bezier(.22,1.2,.36,1) stuDialogIn}.stu-dialog-title{font-family:var(--font-display);color:var(--ink-title);margin:0 0 8px;font-size:19px;font-weight:800;line-height:1.3}.stu-dialog-body{color:var(--ink-body);margin:0 0 4px;font-size:14.5px;line-height:1.6}.stu-dialog-input{width:100%;font:inherit;color:var(--ink-title);background:var(--panel-deep);border:1.5px solid var(--border);border-radius:10px;margin-top:14px;padding:10px 12px;font-size:15px}.stu-dialog-input:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent);outline:none}.stu-dialog-row{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.stu-dialog-btn{font-family:var(--font-display);border:1.5px solid var(--border);color:var(--ink-body);cursor:pointer;background:0 0;border-radius:10px;padding:9px 16px;font-size:14px;font-weight:700;transition:transform .14s,background .14s,border-color .14s}.stu-dialog-btn:hover{color:var(--ink-title);transform:translateY(-1px)}.stu-dialog-btn.primary{background:var(--gold);color:#fff;border-color:#0000}.stu-dialog-btn.primary:hover{background:var(--gold-bright);color:#fff}.stu-dialog-btn.danger{background:#e0567a}.stu-dialog-btn.danger:hover{background:#ea6b8b}.stu-dialog-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 30%, transparent);outline:none}@keyframes stuDialogIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@keyframes stuDialogFade{0%{opacity:0}to{opacity:1}}
