:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e14;--panel:#141824;--panel-2:#0f131c;--border:#2a3142;--text:#eef1f8;--muted:#a0a9bc;--accent:#6b8cff;--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent);--accent-ink:#dce4ff;--good:#3ddc97;--bad:#ff6b7a;--warn:#ffc14d;--radius:14px;--radius-sm:10px;--space-2:8px;--space-3:12px;--space-4:16px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.16s;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,-apple-system,Noto Sans TC,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(880px 420px at 50% -18%, #1a2240 0%, transparent 55%), var(--bg)}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:480px;padding:var(--space-3) 14px calc(20px + env(safe-area-inset-bottom));gap:var(--space-3);contain:layout style;margin:0 auto;display:grid}.header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.header h1{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.btn-lobby{border:1px solid var(--border);background:var(--panel-2,#0f131c);min-height:32px;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color var(--dur,.16s) var(--ease-out,ease), border-color var(--dur,.16s) var(--ease-out,ease);border-radius:999px;align-items:center;margin:0 0 6px;padding:4px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.btn-lobby:hover{color:var(--text);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.center .btn-lobby{justify-self:center;margin-top:16px}.sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 0;font-size:.8rem;display:flex}.status-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.on{background:var(--good);box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 25%, transparent)}.bal{background:var(--accent-soft);color:var(--accent-ink);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:7px 12px;font-weight:600}.history{content-visibility:auto;flex-wrap:wrap;gap:6px;min-height:28px;display:flex}.history.empty,.players.empty{color:var(--muted);font-size:.9rem}.hist-chip{font-variant-numeric:tabular-nums;border-radius:8px;padding:4px 8px;font-size:.75rem;font-weight:700}.hist-red{background:color-mix(in srgb, var(--bad) 22%, transparent);color:#ffb0b8}.hist-blue{color:#9bc8ff;background:#4ea1ff38}.hist-green{background:color-mix(in srgb, var(--good) 22%, transparent);color:#8ef0c2}.chart-block{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);min-height:220px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 16px 40px #00000059}.chart-block:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(#6b8cff14 0%,#0000 28% 72%,#00000040 100%);position:absolute;inset:0}.chart-wrap{aspect-ratio:16/10;width:100%;height:min(52vw,280px);min-height:220px}.chart-canvas{z-index:0;width:100%;height:100%;display:block;position:relative}.overlay-badge{z-index:2;border:1px solid var(--border);font-variant-numeric:tabular-nums;pointer-events:none;background:#0000008c;border-radius:999px;padding:5px 12px;font-size:.85rem;position:absolute;top:10px;left:50%;transform:translate(-50%)}.bet-panel{padding:var(--space-3);border-radius:var(--radius);background:var(--panel);border:1px solid var(--border);gap:10px;display:grid}.amount-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.amount-row label{color:var(--muted);font-size:.9rem}.amount-row input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);width:140px;min-height:40px;color:var(--text);font-variant-numeric:tabular-nums;padding:8px 10px}.quick{flex-wrap:wrap;gap:6px;display:flex}.quick button{border:1px solid var(--border);background:var(--panel-2);min-width:44px;min-height:36px;color:var(--muted);cursor:pointer;transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:8px;padding:6px 10px}.quick button:hover:not(:disabled){color:var(--text);background:color-mix(in srgb, var(--panel-2) 70%, var(--accent))}.quick button:disabled,.primary-action:disabled{opacity:.45;cursor:not-allowed}.primary-action{background:var(--accent);color:#fff;cursor:pointer;min-height:48px;transition:filter var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border:none;border-radius:12px;padding:14px;font-weight:700}.primary-action:hover:not(:disabled){filter:brightness(1.06)}.primary-action:active:not(:disabled){transform:scale(.985)}.primary-action.cashout{color:#1a1200;background:linear-gradient(135deg,#ffb347,#fc3)}.hint{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.error{color:var(--bad);margin:0;font-size:.9rem}.section h2{color:var(--muted);margin:0 0 8px;font-size:.95rem;font-weight:600}.players{content-visibility:auto;gap:6px;margin:0;padding:0;list-style:none;display:grid}.players li{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);font-variant-numeric:tabular-nums;grid-template-columns:64px 64px 1fr;align-items:center;gap:8px;min-height:44px;padding:10px;font-size:.85rem;display:grid}.players li.ok{border-color:color-mix(in srgb, var(--good) 40%, transparent)}.players li.bad{border-color:color-mix(in srgb, var(--bad) 35%, transparent)}.players li.live .st{color:var(--accent)}.center{text-align:center;place-content:center;gap:10px;min-height:100dvh;padding:24px;display:grid}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.primary-action:active:not(:disabled){transform:none}.status-dot.on{box-shadow:none}}
