[data-lucky-skin] { --lucky-a:#ead29b; --lucky-b:#99bfd7; --lucky-glow:#bea777; --lucky-void:#263548; --lucky-bg:#152131; --lucky-edge:#e5cca438; --lucky-on:#172235; }
[data-lucky-skin=nebula] { --lucky-a:#c5b4ee; --lucky-b:#91b9e4; --lucky-glow:#a98ada; --lucky-void:#302b4b; --lucky-bg:#211e34; --lucky-edge:#b9a0f247; }
[data-lucky-skin=sakura] { --lucky-a:#edb3cb; --lucky-b:#e2cfc3; --lucky-glow:#ca8ca7; --lucky-void:#49303f; --lucky-bg:#2b222c; --lucky-edge:#edb3cb40; }
[data-lucky-skin=lagoon] { --lucky-a:#89d5c6; --lucky-b:#9cc6e5; --lucky-glow:#71bdb4; --lucky-void:#1b4248; --lucky-bg:#142c33; --lucky-edge:#89d5c640; }
[data-lucky-skin=ember] { --lucky-a:#f0b181; --lucky-b:#eecb86; --lucky-glow:#da8b64; --lucky-void:#4a302b; --lucky-bg:#2c2223; --lucky-edge:#f0b18142; }
[data-lucky-skin=glacier] { --lucky-a:#cbe5ee; --lucky-b:#a1bde9; --lucky-glow:#96c7dd; --lucky-void:#2a3d55; --lucky-bg:#1b2a3a; --lucky-edge:#cbe5ee45; }
[data-lucky-skin=dune] { --lucky-a:#edcb81; --lucky-b:#dca28f; --lucky-glow:#d6ad5f; --lucky-void:#463b2d; --lucky-bg:#2c2824; --lucky-edge:#edcb8145; }
[data-lucky-skin=synthwave] { --lucky-a:#d8acf0; --lucky-b:#87d6dd; --lucky-glow:#cb86e4; --lucky-void:#34274c; --lucky-bg:#221c35; --lucky-edge:#d8acf045; }
.lucky-room { margin:20px 0 30px; min-width:0; }
.lucky-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 0 20px; }
.lucky-heading h1 { display:flex; align-items:center; gap:18px; margin:10px 0; font-size:38px; line-height:1.2; letter-spacing:-.04em; }
.lucky-heading h1>span { color:var(--lucky-a); font-size:28px; }
.lucky-heading p { margin:8px 0 0; max-width:460px; font-size:13px; line-height:1.6; color:#acbbce; }
.lucky-coins-note { padding:9px 12px; border:1px solid #e3c99b30; border-radius:100px; font-size:11px; color:#d9c69e; white-space:nowrap; }
.lucky-views { display:flex; gap:4px; padding:4px; margin:18px 0 22px; background:#172331; border-radius:14px; border:1px solid #ffffff0b; }
.lucky-views>button { flex:1; min-width:0; min-height:44px; padding:9px 12px; border:0; border-radius:10px; background:transparent; color:#93a8c3; font:inherit; font-size:13px; }
.lucky-views>button[aria-pressed=true] { color:#e8eef7; background:#2b3c50; }
.lucky-play-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr); gap:22px; align-items:start; }
.lucky-risk-section { margin-bottom:14px; }
.lucky-risk-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:7px 16px; margin:0 0 12px; }
.lucky-risk-heading strong { font-size:14px; }.lucky-risk-heading>span { font-size:11px; color:#9eafc5; }
.lucky-risk-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.lucky-risk-choices button { min-width:0; min-height:80px; display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:10px 12px; border:1px solid #ffffff16; border-radius:15px; color:#c9d7e8; background:#1b2939; text-align:left; font:inherit; }
.lucky-risk-choices button>span { font-size:13px; font-weight:600; }.lucky-risk-choices strong { font-size:23px; font-variant-numeric:tabular-nums; }
.lucky-risk-choices small { color:#a9bdd1; font-size:11px; line-height:1.5; }
.lucky-risk-choices [aria-pressed=true] { border-color:var(--lucky-a); background:var(--lucky-bg); box-shadow:inset 0 3px var(--lucky-a); }
.lucky-risk-choices [aria-pressed=true] strong { color:var(--lucky-a); }
.lucky-room button:disabled { opacity:.5; cursor:default; }
.lucky-room button:focus-visible,.lucky-custom-bet:focus-within { outline:2px solid var(--lucky-a); outline-offset:3px; }
.lucky-cabinet { min-width:0; background:var(--lucky-bg); border:1px solid var(--lucky-edge); border-radius:24px; overflow:hidden; scroll-margin-top:12px; scroll-margin-bottom:calc(100px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px),var(--tg-content-safe-area-inset-bottom,0px))); }
.lucky-cabinet-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; border-bottom:1px solid var(--lucky-edge); color:var(--lucky-a); font-size:12px; }
.lucky-cabinet-top>span:first-child { display:flex; align-items:center; gap:9px; }
.lucky-cabinet-top svg { width:25px; height:25px; }
.lucky-cabinet-top>span:last-child { font-variant-numeric:tabular-nums; font-weight:700; }
.lucky-stage { position:relative; isolation:isolate; min-width:0; display:grid; place-items:center; min-height:320px; padding:14px; background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--lucky-glow) 13%,transparent),transparent 65%); }
.lucky-stage[data-lucky-stage=classic] { min-height:345px; }
.lucky-stage[data-phase=waiting] { animation:lucky-wait 1s ease-in-out infinite alternate; }
.lucky-wheel,.lucky-meteor { display:block; width:100%; max-width:360px; height:auto; overflow:visible; }
.lucky-wheel-rim { fill:var(--lucky-bg); stroke:var(--lucky-edge); stroke-width:3; }
.lucky-sector { fill:var(--lucky-a); stroke:var(--lucky-bg); stroke-width:2; }
.lucky-sector:nth-of-type(4n+2) { fill:var(--lucky-b); }
.lucky-sector[data-multiplier="0"] { fill:var(--lucky-void); }
.lucky-sector[data-jackpot=true] { fill:#f2ce74; stroke-width:.5; }
.lucky-wheel-caption { margin:0 0 8px; color:#f2ce74; text-align:center; font-size:11px; line-height:1.6; }
.lucky-sector-label { font-size:20px; font-weight:700; fill:var(--lucky-on); }
.lucky-sector[data-multiplier="0"]+text { fill:#a9bacf; }
.lucky-wheel-hub { fill:var(--lucky-bg); stroke:var(--lucky-a); stroke-width:2; }
.lucky-hub-label { fill:var(--lucky-a); font-size:12px; font-weight:700; letter-spacing:2px; }
.lucky-pointer { fill:var(--lucky-a); stroke:var(--lucky-bg); stroke-width:2; }
.lucky-meteor-guide { fill:var(--lucky-void); fill-opacity:.3; stroke:var(--lucky-edge); stroke-dasharray:3 8; }
.lucky-peg { fill:var(--lucky-b); opacity:.75; }
.lucky-bucket rect { fill:var(--lucky-void); stroke:var(--lucky-edge); }
.lucky-bucket text { fill:#d4dfed; font-size:12px; font-weight:700; }
.lucky-bucket[data-jackpot=true] rect { stroke:#f2ce74; }.lucky-bucket[data-jackpot=true] text { fill:#f2ce74; font-size:11px; }
.lucky-bucket.is-hit rect { fill:var(--lucky-a); stroke:var(--lucky-a); }
.lucky-bucket.is-hit text { fill:var(--lucky-on); }
.lucky-ball { fill:var(--lucky-a); stroke:#fff9; stroke-width:2; filter:drop-shadow(0 0 6px var(--lucky-glow)); }
.lucky-trail { fill:none; stroke:var(--lucky-a); stroke-width:2; opacity:.4; }
.lucky-classic-orbits { position:absolute; width:78%; aspect-ratio:1; border:1px solid var(--lucky-edge); border-radius:50%; z-index:-1; }
.lucky-classic-orbits:before,.lucky-classic-orbits:after { content:""; position:absolute; inset:12%; border:1px solid var(--lucky-edge); border-radius:50%; }
.lucky-classic-orbits:after { inset:-12%; border-style:dashed; opacity:.5; }
.lucky-reels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; width:100%; max-width:340px; border:1px solid var(--lucky-edge); border-radius:22px; padding:13px; background:var(--lucky-bg); box-shadow:0 15px 35px #0003; }
.lucky-reel { display:grid; place-items:center; min-width:0; aspect-ratio:.76; border:1px solid var(--lucky-edge); border-radius:13px; background:linear-gradient(180deg,var(--lucky-void),var(--lucky-bg)); }
.lucky-reel .orbit-art { width:80%; height:auto; max-height:100%; }
.lucky-classic-caption { position:absolute; bottom:45px; left:20px; right:20px; display:flex; gap:10px; align-items:center; justify-content:center; font-size:8px; letter-spacing:.18em; color:var(--lucky-a); opacity:.65; }
.lucky-classic-caption span { width:24px; height:1px; background:currentColor; }
.lucky-result { min-height:76px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:center; align-items:center; gap:3px 12px; padding:10px 16px; text-align:left; border-top:1px solid var(--lucky-edge); background:#0000000c; }
.lucky-result strong { color:var(--lucky-a); font-size:22px; font-variant-numeric:tabular-nums; text-align:right; }
.lucky-result-label { font-size:12px; color:#d1dcec; }
.lucky-jackpot-label { padding:5px 14px; border:1px solid #f2ce7466; border-radius:100px; color:#f2ce74; font-weight:700; letter-spacing:.04em; }
.lucky-result small,.lucky-result-idle { grid-column:1/-1; color:#a0b2c9; font-size:11px; line-height:1.5; }
.lucky-result-idle { text-align:center; }
.lucky-controls { padding:18px; min-width:0; border:1px solid #ffffff13; border-radius:22px; background:#1b2939; }
.lucky-controls h2 { margin:0 0 12px; font-size:16px; }
.lucky-wager { padding:12px 16px; border-top:1px solid var(--lucky-edge); background:#0000000c; }
.lucky-launch-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:10px; align-items:end; }
.lucky-launch-row>div { min-width:0; }
.lucky-bet-label { display:block; margin-bottom:4px; font-size:11px; color:#afc1d6; }
.lucky-custom-bet { display:flex; gap:6px; align-items:center; min-width:0; border:1px solid var(--lucky-edge); border-radius:12px; padding:0 10px; background:#142131; }
.lucky-custom-bet input { display:block; flex:1; min-width:0; width:100%; height:46px; padding:8px 0; border:0; background:transparent; color:#e6edf7; outline:none; font:inherit; font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; }
.lucky-custom-bet input[aria-invalid=true] { color:#f0b3b3; }.lucky-custom-bet>span { color:var(--lucky-a); font-size:20px; }
.lucky-bet-message { margin:6px 0 0; color:#a9bdd1; font-size:11px; line-height:1.5; }
.lucky-bet-adjust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:10px; }
.lucky-bet-adjust button { min-width:0; min-height:44px; border:1px solid #ffffff16; border-radius:11px; color:#b9cde4; background:#1b2d40; font:inherit; font-size:13px; }
.lucky-odds-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding:16px 0; margin-top:12px; border-top:1px solid #ffffff13; border-bottom:1px solid #ffffff13; }
.lucky-odds-summary>div { display:flex; flex-direction:column; gap:7px; min-width:0; }
.lucky-odds-summary span,.lucky-odds-summary small { color:#a9bdd1; font-size:10px; line-height:1.5; }
.lucky-odds-summary strong { color:var(--lucky-a); font-size:18px; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.lucky-bets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.lucky-bets button { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; padding:6px 3px; background:#24384c; border:1px solid transparent; border-radius:11px; color:#cad8e8; font:inherit; font-size:14px; }
.lucky-bets small { font-size:10px; opacity:.6; }
.lucky-bets button[aria-pressed=true] { color:var(--lucky-a); border-color:var(--lucky-a); background:var(--lucky-bg); }
.app .lucky-launch,body.dark .app .lucky-launch { display:block; width:100%; min-height:48px; margin:0; padding:10px 8px; font-size:14px; line-height:1.3; white-space:normal; }
.lucky-quick { display:flex; align-items:center; gap:9px; min-height:44px; width:100%; border:0; padding:8px 0; background:transparent; text-align:left; color:#a9bdd5; font-size:12px; }
.lucky-quick>span { color:var(--lucky-a); font-size:18px; width:23px; text-align:center; }
.lucky-skin-shortcut { display:flex; align-items:center; gap:10px; padding:16px 0; border-top:1px solid #ffffff0e; margin-top:10px; }
.lucky-skin-dot { flex:0 0 28px; width:28px; height:28px; border:3px solid var(--lucky-b); border-radius:50%; background:var(--lucky-a); }
.lucky-skin-shortcut>div { flex:1; min-width:0; }
.lucky-skin-shortcut small { display:block; color:#9aadc4; font-size:10px; margin-bottom:4px; }
.lucky-skin-shortcut strong { font-size:12px; font-weight:600; overflow-wrap:anywhere; }
.lucky-skin-shortcut button { width:44px; min-height:44px; border:1px solid #ffffff15; border-radius:12px; background:#26394d; color:var(--lucky-a); font-size:22px; }
.lucky-rules { margin-top:10px; border-top:1px solid #ffffff0e; padding-top:10px; }
.lucky-rules summary { display:flex; align-items:center; min-height:44px; color:#c1cde0; font-size:12px; cursor:pointer; }
.lucky-rules summary:before { content:"+"; font-size:18px; margin-right:10px; }
.lucky-rules[open] summary:before { content:"−"; }
.lucky-rules p { font-size:11px; line-height:1.65; color:#9dafc7; }
.lucky-rules table { width:100%; border-collapse:collapse; font-size:11px; margin:14px 0; }
.lucky-rules th,.lucky-rules td { padding:9px 0; border-bottom:1px solid #ffffff0b; text-align:left; }
.lucky-rules td:last-child,.lucky-rules th:last-child { text-align:right; }
.lucky-rules td>small { display:block; margin-top:3px; color:#8fa6c1; }
.lucky-recovery { color:#e5c999; font-size:12px; line-height:1.6; }
.lucky-skins>p { font-size:13px; line-height:1.65; color:#aabbd0; }
.lucky-skin-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:24px 0; }
.lucky-skin-card { min-width:0; padding:10px; background:#152230; border:1px solid #ffffff10; border-radius:16px; }
.lucky-skin-card.is-preview { border-color:#adbed4aa; }
.lucky-skin-preview { display:block; width:100%; padding:0; border:0; border-radius:10px; overflow:hidden; background:none; }
.lucky-skin-sample { min-width:0; position:relative; display:grid; place-items:center; width:100%; height:135px; border-radius:10px; background:var(--lucky-bg); border:1px solid var(--lucky-edge); overflow:hidden; }
.lucky-mini-wheel { position:absolute; top:15px; left:calc(50% - 38px); width:76px; height:76px; border:4px solid var(--lucky-a); border-radius:50%; background:repeating-conic-gradient(var(--lucky-a) 0deg 30deg,var(--lucky-void) 30deg 60deg); }
.lucky-skin-sample>i { position:absolute; top:38px; left:calc(50% - 13px); display:grid; place-items:center; width:26px; height:26px; font-size:16px; border-radius:50%; background:var(--lucky-bg); color:var(--lucky-a); font-style:normal; }
.lucky-mini-reels { position:absolute; display:flex; gap:4px; left:calc(50% - 48px); bottom:18px; padding:5px; border:1px solid var(--lucky-edge); border-radius:8px; background:var(--lucky-bg); }
.lucky-mini-reels b { display:grid; place-items:center; width:25px; height:28px; background:var(--lucky-void); color:var(--lucky-b); border-radius:4px; font-size:15px; }
.lucky-skin-card h3 { min-height:32px; margin:12px 0 8px; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.lucky-skin-card>button:last-child { width:100%; min-height:44px; padding:8px 3px; font-size:11px; white-space:normal; }
.lucky-preview-note { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:18px; padding:10px 15px; background:#273548; border-radius:12px; color:#bccde4; font-size:12px; }
.lucky-preview-note button { background:none; border:0; min-height:44px; color:#d3deec; font-size:11px; text-decoration:underline; }
.lucky-history-row { display:flex; gap:12px; align-items:center; border-bottom:1px solid #ffffff0c; padding:16px 0; }
.lucky-history-row>svg { width:32px; height:32px; flex:0 0 32px; color:var(--lucky-a); }
.lucky-history-row>div { flex:1; min-width:0; }
.lucky-history-row strong { display:block; font-size:13px; }
.lucky-history-row small { display:block; margin-top:6px; font-size:11px; color:#9db0c8; overflow-wrap:anywhere; }
.lucky-history-row .lucky-history-amount { flex:0 0 auto; text-align:right; }
.lucky-history-amount>strong { color:var(--lucky-a); font-size:18px; }
.lucky-history-amount .positive { color:#9bd4b4; }.lucky-history-amount .negative { color:#d9a5ad; }
.orbit-deadline { font-variant-numeric:tabular-nums; }
@keyframes lucky-wait { from{opacity:.5} to{opacity:1} }
@media(max-width:760px) {
 .lucky-entrybar { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; }
 .app #main .lucky-entrybar>button.back { min-height:44px; margin:0; padding:8px 10px; font-size:12px; }
 .lucky-entrybar .slot-tabs { min-width:0; max-width:none; margin:0; padding:3px; }
 .lucky-entrybar .slot-tabs button { min-width:0; min-height:44px; padding:6px 4px; font-size:11px; }
 .lucky-room { margin:10px 0 20px; }
 .lucky-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,.8fr); align-items:center; gap:8px; }
 .lucky-heading { min-width:0; gap:8px; min-height:44px; padding:4px 0; }
 .lucky-heading h1 { margin:0; gap:9px; font-size:26px; }.lucky-heading h1>span { font-size:22px; }
 .lucky-heading .orbit-kicker,.lucky-heading p { display:none; }
 .lucky-coins-note { display:none; }
 .lucky-room .section-switch { margin-bottom:0; }
 .lucky-intro .section-menu-trigger { display:flex; }
 .lucky-intro .section-inline-options { display:none; }
 .lucky-room .section-menu-trigger { min-height:44px; padding:8px 12px; }
 .lucky-room .section-menu-trigger small { display:none; }
 .lucky-views { margin:8px 0 12px; }
 .lucky-risk-section { margin-bottom:10px; }
 .lucky-risk-heading { gap:2px 10px; margin-bottom:7px; }
 .lucky-risk-heading strong { font-size:12px; }.lucky-risk-heading>span { font-size:10px; }
 .lucky-play-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
 .lucky-cabinet { border-radius:18px; }
 .lucky-cabinet-top { padding:8px 14px; }.lucky-cabinet-top svg { width:22px; height:22px; }
 .lucky-stage,.lucky-stage[data-lucky-stage=classic] { height:clamp(180px,27vh,230px); height:clamp(180px,27svh,230px); min-height:0; padding:8px 14px; overflow:hidden; }
 .lucky-stage:is([data-lucky-stage=wheel],[data-lucky-stage=meteor]) { height:clamp(220px,40vh,320px); height:clamp(220px,40svh,320px); }
 .lucky-stage[data-lucky-stage=wheel] { grid-template-rows:minmax(0,1fr) auto; }
 .lucky-wheel,.lucky-meteor { width:100%; height:100%; max-height:100%; min-height:0; }
 .lucky-sector-label { font-size:23px; }
 .lucky-bucket text { font-size:15px; }.lucky-bucket[data-jackpot=true] text { font-size:13px; }
 .lucky-wheel-caption { font-size:10px; margin:0; }
 .lucky-reels { max-width:300px; padding:8px; gap:6px; border-radius:16px; }
 .lucky-reel { aspect-ratio:1.1; border-radius:10px; }.lucky-reel .orbit-art { max-height:76px; }
 .lucky-classic-caption { bottom:7px; }
 .lucky-wager { padding:10px 12px; }
 .lucky-controls { padding:14px; }.lucky-skin-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lucky-result { min-height:68px; padding:8px 12px; }.lucky-result strong { font-size:20px; }.lucky-rules summary { font-size:13px; }
 .lucky-skin-card h3 { font-size:13px; }.lucky-skin-card>button:last-child { font-size:12px; }
 .lucky-views>button { padding:9px 5px; font-size:12px; }
 .lucky-risk-choices button { min-height:72px; padding:8px; gap:3px; }.lucky-risk-choices button>span { font-size:12px; line-height:1.2; }.lucky-risk-choices strong { font-size:18px; line-height:1.1; }.lucky-risk-choices small { font-size:10px; line-height:1.35; }
}
@media(max-width:370px) {
 .lucky-heading h1 { font-size:23px; }
 .lucky-skins { padding:15px; }.lucky-skin-grid { gap:8px; }.lucky-skin-card { padding:7px; }
 .lucky-skin-sample { height:125px; }.lucky-history { padding:16px; }
 .lucky-risk-choices { gap:6px; }.lucky-risk-choices button { padding:7px 6px; }.lucky-risk-choices button>span { font-size:12px; }
 .lucky-launch-row { gap:8px; }.app .lucky-launch,body.dark .app .lucky-launch { font-size:12px; }
 .lucky-result { gap:3px 8px; }.lucky-result-label { font-size:11px; }.lucky-result strong { font-size:18px; }
 .lucky-bets button { font-size:12px; gap:3px; }
}
@media(prefers-reduced-motion:reduce) { .lucky-stage[data-phase=waiting] { animation:none; } }
