: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;--higher:#3ddc97;--lower:#ff8e53;--win:#3ddc97;--lose:#ff6b7a;--radius:14px;--radius-sm:10px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.16s;--z-modal:40;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(900px 420px at 50% -15%, #1a2744 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:14px 14px calc(20px + env(safe-area-inset-bottom));contain:layout style;gap:14px;margin:0 auto;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;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;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);margin:2px 0 0;font-size:.82rem}.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}.table{perspective:900px;contain:layout;grid-template-columns:1fr 1fr;gap:12px;display:grid}.card-slot{justify-items:center;gap:8px;display:grid}.card-label{color:var(--muted);font-size:.8rem}.playing-card{color:#1a1a1a;will-change:transform;background:#f7f8fc;border:1px solid #d0d5e0;border-radius:12px;width:120px;height:168px;position:relative;transform:translateZ(0);box-shadow:0 10px 28px #00000059}.playing-card.red{color:#c41e1e}.playing-card.black{color:#1b1b1b}.playing-card.back{background:linear-gradient(145deg,#1e3a5f,#0f1c30);border-color:#3a5478}.card-back-pattern{background:repeating-linear-gradient(45deg,#ffffff0d,#ffffff0d 8px,#0000 8px 16px);border:2px solid #ffffff26;border-radius:8px;position:absolute;inset:10px}.corner{text-align:center;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700;line-height:1.1;display:grid;position:absolute}.corner.top{top:8px;left:10px}.corner.bottom{bottom:8px;right:10px;transform:rotate(180deg)}.center-pip{place-items:center;font-size:2.4rem;display:grid;position:absolute;inset:0}.odds-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.odds-box{background:var(--panel);border:1px solid var(--border);text-align:center;transition:opacity var(--dur) var(--ease-out);border-radius:12px;gap:4px;padding:10px;display:grid}.odds-box.off{opacity:.4}.odds-title{color:var(--muted);font-size:.8rem}.odds-val{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.odds-hint{color:var(--muted);text-align:center;grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.35}.plinko-board{border-radius:var(--radius);border:1px solid var(--border);background:radial-gradient(70% 50% at 50% 0%, #5ad4a81f, transparent 60%), linear-gradient(180deg, #121826 0%, var(--panel-2) 100%);padding:10px 8px 12px;overflow:hidden}.plinko-pegs{padding:6px 4px 8px;position:relative}.plinko-row{justify-content:center;align-items:center;gap:12px;height:24px;display:flex}.plinko-peg{background:color-mix(in srgb, var(--text) 22%, var(--border));border-radius:50%;width:7px;height:7px;box-shadow:0 1px #0a0c12}.plinko-ball{background:radial-gradient(circle at 35% 30%, #fff 0%, var(--accent) 45%, #3a5fd4 100%);width:15px;height:15px;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent), 0 4px 14px color-mix(in srgb, var(--accent) 45%, transparent);z-index:2;border-radius:50%;margin-left:-7.5px;transition:left 75ms linear,top 75ms linear;position:absolute}.plinko-slots{gap:3px;margin-top:4px;display:grid}.plinko-slot{text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);background:var(--panel);border:1px solid var(--border);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:8px;padding:8px 1px;font-size:.7rem;font-weight:600}.plinko-slot.hit{color:var(--text);background:color-mix(in srgb, var(--accent) 28%, var(--panel));border-color:color-mix(in srgb, var(--accent) 55%, var(--border));font-weight:700;transform:translateY(-2px)}.bet-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:12px;display:grid}.amount-row{justify-content:space-between;align-items:center;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:120px;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:color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);border-radius:8px;padding:6px 10px}.quick button:hover:not(:disabled){color:var(--text)}.primary,.choice{cursor:pointer;color:#fff;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{background:var(--accent)}.primary:hover:not(:disabled),.choice:hover:not(:disabled){filter:brightness(1.05)}.primary:active:not(:disabled),.choice:active:not(:disabled){transform:scale(.985)}.choice-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{gap:2px;display:grid}.choice small{opacity:.9;font-variant-numeric:tabular-nums;font-weight:500}.choice.higher{color:#042116;background:linear-gradient(135deg,#2f9e6b,#3ddc97)}.choice.lower{color:#2a1200;background:linear-gradient(135deg,#d96a2f,#ff8e53)}.choice:disabled,.primary:disabled,.quick button:disabled{opacity:.45;cursor:not-allowed}.hint{color:var(--muted);margin:0;font-size:.85rem}.error{color:var(--lose);margin:0}.overlay{z-index:var(--z-modal);background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:18px;gap:8px;width:min(360px,100%);padding:20px;display:grid}.result-card.win{border-color:color-mix(in srgb, var(--win) 50%, transparent)}.result-card.lose{border-color:color-mix(in srgb, var(--lose) 45%, transparent)}.result-card h2{letter-spacing:-.02em;margin:0}.result-card .payout{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.result-card.win .payout{color:var(--win)}.result-card.lose .payout{color:var(--lose)}.detail{color:var(--muted);margin:0}.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}.playing-card{will-change:auto}.primary:active:not(:disabled),.choice:active:not(:disabled){transform:none}}
