:root{--bg: #0f0f1a;--card: #1a1a2e;--accent: #e94560;--accent2: #0f3460;--gold: #f0c040;--success: #2ecc71;--warning: #f39c12;--text: #eee;--muted: #888}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{min-height:100dvh;display:flex;flex-direction:column;max-width:900px;margin:0 auto;padding:12px}.btn{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px 20px;font-size:16px;font-weight:600;cursor:pointer;touch-action:manipulation;min-height:48px}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--accent2)}.btn-gold{background:var(--gold);color:#222}.btn-sm{padding:8px 14px;font-size:14px;min-height:36px}.card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:12px}.input{width:100%;padding:14px;border-radius:12px;border:2px solid #333;background:#111;color:var(--text);font-size:16px;margin-bottom:10px}.input:focus{outline:none;border-color:var(--accent)}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:#222;color:#fff;padding:12px 20px;border-radius:12px;z-index:1000;max-width:90%;text-align:center;box-shadow:0 4px 20px #00000080}.toast.success{border-left:4px solid var(--success)}.toast.warning{border-left:4px solid var(--warning)}.toast.error{border-left:4px solid var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:900;padding:16px}.modal{background:var(--card);border-radius:20px;padding:24px;max-width:400px;width:100%;max-height:80dvh;overflow-y:auto}.timer{font-size:48px;font-weight:800;text-align:center;color:var(--gold);font-variant-numeric:tabular-nums}.timer.urgent{color:var(--accent);animation:pulse .5s infinite}@keyframes pulse{50%{opacity:.6}}.bid-bar{position:sticky;bottom:0;background:var(--bg);padding:12px 0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;border-top:1px solid #333}.player-chip{display:inline-flex;align-items:center;gap:6px;background:#222;padding:6px 12px;border-radius:20px;font-size:14px;margin:4px}.player-chip.host{border:1px solid var(--gold)}.player-chip.bidder{background:var(--accent2)}.reveal-card{text-align:center}.reveal-card .value{font-size:32px;color:var(--gold);font-weight:700}.jackpot{color:var(--success)}.bust{color:var(--accent)}@media (min-width: 768px){.app{padding:24px}.desktop-grid{display:grid;grid-template-columns:1fr 280px;gap:16px}}
