.card{display:inline-block;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:#fff;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;position:relative}.card img{display:block;width:100%;height:auto;pointer-events:none}.card-sm{width:60px}.card-md{width:100px}.card-lg{width:140px}@keyframes card-flip-in{0%{transform:rotateY(180deg);opacity:0}to{transform:rotateY(0);opacity:1}}.card-revealing{animation:card-flip-in .48s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}:root[data-theme=cyber] .card{border-radius:6px;background:#0a0f1c;box-shadow:0 0 0 1px var(--border-strong),0 4px 16px #0009,0 0 12px #00e5ff14;transition:box-shadow .2s ease,transform .2s ease}:root[data-theme=cyber] .card:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--accent),0 8px 28px #000000b3,0 0 24px #00e5ff40}:root[data-theme=cyber] .card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:conic-gradient(from 30deg,transparent 0deg,rgba(0,229,255,.13) 60deg,rgba(184,51,255,.16) 120deg,rgba(255,234,0,.1) 180deg,rgba(57,255,142,.12) 240deg,rgba(0,229,255,.13) 300deg,transparent 360deg);mix-blend-mode:screen;opacity:.35;transition:opacity .2s ease,transform .6s ease}:root[data-theme=cyber] .card:hover:after,:root[data-theme=cyber] .card-revealing:after{opacity:.7;animation:card-holo 4s linear infinite}@keyframes card-holo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){:root[data-theme=cyber] .card:hover:after,:root[data-theme=cyber] .card-revealing:after{animation:none}}:root[data-theme=cyber] .card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0px,rgba(0,0,0,.03) 1px,transparent 1px,transparent 3px);z-index:1}:root[data-theme=cyber] .card-revealing{box-shadow:0 0 0 1px var(--accent),0 0 32px #00e5ff73,0 0 64px #b833ff40}.hand{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;padding:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:160px;position:relative}:root[data-theme=cyber] .hand{background:var(--panel-overlay),var(--bg-elev);border-color:var(--border-strong);padding:18px}:root[data-theme=cyber] .hand:before,:root[data-theme=cyber] .hand:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--accent);border-style:solid;pointer-events:none;opacity:.7}:root[data-theme=cyber] .hand:before{top:-1px;left:-1px;border-width:1px 0 0 1px}:root[data-theme=cyber] .hand:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.market{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 32px;margin:16px 0;position:relative}:root[data-theme=cyber] .market{background:var(--panel-overlay),linear-gradient(180deg,var(--bg-panel) 0%,var(--bg-elev) 100%);border-color:var(--border-strong);box-shadow:0 0 24px #00e5ff0f}:root[data-theme=cyber] .market:before,:root[data-theme=cyber] .market:after{content:"";position:absolute;width:20px;height:20px;border-style:solid;border-color:var(--accent);pointer-events:none}:root[data-theme=cyber] .market:before{top:-1px;left:-1px;border-width:1px 0 0 1px}:root[data-theme=cyber] .market:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.market-row{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}.market-side{text-align:center}.market-bid{color:var(--sell)}.market-ask{color:var(--buy)}.market-label{font-size:11px;letter-spacing:.18em;color:var(--text-dim);margin-bottom:4px;font-weight:600;font-family:var(--font-display)}.market-price{font-size:56px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;font-family:var(--font-mono)}:root[data-theme=cyber] .market-bid .market-price{text-shadow:0 0 8px rgba(255,46,99,.55),0 0 24px rgba(255,46,99,.22)}:root[data-theme=cyber] .market-ask .market-price{text-shadow:0 0 8px rgba(57,255,142,.55),0 0 24px rgba(57,255,142,.22)}.market-edge{font-size:12px;margin-top:6px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);display:inline-block;font-family:var(--font-mono)}.edge-buy{background:var(--buy-soft);color:var(--buy)}.edge-sell{background:var(--sell-soft);color:var(--sell)}:root[data-theme=cyber] .edge-buy{box-shadow:0 0 8px #39ff8e40}:root[data-theme=cyber] .edge-sell{box-shadow:0 0 8px #ff2e6340}.market-spread{text-align:center;color:var(--text-dim)}.market-at{font-size:18px;font-weight:500;margin-bottom:4px;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase}.market-mid,.market-fv{font-size:12px;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.market-fv{color:var(--accent);font-weight:600;padding:3px 8px;background:var(--accent-soft);border-radius:var(--radius-sm)}:root[data-theme=cyber] .market-fv{box-shadow:0 0 12px #00e5ff40;letter-spacing:.08em}.trade-form{display:flex;flex-direction:column;gap:16px}.trade-qty{display:flex;flex-direction:column;gap:6px}.trade-qty label{font-size:14px;color:var(--text-dim);font-family:var(--font-mono)}.trade-qty input[type=range]{width:100%;accent-color:var(--accent)}.trade-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.trade-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:14px;transition:transform 80ms,background 80ms,box-shadow .18s ease;position:relative;overflow:hidden}.trade-btn:not(:disabled):hover{transform:translateY(-1px);background:var(--bg-panel)}.trade-btn:not(:disabled):active{transform:translateY(0)}.trade-action{font-size:18px;font-weight:700;letter-spacing:.06em;font-family:var(--font-display)}.trade-price{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.trade-buy{border-color:#2ecc7166}.trade-buy .trade-action{color:var(--buy)}.trade-buy:not(:disabled):hover{background:var(--buy-soft)}.trade-sell{border-color:#e74c3c66}.trade-sell .trade-action{color:var(--sell)}.trade-sell:not(:disabled):hover{background:var(--sell-soft)}.trade-pass .trade-action{color:var(--pass)}:root[data-theme=cyber] .trade-btn{border-color:var(--border-strong);background:linear-gradient(180deg,var(--bg-elev) 0%,var(--bg-panel) 100%);letter-spacing:.05em}:root[data-theme=cyber] .trade-buy{border-color:#39ff8e73}:root[data-theme=cyber] .trade-buy:not(:disabled):hover{box-shadow:var(--glow-buy);border-color:var(--buy)}:root[data-theme=cyber] .trade-buy .trade-action{text-shadow:0 0 6px rgba(57,255,142,.4)}:root[data-theme=cyber] .trade-sell{border-color:#ff2e6373}:root[data-theme=cyber] .trade-sell:not(:disabled):hover{box-shadow:var(--glow-sell);border-color:var(--sell)}:root[data-theme=cyber] .trade-sell .trade-action{text-shadow:0 0 6px rgba(255,46,99,.4)}:root[data-theme=cyber] .trade-pass:not(:disabled):hover{border-color:var(--text-dim);box-shadow:0 0 8px #6e80a840}:root[data-theme=cyber] .trade-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);transition:left .6s ease;pointer-events:none}:root[data-theme=cyber] .trade-btn:not(:disabled):hover:before{left:100%}.timer{position:relative;display:inline-flex;align-items:center;justify-content:center}.timer-label{position:absolute;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);font-family:var(--font-mono)}.timer-warn .timer-label{color:var(--sell)}:root[data-theme=cyber] .timer svg circle:nth-child(2){filter:drop-shadow(0 0 4px var(--accent))}:root[data-theme=cyber] .timer-warn svg circle:nth-child(2){filter:drop-shadow(0 0 6px var(--sell))}:root[data-theme=cyber] .timer-label{text-shadow:var(--glow-text)}:root[data-theme=cyber] .timer-warn .timer-label{text-shadow:0 0 6px rgba(255,46,99,.55)}.scoreboard{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 24px;position:relative}:root[data-theme=cyber] .scoreboard{background:var(--panel-overlay),linear-gradient(180deg,var(--bg-elev) 0%,var(--bg-panel) 100%);border-color:var(--border-strong)}:root[data-theme=cyber] .scoreboard:before,:root[data-theme=cyber] .scoreboard:after{content:"";position:absolute;width:16px;height:16px;border-style:solid;border-color:var(--accent);pointer-events:none;opacity:.7}:root[data-theme=cyber] .scoreboard:before{top:-1px;left:-1px;border-width:1px 0 0 1px}:root[data-theme=cyber] .scoreboard:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.score-item{text-align:center}.score-label{font-size:11px;letter-spacing:.14em;color:var(--text-dim);margin-bottom:4px;font-weight:600;text-transform:uppercase;font-family:var(--font-display)}.score-value{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.score-value.pos{color:var(--buy)}.score-value.neg{color:var(--sell)}:root[data-theme=cyber] .score-value{text-shadow:var(--glow-text)}:root[data-theme=cyber] .score-value.pos{text-shadow:0 0 6px rgba(57,255,142,.55)}:root[data-theme=cyber] .score-value.neg{text-shadow:0 0 6px rgba(255,46,99,.55)}@media (max-width: 720px){.scoreboard{grid-template-columns:1fr 1fr}}.reveal-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-top:16px;position:relative}:root[data-theme=cyber] .reveal-panel{background:var(--panel-overlay),linear-gradient(180deg,var(--bg-panel) 0%,var(--bg-elev) 100%);border-color:var(--border-strong);box-shadow:0 0 32px #00e5ff14}:root[data-theme=cyber] .reveal-panel:before,:root[data-theme=cyber] .reveal-panel:after{content:"";position:absolute;width:20px;height:20px;border-style:solid;border-color:var(--accent);pointer-events:none}:root[data-theme=cyber] .reveal-panel:before{top:-1px;left:-1px;border-width:1px 0 0 1px}:root[data-theme=cyber] .reveal-panel:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.reveal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reveal-header h3{margin:0;font-size:18px;font-family:var(--font-display);letter-spacing:.04em}:root[data-theme=cyber] .reveal-header h3{text-transform:uppercase;text-shadow:var(--glow-text)}.fairness-badge{font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-mono)}.fairness-badge.fair{background:var(--buy-soft);color:var(--buy)}.fairness-badge.mismatch{background:var(--sell-soft);color:var(--sell)}.reveal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.reveal-stat{text-align:center;padding:12px;background:var(--bg-elev);border-radius:var(--radius-md)}:root[data-theme=cyber] .reveal-stat{background:#00e5ff0a;border:1px solid var(--border)}.reveal-label{font-size:11px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;margin-bottom:4px;font-weight:600;font-family:var(--font-display)}.reveal-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.reveal-value.pos{color:var(--buy)}.reveal-value.neg{color:var(--sell)}:root[data-theme=cyber] .reveal-value.pos{text-shadow:0 0 6px rgba(57,255,142,.55)}:root[data-theme=cyber] .reveal-value.neg{text-shadow:0 0 6px rgba(255,46,99,.55)}.reveal-math{font-family:var(--font-mono);font-size:14px;color:var(--text-dim);padding:12px 16px;background:var(--bg-elev);border-left:2px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:16px;letter-spacing:.02em}:root[data-theme=cyber] .reveal-math{background:#00e5ff0a;box-shadow:-2px 0 12px #00e5ff26}.reveal-tutorial{font-size:14px;color:var(--text);margin-bottom:16px;line-height:1.5;padding:12px 16px;background:var(--bg-elev);border-radius:var(--radius-sm)}.reveal-tutorial .pos{color:var(--buy);font-weight:600}.reveal-tutorial .neg{color:var(--sell);font-weight:600}.reveal-next{background:var(--accent);color:#0b0d10;border:none;border-radius:var(--radius-md);padding:12px 24px;font-size:15px;font-weight:700;width:100%;font-family:var(--font-display);letter-spacing:.06em}:root[data-theme=cyber] .reveal-next{background:linear-gradient(135deg,var(--accent) 0%,#6effff 100%);color:#03101a;box-shadow:var(--glow-accent);text-transform:uppercase}.reveal-next:hover{background:var(--accent-strong)}:root[data-theme=cyber] .reveal-next:hover{box-shadow:0 0 12px #00e5ffb3,0 0 36px #00e5ff59}@media (max-width: 720px){.reveal-grid{grid-template-columns:1fr 1fr}}.pve-config{max-width:720px;margin:0 auto}.pve-config h2{font-family:var(--font-display)}:root[data-theme=cyber] .pve-config h2{letter-spacing:.06em;text-transform:uppercase}.pve-config-lede{color:var(--text-dim);line-height:1.5;margin-bottom:24px}.pve-difficulty-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.pve-difficulty-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;text-align:left;color:var(--text);transition:border-color .12s ease,transform .12s ease,box-shadow .2s ease;position:relative}:root[data-theme=cyber] .pve-difficulty-card{background:linear-gradient(180deg,var(--bg-elev) 0%,var(--bg-panel) 100%);border-color:var(--border-strong)}.pve-difficulty-card:hover{transform:translateY(-1px);border-color:var(--accent)}.pve-difficulty-card.active{border-color:var(--accent);background:var(--accent-soft)}:root[data-theme=cyber] .pve-difficulty-card.active{box-shadow:var(--glow-accent)}.pve-difficulty-label{font-size:18px;font-weight:700;margin-bottom:4px;font-family:var(--font-display);letter-spacing:.04em}:root[data-theme=cyber] .pve-difficulty-label{text-transform:uppercase}.pve-difficulty-n{font-size:12px;color:var(--text-dim);margin-bottom:8px;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.pve-difficulty-desc{font-size:13px;color:var(--text-dim);line-height:1.4}.pve-custom-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:20px}:root[data-theme=cyber] .pve-custom-card{border-color:var(--border-strong);background:var(--panel-overlay),var(--bg-panel)}.pve-custom-title{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-weight:600;margin-bottom:12px;font-family:var(--font-display)}.pve-custom-row{margin-bottom:10px}.pve-custom-row label{display:block;margin-bottom:6px;font-size:14px;font-family:var(--font-mono)}.pve-custom-row input[type=range]{width:100%;accent-color:var(--accent)}.pve-custom-hint{color:var(--text-dim);font-size:12px;font-weight:400}.pve-custom-note{margin-top:8px;font-size:12px;color:var(--text-dim);font-style:italic}.pve-config-row{margin-bottom:16px}.pve-config-row label{display:block;margin-bottom:6px}.pve-config-row input[type=range]{width:100%;accent-color:var(--accent)}.pve-toggle{display:flex;gap:10px;align-items:flex-start;cursor:pointer;line-height:1.4}.pve-toggle input{margin-top:4px;accent-color:var(--accent)}.pve-toggle-disabled{opacity:.6}.pve-toggle code{background:var(--bg-elev);padding:1px 6px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-mono)}.pve-error{background:var(--sell-soft);border:1px solid rgba(231,76,60,.4);color:var(--sell);padding:10px 14px;border-radius:var(--radius-md);margin-bottom:12px;font-size:14px}.pve-start{background:var(--accent);color:#0b0d10;border:none;border-radius:var(--radius-md);padding:14px 28px;font-size:16px;font-weight:700;width:100%;margin-top:16px;font-family:var(--font-display);letter-spacing:.06em;transition:box-shadow .18s ease,background .12s ease}:root[data-theme=cyber] .pve-start{background:linear-gradient(135deg,var(--accent) 0%,#6effff 100%);color:#03101a;text-transform:uppercase;box-shadow:var(--glow-accent)}.pve-start:hover{background:var(--accent-strong)}:root[data-theme=cyber] .pve-start:hover{box-shadow:0 0 16px #00e5ffcc,0 0 48px #00e5ff66}.pve-play{display:flex;flex-direction:column;gap:16px}.pve-top{margin-bottom:4px}.pve-market-row{display:flex;flex-direction:column;gap:16px}.pve-decide{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:16px;position:relative}:root[data-theme=cyber] .pve-decide{background:var(--panel-overlay),var(--bg-elev);border-color:var(--border-strong)}.pve-timer-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-dim)}.pve-timer-label{letter-spacing:.14em;text-transform:uppercase;font-weight:600;font-family:var(--font-display)}.pve-summary{max-width:800px;margin:0 auto}.pve-summary h2{font-family:var(--font-display)}:root[data-theme=cyber] .pve-summary h2{letter-spacing:.06em;text-transform:uppercase}.pve-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.pve-summary-stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;text-align:center}:root[data-theme=cyber] .pve-summary-stat{background:#00e5ff0a;border-color:var(--border-strong)}.pve-summary-label{font-size:11px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px;font-weight:600;font-family:var(--font-display)}.pve-summary-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.pve-summary-value.pos{color:var(--buy)}.pve-summary-value.neg{color:var(--sell)}:root[data-theme=cyber] .pve-summary-value{text-shadow:var(--glow-text)}.pve-history{margin:24px 0}.pve-history summary{cursor:pointer;padding:8px 0;font-weight:600;color:var(--accent)}.pve-history-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.pve-history-table th,.pve-history-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.pve-history-table th{color:var(--text-dim);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-display)}.mono{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.pos{color:var(--buy)}.neg{color:var(--sell)}@media (max-width: 720px){.pve-difficulty-grid,.pve-summary-grid{grid-template-columns:1fr 1fr}}.lobby-config{max-width:720px;margin:0 auto;line-height:1.6}.lobby-config code{background:var(--bg-elev);padding:1px 6px;border-radius:3px;font-size:12px}.lobby-home{max-width:1000px;margin:0 auto}.lobby-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:16px}.lobby-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:20px}.lobby-card h3{margin:0 0 12px;font-size:16px}.lobby-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.lobby-mode{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:12px;text-align:left;color:var(--text);cursor:pointer}.lobby-mode:hover{border-color:var(--accent)}.lobby-mode.active{border-color:var(--accent);background:#4cafef14}.lobby-mode strong{display:block;font-size:14px;margin-bottom:4px}.lobby-mode p{margin:0;font-size:12px;color:var(--text-dim);line-height:1.4}.lobby-input{display:block;margin-bottom:12px;font-size:14px;color:var(--text-dim)}.lobby-input strong{color:var(--text)}.lobby-input input[type=range]{display:block;width:100%;margin-top:6px;accent-color:var(--accent)}.lobby-toggle{display:flex;gap:10px;margin:12px 0 16px;align-items:flex-start;cursor:pointer;line-height:1.4;font-size:14px}.lobby-toggle input{margin-top:4px;accent-color:var(--accent)}.lobby-primary{width:100%;background:var(--accent);color:#0b0d10;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:700;margin-top:8px}.lobby-primary:hover:not(:disabled){background:#6ec0f5}.lobby-code-input{width:100%;font-size:22px;font-family:Courier New,monospace;text-align:center;letter-spacing:.2em;padding:14px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;color:var(--text);margin:8px 0 12px}.lobby-muted{color:var(--text-dim);font-size:13px;margin:0 0 12px}.lobby-error{background:#e74c3c1f;border:1px solid rgba(231,76,60,.4);color:var(--sell);padding:10px 14px;border-radius:8px;margin-top:16px}.lobby-loading{text-align:center;padding:40px 0;color:var(--text-dim)}.room-view{max-width:720px;margin:0 auto}.room-header{text-align:center;margin-bottom:24px}.room-header h2{display:inline-flex;align-items:center;gap:12px}.room-code{background:var(--bg-elev);border:1px solid var(--accent);color:var(--accent);padding:4px 12px;border-radius:6px;font-family:Courier New,monospace;font-size:22px;letter-spacing:.18em}.room-meta{display:flex;gap:8px;justify-content:center;margin-top:6px;color:var(--text-dim);font-size:13px;flex-wrap:wrap}.room-ranked{color:var(--text-dim)}.room-ranked.on{color:var(--accent);font-weight:600}.room-invite{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:24px}.room-invite label{display:block;font-size:11px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;font-weight:600;margin-bottom:4px}.room-invite input{width:100%;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-family:Courier New,monospace;font-size:13px}.room-seats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.room-seat{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:18px;text-align:center;transition:border-color 80ms}.room-seat.ready{border-color:var(--buy)}.room-seat-label{font-size:11px;letter-spacing:.14em;color:var(--text-dim);text-transform:uppercase;font-weight:600;margin-bottom:8px}.room-seat-name{font-size:18px;font-weight:700;margin-bottom:6px}.room-seat-status{font-size:13px;color:var(--text-dim)}.room-seat-status.ready{color:var(--buy);font-weight:600}.room-seat-empty{font-size:14px;color:var(--text-dim);font-style:italic}.room-actions{display:flex;gap:12px}.room-ready-btn,.room-start-btn{flex:1;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);padding:14px;border-radius:8px;font-size:15px;font-weight:600}.room-ready-btn:hover{background:var(--bg-panel)}.room-start-btn{background:var(--accent);color:#0b0d10;border-color:var(--accent)}.room-start-btn:hover:not(:disabled){background:#6ec0f5}@media (max-width: 720px){.lobby-grid,.lobby-mode-row{grid-template-columns:1fr}}.quote-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:20px}.quote-form h4{margin:0 0 4px;font-size:16px}.quote-form-help{color:var(--text-dim);font-size:13px;margin:0 0 16px}.quote-form-inputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;margin-bottom:12px}.quote-form-inputs label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.quote-form-inputs input{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:28px;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.quote-form-inputs input:focus{outline:none;border-color:var(--accent)}.quote-form-at{font-size:16px;color:var(--text-dim);padding-bottom:14px}.quote-form-error{background:#e74c3c1f;color:var(--sell);padding:6px 10px;border-radius:4px;font-size:13px;margin-bottom:8px}.quote-form-submit{width:100%;background:var(--accent);color:#0b0d10;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:700}.quote-form-submit:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed}.fb{font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);font-weight:600;display:inline-block;font-family:var(--font-mono)}.fb-pending{background:var(--bg-elev);color:var(--text-dim)}.fb-ok{background:var(--buy-soft);color:var(--buy);cursor:pointer}:root[data-theme=cyber] .fb-ok{box-shadow:0 0 8px #39ff8e40}.fb-ok summary{list-style:none}.fb-ok summary::-webkit-details-marker{display:none}.fb-ok[open]{padding:8px 12px}.fb-bad{background:var(--sell-soft);color:var(--sell)}:root[data-theme=cyber] .fb-bad{box-shadow:0 0 10px #ff2e6366}.fb-detail{margin-top:8px;padding-top:8px;border-top:1px solid rgba(57,255,142,.3);font-weight:400;display:flex;flex-direction:column;gap:6px;font-size:11px}.fb-detail>code{font-size:11px;color:var(--text-dim)}.fb-row{display:flex;gap:8px;align-items:baseline}.fb-label{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:700;min-width:40px;font-family:var(--font-display)}.fb-code{background:var(--bg-elev);padding:2px 6px;border-radius:var(--radius-sm);word-break:break-all;font-family:var(--font-mono);font-size:10px;color:var(--text)}.match-view{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.match-empty{text-align:center;padding:40px 0;color:var(--text-dim)}.match-empty button{margin-left:8px;background:var(--accent);color:#0b0d10;border:none;border-radius:6px;padding:4px 12px}.match-header{text-align:center;margin-bottom:8px}.match-header h2{margin:0 0 6px}.match-roles{font-size:12px;color:var(--text-dim)}.role{padding:4px 10px;border-radius:4px;background:var(--bg-elev);border:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;font-weight:600;font-size:11px}.role-maker{color:var(--accent);border-color:var(--accent)}.role-taker{color:var(--buy);border-color:var(--buy)}.match-action-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:16px}.match-waiting{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:32px 20px;text-align:center;color:var(--text-dim);font-style:italic}.match-timer{display:flex;align-items:flex-start;justify-content:flex-end;padding:12px}.match-reveal{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:24px}.reveal-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reveal-row h3{margin:0}.match-next-btn{width:100%;background:var(--accent);color:#0b0d10;border:none;border-radius:8px;padding:12px;font-size:15px;font-weight:700;margin-top:8px}.match-next-btn:hover{background:#6ec0f5}.match-error{background:#e74c3c1f;border:1px solid rgba(231,76,60,.4);color:var(--sell);padding:10px 14px;border-radius:8px}@media (max-width: 720px){.match-action-row{grid-template-columns:1fr}}.leaderboard{max-width:800px;margin:0 auto}.leaderboard-header{margin-bottom:24px}.leaderboard-header h2{margin:0 0 6px}.leaderboard-sub{color:var(--text-dim);margin:0;font-size:14px}.leaderboard-empty{max-width:720px;margin:0 auto;line-height:1.6}.leaderboard-muted{color:var(--text-dim);font-style:italic}.leaderboard-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.leaderboard-table th,.leaderboard-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.leaderboard-table th{color:var(--text-dim);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.leaderboard-table .num{text-align:right}.leaderboard-table tbody tr:hover{background:var(--bg-elev)}.leaderboard-error{background:#e74c3c1f;color:var(--sell);padding:8px 12px;border-radius:6px;margin-bottom:12px;font-size:14px}.settings{max-width:800px;margin:0 auto}.settings h2{font-family:var(--font-display)}:root[data-theme=cyber] .settings h2{letter-spacing:.06em;text-transform:uppercase}.settings-section{margin-top:32px}.settings-section h3{margin:0 0 12px;font-family:var(--font-display);font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.settings-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-theme-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;text-align:left;color:var(--text);cursor:pointer;transition:border-color .12s ease,transform .12s ease}.settings-theme-card:hover{transform:translateY(-1px);border-color:var(--accent)}.settings-theme-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--glow-accent, var(--shadow))}.settings-theme-preview{height:80px;border-radius:var(--radius-md);margin-bottom:12px;border:1px solid var(--border)}.settings-theme-label{font-size:16px;font-weight:700;font-family:var(--font-display);letter-spacing:.04em;margin-bottom:4px}.settings-theme-desc{font-size:13px;color:var(--text-dim);line-height:1.4}.settings-toggle{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:14px 16px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg)}.settings-toggle input{margin-top:3px;accent-color:var(--accent)}.settings-toggle strong{display:block;font-size:14px;margin-bottom:4px}.settings-toggle small{display:block;color:var(--text-dim);line-height:1.5;font-size:13px}@media (max-width: 720px){.settings-theme-grid{grid-template-columns:1fr}}:root,:root[data-theme=basic]{--bg: #0b0d10;--bg-elev: #14181d;--bg-panel: #1a1f26;--border: #2a323c;--border-strong: #3a4250;--text: #e8edf3;--text-dim: #8893a3;--text-mute: #6c7a8c;--accent: #4cafef;--accent-strong: #6ec0f5;--accent-soft: rgba(76, 175, 239, .12);--buy: #2ecc71;--sell: #e74c3c;--neutral: #f5a623;--pass: #6c7a8c;--buy-soft: rgba(46, 204, 113, .15);--sell-soft: rgba(231, 76, 60, .15);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-strong: 0 4px 16px rgba(0, 0, 0, .6);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "Courier New", monospace;--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--glow-accent: none;--glow-buy: none;--glow-sell: none;--glow-text: none;--bg-pattern: none;--panel-overlay: none;--hud-corner: none}:root[data-theme=cyber]{--bg: #05070d;--bg-elev: #0a0f1c;--bg-panel: #0e1525;--border: #1a2840;--border-strong: #2a4470;--text: #e0eaff;--text-dim: #7b8db5;--text-mute: #4a5a7d;--accent: #00e5ff;--accent-strong: #6effff;--accent-soft: rgba(0, 229, 255, .14);--buy: #39ff8e;--sell: #ff2e63;--neutral: #ffea00;--pass: #6e80a8;--buy-soft: rgba(57, 255, 142, .14);--sell-soft: rgba(255, 46, 99, .14);--magenta: #b833ff;--yellow: #ffea00;--shadow: 0 2px 12px rgba(0, 229, 255, .06), 0 1px 2px rgba(0, 0, 0, .6);--shadow-strong: 0 6px 32px rgba(0, 229, 255, .18);--font-sans: "Inter", "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Courier New", monospace;--font-display: "Orbitron", "Inter", sans-serif;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--glow-accent: 0 0 8px rgba(0, 229, 255, .55), 0 0 24px rgba(0, 229, 255, .25);--glow-buy: 0 0 8px rgba(57, 255, 142, .5), 0 0 24px rgba(57, 255, 142, .18);--glow-sell: 0 0 8px rgba(255, 46, 99, .5), 0 0 24px rgba(255, 46, 99, .18);--glow-text: 0 0 6px rgba(0, 229, 255, .35);--bg-pattern: linear-gradient(rgba(0, 229, 255, .04) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, rgba(0, 229, 255, .04) 1px, transparent 1px) 0 0 / 40px 40px, radial-gradient(ellipse at 12% 8%, rgba(0, 229, 255, .08), transparent 50%), radial-gradient(ellipse at 88% 92%, rgba(184, 51, 255, .07), transparent 50%);--panel-overlay: linear-gradient( 180deg, rgba(0, 229, 255, .02) 0%, transparent 100% );--hud-scanlines: repeating-linear-gradient( 0deg, rgba(255, 255, 255, .012) 0px, rgba(255, 255, 255, .012) 1px, transparent 1px, transparent 3px )}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{font-family:var(--font-sans);font-feature-settings:"tnum" 1;color-scheme:dark;color:var(--text);background:var(--bg)}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-image:var(--bg-pattern);background-attachment:fixed}:root[data-theme=cyber] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;background:var(--hud-scanlines);mix-blend-mode:overlay;opacity:.55}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select{font:inherit;font-feature-settings:"tnum" 1}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{min-height:100%;display:flex;flex-direction:column;position:relative}.app-shell main{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto}.app-header{border-bottom:1px solid var(--border);padding:12px 24px;display:flex;gap:24px;align-items:center;background:var(--bg-elev);position:relative}:root[data-theme=cyber] .app-header{background:linear-gradient(180deg,var(--bg-elev) 0%,var(--bg) 100%);border-bottom-color:var(--border-strong);box-shadow:0 1px #00e5ff2e}.app-header h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.02em;font-family:var(--font-display)}:root[data-theme=cyber] .app-header h1{letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-shadow:var(--glow-text)}:root[data-theme=cyber] .app-header h1:before{content:"◆ ";color:var(--accent)}.app-header nav{display:flex;gap:16px;margin-left:auto;align-items:center}.app-header nav a{color:var(--text-dim);font-size:14px;font-family:var(--font-sans);padding:4px 8px;border-radius:var(--radius-sm)}.app-header nav a.active{color:var(--text)}:root[data-theme=cyber] .app-header nav a{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:600}:root[data-theme=cyber] .app-header nav a.active{color:var(--accent);text-shadow:var(--glow-text)}.app-header .settings-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-size:14px;padding:4px 10px;border-radius:var(--radius-sm)}:root[data-theme=cyber] .app-header .settings-btn{border-color:var(--border-strong);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:600}.app-header .settings-btn:hover{color:var(--text);border-color:var(--accent)}.landing{max-width:800px;margin:0 auto}.landing h2{font-family:var(--font-display);font-size:32px;font-weight:700;margin:24px 0 16px}:root[data-theme=cyber] .landing h2{letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,var(--accent) 0%,var(--magenta) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-lede{font-size:16px;line-height:1.6;color:var(--text-dim);margin-bottom:32px}.landing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;color:var(--text);text-decoration:none;transition:transform .12s ease,border-color .12s ease,box-shadow .18s ease;position:relative}:root[data-theme=cyber] .landing-card{background:var(--panel-overlay),var(--bg-elev);border-color:var(--border-strong)}.landing-card:hover{transform:translateY(-2px);border-color:var(--accent);text-decoration:none}:root[data-theme=cyber] .landing-card:hover{box-shadow:var(--shadow-strong)}.landing-card h3{margin:0 0 8px;font-size:18px;color:var(--accent);font-family:var(--font-display)}:root[data-theme=cyber] .landing-card h3{letter-spacing:.06em;text-transform:uppercase;text-shadow:var(--glow-text)}.landing-card p{margin:0;color:var(--text-dim);font-size:14px;line-height:1.5}@media (max-width: 720px){.landing-grid{grid-template-columns:1fr}}
