@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bungee-latin.woff2)format("woff2")}@font-face{font-family:Martian Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/martian-mono-latin-400.woff2)format("woff2")}@font-face{font-family:Martian Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/martian-mono-latin-700.woff2)format("woff2")}:root{--bg:#0a0b13;--surface:#11131f;--surface-2:#181b2b;--line:#232739;--line-bright:#363c58;--text:#f0f2f9;--muted:#9ba1b8;--violet:#8f7bff;--violet-tint:#8f7bff1f;--violet-ink:#0a0b13;--green:#22d68e;--green-tint:#22d68e1f;--red:#ff5964;--font-display:"Bungee", ui-sans-serif, system-ui, sans-serif;--font-mono:"Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--text-xs:11px;--text-sm:13px;--text-md:15px;--text-lg:18px;--track-caps:.08em;--ease-out:cubic-bezier(.22, 1, .36, 1);--shadow-raise:0 16px 40px #00000073;--z-hud:10;--z-overlay:20;--z-toast:30;--grid-lines:repeating-linear-gradient(0deg, transparent 0 47px, #23273980 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, #2327394d 47px 48px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);font-kerning:normal;overflow:hidden}:focus-visible{outline:2px solid var(--violet);outline-offset:2px}#app{place-items:center;height:100dvh;display:grid;position:fixed;inset:0}#game{touch-action:none;-webkit-user-select:none;user-select:none;display:block}#ui{pointer-events:none;position:absolute;inset:0}.hidden{display:none!important}.up{color:var(--green)}.picker{pointer-events:auto;background:var(--grid-lines), var(--bg);padding:0 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;gap:14px;display:flex;position:absolute;inset:0}.ticker-tape{padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--line);background:var(--bg);white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--muted);-webkit-user-select:none;user-select:none;margin:0 -16px;overflow:hidden}.ticker-track{padding:7px 0;animation:60s linear infinite ticker;display:inline-block}.ticker-tape .down{color:var(--red)}.ticker-tape .sep{opacity:.35;margin:0 10px}@keyframes ticker{to{transform:translate(-50%)}}.picker-head{flex-direction:column;gap:10px;width:100%;max-width:520px;margin:0 auto;padding-top:clamp(4px,2vh,24px);display:flex}.logo{font-family:var(--font-display);color:var(--text);text-wrap:balance;align-items:center;gap:12px;font-size:clamp(26px,6vw,38px);font-weight:400;line-height:1.05;display:flex}.logo .logo-mark{flex:none}.logo .logo-tick{color:var(--violet)}.tagline{color:var(--muted);font-size:var(--text-sm);margin-bottom:4px}.search{background:var(--surface);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);font-size:var(--text-md);min-height:48px;transition:border-color .15s var(--ease-out);border-radius:10px;outline:none;padding:12px 14px}.search::placeholder{color:var(--muted)}.search:focus{border-color:var(--violet)}.tf-row{gap:8px;display:flex}.pill{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;cursor:pointer;transition:color .15s var(--ease-out), border-color .15s var(--ease-out), background-color .15s var(--ease-out);border-radius:10px;flex:1}.pill:hover{border-color:var(--line-bright);color:var(--text)}.pill.active{border-color:var(--violet);color:var(--violet);background:var(--violet-tint)}.stock-list{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;flex-direction:column;flex:1;gap:6px;width:100%;max-width:520px;margin:0 auto;padding-bottom:8px;display:flex;overflow-y:auto}.stock-row{background:var(--surface);border:1px solid var(--line);min-height:56px;color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s var(--ease-out), background-color .15s var(--ease-out), opacity .15s var(--ease-out);border-radius:10px;grid-template-columns:1fr 60px 52px;align-items:center;gap:12px;padding:8px 14px;display:grid}.stock-row:hover{border-color:var(--line-bright);background:var(--surface-2)}.stock-row:active{border-color:var(--violet)}.stock-row.loading{border-color:var(--violet);opacity:.6;pointer-events:none}.stock-names{flex-direction:column;gap:2px;display:flex;overflow:hidden}.stock-sym{font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm)}.stock-name{font-family:var(--font-ui);color:var(--muted);font-size:var(--text-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stock-row .spark{width:60px;height:24px}.stock-best{font-family:var(--font-mono);color:var(--violet);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.picker-empty{color:var(--muted);font-size:var(--text-sm);text-align:center;padding:32px 0}.hud{pointer-events:none;z-index:var(--z-hud);position:absolute;inset:0}.hud.idle .hud-top,.hud.idle .hud-date{display:none}.hud .btn{pointer-events:auto}.hud-top{top:max(10px, env(safe-area-inset-top));justify-content:space-between;align-items:flex-start;padding:0 16px;display:flex;position:absolute;left:0;right:0}.hud-left{align-items:center;gap:8px;display:flex}.hud-btn{pointer-events:auto;background:var(--surface);border:1px solid var(--line-bright);width:44px;height:44px;color:var(--text);cursor:pointer;transition:border-color .15s var(--ease-out), color .15s var(--ease-out);border-radius:12px;place-items:center;display:grid}.hud-btn:hover{border-color:var(--violet);color:var(--violet)}.hud-fighter canvas{width:30px;height:30px;display:block}.hud-stock{font-family:var(--font-mono);color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;text-shadow:0 1px 4px #000c;align-self:center}.hud-score{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #000000a6;font-size:44px}.hud-date{left:50%;bottom:max(18px, env(safe-area-inset-bottom));font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #000c;white-space:nowrap;position:absolute;transform:translate(-50%)}.hud-date .px{color:var(--text);margin-left:12px}.ready-overlay,.death-overlay{z-index:var(--z-overlay);place-items:center;display:grid;position:absolute;inset:0}.death-overlay{pointer-events:auto;background:#0a0b138c}.ready-pulse{font-family:var(--font-display);color:var(--text);letter-spacing:.04em;background:var(--surface);border:1px solid var(--line-bright);box-shadow:var(--shadow-raise);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:16px 26px 14px;font-size:20px;animation:1.6s ease-in-out infinite ready-blink;display:flex;transform:translateY(14vh)}.ready-hint{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}@keyframes ready-blink{50%{border-color:var(--violet)}}.death-card{background:var(--surface);border:1px solid var(--line-bright);text-align:center;min-width:min(320px,84vw);box-shadow:var(--shadow-raise);animation:card-in .26s var(--ease-out);border-radius:16px;flex-direction:column;gap:8px;padding:26px 28px 22px;display:flex}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.death-title{font-family:var(--font-display);color:var(--red);letter-spacing:.02em;text-wrap:balance;font-size:16px}.death-score{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:2px 0;font-size:64px;line-height:1}.death-detail,.death-best{font-family:var(--font-mono);color:var(--muted);font-size:var(--text-sm)}.death-best.new{color:var(--violet);animation:best-pop .4s var(--ease-out)}@keyframes best-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.15)}}.death-buttons{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn{cursor:pointer;white-space:nowrap;min-height:48px;font-family:var(--font-ui);font-weight:700;font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;border:1px solid var(--line-bright);background:var(--bg);color:var(--text);transition:border-color .15s var(--ease-out), filter .15s var(--ease-out), transform .1s var(--ease-out);border-radius:10px;flex:1;padding:0 12px}.btn:hover{border-color:var(--violet)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--violet);border-color:var(--violet);color:var(--violet-ink)}.btn-primary:hover{filter:brightness(1.08)}.death-share-row{margin-top:0}.btn-share,.btn-copy{color:var(--violet);border-color:var(--line-bright);justify-content:center;align-items:center;gap:8px;display:flex}.btn-share{flex:1.6 auto}.btn-share svg,.btn-copy svg{flex:none}.btn-share:disabled{opacity:.55;cursor:wait}.toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:var(--z-toast);pointer-events:none;background:var(--surface);border:1px solid var(--red);color:var(--text);font-size:var(--text-sm);box-shadow:var(--shadow-raise);animation:toast-in .22s var(--ease-out);border-radius:10px;padding:12px 18px;position:absolute;transform:translate(-50%)}.toast.ok{border-color:var(--violet)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}}.landing{pointer-events:auto;background:var(--grid-lines), var(--bg);padding:max(20px, env(safe-area-inset-top)) 24px max(16px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;display:flex;position:absolute;inset:0}.landing-inner{flex-direction:column;align-items:center;gap:12px;max-width:680px;margin:auto 0;display:flex}.landing-logo{font-family:var(--font-display);color:var(--text);text-wrap:balance;font-size:clamp(34px,7.5vw,72px);font-weight:400;line-height:1}.landing-logo .logo-tick{color:var(--violet)}.landing-tag{color:var(--text);font-size:clamp(15px,2.4vw,17px)}.landing-sub{color:var(--muted);font-size:var(--text-md);max-width:52ch;line-height:1.55}.landing-choose{font-family:var(--font-display);letter-spacing:.06em;color:var(--violet);margin-top:clamp(8px,2.5vh,22px);font-size:14px}.fighter-row{gap:14px;margin-top:4px;display:flex}.fighter{cursor:pointer;background:var(--surface);border:1px solid var(--line);color:var(--text);transition:border-color .15s var(--ease-out), background-color .15s var(--ease-out), transform .15s var(--ease-out);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:18px 28px 14px;display:flex}.fighter:hover{background:var(--surface-2);transform:translateY(-3px)}.fighter:active{transform:translateY(-1px)}.fighter-bull:hover,.fighter-bull:focus-visible{border-color:var(--green)}.fighter-bear:hover,.fighter-bear:focus-visible{border-color:var(--red)}.fighter canvas{width:clamp(84px,13vh,112px);height:auto;animation:3.2s ease-in-out infinite fighter-float}.fighter-bear canvas{animation-delay:-1.6s}@keyframes fighter-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}.fighter-name{font-family:var(--font-display);letter-spacing:.02em;font-size:16px}.fighter-bull .fighter-name{color:var(--green)}.fighter-bear .fighter-name{color:var(--red)}.fighter-sub{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.landing-hint{font-family:var(--font-ui);font-size:var(--text-xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted);margin-top:14px}.landing-foot{font-size:var(--text-xs);color:var(--muted);opacity:.75}@media (min-width:900px){.picker{padding-left:32px;padding-right:32px}.picker-head{max-width:880px}.stock-list{grid-template-columns:repeat(2,1fr);align-content:start;gap:10px;max-width:880px;display:grid}.picker-empty{grid-column:1/-1}.fighter-row{gap:20px}.fighter{padding:22px 40px 16px}}@media (prefers-reduced-motion:reduce){.ticker-track,.ready-pulse,.death-card,.toast,.death-best.new{animation:none}.fighter,.fighter:hover,.fighter:active{transform:none}.fighter canvas{animation:none}}
