:root{color-scheme:dark;--gold: #f0c14a;--gold-deep: #c4842a;--ink: #f4efe4;--panel: rgba(8, 6, 22, .72);--machine-width: min(94vw, max(280px, calc((100dvh - 180px)*1.5) ));font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:#070414}button,img{-webkit-user-select:none;user-select:none}.studio-intro{height:100vh;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#000}.retired{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;color:var(--ink)}.retired-title{margin:0;color:var(--gold);font-size:1.4rem}.retired p{margin:0}.retired a{color:var(--gold);font-weight:700}.studio-intro video{width:100%;height:100%;object-fit:contain;background:#000}.stage,.loader{height:100vh;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:12px 16px 16px}.stage-bg,.loader-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.stage:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.45) 100%);pointer-events:none;z-index:1}.sound-toggle{position:absolute;z-index:6;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(240,193,74,.75);background:var(--panel);color:var(--gold);cursor:pointer}.sound-toggle:hover{transform:scale(1.06)}.logo{position:relative;z-index:4;width:min(420px,62vw,24vh);flex-shrink:0;margin-bottom:-1.5vh;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}.machine{position:relative;z-index:2;flex:0 1 auto;width:var(--machine-width);aspect-ratio:1535 / 1024;min-height:0}.stage-ripe .logo{width:min(760px,92vw,28vh);margin-bottom:0}.stage-ripe .machine{aspect-ratio:1303 / 764}.stage-ripe .reels{inset:9% 4.8% 8%;background:none;border-radius:8px}.stage-ripe .plate{background:transparent;box-shadow:none}.machine-frame{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.machine.is-celebrating .machine-frame,.machine.is-celebrating .reels{visibility:hidden}.reels{position:absolute;z-index:2;inset:12.8% 7.6% 12.2%;display:grid;grid-template-columns:repeat(5,1fr);background:url(/cosmic-miners/reel-bg.png) center / cover;border-radius:10px;overflow:hidden}.reel{position:relative;overflow:hidden;min-width:0;height:100%}.strip{position:absolute;inset:0 auto auto 0;width:100%;height:100%}.cell{position:absolute;left:5%;right:5%;height:33.333%}.plate{position:absolute;inset:7%;border-radius:12px;background:#0a041c73;box-shadow:inset 0 0 0 1px #f0c14a1f}.extra-frame,.glyph{position:absolute;inset:4%;width:92%;height:92%;object-fit:contain;pointer-events:none}.glyph{inset:8%;width:84%;height:84%}.glyph-win{background-repeat:no-repeat;background-position:0% 0%;z-index:2}.cell.is-win .glyph.glyph-still{animation:none}.glyph-label{display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-align:center}.cell.is-win .glyph{animation-name:win-pulse;animation-timing-function:ease-in-out;z-index:2}.cell.is-win .plate{box-shadow:inset 0 0 0 2px var(--gold),0 0 16px #f0c14a8c}@keyframes win-pulse{0%,to{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.08);filter:brightness(1.35) drop-shadow(0 0 10px #f0c14a)}68%{transform:scale(1.02);filter:brightness(1.12)}}.win-pop{position:absolute;z-index:5;left:50%;top:89%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 14px;border-radius:999px;background:var(--panel);color:var(--gold);border:1px solid rgba(240,193,74,.75);font-weight:800;letter-spacing:.04em;font-size:clamp(16px,2vw,24px);box-shadow:0 8px 24px #0006;pointer-events:none}.feature-count{font-size:13px;letter-spacing:.14em}.hud{position:relative;z-index:4;flex-shrink:0;width:var(--machine-width);max-width:96vw;margin-top:2px;display:flex;flex-direction:column;align-items:center;gap:10px}.hud-controls,.hud-meters{display:flex;align-items:center;justify-content:center;gap:16px}.hud-meters{width:100%;justify-content:space-between;padding-left:5.3%;padding-right:5.6%}.meter{display:flex;align-items:center;justify-content:space-between;gap:8px;width:auto;min-width:0;height:40px;padding:0 10px 0 12px;background:var(--panel);border:1px solid rgba(240,193,74,.35);border-radius:999px;color:var(--ink);white-space:nowrap}.meter-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.gold-amount{display:inline-flex;align-items:flex-end;line-height:0}.gold-group{display:inline-flex;align-items:flex-end}.gold-group+.gold-group{margin-left:4px}.gold-amount img{height:22px;width:auto;display:block}.gold-amount .dot{height:7px;margin:0 1px 4px}.win-pop .gold-amount img{height:30px}.win-pop .gold-amount .dot{height:9px;margin-bottom:5px}.win-celebration{position:absolute;z-index:6;left:50%;top:48%;width:86%;transform:translate(-50%,-50%);pointer-events:none;animation:win-celebration-in .28s ease-out}.win-celebration>img{width:100%;height:auto;display:block;filter:drop-shadow(0 16px 24px rgba(0,0,0,.55))}.win-celebration-copy{position:absolute;inset:30% 16% 28%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.win-celebration-copy p{margin:0;color:var(--gold);font-weight:800;letter-spacing:.16em;font-size:clamp(20px,3.2vw,40px);text-shadow:0 2px 0 #3a2208,0 0 16px rgba(240,193,74,.55)}.win-celebration-epic .win-celebration-copy p{font-size:clamp(24px,3.8vw,48px)}.win-celebration .gold-amount,.win-celebration .gold-group,.win-celebration .gold-amount img{flex-shrink:0}.win-celebration .gold-amount{width:max-content}.win-celebration .gold-amount img{height:clamp(16px,2.2vw,30px)}.win-celebration .gold-amount .dot{height:8px;margin-bottom:4px}@keyframes win-celebration-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.spin-btn{width:92px;height:68px;flex:0 0 auto;padding:0;border:0;background:transparent;cursor:pointer}.spin-btn img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}.spin-btn:not(:disabled):hover img{transform:scale(1.05)}.spin-btn:disabled{cursor:default}.spin-btn:disabled img{filter:grayscale(.35) brightness(.75)}.side-btn{position:relative;width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;padding:0;border-radius:50%;border:2px solid rgba(240,193,74,.85);background:radial-gradient(circle at 50% 35%,#3a2068,#0c0618 72%);color:var(--gold);box-shadow:0 8px 16px #00000073,inset 0 0 14px #6d4dff73;cursor:pointer}.side-btn:not(:disabled):hover{transform:scale(1.05)}.side-btn:disabled{cursor:default;opacity:.45}.autoplay-left{position:absolute;left:50%;bottom:0;transform:translate(-50%);min-width:22px;padding:0 5px;border-radius:999px;background:#080616e0;border:1px solid rgba(240,193,74,.8);color:var(--gold);font-size:11px;font-weight:800;line-height:16px;text-align:center}.sheet-backdrop{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;background:#0000008c}.sheet{position:relative;width:min(540px,94vw);padding:22px 22px 18px;background:#080616f0;border:1px solid rgba(240,193,74,.75);border-radius:18px;box-shadow:0 16px 40px #00000080;color:var(--ink)}.sheet h2{margin:0 0 16px;text-align:center;font-size:18px;letter-spacing:.16em;text-transform:uppercase}.sheet-label{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.autoplay-counts{display:flex;gap:8px}.autoplay-counts button{flex:1;height:40px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(240,193,74,.35);background:#141024;color:var(--ink);font-weight:700;cursor:pointer}.autoplay-counts button.is-selected{background:var(--gold);color:#1a1030;border-color:var(--gold)}.sheet-start,.sheet-ghost{height:44px;border-radius:999px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.sheet-start{width:100%;margin-top:18px;border:0;background:linear-gradient(180deg,#ffe08a,#e0a02a);color:#1a1030}.sheet-ghost{border:1px solid rgba(240,193,74,.75);background:transparent;color:var(--gold)}.sheet-start:disabled,.sheet-ghost:disabled{opacity:.4;cursor:default}.bet-actions{display:flex;gap:10px;margin-top:18px}.bet-actions .sheet-start,.bet-actions .sheet-ghost{flex:1;margin-top:0}.bet-step{display:flex;align-items:center;justify-content:center;gap:16px}.bet-step .gold-amount img{height:28px}.bet-step .gold-amount .dot{height:8px;margin-bottom:5px}.step-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(240,193,74,.75);background:#141024;color:var(--gold);cursor:pointer}.step-btn:disabled{opacity:.35;cursor:default}.sheet-close{position:absolute;top:8px;right:10px;width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);cursor:pointer}.notice{margin:0;text-align:center;color:#ffb4b4;font-size:13px}.loader-card{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:22px}.loader-logo{width:min(520px,78vw);filter:drop-shadow(0 12px 20px rgba(0,0,0,.5))}.loader-ripe .loader-logo{width:min(820px,92vw)}.loader-ripe .loader-track{width:min(560px,78vw);height:18px;border-color:var(--gold);background:#1c0628c7;box-shadow:0 0 22px #f0c14a59,inset 0 0 10px #00000080}.loader-ripe .loader-fill{background:linear-gradient(90deg,var(--gold-deep),var(--gold) 70%,#fff1c2);box-shadow:0 0 14px var(--gold)}.loader-track{width:min(440px,74vw);height:16px;border-radius:999px;background:#0000008c;border:2px solid #e8b15a;box-shadow:0 0 18px #7846ff73;overflow:hidden}.loader-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#6d4dff,#f0b429 60%,#fff1c2);transition:width .18s linear}.loader-icons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:520px;min-height:54px}.loader-icons img{width:48px;height:48px;object-fit:contain;animation:pop .28s ease-out}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:720px){.logo{margin-bottom:-12px}.hud{gap:8px}.meter{min-width:0;padding:0 8px}.gold-amount img{height:16px}.gold-amount .dot{height:5px;margin-bottom:3px}.hud-controls,.hud-meters{gap:8px}.spin-btn{width:76px;height:56px}.side-btn{width:48px;height:48px}}
