@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4f6667dd39116621-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07935285219a259d-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f58031ded4338640-s.390ncx5urfkfu.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/77814b00d5ca94a4-s.21jp631_3pja2.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/605ce01b664af129-s.p.0wgildi0cnwt9.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.wMpiTW_className{font-family:Geist,Geist Fallback;font-style:normal}.wMpiTW_variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0c6b664fd57c2c6-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6e342921ee4dcd9d-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bb852295097cd96-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9eb5a876700c0028-s.1uyisp29ctx0d.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2a04751c893bf294-s.1rgnod-3esatf.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/07a39a8a4660cc7c-s.p.0r6juujl39pe6.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0c6b664fd57c2c6-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6e342921ee4dcd9d-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bb852295097cd96-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9eb5a876700c0028-s.1uyisp29ctx0d.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2a04751c893bf294-s.1rgnod-3esatf.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/07a39a8a4660cc7c-s.p.0r6juujl39pe6.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.SF2KJa_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.SF2KJa_variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
html,body{margin:0}img{max-width:100%}.portfolio-root{display:contents}:root{--bg:#f1f3f8;--surface:#fff;--ink:#131a2e;--muted:#5a6378;--line:#dadfea;--accent:#4f46e5;--accent-soft:#e4e3ff;--warm:#f26b3a;--warm-deep:#c9512a;--warm-soft:#ffe7dc;--skin:#e5ae84;--hair:#26202e;--track:#f1f3f8e0;--shadow:0 22px 48px -28px #131a2e61;--f-display:var(--font-sans),"Avenir Next",system-ui,sans-serif;--f-body:var(--font-sans),"Segoe UI",system-ui,sans-serif;--f-mono:var(--font-mono),ui-monospace,Menlo,Consolas,monospace;--track-h:68px;--g1:#7c3aed;--g2:#2563eb;--g3:#0891b2;--grad:linear-gradient(110deg,var(--g1),var(--g2) 55%,var(--g3));--glass:color-mix(in srgb,var(--surface) 72%,transparent);--glow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),0 18px 60px -20px color-mix(in srgb,var(--g1) 55%,transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#07080d;--surface:#11131b;--ink:#eceef6;--muted:#979db0;--line:#22252f;--accent:#9d8cff;--accent-soft:#1d1a3a;--warm:#ff8455;--warm-deep:#d9643a;--warm-soft:#3a2219;--skin:#e2a97e;--hair:#0a0810;--track:#07080ddb;--shadow:0 22px 48px -26px #000c;--g1:#8b5cf6;--g2:#3b82f6;--g3:#22d3ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#07080d;--surface:#11131b;--ink:#eceef6;--muted:#979db0;--line:#22252f;--accent:#9d8cff;--accent-soft:#1d1a3a;--warm:#ff8455;--warm-deep:#d9643a;--warm-soft:#3a2219;--skin:#e2a97e;--hair:#0a0810;--track:#07080ddb;--shadow:0 22px 48px -26px #000c;--g1:#8b5cf6;--g2:#3b82f6;--g3:#22d3ee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:calc(var(--track-h) + 64px + env(safe-area-inset-bottom,0px));font-size:17px;line-height:1.6;overflow-x:hidden}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:40;background:var(--bg);position:fixed;inset:0 0 auto}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{max-width:1120px;margin-inline:auto}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;letter-spacing:-.02em;margin:0;line-height:1.05}h2{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:800}h3{letter-spacing:-.01em;font-size:1.3rem;font-weight:700}p{margin:0}.eyebrow{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;font-size:.78rem;display:flex}.eyebrow:before{content:"";background:currentColor;border-radius:2px;width:22px;height:2px}.lead{color:var(--muted);max-width:62ch;font-size:1.12rem}section{padding-block:clamp(72px,10vw,128px);scroll-margin-top:72px}.sec-head{gap:14px;margin-bottom:44px;display:grid}.nav{top:env(safe-area-inset-top,0px);z-index:30;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #0000;transition:border-color .3s;position:sticky}.nav.scrolled{border-bottom-color:var(--line)}.nav-in{align-items:center;gap:20px;height:64px;display:flex}.logo{font-family:var(--f-display);align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:flex}.logo i{background:var(--ink);width:30px;height:30px;color:var(--bg);border-radius:9px;place-items:center;font-size:.85rem;font-style:normal;display:grid}.nav-links{gap:4px;margin-left:auto;display:flex;position:relative}.nav-links a{color:var(--muted);border-radius:999px;padding:8px 12px;font-size:.92rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-links a:hover,.nav-links a.on{color:var(--ink)}.nav-pill{background:var(--surface);border:1px solid var(--line);opacity:0;pointer-events:none;border-radius:999px;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),opacity .3s;position:absolute;top:0;left:0}.nav-progress{background:var(--grad);transform-origin:0;height:2px;transform:scaleX(var(--p,0));pointer-events:none;position:absolute;bottom:-1px;left:0;right:0}.menu-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:38px;height:38px;padding:0;display:none}.menu-btn span{background:var(--ink);border-radius:2px;width:16px;height:1.5px;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:block}.menu-open .menu-btn span:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-open .menu-btn span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.menu-open{background:var(--bg)!important}.mobile-menu{gap:2px;max-width:1120px;margin-inline:auto;padding:8px 0 18px;display:grid}.mobile-menu[hidden]{display:none}.mobile-menu a{letter-spacing:-.02em;border-bottom:1px solid var(--line);padding:10px 4px;font-size:1.4rem;font-weight:600;text-decoration:none}@media (prefers-reduced-motion:no-preference){.mobile-menu a{animation:.45s cubic-bezier(.2,.8,.2,1) both rise;animation-delay:calc(var(--i) * 40ms)}}@media (max-width:820px){.menu-btn{display:flex}}@media (min-width:821px){.mobile-menu{display:none!important}}.resume-btn{background:var(--ink);color:var(--bg);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.88rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.resume-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.resume-btn svg{width:16px;height:16px}.theme-btn{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid}.theme-btn svg{width:18px;height:18px}@media (max-width:820px){.nav-links{display:none}.resume-btn{margin-left:auto}}.hero{padding-block:clamp(48px,8vw,96px) 72px;position:relative}#field{inset:0 calc(-1 * max(16px,env(safe-area-inset-left,0px)));width:calc(100% + 2 * max(16px,env(safe-area-inset-left,0px)));z-index:0;pointer-events:none;opacity:.9;height:100%;position:absolute}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:40px;display:grid;position:relative}.hero-grid>*{min-width:0}.hello-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:7px 14px 7px 8px;font-size:.9rem;font-weight:500;display:inline-flex}.dot-live{background:#22b07d;border-radius:50%;width:10px;height:10px;animation:2s infinite ping;box-shadow:0 0 #22b07d80}@keyframes ping{70%{box-shadow:0 0 0 10px #22b07d00}to{box-shadow:0 0 #22b07d00}}.hero h1{letter-spacing:-.045em;margin-top:24px;font-size:clamp(2.4rem,4.4vw,3.9rem);font-weight:700;line-height:1.02}.hero h1 .line{display:block}.wd{display:inline-block}.grad-line>span{background:var(--grad);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;padding-bottom:.06em;display:inline-block}.hero .lead strong{color:var(--ink);font-weight:600}.hero-aurora{inset:-10% calc(-1 * max(16px,env(safe-area-inset-left,0px))) 0;pointer-events:none;z-index:0;position:absolute;overflow:hidden}.hero-aurora i{filter:blur(90px);opacity:.28;border-radius:50%;width:46vmax;height:46vmax;position:absolute}.hero-aurora i:first-child{background:var(--g1);top:-14vmax;left:-12vmax}.hero-aurora i:nth-child(2){background:var(--g2);opacity:.22;top:-6vmax;right:-14vmax}.hero-aurora i:nth-child(3){background:var(--g3);opacity:.14;top:40%;left:35%}:root[data-theme=light] .hero-aurora i{opacity:.14}.hero-meta{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:26px;display:flex}.icon-link{border:1px solid var(--line);width:40px;height:40px;color:var(--muted);background:var(--glass);border-radius:12px;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.icon-link:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-2px)}.icon-link svg{width:18px;height:18px}.hero-sep{background:var(--line);width:1px;height:22px}.text-link{color:var(--muted);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s,background-size .3s}.text-link:hover{color:var(--ink);background-size:100% 1px}.btn-glow{box-shadow:0 10px 34px -12px color-mix(in srgb,var(--g1) 70%,transparent);background:var(--grad)!important;color:#fff!important;border-color:#0000!important}.btn-glow:hover{box-shadow:0 14px 44px -10px color-mix(in srgb,var(--g2) 80%,transparent)}.magnetic{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .2s}.hero-visual{display:grid;position:relative}.orb-wrap{aspect-ratio:1/.9;--mx:0;--my:0;margin:-20px -10px -130px;position:relative}#orb{width:100%;height:100%;position:absolute;inset:0}.orb-chip{left:var(--x);top:var(--y);font-family:var(--f-mono);background:var(--glass);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));-webkit-backdrop-filter:blur(8px);color:var(--ink);white-space:nowrap;transform:translate(calc(var(--mx) * (10px + var(--d) * 3px)),calc(var(--my) * (10px + var(--d) * 3px)));border-radius:999px;padding:5px 10px;font-size:.74rem;transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute}.hero-visual .trace{z-index:2;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);margin-inline:6%;position:relative}.scroll-cue{z-index:1;color:var(--muted);font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;margin:56px auto 0;font-size:.7rem;text-decoration:none;display:inline-flex;position:relative;left:50%;transform:translate(-50%)}.scroll-cue .mouse{border:1.5px solid;border-radius:12px;justify-items:center;width:22px;height:34px;padding-top:6px;display:grid}.scroll-cue .mouse i{background:var(--accent);border-radius:2px;width:3px;height:7px}@media (max-width:900px){.orb-wrap{justify-self:center;width:100%;max-width:460px;margin:0 0 -120px}.hero-visual .trace{margin-inline:0}}@media (max-width:600px){.orb-chip:nth-child(n+6){display:none}.orb-chip{left:clamp(0px,var(--x),calc(100% - 11ch))}.orb-wrap{margin-bottom:-90px}.hero-sep{display:none}}.role-line{font-family:var(--f-mono);color:var(--muted);min-height:1.6em;margin-top:22px;font-size:clamp(1rem,2vw,1.2rem)}.role-line b{color:var(--ink);font-weight:500}.caret{background:var(--warm);vertical-align:-.18em;width:.6ch;height:1.1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero .lead{margin-top:20px}.cta-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.btn{border:1px solid var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-family:inherit;font-size:.98rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.btn svg{width:16px;height:16px}.trace{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-family:var(--f-mono);border-radius:18px;font-size:.82rem;overflow:hidden}.trace-top{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:12px 16px;display:flex}.trace-top span{background:var(--line);border-radius:50%;width:10px;height:10px}.trace-top span:first-child{background:#f26b5e}.trace-top span:nth-child(2){background:#f2be4b}.trace-top span:nth-child(3){background:#47c27a}.trace-top em{text-overflow:ellipsis;white-space:nowrap;margin-left:8px;font-style:normal;overflow:hidden}.trace-body{gap:9px;padding:16px 18px 20px;display:grid}.tl{white-space:nowrap;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.tl .k{color:var(--accent);font-weight:500}.tl .v{text-overflow:ellipsis;color:var(--ink);overflow:hidden}.tl .t,.tl .tree{color:var(--muted)}.tl.root .k{color:var(--warm)}.tbar{background:var(--accent-soft);border-radius:4px;height:6px;margin:-2px 0 4px;overflow:hidden}.tbar i{background:var(--accent);transform-origin:0;border-radius:4px;height:100%;display:block}.trace-foot{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;padding:12px 18px;display:flex}.trace-foot b{color:#22a273;font-weight:500}@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}}.about-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:56px;display:grid}.about-grid>*{min-width:0}.about-text{gap:18px;font-size:1.08rem;display:grid}.about-text strong{background:linear-gradient(transparent 62%,var(--warm-soft) 62%);font-weight:600}.facts{background:var(--line);border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.fact{background:var(--surface);padding:22px}.fact dt{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.fact dd{margin:6px 0 0;font-size:1.02rem;font-weight:600}@media (max-width:820px){.about-grid{grid-template-columns:minmax(0,1fr)}}.jt{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:clamp(16px,3vw,32px)}.jt-axis{grid-template-columns:var(--label-w) 1fr;font-family:var(--f-mono);color:var(--muted);gap:18px;margin-bottom:10px;font-size:.74rem;display:grid}.jt{--label-w:220px}.axis{height:18px;position:relative}.axis span{position:absolute;transform:translate(-50%)}.jrow{border-top:1px solid var(--line)}.jbtn{all:unset;box-sizing:border-box;cursor:pointer;grid-template-columns:var(--label-w) 1fr;align-items:center;gap:18px;width:100%;padding:16px 0;display:grid}.jbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.jlabel{gap:2px;min-width:0;display:grid}.jlabel b{font-family:var(--f-display);font-size:1.08rem;font-weight:700}.jlabel small{color:var(--muted);font-size:.85rem}.lane{background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),var(--line) calc(100%/12 - 1px) calc(100%/12));border-radius:8px;height:30px;position:relative}.span-bar{background:var(--c,var(--accent));transform-origin:0;font-family:var(--f-mono);color:#fff;white-space:nowrap;border-radius:7px;justify-content:flex-end;align-items:center;padding-inline:8px;font-size:.7rem;transition:filter .2s;display:flex;position:absolute;top:5px;bottom:5px;overflow:hidden}.jbtn:hover .span-bar{filter:brightness(1.08)}.span-bar.live:after{content:"";opacity:.6;background:#fff;width:6px;animation:1.2s step-end infinite blink;position:absolute;top:0;bottom:0;right:0}.jdetail{grid-template-columns:var(--label-w) 1fr;gap:18px;padding:0 0 22px;display:grid}.jdetail .tag{font-family:var(--f-mono);color:var(--muted);font-size:.75rem}.jdetail ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.jdetail li{color:var(--ink);padding-left:20px;position:relative}.jdetail li:before{content:"";background:var(--c,var(--accent));border-radius:2px;width:8px;height:8px;position:absolute;top:.62em;left:2px;transform:rotate(45deg)}.chev{width:22px;height:22px;color:var(--muted);transition:transform .3s}.jbtn[aria-expanded=true] .chev{transform:rotate(180deg)}.jlabel-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}@media (max-width:760px){.jt{--label-w:1fr}.jt-axis{grid-template-columns:1fr}.jt-axis>span:first-child{display:none}.jbtn,.jdetail{grid-template-columns:1fr;gap:10px}.jdetail .tag{display:none}}.chips{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.chip{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:.92rem;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s}.chip:hover{border-color:var(--ink);transform:translateY(-1px)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip small{font-family:var(--f-mono);opacity:.7;margin-left:6px;font-weight:400}.cloud{flex-wrap:wrap;gap:10px;display:flex}.sk{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 16px;font-size:.95rem;font-weight:500;transition:opacity .35s,transform .35s,background .35s,border-color .35s}.sk.hl{border-color:var(--accent);background:var(--accent-soft)}.sk.dim{opacity:.28;transform:scale(.96)}.sk:hover{transform:translateY(-2px)}.work-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;display:grid}.card{background:var(--surface);border:1px solid var(--line);transform-style:preserve-3d;will-change:transform;border-radius:22px;flex-direction:column;grid-column:span 3;gap:16px;min-width:0;padding:28px;transition:transform .25s,box-shadow .25s;display:flex}.card:hover{box-shadow:var(--shadow)}.card.feature{background:var(--ink);color:var(--bg);border-color:var(--ink);grid-column:span 6}.card.feature .stack span{border-color:color-mix(in srgb,var(--bg) 25%,transparent);color:var(--bg)}.card.feature .card-tag{color:var(--warm)}.card.feature ul li:before{background:var(--warm)}.card.small{grid-column:span 2}.card-tag{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:.74rem}.card h3{font-size:1.45rem}.card.feature h3{font-size:clamp(1.6rem,3vw,2.3rem)}.card p{color:inherit;opacity:.82}.card ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.card li{padding-left:20px;font-size:.96rem;position:relative}.card li:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:.6em;left:0}.feature-cols{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px;display:grid}.feature-cols>*{min-width:0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;display:grid}.metric{border:1px solid color-mix(in srgb,var(--bg) 18%,transparent);border-radius:16px;min-width:0;padding:16px}.metric b{font-family:var(--f-display);letter-spacing:-.02em;color:var(--warm);font-variant-numeric:tabular-nums;font-size:clamp(1.35rem,6vw,1.9rem);font-weight:800;display:block}.metric span{opacity:.8;font-size:.85rem}.stack{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.stack span{font-family:var(--f-mono);border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:4px 9px;font-size:.72rem}@media (max-width:420px){.card{padding:20px}.metric{padding:12px}}@media (max-width:900px){.card,.card.small{grid-column:span 6}.feature-cols{grid-template-columns:minmax(0,1fr)}}.wins-grid{background:var(--line);border:1px solid var(--line);border-radius:22px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.win{background:var(--surface);align-content:start;gap:6px;padding:28px 24px;transition:background .25s;display:grid}.win:hover{background:var(--accent-soft)}.num{font-family:var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,4vw,3.1rem);font-weight:800;line-height:1}.win p{color:var(--muted);font-size:.95rem}@media (max-width:900px){.wins-grid{grid-template-columns:1fr 1fr}}@media (max-width:440px){.wins-grid{grid-template-columns:1fr}}.contact-box{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:26px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);padding:clamp(22px,4vw,48px);display:grid}.contact-box>*{min-width:0}.contact-box h2{font-size:clamp(2.2rem,5vw,3.6rem)}.contact-list{gap:12px;margin-top:28px;display:grid}.cl{border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;min-width:0;padding:14px 16px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}a.cl:hover{border-color:var(--ink);transform:translate(4px)}.cl svg{width:20px;height:20px;color:var(--accent);flex:none}.cl div{flex:1;min-width:0}.cl small{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;display:block}.cl span{overflow-wrap:anywhere;font-weight:600;display:block}.copy{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:999px;flex:none;padding:6px 12px;font-size:.8rem;font-weight:600}form{gap:16px;display:grid}.field{gap:6px;display:grid}.field label{font-size:.85rem;font-weight:600}.field input,.field textarea,.field select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;width:100%;padding:12px 14px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.field .err{color:var(--warm-deep);min-height:1.1em;font-size:.82rem}.row2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ready{border:1px dashed var(--accent);background:var(--accent-soft);border-radius:16px;gap:12px;padding:18px;display:grid}.ready p{font-size:.95rem}.ready pre{font-family:var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border-radius:10px;max-height:160px;margin:0;padding:12px;font-size:.8rem;overflow:auto}.ready .cta-row{margin-top:0}@media (max-width:860px){.contact-box{grid-template-columns:minmax(0,1fr)}}@media (max-width:480px){.row2{grid-template-columns:1fr}}footer{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:28px 8px;font-size:.9rem;display:flex}.track{z-index:35;height:calc(var(--track-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:var(--track);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.track-in{align-items:flex-end;gap:14px;max-width:1120px;height:100%;margin-inline:auto;display:flex;position:relative}.stage{flex:1;min-width:0;height:100%;position:relative}.controls{flex:none;align-items:center;gap:6px;padding-bottom:10px;display:flex}.ctl{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;place-items:center;padding:0;transition:transform .1s,background .2s}.ctl svg{width:18px;height:18px}.ctl.held,.ctl:active{background:var(--accent-soft);transform:scale(.9)}.ctl.mv{display:none}.ctl.play{width:auto;font:inherit;background:var(--ink);color:var(--bg);border-color:var(--ink);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.85rem;font-weight:600;display:flex}.ctl.play.nudge{animation:2.2s ease-in-out infinite nudge}@keyframes nudge{0%,60%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--warm) 60%,transparent)}30%{box-shadow:0 0 0 8px color-mix(in srgb,var(--warm) 0%,transparent)}}.hud{font-family:var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 6px;font-size:.8rem;display:none}.hud b{color:var(--warm);font-weight:500}.track.playing .ctl.mv{display:grid}.track.playing .hud{display:inline-block}.track.playing .ctl.play{background:var(--surface);color:var(--ink);border-color:var(--line)}#tokens{pointer-events:none;position:absolute;inset:0}.token{background:var(--surface);border:1.5px solid var(--accent);color:var(--ink);font-family:var(--f-mono);white-space:nowrap;box-shadow:var(--shadow);animation:2.4s ease-in-out infinite float;animation-delay:calc(var(--i) * -.3s);border-radius:999px;align-items:center;gap:5px;padding:4px 9px;font-size:.68rem;font-weight:500;display:none;position:absolute;bottom:50px;left:0;transform:translate(-50%)}.token:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.token.high{border-color:var(--warm);bottom:126px}.token.high:before{background:var(--warm)}.track.playing .token{display:inline-flex}.track.playing .token.got{animation:.55s forwards pop}@keyframes float{to{translate:0 -8px}}@keyframes pop{0%{opacity:1;transform:translate(-50%)scale(1)}55%{opacity:1;transform:translate(-50%,-28px)scale(1.3)}to{opacity:0;transform:translate(-50%,-44px)scale(.5)}}.hop{width:100%;height:100%}.guide.jumping .hop{animation:.62s cubic-bezier(.3,.8,.4,1) hop}@keyframes hop{45%{transform:translateY(-42px)}}.guide{touch-action:none;-webkit-user-select:none;user-select:none}.guide.dragging{cursor:grabbing;transition:none}.confetti{pointer-events:none;border-radius:2px;width:8px;height:12px;animation:1.4s cubic-bezier(.2,.7,.3,1) forwards conf;position:absolute;bottom:60px}@keyframes conf{to{transform:translate(var(--dx),var(--dy)) rotate(var(--r));opacity:0}}.ground{background:var(--line);border-radius:4px;height:4px;position:absolute;bottom:16px;left:0;right:0}#trackFill{background:linear-gradient(90deg,var(--accent),var(--warm));transform-origin:0;border-radius:4px;position:absolute;inset:0;transform:scaleX(0)}#marks{height:12px;position:absolute;bottom:12px;left:0;right:0}.mark{border:2px solid var(--line);background:var(--bg);cursor:pointer;border-radius:50%;width:12px;height:12px;margin-left:-6px;padding:0;transition:background .3s,border-color .3s,transform .2s;position:absolute;top:0}.mark:hover{transform:scale(1.3)}.mark.done{border-color:var(--accent);background:var(--accent)}.mark.on{border-color:var(--warm);background:var(--warm);transform:scale(1.25)}.mark span{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;opacity:0;pointer-events:none;font-size:.62rem;transition:opacity .2s;position:absolute;top:16px;left:50%;transform:translate(-50%)}.mark:hover span,.mark:focus-visible span{opacity:1}.guide{cursor:pointer;will-change:transform;width:64px;height:96px;transition:transform .12s linear;position:absolute;bottom:17px;left:0}.guide-svg{width:100%;height:100%;transition:transform .25s;display:block;overflow:visible}.guide.face-left .guide-svg{transform:scaleX(-1)}.bubble{background:var(--ink);width:max-content;max-width:min(300px,62vw);color:var(--bg);box-shadow:var(--shadow);transform-origin:0 100%;border-radius:16px 16px 16px 4px;padding:11px 15px;font-size:.88rem;font-weight:500;line-height:1.45;transition:opacity .3s,transform .3s;position:absolute;bottom:calc(100% - 4px);left:38px}.guide.flip-bubble .bubble{transform-origin:100% 100%;border-radius:16px 16px 4px;left:auto;right:38px}.bubble.hide{opacity:0;pointer-events:none;transform:scale(.9)}.guide.in-game .bubble{display:none}.bubble small{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-bottom:2px;font-size:.64rem;display:block}.c-ink{fill:var(--ink)}.c-warm{fill:var(--warm)}.c-warm-d{fill:var(--warm-deep)}.c-skin{fill:var(--g-skin)}.c-hair{fill:var(--g-hair)}.c-top{fill:var(--g-top)}.c-top-d{fill:var(--g-top-d)}.c-leg{fill:var(--g-leg)}.c-shoe{fill:var(--g-shoe)}.guide,.pick-opt{--g-top:var(--warm);--g-top-d:var(--warm-deep);--g-leg:var(--ink);--g-shoe:var(--ink);--g-skin:var(--skin);--g-hair:var(--hair)}.char-girl{--g-top:#e0569b;--g-top-d:#b33d79;--g-leg:#3d3160;--g-shoe:#3d3160;--g-hair:#5b321c}.char-boy{--g-top:#2fa37a;--g-top-d:#1f7a5a;--g-leg:#2c4a8c;--g-shoe:#1c2233;--g-hair:#3a281c}.char-robot{--g-top:#8c9bb5;--g-top-d:#6b7a94;--g-leg:#6b7a94;--g-shoe:#4a5670;--g-skin:#b8c4d9}.char-cat{--g-top:#f0a25a;--g-top-d:#d8853a;--g-leg:#e6964a;--g-shoe:#fff1e2;--g-skin:#f0a25a}[class*=only-],.boy-cap{display:none}.char-man .only-man,.char-girl .only-girl,.char-boy .only-boy,.char-robot .only-robot,.char-cat .only-cat,.char-boy:not(.look-student):not(.look-lead) .boy-cap{display:inline}.char-robot .no-robot,.char-cat .no-cat,.char-robot .smile,.char-cat .smile{display:none}.char-robot .g-eye{fill:#5cf2ff}.robot-led{animation:1.4s step-end infinite blink}.cat-tail{transform-box:view-box;transform-origin:29px 74px;animation:1.6s ease-in-out infinite alternate tail}@keyframes tail{0%{transform:rotate(-12deg)}to{transform:rotate(14deg)}}[hidden]{display:none!important}.pick-wrap{position:relative}.pick-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);z-index:2;border-radius:18px;width:max-content;max-width:calc(100vw - 32px);padding:12px;animation:.2s panelIn;position:absolute;bottom:calc(100% + 12px);right:0}.pick-panel p{font:600 .7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.pick-grid{grid-template-columns:repeat(5,64px);gap:8px;display:grid}.pick-opt{border:1.5px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;font:inherit;border-radius:12px;justify-items:center;gap:2px;padding:6px 4px 8px;font-size:.72rem;font-weight:600;transition:border-color .2s,transform .2s;display:grid}.pick-opt:hover{border-color:var(--ink);transform:translateY(-2px)}.pick-opt[aria-pressed=true]{border-color:var(--warm);background:var(--warm-soft)}.pick-svg{width:40px;height:60px;display:block;overflow:visible}@keyframes panelIn{0%{opacity:0;transform:translateY(6px)}}@media (max-width:600px){.track.playing .pick-wrap{display:none}}@media (max-width:420px){.pick-grid{grid-template-columns:repeat(3,64px)}}.c-bg{fill:var(--bg)}.c-shadow{fill:var(--ink);opacity:.14}.g-leg-b,.g-leg-f{transform-box:view-box;transform-origin:40px 76px}.g-arm-b,.g-arm-f{transform-box:view-box;transform-origin:40px 52px}.g-head{transform-box:view-box;transform-origin:42px 42px}.g-eye{transform-box:fill-box;transform-origin:50%;animation:4.2s infinite eyeblink}@keyframes eyeblink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.g-all{transform-box:view-box;transform-origin:40px 110px;animation:3s ease-in-out infinite breathe}@keyframes breathe{50%{transform:translateY(-1px)scaleY(1.01)}}.pose-wave .g-arm-f{animation:.38s ease-in-out 6 alternate wave}.pose-wave .g-head{animation:1.2s ease-in-out 2 alternate tilt}.pose-point .g-arm-f{transition:transform .35s;transform:rotate(-80deg)}.pose-think .g-arm-f{transition:transform .35s;transform:rotate(-140deg)}.pose-jump .g-all{animation:.55s cubic-bezier(.3,.7,.4,1) 2 jump}@keyframes wave{0%{transform:rotate(-150deg)}to{transform:rotate(-178deg)}}@keyframes tilt{to{transform:rotate(6deg)}}@keyframes jump{40%{transform:translateY(-16px)}}.walking .g-leg-f{animation:.4s ease-in-out infinite alternate swing}.walking .g-leg-b{animation:.4s ease-in-out infinite alternate-reverse swing}.walking .g-arm-f{animation:.4s ease-in-out infinite alternate-reverse swingArm;transform:none}.walking .g-arm-b{animation:.4s ease-in-out infinite alternate swingArm}.walking .g-all{animation:.2s ease-in-out infinite alternate bob}.walking .g-head{animation:none}@keyframes swing{0%{transform:rotate(26deg)}to{transform:rotate(-26deg)}}@keyframes swingArm{0%{transform:rotate(30deg)}to{transform:rotate(-30deg)}}@keyframes bob{to{transform:translateY(-2.5px)}}@media (max-width:600px){:root{--track-h:60px}.guide{width:48px;height:72px;bottom:17px}.bubble{padding:9px 12px;font-size:.8rem;left:30px}.guide.flip-bubble .bubble{right:30px}.token{gap:0;padding:4px;font-size:0;bottom:40px}.token.high{bottom:100px}.ctl{width:34px;height:34px}.ctl.play span{display:none}.ctl.play{padding:0 10px}.track-in{gap:8px}}.rag{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:22px;display:grid}.rag-left,.rag-right{background:var(--surface);border:1px solid var(--line);border-radius:22px;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;padding:clamp(16px,2.5vw,26px);display:grid}.rag-left{position:sticky;top:84px}.rag-ask{gap:8px;display:grid}.rag-label{font-size:.85rem;font-weight:600}.rag-input{gap:8px;display:flex}.rag-input input{min-width:0;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:999px;flex:1;padding:12px 16px;font-size:1rem}.rag-input input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.rag-input .btn{padding:12px 20px}.sugg{flex-wrap:wrap;gap:8px;display:flex}.sugg button{font:inherit;border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:.8rem;transition:color .2s,border-color .2s}.sugg button:hover{color:var(--ink);border-color:var(--ink)}.steps{flex-wrap:wrap;gap:6px;display:flex}.step{font-family:var(--f-mono);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 10px;font-size:.72rem;transition:color .25s,background .25s,border-color .25s}.step.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.step.done{color:var(--ink);border-color:var(--ink)}.vec{background:var(--bg);border-radius:10px;align-items:flex-end;gap:3px;height:40px;padding:6px 8px;display:flex}.vec i{height:var(--h,20%);background:var(--accent);opacity:.75;border-radius:2px;flex:1;transition:height .45s cubic-bezier(.2,.8,.2,1)}.vec-cap{font-family:var(--f-mono);color:var(--muted);margin-top:-10px;font-size:.68rem}.answer{background:var(--bg);border-radius:14px;min-height:120px;padding:14px 16px;font-size:.98rem;line-height:1.6}.cite{font:500 .72rem var(--f-mono);color:var(--accent);background:var(--accent-soft);cursor:pointer;vertical-align:1px;border:0;border-radius:5px;margin-left:2px;padding:1px 6px}.demo-note{color:var(--muted);font-size:.78rem}.thinking{color:var(--muted);font-family:var(--f-mono);font-size:.85rem}.thinking i{font-style:normal;animation:1s step-end infinite blink}.thinking i:nth-child(2){animation-delay:.2s}.thinking i:nth-child(3){animation-delay:.4s}.kb-head{font-weight:700;font-family:var(--f-display);justify-content:space-between;align-items:baseline;gap:8px;font-size:1.05rem;display:flex}.kb-head small,.ctx-head small{font-family:var(--f-mono);color:var(--muted);font-size:.7rem;font-weight:400}.kb{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.chunk{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;padding:10px 12px;font-size:.8rem;line-height:1.45;transition:opacity .35s,border-color .35s,transform .35s,box-shadow .35s;display:grid;position:relative}.chunk-top{min-width:0;font-family:var(--f-mono);color:var(--muted);justify-content:space-between;gap:6px;font-size:.64rem;display:flex}.chunk-top .src{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chunk .sim{font-variant-numeric:tabular-nums;color:var(--ink)}.chunk p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.score{background:var(--line);border-radius:2px;height:3px;overflow:hidden}.score i{background:var(--accent);width:0;height:100%;transition:width .7s cubic-bezier(.2,.8,.2,1);display:block}.chunk.top{border-color:var(--warm);box-shadow:0 0 0 3px var(--warm-soft);transform:translateY(-2px)}.chunk.top .score i{background:var(--warm)}.chunk.top:after{content:attr(data-rank);font:600 .66rem var(--f-mono);background:var(--warm);color:#1d0f08;border-radius:999px;padding:2px 7px;position:absolute;top:-9px;right:10px}.chunk.dim{opacity:.38}.chunk.flash{box-shadow:0 0 0 3px var(--accent);border-color:var(--accent);opacity:1}.ctx{border:1px dashed var(--accent);background:var(--bg);border-radius:14px;gap:8px;padding:12px;display:grid}.ctx-head{justify-content:space-between;font-size:.88rem;font-weight:600;display:flex}.ctx-list{gap:8px;min-height:40px;display:grid}.ctx-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:.8rem}.ctx-item b{font-family:var(--f-mono);color:var(--warm);margin-right:4px;font-weight:500}@media (max-width:900px){.rag{grid-template-columns:minmax(0,1fr)}.rag-left{position:static}}@media (max-width:420px){.chunk{padding:9px;font-size:.74rem}}.fanout{border:1px solid color-mix(in srgb,var(--bg) 18%,transparent);border-radius:16px;gap:6px;padding:14px 16px 8px;display:grid}.fan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.fan-head b{font-family:var(--f-display);color:var(--warm);font-variant-numeric:tabular-nums;margin-right:6px;font-size:1.5rem;font-weight:800}.fan-replay{font:inherit;border:1px solid color-mix(in srgb,var(--bg) 35%,transparent);color:var(--bg);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}.fan-replay:hover{border-color:var(--bg)}#fanCanvas{width:100%;height:170px;display:block}.fan-cap{opacity:.6;font-size:.75rem}.acc{opacity:0;transition:opacity .35s}.look-student .acc-backpack,.look-student .acc-gradcap,.look-trainee .acc-backpack,.look-trainee .acc-glasses,.look-dev .acc-bag,.look-dev .acc-glasses,.look-lead .acc-headset,.look-lead .acc-glasses,.look-lead .acc-badge{opacity:1}.guide.changed .hop{animation:.5s cubic-bezier(.3,.8,.4,1) hop}.prop{opacity:0;transform-box:view-box;transform-origin:40px 87px;transition:opacity .25s,transform .35s;transform:rotate(150deg)scale(.3)}.prop-flip{transform-box:fill-box;transform-origin:50%}.guide.face-left .prop-flip{transform:scaleX(-1)}.guide.holding .prop{opacity:1;transform:rotate(150deg)}.guide.holding .g-arm-f{animation:none;transform:rotate(-150deg)}.guide.throwing .g-arm-f{animation:.45s ease-out throwArm}@keyframes throwArm{0%{transform:rotate(-175deg)}to{transform:rotate(-40deg)}}.plane{z-index:50;pointer-events:none;width:36px;height:36px;margin:-18px 0 0 -18px;position:fixed}.plane svg{width:100%;height:100%;display:block}.bubble-acts{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.bubble-acts:empty{display:none}.bubble-btn{font:inherit;background:var(--warm);color:#1d0f08;cursor:pointer;border:0;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:700;text-decoration:none;transition:transform .15s}.bubble-btn:hover{transform:translateY(-1px)}.bubble-btn.alt{color:var(--bg);border:1px solid color-mix(in srgb,var(--bg) 40%,transparent);background:0 0}.smile,.yawn-mouth,.sweat{transition:opacity .25s}.yawn-mouth,.sweat{opacity:0}.guide.yawn .yawn-mouth,.guide.tired .yawn-mouth{opacity:1}.guide.yawn .smile,.guide.tired .smile{opacity:0}.guide.yawn .g-arm-f{transition:transform .5s;transform:rotate(-172deg)}.guide.yawn .g-arm-b{transition:transform .5s;transform:rotate(-160deg)}.guide.tired .g-all{animation:.45s ease-in-out infinite alternate pant}.guide.tired .g-head{transition:transform .4s;transform:rotate(14deg)}.guide.tired .sweat{opacity:1}.sweat path{transform-box:fill-box;animation:1s ease-in infinite drip}.sweat path:nth-child(2){animation-delay:.45s}@keyframes pant{0%{transform:translateY(0)scaleY(1)}to{transform:translateY(2.5px)scaleY(.96)}}@keyframes drip{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(7px)}}.guide.sleeping .g-eye{animation:none;transform:scaleY(.12)}.guide.sleeping .g-head{transition:transform .8s;transform:rotate(12deg)}.guide.sleeping .g-all{animation:4.5s ease-in-out infinite breathe}.zzz{pointer-events:none;position:absolute;top:2px;left:44px}.zzz i{font:800 .85rem var(--f-display);color:var(--accent);opacity:0;font-style:normal;position:absolute}.guide.face-left .zzz{left:6px}.guide.sleeping .zzz i{animation:2.4s ease-out infinite zz}.zzz i:nth-child(2){font-size:1rem;animation-delay:.8s!important}.zzz i:nth-child(3){font-size:1.2rem;animation-delay:1.6s!important}@keyframes zz{0%{opacity:0;transform:translate(0)scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(16px,-30px)scale(1.2)}}.process{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:28px;display:grid}.ptabs{gap:10px;display:grid}.ptab{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:8px;padding:18px 20px;transition:border-color .3s,box-shadow .3s;display:grid}.ptab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.ptab:hover{border-color:var(--ink)}.ptab[aria-selected=true]{border-color:var(--ink);box-shadow:var(--shadow)}.ptab-top{align-items:baseline;gap:10px;display:flex}.ptab-top span{font-family:var(--f-mono);color:var(--accent);font-size:.72rem}.ptab-top b{font-family:var(--f-display);font-size:1.25rem;font-weight:700}.ptab p{color:var(--muted);font-size:.93rem;display:none}.ptab[aria-selected=true] p{display:block}.pbar{background:var(--line);border-radius:3px;height:3px;display:none;overflow:hidden}.ptab[aria-selected=true] .pbar{display:block}.pbar i{background:linear-gradient(90deg,var(--accent),var(--warm));transform-origin:0;height:100%;display:block}.pmock{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;position:sticky;top:84px;overflow:hidden}.pmock-top{border-bottom:1px solid var(--line);font-family:var(--f-mono);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;font-size:.74rem;display:flex}.pmock-top em{color:#22a273;font-style:normal}.pmock-body{align-content:start;gap:10px;min-height:300px;padding:18px;display:grid}.pl{border-radius:14px;max-width:86%;padding:10px 14px;font-size:.92rem;line-height:1.45}.pl small{font-family:var(--f-mono);opacity:.65;margin-bottom:2px;font-size:.64rem;display:block}.pl.them{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px;justify-self:start}.pl.me{background:var(--ink);color:var(--bg);border-bottom-right-radius:4px;justify-self:end}.pl.code{font-family:var(--f-mono);background:var(--bg);border:1px dashed var(--line);overflow-wrap:anywhere;justify-self:stretch;max-width:none;font-size:.8rem}.pl.code b{color:var(--accent);font-weight:500}.pchip{background:var(--warm-soft);border:1px solid var(--warm);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:7px 13px;font-size:.86rem;font-weight:600;display:inline-flex}.pmock-cap{border-top:1px dashed var(--line);color:var(--muted);padding:10px 16px;font-size:.75rem}@media (max-width:860px){.process{grid-template-columns:minmax(0,1fr)}.pmock{position:static}}.ticker-band{gap:14px;padding-block:8px 24px;display:grid}.ticker-band .eyebrow{justify-content:center}.ticker{margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ticker-track{width:max-content;padding-block:4px;display:flex}.tcard{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:16px;align-items:center;gap:12px;margin-right:12px;padding:12px 18px 12px 12px;transition:border-color .2s,transform .2s;display:flex}.tcard:hover{border-color:var(--ink);transform:translateY(-2px)}.tcard i{width:34px;height:34px;font:600 .66rem var(--f-mono);color:#fff;background:var(--c);border-radius:10px;place-items:center;font-style:normal;display:grid}.tcard b{font-size:.92rem;font-weight:600;display:block}.tcard span{color:var(--muted);font-size:.78rem;display:block}@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto}}.fireworks{pointer-events:none;z-index:34;width:100%;height:100%;position:fixed;inset:0}.guide.celebrate .hop{animation:.55s cubic-bezier(.3,.8,.4,1) 4 hop}.guide.celebrate .g-arm-f{animation:.3s ease-in-out 8 alternate wave}.guide.celebrate .g-arm-b{transition:transform .3s;transform:rotate(-160deg)}.linkish{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.ptab[aria-selected=true] .pbar i{animation:6.5s linear forwards pfill}.process:not(.running) .pbar i,.process:hover .pbar i,.process:focus-within .pbar i{animation-play-state:paused}.pmock-body>*{animation:.45s cubic-bezier(.2,.8,.2,1) both lineIn;animation-delay:calc(var(--d) * .42s)}.ticker-track{animation:50s linear infinite tick}.ticker.rev .ticker-track{animation-duration:58s;animation-direction:reverse}.ticker:hover .ticker-track{animation-play-state:paused}.hero h1 .wd{animation:.8s cubic-bezier(.2,.8,.2,1) both rise;animation-delay:calc(var(--i) * 90ms + .12s)}.grad-line>span{animation:1s cubic-bezier(.2,.8,.2,1) .5s both lineReveal,9s ease-in-out 1.5s infinite alternate gradShift}.hero-aurora i{animation:18s ease-in-out infinite alternate drift}.hero-aurora i:nth-child(2){animation-duration:23s;animation-direction:alternate-reverse}.hero-aurora i:nth-child(3){animation-duration:27s}.orb-chip{animation:.6s both fadeIn,6s ease-in-out infinite alternate float;animation-delay:calc(var(--d) * .12s + .7s),calc(var(--d) * -700ms)}.scroll-cue .mouse i{animation:1.8s ease-in-out infinite cue}.trace .tl,.trace .tbar{animation:.5s both fadeIn;animation-delay:calc(var(--d) * .14s + .5s)}.trace .tbar i{animation:1s cubic-bezier(.2,.8,.2,1) both grow;animation-delay:calc(var(--d) * .14s + .6s)}@supports (animation-timeline:view()){.reveal{animation:linear both rise;animation-timeline:view();animation-range:entry entry 55%}.span-bar{animation:linear both grow;animation-timeline:view();animation-range:entry 10% cover 40%}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.track.playing .token.got{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pfill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes lineIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes tick{to{transform:translate(-50%)}}.nav-products-pill{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;padding:8px 14px;font-size:.88rem;font-weight:600;text-decoration:none;display:none}.nav-products-pill.on{border-color:var(--ink)}@media (max-width:820px){.nav-products-pill{margin-left:auto;display:inline-flex}.resume-btn{margin-left:0}}@media (max-width:600px){.nav-products-pill{display:none}.resume-btn{margin-left:auto}.nav-in{gap:10px}}@media (max-width:420px){.resume-btn span{display:none}.resume-btn{padding:9px}.nav-in{gap:10px}}.bugs{pointer-events:none;display:none;position:absolute;inset:0}.track.playing .bugs{display:block}.bug{filter:drop-shadow(0 3px 3px #00000040);width:34px;height:24px;margin-left:-17px;position:absolute;bottom:19px;left:0}.bug svg{width:100%;height:100%;animation:.28s ease-in-out infinite alternate bugBob;display:block;overflow:visible}.bug-legs{animation:.25s steps(2,end) infinite bugLegs}@keyframes bugBob{to{transform:translateY(-1.5px)}}@keyframes bugLegs{50%{transform:translateY(-1px)}}.hud-lives{color:#e5484d;letter-spacing:1px;margin-right:8px;font-size:.95rem}.hud-lives i{color:var(--line);font-style:normal}.float-pts{font:800 .95rem var(--f-display);color:var(--warm);white-space:nowrap;pointer-events:none;animation:.9s ease-out forwards floatUp;position:absolute;bottom:112px;transform:translate(-50%)}.float-pts.bad{color:#e5484d}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,8px)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-30px)}}.guide.hurt .hop{animation:1.4s step-end hurtBlink}.guide.hurt .guide-svg{filter:drop-shadow(0 0 6px #e5484d)}@keyframes hurtBlink{0%,20%,40%,60%,80%{opacity:.25}10%,30%,50%,70%,90%,to{opacity:1}}.game-results{left:50%;bottom:calc(var(--track-h) + 24px + env(safe-area-inset-bottom,0px));z-index:47;width:min(440px,100vw - 32px);max-height:calc(100vh - var(--track-h) - 60px);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;border-radius:22px;gap:12px;padding:22px;transition:opacity .3s,transform .4s cubic-bezier(.2,.9,.3,1.2);display:grid;position:fixed;overflow:auto;transform:translate(-50%,20px)scale(.96)}.game-results.show{opacity:1;transform:translate(-50%)scale(1)}.gr-close{border:1px solid var(--line);background:var(--bg);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:1.2rem;line-height:1;position:absolute;top:12px;right:12px}.gr-eyebrow{font:600 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.game-results h3{padding-right:36px;font-size:1.5rem}.gr-record{background:var(--warm);color:#1d0f08;border-radius:999px;justify-self:start;padding:4px 10px;font-size:.78rem;font-weight:700;animation:.6s cubic-bezier(.2,.9,.3,1.5) recordPop}@keyframes recordPop{0%{transform:scale(.4)}}.gr-stats{background:var(--line);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.gr-stats div{background:var(--bg);text-align:center;padding:10px 6px}.gr-stats b{font:800 1.25rem var(--f-display);font-variant-numeric:tabular-nums;display:block}.gr-stats span{color:var(--muted);font-size:.72rem}.gr-note{color:var(--muted);font-size:.82rem}.gr-skills{flex-wrap:wrap;gap:6px;display:flex}.gr-skills span{font:500 .72rem var(--f-mono);background:var(--accent-soft);border:1px solid var(--line);border-radius:7px;padding:4px 8px}.gr-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.gr-actions .btn{padding:10px 16px;font-size:.88rem}@media (max-width:420px){.gr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-results:focus{outline:none}.bug.squashed svg{transform-origin:50% 100%;animation:.45s ease-out forwards squash}@keyframes squash{30%{transform:scaleY(.25)scaleX(1.3)}to{opacity:0;transform:scaleY(.2)scaleX(1.4)}}.bug-sad{display:none}.bug.crying .bug-sad{display:inline}.bug.crying svg{animation:.3s ease-in-out infinite alternate sob}@keyframes sob{0%{transform:translateY(0)rotate(-3deg)scaleY(1)}to{transform:translateY(2px)rotate(3deg)scaleY(.88)}}.bug .tear{opacity:0;background:#4fb0ff;border-radius:50%/60% 60% 40% 40%;width:5px;height:8px;animation:.55s ease-in infinite tear;position:absolute;top:8px;left:26px}.bug .tear.t2{animation-delay:.2s;left:31px}.bug .tear.t3{animation-delay:.38s;left:28px}@keyframes tear{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(3px,22px)scale(1)}}.sob-bubble{color:#fff;font:700 .72rem var(--f-display);white-space:nowrap;pointer-events:none;background:#4fb0ff;border-radius:999px;padding:3px 9px;animation:.5s cubic-bezier(.2,.9,.3,1.5) both sobPop,1s ease-in-out .5s infinite alternate sobFloat;position:absolute;bottom:48px;transform:translate(-50%)}.sob-bubble:after{content:"";border:4px solid #0000;border-top-color:#4fb0ff;border-bottom:0;margin-left:-4px;position:absolute;bottom:-4px;left:50%}@keyframes sobPop{0%{opacity:0;transform:translate(-50%,8px)scale(.4)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes sobFloat{to{transform:translate(-50%,-4px)}}.bug.gone,.sob-bubble.gone{opacity:0;transition:opacity .5s}#ctlSound .snd-off,#ctlSound[aria-pressed=false] .snd-on{display:none}#ctlSound[aria-pressed=false] .snd-off{display:inline}@keyframes lineReveal{0%{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0);opacity:1}}@keyframes gradShift{to{background-position:100% 0}}@keyframes drift{to{transform:translate(6vmax,4vmax)scale(1.12)}}@keyframes cue{0%{opacity:1;transform:translateY(0)}70%{opacity:0;transform:translateY(10px)}to{opacity:0}}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.fp-slot{min-height:360px}.fp-foot{justify-content:center;margin-top:36px;display:flex}@media (prefers-reduced-motion:no-preference){.page-enter{animation:.45s both pageIn}}@keyframes pageIn{0%{opacity:0}}.facts-wrap{isolation:isolate;margin-top:84px;position:relative}.facts{z-index:1;position:relative}.peeker{cursor:pointer;width:104px;height:116px;color:inherit;font:inherit;background:0 0;border:0;margin-bottom:-28px;padding:0;position:absolute;bottom:100%;right:40px}.peek-man{z-index:0;width:100%;height:100%;transition:transform .6s cubic-bezier(.3,1.5,.5,1);position:absolute;inset:0;overflow:visible;transform:translateY(105%)}.peek-hands{z-index:2;pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:21px;left:20px;right:20px}.peek-hands i{background:var(--skin);width:15px;height:15px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;transition:transform .3s cubic-bezier(.3,1.6,.5,1) .15s;transform:scale(0)}.peek-bubble{z-index:2;background:var(--ink);width:max-content;max-width:210px;color:var(--bg);box-shadow:var(--shadow);opacity:0;transform-origin:100% 100%;pointer-events:none;border-radius:14px 14px 4px;padding:9px 13px;font-size:.86rem;font-weight:600;line-height:1.35;transition:opacity .25s,transform .3s cubic-bezier(.3,1.5,.5,1);position:absolute;top:4px;right:calc(100% - 6px);transform:scale(.6)translateY(8px)}.pk-skin{fill:var(--skin)}.pk-hair{fill:var(--hair)}.pk-top{fill:var(--warm)}.pk-eyes{fill:var(--hair);transform-origin:50px 40px}.pk-glasses,.pk-smile{stroke:var(--hair)}.pk-blush{fill:#f28b82;opacity:.55}.pk-arm-r{transform-origin:75px 80px;transition:transform .3s;transform:rotate(0)}.facts-wrap.pk-up .peek-man{transform:translateY(0)}.facts-wrap.pk-up .peek-hands i{transform:scale(1)}.facts-wrap.pk-talk .peek-bubble{opacity:1;transform:none}.facts-wrap.pk-hop .peek-man{animation:.5s cubic-bezier(.3,1.4,.5,1) pkHop}@media (prefers-reduced-motion:no-preference){.facts-wrap.pk-wave .pk-arm-r{animation:.5s ease-in-out 4 alternate pkWave}.facts-wrap.pk-up .pk-eyes{animation:3.2s 1s infinite pkBlink}}@keyframes pkWave{0%{transform:rotate(-14deg)}to{transform:rotate(22deg)}}@keyframes pkHop{40%{transform:translateY(-14px)}}@keyframes pkBlink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@media (max-width:600px){.peeker{right:20px}.peek-bubble{max-width:170px;font-size:.8rem}}
