:root{color-scheme:dark;--bg: #0b0b0c;--panel: #161618;--panel-2: #1f1f23;--line: #2c2c33;--text: #f1f1f3;--muted: #8e8e96;--accent: #ff8a3d;--accent-2: #ffb780;--win: #5cdb78;--loss: #ef5050;--warn: #f1c40f;--shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 8px 24px rgba(0, 0, 0, .35);font-family:ui-sans-serif,system-ui,-apple-system,SF Pro Text,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:#0b0b0c;color:var(--text);overscroll-behavior:none}body{min-height:100vh}.app{max-width:1100px;margin:0 auto;padding:16px 12px 100px}@media (min-width: 760px){.app{padding:24px 16px 80px}}.appbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:8px}.appbar h1{font-size:18px;margin:0;font-weight:600;letter-spacing:.4px}.appbar .brand{display:flex;gap:10px;align-items:center}.appbar .brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}.appbar .bankroll{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px;display:flex;align-items:center;gap:8px}.appbar .bankroll strong{color:var(--text)}@media (max-width: 759px){.appbar .bankroll{font-size:16px}.appbar .bankroll strong{font-size:20px;font-weight:700}}.appbar .appbar-right{display:flex;align-items:center;gap:12px}.btn-reset{color:var(--muted);font-size:12px;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0;white-space:nowrap;flex-shrink:0}.tabs{display:flex;gap:6px;margin-bottom:20px}.tabs button{background:var(--panel);border:1px solid var(--line);color:var(--muted);padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:500;font-size:14px}.tabs button.active{color:var(--text);border-color:var(--accent);background:linear-gradient(180deg,rgba(255,138,61,.08),transparent)}@media (max-width: 759px){.tabs{gap:4px}.tabs button{flex:1;text-align:center;font-size:13px;padding:10px 8px}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:var(--shadow)}.game-layout{display:grid;grid-template-columns:1fr 280px;gap:20px}@media (max-width: 759px){.game-layout{grid-template-columns:1fr;gap:16px}.sidebar{width:100%}}.stage{background:var(--panel-2);border-radius:12px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;min-height:360px;padding:16px}@media (max-width: 759px){.stage{min-height:auto;padding:12px}}.sidebar h2{font-size:14px;color:var(--muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:1px}.sidebar .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}.sidebar .multiplier{font-size:48px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-2);text-align:center;margin:14px 0}.btn{display:inline-block;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:10px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:500}.btn.primary{background:var(--accent);color:#1a1006;border-color:var(--accent)}.btn.danger{background:var(--loss);border-color:var(--loss);color:#fff;animation:pulse-btn .7s ease-in-out infinite}.btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 759px){.btn.primary{height:52px;font-size:16px;font-weight:700;border-radius:12px}}.btn.primary.playing{animation:pulse-btn 1s ease-in-out infinite}.bet-row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.bet-row input{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;width:90px;font-variant-numeric:tabular-nums}@media (max-width: 759px){.bet-row input{height:44px;font-size:16px}}.bet-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.bet-chip{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--muted);line-height:1.4}.bet-chip:hover{border-color:var(--accent);color:var(--text)}.outcome.win{color:var(--win)}.outcome.loss{color:var(--loss)}.outcome-banner{text-align:center;padding:12px 14px;border-radius:10px;margin-top:12px;font-weight:600;animation:fade-in-up .25s ease-out}.outcome-banner.win{background:#5cdb781f;color:var(--win)}.outcome-banner.loss{background:#ef50501f;color:var(--loss)}.history-chips{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px}.history-chip{font-size:11px;font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:12px;font-weight:600}.history-chip.win{background:#5cdb7826;color:var(--win);border:1px solid rgba(92,219,120,.3)}.history-chip.loss{background:#ef50501f;color:var(--loss);border:1px solid rgba(239,80,80,.3)}.log{margin-top:28px}.log h3{font-size:14px;color:var(--muted);margin:0 0 8px;text-transform:uppercase;letter-spacing:1px}.log .entry{display:grid;grid-template-columns:100px 1fr 80px 80px 100px;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line);font-variant-numeric:tabular-nums}@media (max-width: 759px){.log .entry{grid-template-columns:80px 1fr 60px 70px 80px;font-size:12px}}.log .entry .outcome.win{color:var(--win)}.log .entry .outcome.loss{color:var(--loss)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.menu-card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer}.menu-card:hover{border-color:var(--accent)}.menu-card h3{margin:0 0 6px}.menu-card p{margin:0;color:var(--muted);font-size:13px}.horses{display:flex;flex-direction:column;gap:6px}.horse-row{display:grid;grid-template-columns:24px 1fr 70px 36px;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}@media (max-width: 759px){.horse-row{grid-template-columns:20px 1fr 60px 32px}}.horse-row.picked{border-color:var(--accent);background:linear-gradient(180deg,rgba(255,138,61,.06),transparent)}.horse-row .h-mult{color:var(--accent-2);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.horse-row .h-color{width:18px;height:18px;border-radius:50%}@keyframes pulse-btn{0%,to{box-shadow:0 0 #ff8a3d66}50%{box-shadow:0 0 0 10px #ff8a3d00}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
