@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/syne-latin-700-normal.woff2)format("woff2")}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:block;src:url(/fonts/syne-latin-800-normal.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/instrument-serif-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:block;src:url(/fonts/instrument-serif-latin-400-italic.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/dm-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/dm-sans-latin-500-normal.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:block;src:url(/fonts/dm-sans-latin-700-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2")}:root{--ink:#0d0b12;--ink-2:#16131f;--paper:#f6efe6;--lime:#d4ff3f;--coral:#ff7b7b;--peach:#f4c3a1;--lavender:#b7a3e6;--mint:#8fd6a6;--teal:#5fe3d0;--glass:#0d0b12a3;--glass-strong:#0d0b12d1;--hair:#f6efe624;--hair-strong:#f6efe647;--muted:#f6efe69e;--f-display:"Syne", "Arial Black", sans-serif;--f-serif:"Instrument Serif", Georgia, serif;--f-body:"DM Sans", system-ui, sans-serif;--f-mono:"JetBrains Mono", ui-monospace, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-io:cubic-bezier(.76, 0, .24, 1);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--paper);font-family:var(--f-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;margin:0;font-size:15px;line-height:1.5;overflow:hidden}html.custom-cursor,html.custom-cursor *{cursor:none!important}button{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.stage{position:fixed;top:0;bottom:0;left:0;right:0}.stage canvas{touch-action:none;display:block}.ui-root{pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.ui-root>*{pointer-events:auto}.mono{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.serif{font-family:var(--f-serif);font-style:italic;font-weight:400}.lime{color:var(--lime)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loader{z-index:100;pointer-events:auto;position:fixed;top:0;bottom:0;left:0;right:0}.curtain{background:var(--ink);will-change:transform;height:50.2%;position:absolute;left:0;right:0}.curtain.top{top:0}.curtain.bottom{bottom:0}.loader-ui{will-change:filter, opacity, transform;position:absolute;top:0;bottom:0;left:0;right:0}.corner{font-family:var(--f-mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:11px;position:absolute}.corner.tl{top:calc(22px + var(--safe-t));left:24px}.corner.tr{top:calc(22px + var(--safe-t));text-align:right;right:24px}.corner.bl{bottom:calc(28px + var(--safe-b));align-items:center;gap:10px;display:flex;left:24px}.corner.br{bottom:calc(28px + var(--safe-b));right:24px}.corner .pulse-dot{background:var(--lime);width:6px;height:6px;box-shadow:0 0 12px var(--lime);border-radius:50%;animation:1.1s ease-in-out infinite blink}.status-text{min-width:24ch;transition:opacity .25s,transform .25s;display:inline-block}.status-text.swap{opacity:0;transform:translateY(6px)}@keyframes blink{50%{opacity:.25}}.loader-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.counter{font-family:var(--f-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--paper);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:min(30vw,50vh);font-weight:800;line-height:.82}.suffix-wrap{margin-top:.1em;padding:.08em .2em .14em;overflow:hidden}.suffix{font-family:var(--f-serif);color:var(--lime);visibility:hidden;white-space:nowrap;font-size:0;font-style:italic;line-height:1}.progress{background:#f6efe614;height:2px;position:absolute;bottom:0;left:0;right:0}.progress .bar{background:var(--lime);transform-origin:0;height:100%;transform:scaleX(0);box-shadow:0 0 14px #d4ff3fb3}.glass{background:var(--glass);border:1px solid var(--hair);-webkit-backdrop-filter:blur(18px)saturate(1.25);border-radius:18px}.btn{--bg:transparent;border:1px solid var(--hair-strong);background:var(--bg);min-height:44px;color:var(--paper);font-family:var(--f-body);letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background .3s var(--ease-out), border-color .3s, color .3s, transform .35s var(--ease-out);will-change:transform;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.btn:hover{border-color:var(--paper)}.btn.primary{--bg:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:700}.btn.primary:hover{--bg:#e2ff7a}.btn.ghost{background:#f6efe60f;border-color:#0000}.btn.ghost:hover{background:#f6efe61f}.btn.small{min-height:34px;padding:0 14px;font-size:12.5px}.btn:disabled{opacity:.35;pointer-events:none}.btn .btn-inner{pointer-events:none;align-items:center;gap:8px;display:inline-flex}.chip{border:1px solid var(--hair);height:26px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper);background:#f6efe60a;border-radius:999px;align-items:center;padding:0 10px;font-size:10.5px;display:inline-flex}.split .w{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.split .w>span{animation:rise .9s var(--ease-out) forwards;animation-delay:calc(var(--i) * 55ms + var(--d,0s));display:inline-block;transform:translateY(105%)}@keyframes rise{to{transform:translateY(0)}}.fade-up{opacity:0;animation:fadeUp .8s var(--ease-out) forwards;animation-delay:var(--d,0s);transform:translateY(14px)}@keyframes fadeUp{to{opacity:1;transform:none}}.intro-card{left:28px;bottom:calc(28px + var(--safe-b));width:min(500px,100vw - 32px);padding:26px 26px 24px;position:fixed}.kicker{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lime);align-items:center;gap:10px;font-size:11px;display:flex}.kicker:before{content:"";background:currentColor;width:18px;height:1px}.intro-card h1{font-family:var(--f-display);letter-spacing:-.03em;margin:12px 0 8px;font-size:clamp(34px,3.9vw,50px);font-weight:800;line-height:.95}.intro-card h1 em{font-family:var(--f-serif);color:var(--lime);letter-spacing:0;font-weight:400}.intro-card p{color:var(--muted);max-width:40ch;margin:0 0 20px;font-size:15px}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.hud-tr{top:calc(18px + var(--safe-t));flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex;position:fixed;right:18px}.hud-tl{top:calc(18px + var(--safe-t));border-radius:999px;align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;left:18px}.hud-btn{background:var(--glass);-webkit-backdrop-filter:blur(14px);border-color:var(--hair);min-height:38px;padding:0 15px;font-size:12.5px}.hud-btn .led{background:#f6efe659;border-radius:50%;width:7px;height:7px}.hud-btn.on .led{background:var(--lime);box-shadow:0 0 10px var(--lime)}.progress-num{font-family:var(--f-mono);letter-spacing:.06em;font-size:13px}.progress-num b{color:var(--lime);font-weight:500}.dots{gap:6px;display:flex}.dots button{border:1px solid var(--hair-strong);cursor:pointer;width:8px;height:8px;transition:all .4s var(--ease-out);background:0 0;border-radius:50%;padding:0}.dots button.visited{background:var(--teal);border-color:var(--teal)}.dots button.current{background:var(--lime);border-color:var(--lime);border-radius:6px;width:22px}.spark-count{font-family:var(--f-mono);align-items:center;gap:10px;font-size:13px;display:flex}.spark-count .gem{background:var(--lime);width:12px;height:12px;box-shadow:0 0 12px var(--lime);transform:rotate(45deg)}.spark-count.bump{animation:bump .5s var(--ease-out)}@keyframes bump{30%{transform:scale(1.18)}}.speedo{font-family:var(--f-mono);color:var(--muted);letter-spacing:.08em;min-width:7ch;font-size:11px}.hint-bar{left:50%;bottom:calc(18px + var(--safe-b));font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:10.5px;position:fixed;transform:translate(-50%)}.manual-pill{left:50%;bottom:calc(24px + var(--safe-b));border-radius:999px;align-items:center;gap:14px;padding:8px 8px 8px 18px;display:flex;position:fixed;transform:translate(-50%)}.manual-pill span{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.story-card{width:min(430px,36vw);max-height:calc(100vh - 120px);animation:cardIn .8s var(--ease-out) both;flex-direction:column;padding:26px 26px 20px;display:flex;position:fixed;top:50%;right:24px;overflow:hidden;transform:translateY(-50%)}.story-card.leaving{animation:cardOut .45s var(--ease-io) both}@keyframes cardIn{0%{opacity:0;transform:translate(40px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes cardOut{to{opacity:0;transform:translate(40px,-50%)}}.story-scroll{scrollbar-width:thin;margin:0 -8px;padding:0 8px;overflow-y:auto}.story-card h2{font-family:var(--f-display);letter-spacing:-.025em;margin:12px 0 10px;font-size:clamp(28px,2.6vw,38px);font-weight:800;line-height:1}.story-card .lead{font-family:var(--f-serif);color:var(--paper);margin:0 0 14px;font-size:23px;font-style:italic;line-height:1.2}.story-card .body p{color:var(--muted);margin:0 0 10px;font-size:14.5px}.tags{flex-wrap:wrap;gap:6px;margin:14px 0 4px;display:flex}.card-nav{border-top:1px solid var(--hair);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.auto-toggle{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:10.5px;display:inline-flex}.auto-toggle .sw{border:1px solid var(--hair-strong);border-radius:999px;width:28px;height:16px;transition:background .3s;position:relative}.auto-toggle .sw:after{content:"";background:var(--paper);width:10px;height:10px;transition:transform .3s var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.auto-toggle[aria-pressed=true] .sw{background:var(--lime);border-color:var(--lime)}.auto-toggle[aria-pressed=true] .sw:after{background:var(--ink);transform:translate(12px)}.next-btn{overflow:hidden}.next-btn .countdown{background:var(--ink);opacity:.55;transform-origin:0;height:2px;position:absolute;bottom:0;left:0}.bunk-box{border:1px dashed var(--hair-strong);border-radius:14px;margin-top:12px;padding:14px}.bunk-answer{font-family:var(--f-serif);color:var(--lime);min-height:1.25em;margin-top:10px;font-size:19px;font-style:italic;line-height:1.25}.skill-groups{gap:14px;display:grid}.skill-groups h4{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lavender);margin:0 0 7px;font-size:10.5px;font-weight:500}.contact-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.card-close{width:36px;height:36px;min-height:0;padding:0;position:absolute;top:14px;right:14px}.compact-card{left:24px;bottom:calc(72px + var(--safe-b));width:min(440px,100vw - 32px);animation:compactIn .6s var(--ease-out) both;align-items:center;gap:16px;padding:16px 18px;display:flex;position:fixed}@keyframes compactIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.compact-card .cc-text{flex:1;min-width:0}.compact-card h3{font-family:var(--f-display);letter-spacing:-.01em;margin:4px 0 2px;font-size:19px;font-weight:700}.compact-card p{font-family:var(--f-serif);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-style:italic;overflow:hidden}.finale{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.finale h2{font-family:var(--f-serif);letter-spacing:-.01em;filter:drop-shadow(0 8px 30px #0d0b1259);margin:0;font-size:clamp(56px,11vw,168px);font-weight:400;line-height:.9}.finale h2 em{color:var(--lime)}.finale .finale-actions{pointer-events:auto;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px;display:flex}.pulse{animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #d4ff3f8c}50%{box-shadow:0 0 0 14px #d4ff3f00}}.toasts{top:calc(76px + var(--safe-t));pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{animation:toastIn .5s var(--ease-out) both;white-space:nowrap;border-radius:999px;padding:11px 18px;font-size:14px}.toast.lime{border-color:#d4ff3f80}.toast.coral{border-color:#ff7b7b80}@keyframes toastIn{0%{opacity:0;transform:translateY(-10px)scale(.96)}}.center-card{text-align:center;width:min(460px,100vw - 32px);animation:popIn .7s var(--ease-out) both;padding:30px 28px 24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-46%)scale(.94)}}.center-card h3{font-family:var(--f-display);letter-spacing:-.02em;margin:10px 0 6px;font-size:30px;font-weight:800;line-height:1.05}.center-card p{font-family:var(--f-serif);color:var(--lime);margin:0 0 20px;font-size:22px;font-style:italic;line-height:1.25}.center-card .kicker{justify-content:center}.resume{z-index:60;background:var(--paper);color:var(--ink);animation:resumeIn .6s var(--ease-out) both;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}@keyframes resumeIn{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.resume-inner{max-width:1120px;padding:calc(40px + var(--safe-t)) 32px 80px;margin:0 auto}.resume-top{background:var(--paper);z-index:2;border-bottom:1px solid #0d0b121f;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex;position:sticky;top:0}.resume .btn{color:var(--ink);border-color:#0d0b1240}.resume .btn:hover{border-color:var(--ink)}.resume .btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.resume h1{font-family:var(--f-display);letter-spacing:-.045em;margin:48px 0 18px;font-size:clamp(54px,10vw,136px);font-weight:800;line-height:.86}.resume h1 em{font-family:var(--f-serif);letter-spacing:-.01em;font-weight:400}.resume .r-lead{font-family:var(--f-serif);max-width:30ch;margin:0 0 40px;font-size:clamp(22px,2.6vw,30px);font-style:italic;line-height:1.2}.r-grid{border-top:1px solid var(--ink);grid-template-columns:220px 1fr;gap:0 40px;display:grid}.r-grid>h2{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #0d0b121f;margin:0;padding:20px 0;font-size:11.5px;font-weight:500}.r-grid>div{border-bottom:1px solid #0d0b121f;padding:18px 0 22px}.r-item{margin-bottom:18px}.r-item:last-child{margin-bottom:0}.r-item h3{font-family:var(--f-display);letter-spacing:-.01em;margin:0 0 4px;font-size:21px;font-weight:700}.r-item p{color:#0d0b12c7;max-width:64ch;margin:0 0 8px;font-size:15px}.r-meta{font-family:var(--f-mono);letter-spacing:.06em;color:#0d0b1299;text-transform:uppercase;font-size:11px}.resume .chip{color:var(--ink);background:0 0;border-color:#0d0b1233}.r-skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.r-skills h3{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#0d0b1299;margin:0 0 8px;font-size:11px;font-weight:500}.r-skills ul{margin:0;padding:0;font-size:16px;line-height:1.7;list-style:none}.r-contact a{font-family:var(--f-display);border-bottom:2px solid var(--ink);margin:0 22px 8px 0;font-size:clamp(20px,2.4vw,28px);font-weight:700;text-decoration:none;display:inline-block}.r-contact a:hover{background:var(--lime)}.cursor-dot,.cursor-ring{pointer-events:none;z-index:1000;mix-blend-mode:difference;will-change:transform;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot{background:#fff;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{width:36px;height:36px;transition:width .3s var(--ease-out), height .3s var(--ease-out), margin .3s var(--ease-out), background .3s;border:1px solid #fff;margin:-18px 0 0 -18px}.cursor-ring.hover{background:#fff;width:62px;height:62px;margin:-31px 0 0 -31px}.cursor-ring.hidden,.cursor-dot.hidden{opacity:0}.grain{z-index:110;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-size:180px 180px;animation:.9s steps(6,end) infinite grain;position:fixed;top:-100%;bottom:-100%;left:-100%;right:-100%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-6%,4%)}40%{transform:translate(5%,-7%)}60%{transform:translate(-3%,8%)}80%{transform:translate(8%,2%)}to{transform:translate(-4%,-3%)}}.fx-canvas{pointer-events:none;z-index:40;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.flash{pointer-events:none;z-index:45;opacity:0;background:#fff4ec;transition:opacity .6s;position:fixed;top:0;bottom:0;left:0;right:0}.flash.on{opacity:1;transition:opacity .35s}.joystick{left:22px;bottom:calc(26px + var(--safe-b));touch-action:none;border-radius:50%;width:132px;height:132px;position:fixed}.joystick .knob{background:#f6efe6e6;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 6px 20px #0000004d}.touch-btns{right:20px;bottom:calc(30px + var(--safe-b));flex-direction:column;align-items:flex-end;gap:14px;display:flex;position:fixed}.touch-btn{border:1px solid var(--hair-strong);background:var(--glass);-webkit-backdrop-filter:blur(12px);width:76px;height:76px;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;font-size:11px}.touch-btn.boost{background:var(--lime);width:88px;height:88px;color:var(--ink);border-color:var(--lime);font-weight:500}.touch-btn.active{transform:scale(.94)}.hud-left{top:calc(18px + var(--safe-t));pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;max-width:calc(100vw - 36px);display:flex;position:fixed;left:18px}.ui-root>.hud-left{pointer-events:none}.hud-left>*{pointer-events:auto}.hud-left>.hud-tl{position:static}.time-wrap{flex-direction:column;align-items:flex-start;gap:8px;max-width:100%;display:flex;position:relative}.time-chip{max-width:min(640px,100vw - 520px);min-height:36px;color:var(--paper);cursor:pointer;font-family:var(--f-mono);letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 11px;font-size:11.5px;transition:border-color .3s,background .3s;display:inline-flex;overflow:hidden}.time-chip:hover{border-color:var(--hair-strong)}.time-chip.preview{border-color:#d4ff3f73}.time-chip .tc-icon{font-size:15px;line-height:1}.time-chip .tc-time{color:var(--lime);font-weight:500}.time-chip .tc-place{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px}.time-chip .tc-line{font-family:var(--f-serif);letter-spacing:0;color:var(--paper);text-overflow:ellipsis;min-width:0;font-size:15px;font-style:italic;overflow:hidden}.time-scrubber{width:min(340px,100vw - 36px);animation:popDown .45s var(--ease-out) both;padding:16px}@keyframes popDown{0%{opacity:0;transform:translateY(-8px)}}.ts-head{justify-content:space-between;align-items:center;margin:-4px -6px 6px 0;display:flex}.ts-close{width:32px;height:32px;position:static}.ts-time{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.ts-time b{font-family:var(--f-display);letter-spacing:-.02em;font-size:30px;font-weight:800}.ts-badge{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lime);border:1px solid #d4ff3f73;border-radius:999px;padding:3px 8px;font-size:10px}.ts-badge.live{color:var(--mint);border-color:#8fd6a680}.time-scrubber input[type=range]{width:100%;height:44px;accent-color:var(--lime);cursor:pointer;background:0 0;margin:0}.ts-scale{color:var(--muted);justify-content:space-between;margin-top:-8px;font-size:9.5px;display:flex}.ts-hint{color:var(--muted);margin:10px 0 12px;font-size:13px}.ts-weather{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.ts-w{cursor:pointer;height:34px}.ts-w.on{background:var(--lime);color:var(--ink);border-color:var(--lime)}.ts-live{width:100%}@media (max-width:1180px){.time-chip .tc-line{display:none}}.hud-btn .hb-icon{font-family:var(--f-mono);letter-spacing:.04em;font-size:11px;display:none}.lantern-hud{gap:7px}.lantern-hud .lh-count{font-family:var(--f-mono);color:var(--paper);font-size:12px}.lantern-hud .lh-unit{color:var(--muted)}.lantern-hud .lh-cta{background:var(--lime);color:var(--ink);border-radius:999px;margin-left:4px;padding:3px 9px;font-size:11.5px;font-weight:700}@media (max-width:1180px){.lantern-hud .lh-unit{display:none}}.lantern-backdrop{z-index:50;background:#0d0b1247;place-items:center;padding:16px;animation:.3s both fadeIn;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes fadeIn{0%{opacity:0}}.lantern-form{width:min(460px,100%);max-height:calc(100dvh - 32px);animation:popIn2 .55s var(--ease-out) both;padding:26px 24px 22px;position:relative;overflow-y:auto}@keyframes popIn2{0%{opacity:0;transform:translateY(14px)scale(.97)}}.lantern-form h2{font-family:var(--f-display);letter-spacing:-.02em;margin:10px 0 6px;font-size:30px;font-weight:800;line-height:1}.lf-lead{color:var(--muted);margin:0 0 16px;font-size:14px}.lf-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.lf-field>span{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;font-size:10.5px;display:flex}.lf-field>span em{color:var(--lavender);font-style:normal}.lf-field input,.lf-field textarea{border:1px solid var(--hair-strong);width:100%;min-height:44px;color:var(--paper);font-family:var(--f-body);resize:none;background:#f6efe60d;border-radius:12px;outline:none;padding:11px 13px;font-size:15px;transition:border-color .2s,background .2s}.lf-field textarea{font-family:var(--f-serif);font-size:18px;font-style:italic;line-height:1.3}.lf-field input:focus,.lf-field textarea:focus{border-color:var(--lime);background:#f6efe614}.lf-colors{border:0;gap:10px;margin:4px 0 14px;padding:0;display:flex}.lf-colors legend{width:100%;font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10.5px}.lf-swatch{cursor:pointer;background:var(--c);width:44px;height:44px;box-shadow:0 0 0 2px transparent, 0 0 18px -4px var(--c);transition:transform .25s var(--ease-out), box-shadow .25s;border-radius:50%;position:relative}.lf-swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.lf-swatch.on{box-shadow:0 0 0 3px var(--ink), 0 0 0 5px var(--c), 0 0 22px -2px var(--c);transform:scale(1.08)}.lf-swatch:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:4px}.lf-verify{color:var(--muted);flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.lf-turnstile{min-height:65px}.lf-note{color:var(--lavender);margin:0 0 8px;font-size:12.5px}.lf-error{min-height:1.2em;color:var(--coral);margin:0 0 10px;font-size:13.5px}.lf-actions .btn{min-height:46px}.lantern-card{z-index:30;pointer-events:auto;border-color:color-mix(in srgb, var(--c) 45%, transparent);border-radius:16px;width:max-content;max-width:min(300px,80vw);padding:12px 14px;position:fixed;top:0;left:0}.lantern-card .lc-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.lantern-card .lc-dot{background:var(--c);width:9px;height:9px;box-shadow:0 0 10px var(--c);border-radius:50%;flex:none}.lantern-card b{font-family:var(--f-display);font-size:15px;font-weight:700}.lantern-card .lc-when{font-family:var(--f-mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap;margin-left:auto;padding-left:10px;font-size:10px}.lantern-card p{font-family:var(--f-serif);overflow-wrap:anywhere;margin:0;font-size:17px;font-style:italic;line-height:1.25}.lantern-card .lc-close{border:1px solid var(--hair-strong);background:var(--ink);width:30px;height:30px;color:var(--paper);cursor:pointer;border-radius:50%;position:absolute;top:-12px;right:-12px}.compact-card .cc-text>p:only-of-type{white-space:normal}html[data-racing] .time-chip .tc-line,html[data-racing] .hud-tr .hb-label,html[data-racing] .lantern-hud .lh-cta,html[data-racing] .lantern-hud .lh-unit,html[data-racing] .hint-bar{display:none}html[data-racing] .hud-tr .hb-icon{display:inline}.trial-timer{top:calc(18px + var(--safe-t));pointer-events:none;border-radius:999px;align-items:center;gap:12px;padding:8px 18px 8px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tt-label{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lime);font-size:10.5px}.tt-time{font-family:var(--f-mono);letter-spacing:.02em;font-variant-numeric:tabular-nums;min-width:8.2ch;font-size:30px;font-weight:500}.tt-pen{font-family:var(--f-mono);color:var(--coral);font-size:12px}.trial-count{pointer-events:none;font-family:var(--f-display);color:var(--paper);text-shadow:0 10px 60px #0d0b1280;animation:countPop .9s var(--ease-out) both;place-items:center;font-size:min(32vw,46vh);font-weight:800;line-height:1;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.trial-count.go{color:var(--lime);animation:goPop .85s var(--ease-out) both}@keyframes countPop{0%{opacity:0;transform:scale(1.5)}30%{opacity:1;transform:scale(1)}to{opacity:.1;transform:scale(.92)}}@keyframes goPop{0%{opacity:0;transform:scale(.6)}35%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.3)}}.trial-split{top:calc(80px + var(--safe-t));pointer-events:none;animation:toastIn .4s var(--ease-out) both;border-radius:999px;align-items:baseline;gap:12px;padding:9px 16px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.trial-split b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.trial-split em{font-style:normal;font-family:var(--f-mono);font-size:15px;font-weight:500}.trial-split em.good{color:#5dff8f}.trial-split em.bad{color:var(--coral)}.trial-arrow{opacity:0;pointer-events:none;z-index:5;width:0;height:0;transition:opacity .3s;position:fixed;top:0;left:0}.trial-arrow .ta-chev{width:36px;height:36px;transform:rotate(var(--a,0deg));position:absolute;top:-18px;left:-18px}.trial-arrow .ta-chev:before{content:"";background:var(--lime);clip-path:polygon(100% 50%,20% 8%,38% 50%,20% 92%);filter:drop-shadow(0 0 8px #d4ff3fcc);position:absolute;top:0;bottom:0;left:0;right:0}.trial-arrow .ta-label{white-space:nowrap;font-family:var(--f-mono);letter-spacing:.08em;color:var(--lime);background:#0d0b12b8;border-radius:999px;padding:3px 9px;font-size:10.5px;position:absolute;top:22px;left:0;transform:translate(-50%)}.trial-arrow.on .ta-chev{animation:1s ease-in-out infinite bob}.trial-arrow.on .ta-label{top:-48px}@keyframes bob{50%{translate:0 6px}}.ghost-toggle{top:calc(80px + var(--safe-t));min-height:44px;color:var(--paper);cursor:pointer;font-family:var(--f-mono);letter-spacing:.06em;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:11px;display:flex;position:fixed;right:18px}.ghost-toggle:not(.on){opacity:.55}.ghost-toggle .gt-legend{color:var(--muted)}.ghost-toggle i{border-radius:50%;width:8px;height:8px;margin:0 2px 0 6px;display:inline-block}.ghost-toggle i.lime{background:var(--lime);box-shadow:0 0 8px var(--lime)}.ghost-toggle i.coral{background:var(--coral);box-shadow:0 0 8px var(--coral)}.trial-hint{left:50%;bottom:calc(64px + var(--safe-b));font-family:var(--f-mono);letter-spacing:.06em;color:var(--paper);white-space:nowrap;pointer-events:none;border-radius:999px;padding:8px 16px;font-size:11px;position:fixed;transform:translate(-50%)}.trial-keys{left:50%;bottom:calc(64px + var(--safe-b));color:var(--muted);pointer-events:none;font-size:10.5px;position:fixed;transform:translate(-50%)}.result-card{width:min(420px,36vw);max-height:calc(100vh - 120px);animation:cardIn .7s var(--ease-out) both;padding:24px 24px 20px;position:fixed;top:50%;right:24px;overflow-y:auto;transform:translateY(-50%)}.result-card h2{font-family:var(--f-mono);letter-spacing:0;font-variant-numeric:tabular-nums;margin:8px 0 4px;font-size:48px;font-weight:500}.rc-pb{font-family:var(--f-serif);color:var(--lime);margin:0 0 8px;font-size:24px;font-style:italic}.rc-delta,.rc-race{font-family:var(--f-mono);color:var(--muted);margin:0 0 8px;font-size:13px}.rc-race{color:var(--paper);font-size:14px}.rc-rank{margin:6px 0 12px;font-size:15px}.rc-form{margin-top:10px}.rc-actions{border-top:1px solid var(--hair);margin-top:14px;padding-top:14px}.leaderboard{width:min(440px,100%);max-height:calc(100dvh - 32px);animation:popIn2 .5s var(--ease-out) both;padding:24px 22px 20px;position:relative;overflow-y:auto}.leaderboard h2{font-family:var(--f-display);letter-spacing:-.02em;margin:8px 0 14px;font-size:30px;font-weight:800}.lb-tabs{gap:8px;margin-bottom:12px;display:flex}.lb-tabs .chip{cursor:pointer;height:40px;padding:0 16px;font-size:11px}.lb-tabs .chip.on{background:var(--lime);color:var(--ink);border-color:var(--lime)}.lb-list{margin:0 0 14px;padding:0;list-style:none}.lb-list li{border-bottom:1px solid var(--hair);align-items:center;gap:12px;min-height:44px;padding:0 12px;display:flex}.lb-list li.mine{background:#d4ff3f1a;border-bottom-color:#0000;border-radius:12px}.lb-rank{font-family:var(--f-mono);color:var(--muted);width:2ch;font-size:12px}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.lb-name em{color:var(--lime);font-style:normal;font-family:var(--f-mono);font-size:11px}.lb-time{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.lb-empty{color:var(--muted);justify-content:center}.leaderboard .ghost-toggle{position:static}.presence-pill{max-width:min(520px,100vw - 520px);min-height:36px;color:var(--paper);font-family:var(--f-body);cursor:default;border-radius:999px;align-items:center;gap:9px;padding:0 14px 0 12px;font-size:13px;display:inline-flex}.presence-pill.alone{cursor:pointer;color:var(--muted)}.presence-pill.alone:hover{color:var(--paper);border-color:var(--hair-strong)}.presence-pill .pp-dot{background:#5dff8f;border-radius:50%;flex:none;width:8px;height:8px;animation:2.4s ease-in-out infinite blink;box-shadow:0 0 10px #5dff8f}.presence-pill.alone .pp-dot{background:var(--lavender);box-shadow:0 0 8px var(--lavender)}.presence-pill .pp-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.presence-pill .pp-hint{color:var(--muted);letter-spacing:.08em;border-left:1px solid var(--hair);white-space:nowrap;padding-left:8px;font-size:10px}html[data-racing] .presence-pill{display:none}.live-layer{pointer-events:none;z-index:8;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.live-tag{will-change:transform;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0}.live-tag>span{transform:translate(-50%,-100%)}.lt-name{border:1px solid var(--hair);font-family:var(--f-mono);letter-spacing:.04em;color:var(--paper);white-space:nowrap;background:#0d0b12a8;border-radius:999px;padding:3px 10px;font-size:10.5px}.lt-bubble{opacity:0;transition:opacity .2s, transform .45s var(--ease-out);filter:drop-shadow(0 4px 10px #0d0b1266);font-size:26px;line-height:1;transform:translate(-50%,-80%)scale(.4)}.lt-bubble.on{opacity:1;animation:2.6s ease-out both bubbleFloat;transform:translate(-50%,-110%)scale(1)}@keyframes bubbleFloat{70%{opacity:1}to{opacity:0;translate:0 -14px}}.ghost-card,.challenge-card{left:50%;bottom:calc(96px + var(--safe-b));text-align:center;z-index:20;width:min(360px,100vw - 32px);animation:compactIn .5s var(--ease-out) both;padding:20px 20px 18px;position:fixed;transform:translate(-50%)}.ghost-card h3,.challenge-card h3{font-family:var(--f-display);letter-spacing:-.01em;margin:8px 0 14px;font-size:22px;font-weight:700}.ghost-card .kicker,.challenge-card .kicker{justify-content:center}.ghost-card .btn{width:100%}.gc-emotes{justify-content:center;gap:8px;margin-bottom:12px;display:flex}.gc-emote{border:1px solid var(--hair-strong);cursor:pointer;width:44px;height:44px;transition:transform .2s var(--ease-out);background:#f6efe60d;border-radius:50%;font-size:20px}.gc-emote:hover{transform:scale(1.12)}.challenge-card{border-color:#ff7b7b80}.challenge-card .btn-row{justify-content:center}.challenge-card .cc-timer{background:var(--coral);transform-origin:0;border-radius:2px;height:2px;animation:20s linear both ccTimer;position:absolute;bottom:8px;left:20px;right:20px}@keyframes ccTimer{to{transform:scaleX(0)}}.emote-backdrop{z-index:60;position:fixed;top:0;bottom:0;left:0;right:0}.emote-wheel{width:0;height:0;position:fixed}.emote-wheel button{border:1px solid var(--hair-strong);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);width:60px;height:60px;animation:wheelIn .35s var(--ease-out) both;border-radius:50%;font-size:26px;position:absolute;top:-30px;left:-30px}.emote-wheel .ew-0{translate:0 -72px}.emote-wheel .ew-1{animation-delay:30ms;translate:72px}.emote-wheel .ew-2{animation-delay:60ms;translate:0 72px}.emote-wheel .ew-3{animation-delay:90ms;translate:-72px}@keyframes wheelIn{0%{opacity:0;scale:.4}}@media (max-width:760px),(pointer:coarse) and (max-width:1024px){.intro-card{left:12px;right:12px;bottom:calc(12px + var(--safe-b));width:auto;padding:22px 20px 20px}.intro-card p{font-size:14px}.story-card{width:auto;max-height:48vh;max-height:48dvh;padding:20px 18px calc(14px + var(--safe-b));border-radius:22px 22px 0 0;animation-name:sheetIn;top:auto;bottom:0;left:0;right:0;transform:none}.story-card.leaving{animation-name:sheetOut}@keyframes sheetIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes sheetOut{to{opacity:0;transform:translateY(40px)}}.story-card h2{margin:8px 0 6px;font-size:26px}.story-card .lead{margin-bottom:8px;font-size:19px}.card-nav{margin-top:12px;padding-top:12px}.hud-tl{gap:10px;padding:8px 12px}.hud-left{left:12px;top:calc(12px + var(--safe-t));max-width:calc(100vw - 80px)}.time-chip,.presence-pill{max-width:calc(100vw - 80px);min-height:44px}.ghost-card,.challenge-card{bottom:calc(180px + var(--safe-b))}.hud-left{flex-flow:wrap;gap:8px}.hud-left>.hud-tl{flex-basis:100%;max-width:max-content}.compact-card{top:calc(122px + var(--safe-t))}.trial-hint{top:auto;left:50%;right:auto;bottom:calc(176px + var(--safe-b));text-align:center;max-width:62vw;font-size:10px;transform:translate(-50%)}.tt-label{white-space:nowrap}.ghost-toggle{top:calc(290px + var(--safe-t));bottom:auto;right:12px}.time-scrubber{width:calc(100vw - 80px)}.hud-tr{top:calc(12px + var(--safe-t));flex-direction:column;align-items:flex-end;gap:8px;left:auto;right:12px}.hud-tr .hud-btn{justify-content:center;min-width:44px;min-height:44px;padding:0 12px;font-size:13px}.hud-tr .hb-label,.lantern-hud .lh-cta,.lantern-hud .lh-unit{display:none}.hud-tr .hb-icon{display:inline}.lantern-form{padding:22px 18px 18px}.lantern-backdrop{align-items:end;padding:0}.lantern-form,.leaderboard{width:100%;padding-bottom:calc(18px + var(--safe-b));border-radius:22px 22px 0 0}html[data-racing] .hud-left .time-wrap{display:none}.trial-timer{top:calc(64px + var(--safe-t));gap:8px;padding:6px 14px}.tt-time{font-size:24px}.trial-split{top:calc(116px + var(--safe-t))}.ghost-toggle{padding:0 12px}.ghost-toggle .gt-label,.ghost-toggle .gt-legend{display:none}.result-card{width:auto;max-height:62vh;padding:20px 18px calc(16px + var(--safe-b));border-radius:22px 22px 0 0;animation-name:sheetIn;top:auto;bottom:0;left:0;right:0;transform:none}.result-card h2{font-size:38px}.hint-bar{display:none}.compact-card{left:50%;top:calc(112px + var(--safe-t));padding:12px 14px;animation-name:compactInTop;bottom:auto;transform:translate(-50%)}@keyframes compactInTop{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.compact-card h3{font-size:16px}.compact-card p{font-size:14px}.r-grid{grid-template-columns:1fr}.r-grid>h2{border-bottom:0;padding:16px 0 0}.r-skills{grid-template-columns:1fr}.resume-inner{padding:calc(10px + var(--safe-t)) 18px 60px}.resume-top{flex-wrap:wrap}.resume-top .btn-row{width:100%}.resume-top .btn.primary{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.toast{white-space:normal;text-align:center;border-radius:18px;max-width:calc(100vw - 32px)}.corner{font-size:9.5px}.corner.tl{left:16px}.corner.tr{right:16px}.corner.bl{left:16px}.corner.br{right:16px}}@media (pointer:coarse){.btn.small,.ts-w,.lb-tabs .chip,.auto-toggle,.dots button{min-height:44px}.dots button{min-width:22px;box-shadow:inset 0 0 0 1px var(--hair-strong);background-clip:content-box;border-width:0;padding:18px 7px}.dots button.current{min-width:36px}.card-close,.ts-close{width:44px;height:44px}.lantern-card .lc-close{width:44px;height:44px;top:-18px;right:-18px}}@media (max-width:760px){.dots button{pointer-events:none;width:8px;min-width:0;height:8px;min-height:0;box-shadow:none;background-clip:border-box;border-width:1px;padding:0}.dots button.current{width:22px;min-width:0}}@media (prefers-reduced-motion:reduce){.grain{animation:none}.split .w>span,.fade-up{animation-duration:10ms;animation-delay:0s!important}.pulse{animation:none}}
