:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e14;--panel:#141824;--bg-elevated:#141824;--panel-2:#0f131c;--bg-soft:#1a1f2e;--border:#2a3142;--border-strong:#3a4358;--text:#eef1f8;--muted:#a0a9bc;--accent:#6b8cff;--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent);--accent-ink:#dce4ff;--game-accent:var(--accent);--good:#3ddc97;--bad:#ff6b7a;--danger:#ff6b7a;--warn:#ffc14d;--radius:14px;--radius-sm:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--touch:44px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur:.16s;--font:"Segoe UI", system-ui, -apple-system, "Noto Sans TC", sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.45}.app[data-game=crash]{--game-accent:#ff6b4a}.app[data-game=hilo]{--game-accent:#4ecdc4}.app[data-game=mines]{--game-accent:#f0c14a}.app[data-game=dice]{--game-accent:#9b7bff}.app[data-game=plinko]{--game-accent:#5ad4a8}.app[data-game=blast]{--game-accent:#ff7a45;--accent:#ff7a45;--accent-soft:color-mix(in srgb, var(--accent) 16%, transparent)}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(900px 480px at 50% -12%, color-mix(in srgb, var(--game-accent,var(--accent)) 14%, #1a2240) 0%, transparent 55%), var(--bg);overscroll-behavior-y:none}button,input{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:480px;min-height:100svh;padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom,0px));gap:var(--space-3);contain:layout style;align-content:start;margin:0 auto;display:grid}.header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.header-left{gap:2px;min-width:0;display:grid}.header h1{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.title-row{align-items:center;gap:10px;min-width:0;display:flex}.game-badge{width:32px;height:32px;box-shadow:0 0 0 1px color-mix(in srgb, var(--game-accent) 35%, var(--border)), 0 2px 8px #00000059;border-radius:9px;flex-shrink:0;display:block}.btn-lobby{border:1px solid var(--border);background:var(--panel-2);width:fit-content;min-height:32px;color:var(--muted);white-space:nowrap;transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);border-radius:999px;align-items:center;gap:4px;margin:0 0 6px;padding:4px 12px 4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.btn-lobby:before{content:"←";opacity:.85;font-weight:700}.btn-lobby:hover{color:var(--text);border-color:color-mix(in srgb, var(--game-accent) 40%, var(--border));background:color-mix(in srgb, var(--game-accent) 8%, var(--panel-2))}.btn-lobby:active{transform:scale(.98)}.center .btn-lobby{justify-self:center;margin-top:12px}.sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;font-size:.8rem;display:flex}.sub-sep{opacity:.5}.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:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:999px;flex-shrink:0;padding:8px 12px;font-size:.9rem;font-weight:600}.bet-panel{padding:var(--space-3);border-radius:var(--radius);background:var(--panel);border:1px solid var(--border);gap:10px;display:grid;box-shadow:inset 0 1px #ffffff0a}.amount-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.quick button{border:1px solid var(--border);background:var(--panel-2);min-width:44px;min-height:36px;color:var(--muted);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out), border-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.on,.quick button.active{color:var(--text);border-color:color-mix(in srgb, var(--game-accent) 45%, var(--border));background:color-mix(in srgb, var(--game-accent) 14%, var(--panel-2));font-weight:600}.primary-action,.primary,.btn{background:var(--accent);color:#fff;min-height:48px;transition:filter var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border:none;border-radius:12px;padding:12px 14px;font-weight:700}.primary-action:hover:not(:disabled),.primary:hover:not(:disabled),.btn:hover:not(:disabled){filter:brightness(1.06)}.primary-action:active:not(:disabled),.primary:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.985)}.primary-action:disabled,.primary:disabled,.quick button:disabled{opacity:.45;cursor:not-allowed}.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);letter-spacing:.02em;margin:0 0 8px;font-size:.8rem;font-weight:600}.center{place-content:center;gap:var(--space-3);text-align:center;min-height:100svh;padding:var(--space-5);color:var(--text);display:grid}@keyframes shell-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn-lobby:active,.primary-action:active:not(:disabled),.primary:active:not(:disabled),.btn:active:not(:disabled){transform:none}.status-dot.on{box-shadow:none}.spinner{border-top-color:var(--border);opacity:.8;animation:none}}:root{--higher:#3ddc97;--lower:#ff8e53;--win:#3ddc97;--lose:#ff6b7a;--z-modal:40}.table{perspective:900px;border-radius:var(--radius);border:1px solid var(--border);background:radial-gradient(90% 70% at 50% 100%, color-mix(in srgb, var(--game-accent) 12%, transparent), transparent 70%), linear-gradient(180deg, #131c1a 0%, #0d1210 100%);grid-template-columns:1fr 1fr;gap:14px;padding:16px 12px 18px;display:grid;box-shadow:inset 0 1px #ffffff0a,inset 0 10px 30px #0000004d}.card-slot{perspective:900px;justify-items:center;gap:8px;display:grid}.card-label{color:var(--muted);font-size:.8rem}.card-3d{width:118px;height:166px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;position:relative}.playing-card.face{backface-visibility:hidden;position:absolute;inset:0}.playing-card.face.front{transform:rotateY(0)}.playing-card.face.back-face{border-color:color-mix(in srgb, var(--game-accent) 35%, transparent);background:linear-gradient(145deg,#14323a,#0c1a20);transform:rotateY(180deg)}.playing-card{color:#1a1a1a;background:linear-gradient(165deg,#fff 0%,#eef1f7 100%);border:1px solid #c8cedc;border-radius:12px;width:118px;height:166px;position:relative;box-shadow:0 12px 28px #0006,inset 0 1px #ffffffb3}.playing-card.red{color:#c41e1e}.playing-card.black{color:#1b1b1b}.playing-card.card-back-static{border-color:color-mix(in srgb, var(--game-accent) 35%, transparent);background:linear-gradient(145deg,#14323a,#0c1a20);box-shadow:0 12px 28px #0006,inset 0 1px #ffffff14}.card-back-pattern{border:1px solid color-mix(in srgb, var(--game-accent) 30%, transparent);background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--game-accent) 13%, transparent) 0 2px, transparent 2px 10px), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--game-accent) 13%, transparent) 0 2px, transparent 2px 10px);pointer-events:none;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}.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){filter:brightness(1.05)}.choice:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.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-glyph{opacity:.85;font-size:.7rem;line-height:1}.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{-webkit-backdrop-filter:blur(6px);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;position:relative;overflow:visible}.win-burst{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.burst-dot{border-radius:50%;width:8px;height:8px;position:absolute}.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}}
