*{box-sizing:border-box;margin:0;padding:0}html,body,#root{cursor:default;-webkit-user-select:none;user-select:none;background:#0a0f1e;font-family:sans-serif}body :not(input):not(textarea):not(select):not([contenteditable=true]){cursor:default;-webkit-user-select:none;user-select:none}button,a,[role=button]{cursor:pointer}button:disabled{cursor:not-allowed}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}input,textarea,[contenteditable=true]{cursor:text}select{cursor:pointer}.llm-thinking-ring{border:4px solid #f5c518;border-color:#f5c518 #60a5fa #94a3b82e #94a3b82e;border-radius:50%;width:58px;height:58px;margin:0 auto;animation:.85s linear infinite llm-thinking-spin;box-shadow:0 0 24px #f5c51840,inset 0 0 18px #60a5fa1f}@keyframes llm-thinking-spin{to{transform:rotate(360deg)}}.bj-room{color:#fff7dc;background:radial-gradient(at 50% 42%,#1c5a30d1 0%,#0823128c 55%,#0000 78%),repeating-linear-gradient(45deg,#0000000e 0 1px,#0000 1px 10px),repeating-linear-gradient(-45deg,#0000000e 0 1px,#0000 1px 10px),linear-gradient(160deg,#1a4a2a 0%,#0e2e18 50%,#091d10 100%);flex-direction:column;height:100dvh;font-family:Aptos Display,Segoe UI Variable Display,Trebuchet MS,sans-serif;display:flex;overflow:hidden}.blackjack-topbar{z-index:40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(90deg,#030712eb,#0f172ac7,#030712eb);border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:8px 14px;display:flex;position:relative;box-shadow:0 6px 24px #00000052}.blackjack-topbar-meta,.blackjack-topbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.blackjack-topbar-meta{color:#94a3b8;flex-wrap:wrap;font-size:12px;font-weight:800}.blackjack-topbar-meta strong{color:#e2e8f0;font-weight:1000}.blackjack-topbar-phase{color:#f5c518;font-weight:1000}.blackjack-topbar-button,.blackjack-sound-button{color:#e5e7eb;cursor:pointer;touch-action:manipulation;background:#0f172ab8;border:1px solid #94a3b838;border-radius:8px;font-weight:1000}.blackjack-sound-button{color:#fde68a;place-items:center;width:36px;height:36px;padding:0;font-size:16px;display:grid}.blackjack-topbar-button{min-height:32px;padding:0 12px;font-size:12px}.bj-table-viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;min-height:0;position:relative;overflow:hidden}.bj-table-transform{transform-origin:50%;will-change:transform;pointer-events:none;width:100%;height:100%;position:relative}.bj-table-felt{background:radial-gradient(at 50% 18%,#1f6d4e 0%,#123e31 52%,#071813 100%);border:7px solid #b7944a;border-top:5px solid #b7944a8c;border-radius:0 0 50% 50%/0 0 54% 54%;width:100%;height:108%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #f5d77f47,inset 0 0 80px #0000006b,0 28px 70px #0000008a}.bj-dealer-zone{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.bj-dealer-label{color:#f5d77fbf;letter-spacing:.18em;text-transform:uppercase;font-size:10px;font-weight:900}.bj-dealer-total{color:#f5d77fe6;letter-spacing:.05em;font-size:15px;font-weight:1000}.blackjack-table-copy{text-align:center;text-transform:uppercase;pointer-events:none;position:absolute;top:38%;left:20%;right:20%}.blackjack-table-copy h2{color:#f5d77f9e;letter-spacing:0;margin:0;font-size:clamp(18px,2.4vw,40px);font-weight:1000}.blackjack-table-copy p{color:#d2b56cb8;letter-spacing:0;margin:8px 0 0;font-size:clamp(11px,1vw,18px);font-weight:900}.blackjack-table-seat{pointer-events:none;width:168px;height:200px;margin:-100px 0 0 -84px;position:absolute}.blackjack-seat-circle{z-index:10;color:#fff7dc;background:#0f141b;border:4px solid #c9a85b;border-radius:50%;place-items:center;width:76px;height:76px;font-size:28px;font-weight:1000;display:grid;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 12px 24px #0006}.blackjack-table-seat.human .blackjack-seat-circle{border-color:#25ff9a}.blackjack-table-seat.active .blackjack-seat-circle{animation:1.25s ease-in-out infinite blackjack-seat-pulse;box-shadow:0 0 16px #25ff9af2,0 0 34px #25ff9a80}.blackjack-seat-hand{z-index:30;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.blackjack-seat-hand strong{color:#f5d77f;text-shadow:0 2px 10px #000;font-size:18px;font-weight:1000}.blackjack-turn-token{z-index:40;background:0 0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:22px;animation:1.2s ease-in-out infinite blackjack-turn-bob;display:grid;position:absolute;bottom:200px;left:50%;transform:translate(-50%)}.blackjack-result-token{z-index:45;filter:drop-shadow(0 8px 10px #0000008c);pointer-events:none;border-radius:50%;place-items:center;width:42px;height:42px;font-size:30px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.blackjack-result-token-win{animation:1.35s ease-in-out infinite blackjack-result-winner}.blackjack-result-token-loss{animation:.9s ease-in-out both blackjack-result-loser}.blackjack-result-crown{font-size:19px;position:absolute;top:-15px;left:29%;transform:translate(-50%)rotate(-8deg)}.bj-action-band{background:linear-gradient(#030805f5 0%,#020503 100%);border-top:2px solid #a078286b;flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:6px 16px 10px;display:flex;box-shadow:0 -8px 32px #000000a6}.bj-status-strip{color:#4ce8ff;letter-spacing:.06em;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#05080cb3;border:1px solid #4ce8ff38;border-radius:16px;width:100%;max-width:640px;padding:6px 14px;font-size:13px;font-weight:1000;overflow:hidden}.bj-betting-controls{flex-direction:column;gap:8px;width:100%;max-width:640px;display:flex}.blackjack-chip-strip{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.blackjack-chip-strip button{color:#06100c;cursor:pointer;touch-action:manipulation;background:linear-gradient(#ffe89b,#d0a941);border:0;border-radius:999px;height:38px;font-size:12px;font-weight:1000}.blackjack-chip-strip .blackjack-chip-option-5{color:#fff;background:linear-gradient(#f87171,#991b1b)}.blackjack-chip-strip .blackjack-chip-option-10{color:#fff;background:linear-gradient(#60a5fa,#1e3a8a)}.blackjack-chip-strip .blackjack-chip-option-25{color:#111;background:linear-gradient(#fcd34d,#92400e)}.blackjack-chip-strip .blackjack-chip-option-50{color:#fff;background:linear-gradient(#34d399,#065f46)}.blackjack-chip-strip .blackjack-chip-option-100{color:#fbbf24;background:linear-gradient(#1e293b,#020617)}.blackjack-chip-strip .blackjack-chip-option-500{color:#fff;background:linear-gradient(#a78bfa,#7c3aed)}.blackjack-chip-strip .blackjack-chip-option-1000{color:#06100c;background:linear-gradient(#fef08a,#ca8a04)}.blackjack-chip-strip .blackjack-chip-option-5000{color:#fff;background:linear-gradient(#f472b6,#9d174d)}.blackjack-chip-strip .blackjack-chip-option-10000{color:#fff;background:linear-gradient(#38bdf8,#075985)}.blackjack-chip-strip button.selected{outline-offset:2px;outline:2.5px solid #25ff9a}.blackjack-chip-strip button:disabled,.bj-chip-add-btn:disabled,.bj-chip-clear-btn:disabled{cursor:not-allowed;opacity:.45}.bj-bet-row{grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;display:grid}.bj-bet-display{flex-direction:column;gap:1px;display:flex}.bj-bet-display span{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:900}.bj-bet-display strong{color:#f5d77f;font-size:20px;font-weight:1000}.bj-chip-add-btn,.bj-chip-clear-btn{cursor:pointer;touch-action:manipulation;border:0;border-radius:10px;height:38px;padding:0 14px;font-size:12px;font-weight:1000}.bj-chip-add-btn{color:#06100c;background:linear-gradient(#55ffb8,#18c77f)}.bj-chip-clear-btn{color:#c7d0c9;background:#ffffff1a;border:1px solid #ffffff26}.bj-deal-btn{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:#06100c;touch-action:manipulation;background:linear-gradient(#ffe89b,#d0a941);border:0;border-radius:14px;width:100%;max-width:640px;min-height:44px;font-size:18px;font-weight:1000}.bj-deal-btn:disabled{opacity:.42;cursor:not-allowed}.bj-new-round-btn{background:linear-gradient(#55ffb8,#18c77f)}.bj-action-section{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:640px;display:flex}.bj-action-label{color:#4ce8ff;text-align:center;letter-spacing:.05em;margin:0;font-size:13px;font-weight:900}.bj-action-buttons{grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:640px;display:grid}.bj-btn{cursor:pointer;letter-spacing:.05em;text-transform:uppercase;touch-action:manipulation;color:#06100c;border:0;border-radius:14px;min-height:52px;font-size:16px;font-weight:1000}.bj-btn:disabled{cursor:not-allowed;opacity:.38}.bj-btn-hit{background:linear-gradient(#55ffb8,#18c77f)}.bj-btn-stand{background:linear-gradient(#ffe89b,#d0a941)}.bj-btn-double{background:linear-gradient(#ff8ea0,#ff4d6d)}.bj-btn-split{background:linear-gradient(#e2c3ff,#a766f1)}.bj-btn-insure{background:linear-gradient(#55ffb8,#18c77f)}.bj-btn-no{background:linear-gradient(#ffe89b,#d0a941)}.bj-waiting{color:#c7d0c9;text-align:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:14px;width:100%;max-width:640px;padding:12px 20px;font-size:14px;font-weight:900}.bj-chips{--bj-loss-x:0vw;--bj-loss-y:-44vh;z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.bj-chip-area,.bj-chip-tower{flex-shrink:0;width:34px;height:48px;position:relative}.bj-chip-payout-tower{opacity:0;position:absolute;top:0;left:42px}.bj-chip{border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-family:monospace;font-size:7px;font-weight:900;display:flex;position:absolute;left:0;box-shadow:0 3px 7px #000000b3,inset 0 1px #ffffff2e}.bj-chip-label{color:#fbbf24;text-shadow:0 2px 5px #000000e6;font-family:monospace;font-size:11px;font-weight:900;line-height:1}.bj-chips-win .bj-chip-area{filter:drop-shadow(0 0 10px #34d399b3)}.bj-chips-win .bj-chip-payout-tower{animation:.75s cubic-bezier(.34,1.56,.64,1) .3s both bj-chip-payout-in}.bj-chips-win .bj-chip-label{color:#34d399}.bj-chips-loss{z-index:25;animation:1.45s cubic-bezier(.22,1,.36,1) .25s both bj-chip-loss-to-dealer}.bj-chips-loss .bj-chip-label{color:#f87171}.blackjack-card{--card-rank-size:17px;--card-suit-size:15px;--card-pip-size:24px;--card-ace-size:52px;--card-royal-rank-size:40px;--card-royal-suit-size:42px;filter:drop-shadow(0 8px 11px #0000006b);flex-shrink:0;width:72px;height:101px;animation:.34s cubic-bezier(.22,1,.36,1) both blackjack-card-in;position:relative}.blackjack-card-row-seat .blackjack-card{animation-name:blackjack-card-deal-from-dealer;animation-duration:.82s}.blackjack-card-mini{--card-rank-size:12px;--card-suit-size:11px;--card-pip-size:15px;--card-ace-size:32px;--card-royal-rank-size:24px;--card-royal-suit-size:26px;width:52px;height:73px}.blackjack-card-dealer{--card-rank-size:26px;--card-suit-size:23px;--card-pip-size:38px;--card-ace-size:76px;--card-royal-rank-size:58px;--card-royal-suit-size:62px;filter:drop-shadow(0 13px 18px #0000007a);width:118px;height:165px}.blackjack-card-face,.blackjack-card-back{-webkit-user-select:none;user-select:none;border-radius:7px;position:absolute;inset:0;overflow:hidden}.blackjack-card-face{background:linear-gradient(145deg,#fffffffa,#f5f7faf0);border:1px solid #d1d5db;box-shadow:inset 0 0 0 1px #fffc}.blackjack-card-black{color:#101827}.blackjack-card-red{color:#dc2626}.blackjack-card-corner{z-index:3;justify-items:center;font-family:Georgia,serif;line-height:.92;display:grid;position:absolute}.blackjack-card-corner b{font-size:var(--card-rank-size);font-weight:900}.blackjack-card-corner span{font-size:var(--card-suit-size);margin-top:2px}.blackjack-card-corner-top{top:6%;left:8%}.blackjack-card-corner-bottom{bottom:6%;right:8%;transform:rotate(180deg)}.blackjack-card-center{position:absolute;inset:0}.blackjack-card-pip,.blackjack-card-ace-pip{text-shadow:0 1px #ffffff3d;font-family:Georgia,serif;line-height:1;position:absolute;transform:translate(-50%,-50%)}.blackjack-card-pip{font-size:var(--card-pip-size)}.blackjack-card-pip.rotated{transform:translate(-50%,-50%)rotate(180deg)}.blackjack-card-ace-pip{font-size:var(--card-ace-size);top:52%;left:50%}.blackjack-card-ten-pip{font-family:Georgia,serif;font-size:calc(var(--card-ace-size) * .62);text-shadow:0 1px #ffffff3d;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.blackjack-card-royal{opacity:.9;place-items:center;display:grid;position:absolute;inset:8% 9%}.blackjack-card-royal b,.blackjack-card-royal span{font-family:Georgia,serif;line-height:.9}.blackjack-card-royal b{font-size:var(--card-royal-rank-size);align-self:end}.blackjack-card-royal span{font-size:var(--card-royal-suit-size);align-self:start}.blackjack-card-back{color:#f5d77f6b;background:repeating-linear-gradient(45deg,#f5d77f0f 0 5px,#0000 5px 11px),linear-gradient(145deg,#0d1b2a,#111827);border:1px solid #f59e0b5c;place-items:center;display:grid;box-shadow:inset 0 0 0 6px #f59e0b12,inset 0 0 0 8px #ffffff06}.blackjack-card-back span{font-family:Georgia,serif;font-size:var(--card-ace-size);line-height:1}.blackjack-card-back b{color:#f5d77f33;font-size:calc(var(--card-rank-size) * .72);letter-spacing:.2em;position:absolute;bottom:22%}.blackjack-card-placeholder{color:#cbd5e166;border:2px dashed #cbd5e12e;border-radius:10px;place-items:center;width:52px;height:73px;font-size:10px;font-weight:900;display:grid}.blackjack-card-row{align-items:center;min-height:73px;display:flex}@keyframes blackjack-card-in{0%{opacity:0;transform:translateY(-14px)rotate(-3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes blackjack-card-deal-from-dealer{0%{opacity:0;transform:translateY(-150px)scale(.48)rotate(-10deg)}65%{opacity:1;transform:translateY(8px)scale(1.04)rotate(2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes blackjack-seat-pulse{0%,to{outline:0 solid #25ff9a29}50%{outline:12px solid #25ff9a33}}@keyframes blackjack-turn-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-10px)}}@keyframes blackjack-result-winner{0%,to{transform:translate(-50%)rotate(-4deg)}50%{transform:translate(-50%,-12px)rotate(5deg)}}@keyframes blackjack-result-loser{0%{opacity:0;transform:translate(-50%,-22px)rotate(-18deg)scale(.7)}55%{opacity:1;transform:translate(-50%,4px)rotate(8deg)scale(1.12)}to{opacity:1;transform:translate(-50%)rotate(0)scale(1)}}@keyframes bj-chip-payout-in{0%{opacity:0;transform:translate(-22px,-18px)scale(.72)}70%{opacity:1;transform:translate(3px)scale(1.08)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes bj-chip-loss-to-dealer{0%{transform:translate(-50%)scale(1)}70%{transform:translate(calc(-50% + var(--bj-loss-x)), calc(var(--bj-loss-y) - 16px)) scale(.96)}to{transform:translate(calc(-50% + var(--bj-loss-x)), var(--bj-loss-y)) scale(.9)}}@media (width<=640px){.blackjack-topbar-meta{gap:8px;font-size:11px}.blackjack-chip-strip{grid-template-columns:repeat(6,1fr);gap:4px}.blackjack-chip-strip button{height:34px;font-size:11px}.bj-btn{min-height:48px;font-size:14px}.blackjack-table-seat{width:140px;height:180px;margin:-90px 0 0 -70px}.blackjack-seat-circle{width:66px;height:66px;font-size:24px}.blackjack-table-copy h2{font-size:14px}.blackjack-table-copy p{font-size:10px}.bj-status-strip{letter-spacing:.04em;font-size:11px}}.original-slot-room{color:#fff;background:radial-gradient(at 50% 42%,#1c5a30d1 0%,#0823128c 55%,#0000 78%),repeating-linear-gradient(45deg,#0000000e 0 1px,#0000 1px 10px),repeating-linear-gradient(-45deg,#0000000e 0 1px,#0000 1px 10px),linear-gradient(160deg,#1a4a2a 0%,#0e2e18 50%,#091d10 100%);min-height:100dvh;padding:18px;font-family:Arial,Segoe UI,sans-serif;overflow-x:hidden}.original-slot-shell{gap:16px;max-width:980px;margin:0 auto;display:grid}.original-slot-header,.original-slot-card,.original-slot-bankroll{box-sizing:border-box;background:#050a12b8;border:1px solid #facc1529;border-radius:10px;box-shadow:0 4px 24px #0000005c}.original-slot-header{justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.original-slot-title{color:#facc15;text-shadow:0 4px 16px #0000008c;letter-spacing:.5px;margin:0;font-size:clamp(1.5rem,5vw,2.2rem);font-weight:1000;line-height:1}.original-slot-card{border:1px solid #facc1533;overflow:hidden}.original-slot-card-button{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;gap:16px;width:100%;padding:18px 20px;display:grid}.original-slot-card-button:hover{background:#facc150f}.original-slot-card-title{color:#facc15;text-shadow:none;letter-spacing:.3px;font-size:1.15rem;font-weight:1000}.original-slot-card-description{color:#94a3b8;margin-top:5px;font-size:.88rem;font-weight:700;line-height:1.35}.original-slot-symbol-strip{flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:220px;font-size:1.15rem;display:flex}.original-slot-panel{gap:16px;padding:0 20px 22px;display:grid}.original-slot-game-container{text-align:center;box-sizing:border-box;background:#050a12b8;border:1px solid #facc151a;border-radius:10px;padding:18px;box-shadow:inset 0 2px 10px #00000047}.original-slot-canvas{background:#1a1a1a;border:5px solid #f39c12;border-radius:15px;width:100%;max-width:600px;margin:16px auto;display:block;box-shadow:inset 0 0 20px #00000080}.original-slot-controls,.original-slot-bet-controls,.original-slot-payline-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.original-slot-controls{gap:20px;margin:18px 0 4px}.original-slot-bet-controls,.original-slot-payline-controls{margin:12px 0}.original-slot-pill,.original-slot-bankroll{color:#fff;border-radius:20px;padding:10px 16px;font-weight:700}.original-slot-bankroll{text-align:right;box-shadow:none;color:#facc15;background:#050a12b8;border:1px solid #facc1538;border-radius:10px;padding:10px 16px}.original-slot-pill{color:#e5e7eb;background:#050a128f;border:1px solid #ffffff1a;border-radius:8px;padding:8px 14px;font-weight:900}.original-slot-total-bet{color:#fca5a5;margin:8px 0;font-size:.95rem;font-weight:900}.original-slot-button,.original-slot-spin-button,.original-slot-back-button,.original-slot-sound-button{color:#fff;cursor:pointer;border:none;font-weight:900;transition:opacity .15s,transform .15s}.original-slot-button{color:#93c5fd;background:#60a5fa1f;border:1px solid #60a5fa47;border-radius:7px;padding:7px 14px;font-size:.92rem}.original-slot-spin-button{letter-spacing:1px;background:linear-gradient(#ef4444,#7f1d1d);border:1px solid #f871718c;border-radius:8px;padding:13px 28px;font-size:1rem;box-shadow:0 6px 18px #7f1d1d5c}.original-slot-back-button,.original-slot-sound-button{color:#94a3b8;background:#ffffff12;border:1px solid #ffffff24;border-radius:7px;padding:6px 13px;font-size:.85rem}.original-slot-sound-button{background:#0307128a;border:1px solid #facc1547;border-radius:8px;flex-shrink:0;place-items:center;width:38px;height:38px;padding:0;font-size:17px;display:grid}.original-slot-button:hover:not(:disabled),.original-slot-spin-button:hover:not(:disabled),.original-slot-back-button:hover,.original-slot-sound-button:hover{opacity:.82;transform:translateY(-1px)}.original-slot-spin-button:hover:not(:disabled){box-shadow:0 8px 22px #7f1d1d7a}.original-slot-button:disabled,.original-slot-spin-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.original-slot-message{color:#fde68a;text-align:left;background:#050a128f;border:1px solid #facc1529;border-radius:7px;min-height:28px;margin:10px 0 0;padding:7px 10px;font-size:.92rem;font-weight:900}.original-slot-message.win{color:#86efac;border-color:#22c55e59}.original-slot-error{color:#fca5a5;background:#7f1d1db8;border:1px solid #f871715c;border-radius:8px;padding:11px 14px;font-weight:900}@media (width<=768px){.original-slot-room{padding:10px}.original-slot-header,.original-slot-card-button,.original-slot-panel,.original-slot-game-container{padding-left:14px;padding-right:14px}.original-slot-header{flex-direction:column;align-items:flex-start}.original-slot-symbol-strip{justify-content:flex-start;max-width:none}.original-slot-card-button{grid-template-columns:1fr}.original-slot-controls{flex-direction:column;gap:10px}}
