:root{background:#08050e;--ink:#08050e;--surface:#170d27;--surface-2:#231238;--surface-3:#321a50;--line:#543273;--text:#f5efff;--text-dim:#b4a5c9;--accent:#00c8ff;--accent-ink:#051923;--teal:#00c8ff;--win:#70ffce;--gold:#ffd700;--pink:#ff2ed1;--font-display:'Bebas Neue','Arial Narrow',sans-serif}
body{min-height:100dvh;background:radial-gradient(ellipse at 20% 0%,#2a0f4f 0,transparent 55%),radial-gradient(ellipse at 95% 60%,#28103780,transparent 55%),linear-gradient(#000,#141019);background-attachment:fixed}
.page{max-width:1080px;gap:16px}.page-header h1{color:#f9f4ff;text-shadow:0 0 24px #00c8ff45;letter-spacing:.06em}.eyebrow{color:#bda4dc}.eyebrow::before{background:#ff2ed1;box-shadow:0 0 10px #ff2ed1}.panel{background:linear-gradient(145deg,#241236e8,#100b1de8);border-color:#76469855;box-shadow:inset 0 1px #ffffff09,0 12px 36px #0003}.board-wrap,.board-wrap[data-weather="Windy"],.board-wrap[data-weather="Storm"]{background:radial-gradient(ellipse at 50% 30%,#33115a85,#10091b 75%);border-color:#00c8ff65;box-shadow:0 0 24px #00c8ff0c,inset 0 0 28px #2a0f4f55}.board-stage{filter:drop-shadow(0 0 12px #00c8ff30)}.weather-label{color:#cdb6ea}.mute-toggle{background:#221238;color:#00c8ff;border-color:#00c8ff60;box-shadow:0 0 12px #00c8ff16}
button{transition:background .2s,box-shadow .2s,border-color .2s,transform .2s}button:active:not(:disabled){transform:translateY(1px) scale(.98)}.tab,.tier,.bet-chip,.utility-btn,.volley-btn.ghost{background:linear-gradient(150deg,#2a1940,#170d28);border-color:#60427888;border-radius:12px;color:#dfd1ed}.tab[aria-pressed=true]{color:#eafcff;border-color:#00c8ff;box-shadow:inset 0 0 15px #00c8ff16,0 0 10px #00c8ff12}.tier[aria-pressed=true],.bet-chip[aria-pressed=true]{color:#061b26;background:linear-gradient(135deg,#83eaff,#00c8ff);border-color:#87edff;box-shadow:0 0 15px #00c8ff38}.tier{border-radius:12px}.tier .mult{font-size:23px}.tier .prob{color:inherit}.utility-btn:hover,.bet-chip:hover:not(:disabled){border-color:#00c8ff;box-shadow:0 0 16px #00c8ff20}.wallet-panel{border-color:#a268d766;background:radial-gradient(ellipse at 0 0,#431a6980,transparent 70%),#140d23}.wallet-value.balance{color:#f4e9ff;font-size:27px;font-weight:600;letter-spacing:-.055em;text-shadow:0 0 18px #ae61ff55}.wallet-label{color:#bba3d2;letter-spacing:.12em}.wallet-figure:first-child{position:relative;padding-left:13px}.wallet-figure:first-child:before{content:'';position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:4px;background:linear-gradient(#00c8ff,#ff2ed1);box-shadow:0 0 12px #00c8ff80}
.bonus-launch{position:relative;isolation:isolate;overflow:hidden;min-height:60px;background:linear-gradient(110deg,#431277,#6a168e 58%,#a21991);border:1px solid #eb69ed;color:#fff;border-radius:17px;box-shadow:0 0 22px #ff2ed126,inset 0 1px #ffffff40}.bonus-launch:before{content:'';position:absolute;inset:-100%;z-index:-1;background:conic-gradient(from 0deg,transparent 30%,#00c8ff44,transparent 52%,#ff2ed144,transparent 80%);animation:neon-orbit 8s linear infinite;pointer-events:none}.bonus-launch strong{display:flex;align-items:center;gap:9px;font-size:25px;letter-spacing:.07em}.bonus-launch strong svg{color:#ffd700;filter:drop-shadow(0 0 5px #ffd70070)}.bonus-launch span{color:#efcdff}.bonus-launch:hover{box-shadow:0 0 32px #ff2ed14a;border-color:#00c8ff}.volley-btn:not(.ghost),.wheel-continue{background:linear-gradient(110deg,#69e5ff,#00c8ff);color:#031d2d;border-color:#93efff;border-radius:12px;min-height:46px;box-shadow:0 0 20px #00c8ff22}.game-dialog,.protection-dialog{background:linear-gradient(155deg,#2a0f4f,#100919);border-color:#8256a8}.dialog-heading{background:#1b0d2c;border-color:#8752b755}.shop-option{background:radial-gradient(ellipse at top,#66368b35,transparent 75%),#170d28!important;box-shadow:inset 0 1px #ffffff12}.shop-option:hover:not(:disabled){box-shadow:0 0 22px color-mix(in srgb,var(--bonus-color) 25%,transparent)}.dialog-content #shopBasis{background:#33194c}.wheel-card{background:radial-gradient(ellipse at top,#49156a,#160d25 60%,#080710);border-color:#b368e8;box-shadow:0 0 60px #ff2ed11c,0 35px 100px #000b}.wheel-title{color:#f6eaff;text-shadow:0 0 18px #ff2ed14a}.wheel-eyebrow{color:#00c8ff}.wheel-rim{background:conic-gradient(#bdecff,#136e99,#b48aff,#ff2ed1,#593285,#00c8ff,#bdecff)}.wheel-pointer{border-top-color:#ffd700}.wheel-result.won{color:#70ffce}.result-banner.win{color:#70ffce;text-shadow:0 0 18px #70ffce50}.result-banner.loss{color:#c9b9dc}.neon-win{animation:neon-win .65s ease-out}.neon-balance{animation:neon-win .55s ease-out}.ambient-control{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px;border:1px solid #72528c;border-radius:12px;font-size:13px}.ambient-control input{width:20px;height:20px;accent-color:#00c8ff}
#celebration{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:22}
.neon-loader{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 40%,#39155e,#12091e 55%,#000);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;transition:opacity .35s}.neon-loader[hidden]{display:none}.neon-loader.leaving{opacity:0;pointer-events:none}.loader-orbit{position:absolute;width:min(70vw,520px);aspect-ratio:1;border-radius:50%;border:1px solid #00c8ff77;box-shadow:0 0 70px #00c8ff1a,inset 0 0 65px #ff2ed122;transform:rotate(-25deg) scaleY(.8)}.loader-orbit:after{content:'';position:absolute;inset:-25px;border-radius:50%;border:1px solid #ff2ed133;box-shadow:0 0 55px #ff2ed11c}.loader-streak{position:absolute;left:-20%;top:35%;width:140%;height:1px;background:linear-gradient(90deg,transparent,#00c8ff,transparent);transform:rotate(-25deg);box-shadow:0 0 20px #00c8ff;animation:neon-streak 6s ease-in-out infinite}.loader-streak.pink{top:60%;transform:rotate(20deg);background:linear-gradient(90deg,transparent,#ff2ed1,transparent);animation-delay:-3s}.loader-content{position:relative;z-index:1;text-align:center;width:min(85%,640px)}.loader-kicker{font:11px var(--font-mono);letter-spacing:.4em;color:#b4bce4}.loader-logo{font:clamp(54px,12vw,110px) var(--font-display);font-weight:700;letter-spacing:.025em;margin:10px 0;color:#ffe586;background:linear-gradient(#fff8d1,#ffd700 55%,#ab771b);background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 2px #00c8ff) drop-shadow(0 0 25px #00c8ff40)}.loader-label{color:#ff78e3;font-size:16px;letter-spacing:.2em;animation:neon-pulse 2.5s ease-in-out infinite}.loader-progress{width:min(72%,340px);height:6px;margin:38px auto 15px;background:#0b0914;border:1px solid #ffd70070;border-radius:99px;overflow:hidden}.loader-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#126e9c,#00c8ff,#b3f3ff);box-shadow:0 0 14px #00c8ff;transition:width .25s}.loader-detail{font:10px var(--font-mono);color:#bba9d0}.loader-particles{position:absolute;inset:0}.loader-particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffd700;box-shadow:0 0 10px #ffd700;animation:neon-drift 7s linear infinite}.loader-retry{margin:18px auto;display:block}.loader-retry[hidden]{display:none}
@keyframes neon-orbit{to{transform:rotate(360deg)}}@keyframes neon-pulse{50%{opacity:.55;text-shadow:0 0 16px #ff2ed1}}@keyframes neon-streak{50%{opacity:.25;translate:0 40px}}@keyframes neon-drift{from{translate:0 60px;opacity:0}30%{opacity:.8}to{translate:30px -180px;opacity:0}}@keyframes neon-win{40%{filter:brightness(1.35);text-shadow:0 0 24px #00c8ff}}
@media(max-width:820px){.page{gap:10px}.layout{gap:9px}.wallet-value.balance{font-size:23px}.bonus-launch{min-height:54px;padding:10px 14px}.bonus-launch strong{font-size:23px}.bet-chip,.tab,.utility-btn{min-height:44px}.game-tools .utility-btn{min-height:44px}.panel{border-radius:16px}.page-header h1{font-size:33px}.loader-orbit{width:82vw}.loader-kicker{font-size:9px;letter-spacing:.25em}.loader-logo{font-size:clamp(52px,15vw,75px)}.tier .mult{font-size:21px}}
/* A rounded canvas also clips pointer hit testing at the square's corners. */
canvas#board{border-radius:0}
.neon-loader.artwork .loader-label,.neon-loader.artwork .loader-progress{display:block}
.loader-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#090310}.neon-loader.artwork .loader-content{position:absolute;bottom:0;width:100%;padding:20px 16px max(20px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#090310 35%)}.neon-loader.artwork .loader-progress{margin:12px auto;width:min(65%,420px)}.neon-loader.artwork .loader-detail{text-shadow:0 2px 5px #000;color:#e9d6ff}.neon-loader.artwork .loader-label{font-size:12px}.neon-loader.artwork .loader-retry{margin:8px auto}.neon-loader.artwork .loader-orbit,.neon-loader.artwork .loader-logo,.neon-loader.artwork .loader-kicker{display:none}
@media(min-width:821px){.page{max-width:1240px}.layout{grid-template-columns:minmax(0,1.65fr) minmax(330px,1fr)}.board-stage{max-width:600px}}
@media(max-width:820px){.board-stage{max-width:min(100%,36svh)}.board-stage.cracked{max-width:min(100%,46svh)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.loader-particles{display:none}}
/* Full-viewport scene with a live UI, rather than a letterboxed loading poster. */
.loader-backdrop{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:blur(18px) brightness(.65);transform:scale(1.08)}
.neon-loader.artwork .loader-art{background:transparent;animation:loader-camera 8s ease-in-out infinite alternate;object-fit:contain}
.neon-loader.artwork .loader-content{bottom:7%;padding:24px 20px;background:radial-gradient(ellipse,#10051bdd,transparent 72%);width:min(94%,650px);border-radius:40px}
.neon-loader.artwork .loader-label{font:500 clamp(18px,3vw,26px) var(--font-body);letter-spacing:.08em;color:#ff89ec;text-shadow:0 0 18px #ff2ed1}
.loader-percent{font-family:var(--font-mono);font-size:.7em;color:#c4f7ff;margin-left:12px}
.neon-loader.artwork .loader-progress{position:relative;width:85%;height:14px;border:1px solid #ffd700;border-radius:12px;margin:18px auto 14px;padding:2px;background:#080617;box-shadow:0 0 20px #00c8ff44,inset 0 0 8px #000}
.loader-progress span{border-radius:10px;transition:none;background:linear-gradient(90deg,#006ac8,#00c8ff,#bcf6ff)}
.loader-progress:after{content:'';position:absolute;inset:2px;background:linear-gradient(110deg,transparent 20%,#fff7 50%,transparent 80%);width:25%;animation:loader-shimmer 1.4s linear infinite;border-radius:8px}
.neon-loader.artwork .loader-detail{font-size:12px}.loader-streak{z-index:1}.loader-particles{z-index:1}.loader-content{z-index:2}
@keyframes loader-camera{from{transform:scale(1)}to{transform:scale(1.035)}}@keyframes loader-shimmer{from{left:0;opacity:0}30%{opacity:1}to{left:75%;opacity:0}}
@media(max-aspect-ratio:3/4){.neon-loader.artwork .loader-content{bottom:8%}.neon-loader.artwork .loader-art{object-fit:contain;object-position:50% 50%}.neon-loader.artwork .loader-label{font-size:20px}}
@media(prefers-reduced-motion:reduce){.neon-loader.artwork .loader-art,.loader-progress:after{animation:none!important}}


@media(min-aspect-ratio:3/4){.neon-loader.artwork .loader-art{object-fit:cover}}
@media(max-aspect-ratio:3/4){.neon-loader.artwork .loader-art{mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}}
/* Neon Vault: independently animated branding, atmosphere and live progress. */
.neon-loader.artwork .loader-art{object-fit:cover;mask-image:none;animation:vault-camera 7s ease-in-out infinite alternate;filter:brightness(.72)}
.vault-brand{position:absolute;z-index:3;top:42%;left:50%;transform:translate(-50%,-50%);width:94%;text-align:center;pointer-events:none}
.vault-eyebrow{font:11px var(--font-mono);letter-spacing:.55em;color:#abecff;margin-bottom:20px;text-shadow:0 0 14px #00c8ff}
.vault-wordmark{position:relative;display:inline-block;font-family:Georgia,serif;font-weight:900;font-size:clamp(52px,10vw,146px);letter-spacing:-.055em;line-height:1.15;background:linear-gradient(175deg,#fffce3 5%,#ffdf6b 26%,#a76913 48%,#fff0a0 52%,#e3a728 78%,#fff3a6);background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #fff1ae;filter:drop-shadow(0 2px 1px #6f430b) drop-shadow(0 0 3px #00c8ff) drop-shadow(0 0 22px #00c8ff99);animation:vault-logo 2s ease-in-out infinite}
.vault-wordmark:after{content:attr(data-text);position:absolute;top:95%;left:0;width:100%;transform:scaleY(-1);background:linear-gradient(transparent 35%,#d9a74a66);background-clip:text;-webkit-text-stroke:0;filter:blur(2px);opacity:.3}
.vault-fog{position:absolute;inset:-20%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 25% 65%,#952cfb55,transparent 40%),radial-gradient(ellipse at 75% 40%,#00c8ff30,transparent 35%),radial-gradient(ellipse at 50% 85%,#ff2ed133,transparent 40%);filter:blur(30px);animation:vault-fog 7s ease-in-out infinite alternate}
.vault-coins{position:absolute;inset:0;z-index:2;pointer-events:none}.vault-coins i{position:absolute;display:grid;place-items:center;width:clamp(22px,3vw,48px);aspect-ratio:1;border:2px solid #fff0aa;border-radius:50%;background:linear-gradient(130deg,#fff3ab,#ba740e 50%,#ffe16d);box-shadow:inset 0 0 0 3px #b07820,0 0 22px #ffd70055;color:#87520a;font-size:24px;font-style:normal;animation:vault-coin 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.65s)}
.neon-loader.artwork .loader-content{bottom:10%;z-index:4;background:radial-gradient(ellipse,#10051bc9,transparent 72%)}
.neon-loader.artwork .loader-progress{overflow:visible;height:12px;--progress:0%}
.loader-progress:after{left:clamp(4px,var(--progress),calc(100% - 8px));top:0;bottom:0;width:8px;background:#fffbea;box-shadow:0 0 8px 3px #fff7b0,0 0 20px 7px #00c8ff88;border-radius:50%;animation:vault-spark .6s ease-in-out infinite alternate}
.neon-loader.artwork .loader-label{animation:neon-pulse 2s ease-in-out infinite;text-shadow:0 0 8px #ff2ed1,0 0 28px #ff2ed199}
.loader-particles i{width:3px;height:3px;box-shadow:0 0 8px 2px #ffd70088}.loader-streak{height:2px;opacity:.6}
@keyframes vault-camera{to{transform:scale(1.06)}}
@keyframes vault-logo{50%{filter:drop-shadow(0 2px 1px #6f430b) drop-shadow(0 0 5px #00c8ff) drop-shadow(0 0 35px #00c8ffbb)}}
@keyframes vault-fog{to{transform:translate(5%,-4%) scale(1.12);opacity:.65}}
@keyframes vault-coin{50%{transform:translateY(-28px) rotate(12deg) scaleX(.72)}}
@keyframes vault-spark{to{opacity:.6;transform:scale(.75)}}
@media(max-width:600px){.vault-eyebrow{font-size:9px;letter-spacing:.4em}.vault-wordmark{font-size:clamp(46px,13vw,78px)}.vault-coins i:nth-child(even){display:none}.vault-fog{filter:blur(18px)}.neon-loader.artwork .loader-content{bottom:12%}}
@media(prefers-reduced-motion:reduce){.vault-wordmark,.vault-fog,.vault-coins i,.neon-loader.artwork .loader-art,.loader-progress:after{animation:none!important}}
