@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/archivo-black-latin.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2")}:root{--bg:#0b0e14;--surface:#121722;--surface-2:#171e2c;--line:#1e2635;--line-bright:#2b3550;--text:#e6edf7;--muted:#8b98ad;--green:#22c58b;--red:#f0505a;--accent:#f5b83d;--accent-ink:#14100a;--font-display:"Archivo Black", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-body:ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--z-hud:10;--z-overlay:20;--z-toast:30}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);overflow:hidden}:focus-visible{outline:2px solid var(--accent);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}.picker{pointer-events:auto;background:radial-gradient(120% 70% at 50% -10%, #f5b83d0f, transparent 60%), repeating-linear-gradient(0deg, transparent 0 47px, #1e26358c 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, #1e263559 47px 48px), 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);white-space:nowrap;font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);-webkit-user-select:none;user-select:none;background:#0b0e14b3;margin:0 -16px;font-size:11px;overflow:hidden}.ticker-track{padding:7px 0;animation:60s linear infinite ticker;display:inline-block}.ticker-tape .up{color:var(--green)}.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);letter-spacing:.015em;color:var(--text);text-wrap:balance;align-items:baseline;gap:12px;font-size:clamp(30px,7vw,44px);font-weight:400;line-height:1.05;display:flex}.logo .logo-mark{flex:none;transform:translateY(2px)}.logo .logo-tick{color:var(--accent)}.tagline{font-family:var(--font-mono);color:var(--muted);margin-bottom:4px;font-size:13px}.tagline .up{color:var(--green)}.search{background:var(--surface);border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);min-height:48px;transition:border-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border-radius:10px;outline:none;padding:12px 14px;font-size:15px}.search::placeholder{color:var(--muted)}.search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f5b83d2e}.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);letter-spacing:.08em;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;font-size:12px}.pill:hover{border-color:var(--line-bright);color:var(--text)}.pill.active{border-color:var(--accent);color:var(--accent);background:#f5b83d1a}.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), transform .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);transform:translate(2px)}.stock-row:active{border-color:var(--accent);transform:translate(2px)scale(.995)}.stock-names{flex-direction:column;gap:1px;display:flex;overflow:hidden}.stock-sym{font-family:var(--font-mono);letter-spacing:.02em;font-size:14px;font-weight:700}.stock-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.stock-best{font-family:var(--font-mono);color:var(--accent);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.picker-empty{font-family:var(--font-mono);color:var(--muted);text-align:center;padding:32px 0;font-size:13px}.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:baseline;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;border:1px solid var(--line-bright);width:44px;height:44px;color:var(--text);cursor:pointer;transition:border-color .15s var(--ease-out);background:#121722bf;border-radius:10px;font-size:17px;line-height:1}.hud-btn:hover{border-color:var(--accent)}.hud-back{padding-bottom:4px;font-size:26px}.hud-stock{font-family:var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 4px #000c;font-size:12px}.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);letter-spacing:.1em;color:var(--muted);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px #000c;white-space:nowrap;font-size:12px;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:#0b0e148c}.ready-pulse{font-family:var(--font-mono);color:var(--text);letter-spacing:.25em;border:1px solid var(--line-bright);background:#0b0e14c7;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:16px 26px 14px 30px;font-size:18px;animation:1.6s ease-in-out infinite pulse;display:flex;transform:translateY(14vh)}.ready-hint{letter-spacing:.12em;color:var(--muted);font-size:11px}@keyframes pulse{50%{opacity:.55}}.death-card{background:var(--surface);border:1px solid var(--line-bright);text-align:center;min-width:min(320px,84vw);animation:card-in .26s var(--ease-out);border-radius:16px;flex-direction:column;gap:8px;padding:26px 28px 22px;display:flex;box-shadow:0 24px 60px #00000080}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.96)}}.death-title{font-family:var(--font-display);color:var(--red);letter-spacing:.06em;text-transform:uppercase;text-wrap:balance;font-size:15px}.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:13px}.death-best.new{color:var(--accent);animation:best-pop .4s var(--ease-out)}@keyframes best-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.15)}}.death-buttons{gap:10px;margin-top:12px;display:flex}.btn{cursor:pointer;min-height:48px;font-family:var(--font-mono);letter-spacing:.06em;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;font-size:13px}.btn:hover{border-color:var(--accent)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.btn-primary:hover{filter:brightness(1.08)}.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-family:var(--font-mono);animation:toast-in .22s var(--ease-out);border-radius:10px;padding:12px 18px;font-size:13px;position:absolute;transform:translate(-50%);box-shadow:0 12px 32px #00000080}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}}.landing{pointer-events:auto;background:radial-gradient(100% 60% at 50% 0%, #f5b83d14, transparent 55%), radial-gradient(80% 50% at 50% 110%, #22c58b0f, transparent 60%), repeating-linear-gradient(0deg, transparent 0 47px, #1e26358c 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, #1e263559 47px 48px), 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:14px;max-width:640px;margin:auto 0;display:flex}.landing-bull{width:clamp(110px,18vh,150px);height:auto;animation:3.2s ease-in-out infinite bull-float}@keyframes bull-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-14px)rotate(3deg)}}.landing-logo{font-family:var(--font-display);letter-spacing:.01em;color:var(--text);text-wrap:balance;font-size:clamp(40px,9vw,84px);font-weight:400;line-height:1}.landing-tag{font-family:var(--font-mono);color:var(--text);font-size:clamp(14px,2.4vw,17px)}.landing-sub{color:var(--muted);max-width:52ch;font-size:14px;line-height:1.55}.landing-sub .up{color:var(--green)}.landing-cta{flex:none;min-width:240px;min-height:56px;margin-top:10px;font-size:15px;box-shadow:0 12px 40px #f5b83d40}.landing-hint{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:11px}.landing-foot{font-family:var(--font-mono);color:var(--muted);opacity:.75;font-size:11px}@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}}@media (prefers-reduced-motion:reduce){.ticker-track,.ready-pulse,.death-card,.toast,.death-best.new{animation:none}.stock-row,.stock-row:hover,.stock-row:active{transform:none}.landing-bull{animation:none}}
