:root{--navy:#06152b;--navy2:#0b2344;--blue:#0b65b8;--blue2:#36a8ff;--red:#c72031;--gold:#f4c95d;--ink:#eef6ff;--muted:#a9bdd2;--panel:rgba(8,27,52,.94);--line:rgba(143,192,232,.22)}*{box-sizing:border-box}html{background:#030a14;color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 50% -20%,#154b7d 0,transparent 40%),linear-gradient(180deg,#06152b,#020711 75%);min-height:100vh}.site-header{max-width:1500px;margin:14px auto 0;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(143,192,232,.2);border-radius:22px;background:linear-gradient(135deg,rgba(7,24,47,.96),rgba(3,11,23,.96));box-shadow:0 18px 55px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04)}.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0;padding:7px 12px;border-radius:16px;background:radial-gradient(circle at 25% 0,rgba(54,168,255,.14),transparent 62%);border:1px solid rgba(143,192,232,.12)}.brand-logo{display:block;width:auto;height:auto;max-width:min(300px,40vw);max-height:66px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 18px rgba(0,0,0,.38))}.brand-fallback{min-width:0}.brand-mark{width:78px;height:52px;border:2px solid #dcecff;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:5px;background:linear-gradient(145deg,#09284c,#020a14);box-shadow:inset 0 0 18px rgba(54,168,255,.28),0 8px 30px rgba(0,0,0,.35)}.brand-mark b{font-size:2rem;color:#ef3340;text-shadow:0 2px 0 #fff}.brand-mark span{color:#fff}.brand-name{font-weight:950;letter-spacing:.06em;font-size:clamp(1.25rem,3vw,2rem)}.brand-name span,.ticket-brand span{color:#ef3340}.brand-tagline{font-size:.72rem;letter-spacing:.25em;color:#8dcfff}.demo-badge{font-size:.72rem;font-weight:900;letter-spacing:.09em;padding:9px 12px;border:1px solid rgba(244,201,93,.4);border-radius:999px;color:#f8d978;background:rgba(244,201,93,.08)}main{max-width:1500px;margin:auto;padding:22px 24px 60px}.intro-card,.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(10,35,67,.93),rgba(5,20,39,.96));border-radius:22px;box-shadow:0 22px 70px rgba(0,0,0,.34)}.intro-card{padding:24px;display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:900;color:#74c7ff}h1{font-size:clamp(1.7rem,4vw,3.35rem);line-height:1.02;margin:0 0 12px;max-width:1000px}p{color:var(--muted);line-height:1.55}.formula-card{padding:18px;border:1px solid rgba(244,201,93,.25);background:rgba(244,201,93,.06);border-radius:16px;display:grid;gap:9px}.formula-card strong{color:#ffe18c}.formula-card span{font-size:.9rem;color:#dce8f4}.machine-grid{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(480px,1.6fr) minmax(230px,.75fr);gap:18px;margin-top:18px;align-items:start}.panel{padding:20px}.control-panel,.impact-panel{position:sticky;top:12px}.step-number{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#c71f33,#7b0d1a);font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}h2{margin:8px 0 14px;font-size:1.15rem}.field-label{display:block;color:#afc6dc;font-size:.78rem;font-weight:800;margin-bottom:7px}select,button{font:inherit}select{width:100%;min-height:46px;padding:12px 38px 12px 12px;border-radius:10px;border:1px solid rgba(143,192,232,.42);background-color:#07192f;color:#fff;cursor:pointer;appearance:auto;-webkit-appearance:menulist}select option{background:#fff;color:#07192f}select:focus{outline:2px solid #74c7ff;outline-offset:2px}.button,.cash-buttons button{border:1px solid rgba(142,193,233,.3);border-radius:10px;padding:11px 14px;font-weight:850;cursor:pointer;color:#fff;background:#0c2c52}.button.primary{background:linear-gradient(180deg,#167ad0,#0b4b88);box-shadow:0 8px 22px rgba(11,101,184,.3);width:100%;margin-top:10px}.button.subtle{background:#0a203c}.divider{height:1px;background:var(--line);margin:20px 0}.cash-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.cash-buttons button:disabled,.button:disabled{opacity:.38;cursor:not-allowed}.selected-charity{margin-top:14px;padding:12px;border-radius:12px;background:rgba(54,168,255,.08);color:#c8e7ff;font-size:.86rem;line-height:1.45}.slot-shell{position:relative;border:1px solid rgba(255,255,255,.24);border-radius:30px;background:linear-gradient(90deg,#111927,#344153 7%,#738296 11%,#1a2638 14%,#09182f 86%,#738296 90%,#243246 94%,#0a111c);padding:18px;box-shadow:inset 0 0 0 4px #111a27,inset 0 0 38px rgba(255,255,255,.13),0 34px 90px rgba(0,0,0,.58)}.cabinet-top{text-align:center;border-radius:18px 18px 10px 10px;padding:16px;background:radial-gradient(circle at 50% 0,#2177bd,transparent 55%),linear-gradient(180deg,#061a35,#020912);border:2px solid #8ba2b9;box-shadow:inset 0 0 30px rgba(54,168,255,.2)}.mini-stars{color:#f4c95d;letter-spacing:.6em;font-size:.8rem}.cabinet-title{font-size:clamp(1.8rem,5vw,3.5rem);font-weight:1000;letter-spacing:.05em;background:linear-gradient(#fff,#8ecbff 45%,#2473b5 55%,#e8f6ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 5px 25px rgba(54,168,255,.22)}.cabinet-subtitle{font-size:.68rem;letter-spacing:.22em;color:#e8d38b}.viewport-wrap{height:430px;position:relative;margin-top:13px;overflow:hidden;border-radius:12px;background:radial-gradient(circle at 50% 45%,#152437 0,#05080e 68%);border:4px solid #c4d0dc;box-shadow:inset 0 0 0 4px #1d2c3c,inset 0 0 50px #000}#threeViewport{position:absolute;inset:0;z-index:1}#threeViewport canvas{width:100%;height:100%;display:block}.reel-glass{position:absolute;inset:7% 4%;z-index:2;pointer-events:none;border-radius:18px;background:linear-gradient(115deg,rgba(255,255,255,.11),transparent 23%,transparent 72%,rgba(116,199,255,.08));border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 40px rgba(0,0,0,.34)}.payline{position:absolute;z-index:3;left:2%;right:2%;top:50%;height:3px;background:linear-gradient(90deg,transparent,#ff364c 12%,#ff364c 88%,transparent);box-shadow:0 0 14px #ff233d;pointer-events:none}.machine-readout{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.machine-readout div{padding:10px;text-align:center;background:#02070d;border:1px solid #526172;border-radius:8px}.machine-readout span{display:block;font-size:.67rem;text-transform:uppercase;color:#87a7c3;letter-spacing:.09em}.machine-readout strong{display:block;color:#f9d96e;font-family:ui-monospace,monospace;font-size:1.05rem;margin-top:3px}.machine-controls{display:grid;grid-template-columns:130px 1fr 150px;gap:10px;align-items:end}.machine-controls label{font-size:.72rem;color:#9ab8d3;font-weight:800}.machine-controls label select{display:block;margin-top:4px}.spin-button,.cashout-button{min-height:62px;border-radius:14px;font-weight:1000;letter-spacing:.08em;color:#fff;cursor:pointer}.spin-button{border:3px solid #ff8090;background:radial-gradient(circle at 35% 25%,#ff6575,#c91d31 55%,#750613);box-shadow:inset 0 -7px 0 rgba(0,0,0,.25),0 0 28px rgba(239,51,64,.35)}.cashout-button{border:2px solid #74c7ff;background:linear-gradient(180deg,#126aa9,#073a66)}.spin-button:disabled,.cashout-button:disabled{filter:grayscale(1);opacity:.45;cursor:not-allowed}.impact-total{padding:18px;text-align:center;border-radius:16px;background:radial-gradient(circle at 50% 0,rgba(54,168,255,.18),transparent 65%),#06172d;border:1px solid rgba(116,199,255,.2)}.impact-total span{display:block;color:#a8bfd3}.impact-total strong{display:block;font-size:2.4rem;color:#f9d96e;margin:5px}.impact-breakdown{margin-top:12px;display:grid;gap:8px}.impact-breakdown div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line);font-size:.86rem}.fine-print{font-size:.73rem}.telemetry-panel,.admin-panel{margin-top:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.status-stack{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-pill{padding:8px 12px;border-radius:999px;background:#07182c;border:1px solid var(--line);font-size:.75rem;color:#acd9fa}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.metric{padding:13px;background:#06162a;border:1px solid var(--line);border-radius:12px}.metric span{display:block;color:#8caac3;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.metric strong{display:block;margin-top:5px;font-size:1.13rem}.math-grid,.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.math-grid>div,.admin-columns>div{padding:15px;background:#041122;border:1px solid var(--line);border-radius:14px}.math-grid h3,.admin-columns h3{margin:0 0 10px;font-size:.9rem}pre{white-space:pre-wrap;color:#bfe3ff;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;margin:0}.data-table{display:grid;gap:6px}.table-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px;border-bottom:1px solid rgba(143,192,232,.12);font-size:.79rem}.table-row span{color:#a9c0d5}.table-row b{font-variant-numeric:tabular-nums}dialog{border:0;border-radius:18px;padding:0;background:#07182c;color:#fff;max-width:470px;width:calc(100% - 24px);box-shadow:0 40px 120px #000}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}.ticket-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.ticket-modal-head h2{margin:0}.ticket-modal-head button{background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}.ticket{width:340px;max-width:calc(100% - 32px);margin:18px auto;background:#fff;color:#111;padding:22px 18px;text-align:center;font-family:ui-monospace,monospace;box-shadow:0 10px 28px rgba(0,0,0,.25)}.ticket-brand{font-family:Arial,sans-serif;font-size:1.75rem;font-weight:1000}.ticket-demo{font-size:.65rem;font-weight:900;margin:5px 0 18px}.ticket-value-label{font-size:.7rem}.ticket-value{font-size:2.6rem;font-weight:1000;margin:2px 0 10px}.ticket svg{width:100%;height:68px}.ticket-code{letter-spacing:.15em;font-size:.72rem}.ticket #qr{display:grid;place-items:center;margin:12px}.ticket-rule{border-top:2px dashed #111;margin:14px 0}.ticket-message{font-weight:900;line-height:1.45}.ticket-breakdown{font-size:.72rem;line-height:1.55;margin-top:10px}.ticket-actions{display:flex;gap:10px;padding:0 18px 18px}.ticket-actions .button{flex:1}.ticket-actions .primary{margin:0}@media(max-width:1100px){.machine-grid{grid-template-columns:1fr}.control-panel,.impact-panel{position:static}.slot-shell{grid-row:1}.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.brand-logo{max-width:72vw;max-height:56px}.site-header{margin:8px 8px 0}.site-header,.section-heading{align-items:flex-start;flex-direction:column}.intro-card{grid-template-columns:1fr}.machine-controls{grid-template-columns:1fr 1fr}.machine-controls label{grid-column:1/-1}.viewport-wrap{height:330px}.machine-readout{grid-template-columns:1fr 1fr}.metric-grid{grid-template-columns:1fr 1fr}.math-grid,.admin-columns{grid-template-columns:1fr}.demo-badge{font-size:.61rem}.cabinet-title{font-size:2rem}}@media print{body *{visibility:hidden}#ticketDialog,#ticketDialog *{visibility:visible}#ticketDialog{position:absolute;inset:0;background:#fff;box-shadow:none;width:100%;max-width:none}.ticket-modal-head,.ticket-actions{display:none}.ticket{margin:0 auto;box-shadow:none}}

/* v4 reel symbols and win legend */
.win-legend{margin:1rem .9rem 1.1rem;padding:1rem;border:1px solid rgba(144,190,225,.24);border-radius:16px;background:linear-gradient(180deg,rgba(7,24,45,.96),rgba(3,12,25,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.win-legend-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.win-legend-head div{display:grid;gap:.15rem}.win-legend-head span{font-size:.78rem;letter-spacing:.18em;color:#9dd5fb;font-weight:900}.win-legend-head strong{font-size:1rem;color:#fff}.win-legend-head small{color:#92a8bd;text-align:right}
.paytable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.paytable-item{min-height:74px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}.paytable-item img{width:50px;height:50px;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.35))}.paytable-item span{font-size:.78rem;color:#c9d7e4}.paytable-item b{font-size:.88rem;color:#fff;white-space:nowrap}.paytable-item.premium{border-color:rgba(76,148,214,.45);background:linear-gradient(135deg,rgba(11,64,112,.4),rgba(255,255,255,.04))}.paytable-item.jackpot{border-color:rgba(220,180,62,.55);background:linear-gradient(135deg,rgba(122,84,6,.44),rgba(255,255,255,.04));box-shadow:inset 0 0 22px rgba(224,177,37,.08)}.paytable-item.jackpot b{color:#ffe17a}
.odds-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.65rem;margin-top:.75rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem;color:#93a9bd}.odds-strip b{color:#d9ecfb}
@media(max-width:900px){.paytable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.win-legend-head{align-items:flex-start;flex-direction:column}.win-legend-head small{text-align:left}.paytable-grid{grid-template-columns:1fr}.paytable-item{grid-template-columns:52px 1fr auto}}

/* v5 illuminated reel art, audio feedback, and tiered celebrations */
.win-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(circle at center,rgba(0,116,214,.2),rgba(1,7,15,.1) 55%,rgba(1,7,15,.72));transition:opacity .18s ease}.win-overlay.active{visibility:visible;opacity:1}.win-rays{position:absolute;width:170%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,230,112,.0) 0 8deg,rgba(255,230,112,.25) 8deg 13deg,rgba(255,255,255,0) 13deg 22deg);animation:win-rays-spin 4s linear infinite}.win-burst{position:absolute;width:72%;aspect-ratio:1;border-radius:50%;border:4px solid rgba(255,224,101,.85);box-shadow:0 0 32px #ffd954,0 0 90px rgba(255,50,78,.72),inset 0 0 45px rgba(255,229,114,.4);animation:win-burst-pulse .72s ease-in-out infinite alternate}.win-copy{position:relative;z-index:2;display:grid;place-items:center;text-align:center;text-shadow:0 4px 0 #6f0715,0 0 24px #ff304a,0 0 55px rgba(255,217,74,.8);animation:win-copy-pop .55s cubic-bezier(.2,1.5,.35,1) both}.win-copy span{font-size:clamp(.8rem,2vw,1.2rem);font-weight:1000;letter-spacing:.34em;color:#fff1a6}.win-copy strong{font-size:clamp(2.6rem,10vw,6.6rem);line-height:.9;font-weight:1000;letter-spacing:.02em;color:#fff;background:linear-gradient(#fff,#fff4a9 38%,#ffca32 56%,#ff334e 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.win-copy b{margin-top:.45rem;font:1000 clamp(1.5rem,5vw,3.2rem)/1 ui-monospace,monospace;color:#fff7ba}.win-overlay.mid{background:radial-gradient(circle at center,rgba(255,181,31,.28),rgba(4,20,43,.45) 58%,rgba(1,7,15,.78))}.win-overlay.mid .win-burst{width:80%;border-width:7px;box-shadow:0 0 45px #ffd34b,0 0 120px rgba(43,161,255,.82),inset 0 0 65px rgba(255,232,128,.55)}.win-overlay.jackpot{background:radial-gradient(circle at center,rgba(255,215,54,.42),rgba(195,19,46,.3) 45%,rgba(1,7,15,.84))}.win-overlay.jackpot .win-rays{animation-duration:1.7s;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,0) 0 5deg,rgba(255,230,91,.55) 5deg 10deg,rgba(255,255,255,0) 10deg 16deg)}.win-overlay.jackpot .win-burst{width:92%;border-width:9px;box-shadow:0 0 55px #fff1a2,0 0 125px #ffcd32,0 0 190px rgba(255,38,67,.92),inset 0 0 90px rgba(255,242,170,.7)}.win-overlay.jackpot .win-copy strong{font-size:clamp(3rem,12vw,7.6rem)}@keyframes win-rays-spin{to{transform:rotate(360deg)}}@keyframes win-burst-pulse{from{transform:scale(.88);opacity:.58}to{transform:scale(1.06);opacity:1}}@keyframes win-copy-pop{from{transform:scale(.25) rotate(-7deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.win-rays,.win-burst,.win-copy{animation:none}}

/* v6: tiered win spectacle */
.win-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}.win-flag{position:absolute;left:50%;top:49%;width:clamp(88px,22%,190px);height:auto;transform:translate(-50%,-50%) scale(.3);opacity:0;z-index:3;filter:drop-shadow(0 10px 22px rgba(0,0,0,.5));animation:flag-reveal 1s .12s cubic-bezier(.2,.85,.2,1) forwards}.win-overlay.mid .win-flag{width:clamp(115px,29%,245px)}.win-overlay.jackpot .win-flag{width:clamp(155px,38%,330px)}.falling-coin{position:absolute;left:var(--x);top:-14%;width:clamp(13px,2.8vw,25px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffbd0 0 10%,#ffd94f 25%,#bd7600 68%,#ffe97f 100%);border:2px solid rgba(255,244,153,.9);box-shadow:0 0 13px rgba(255,205,51,.75);animation:coin-fall var(--dur) var(--delay) linear infinite}.falling-coin:after{content:'$';position:absolute;inset:0;display:grid;place-items:center;color:#7a4300;font:900 65%/1 system-ui}.firework{position:absolute;left:var(--x);top:var(--y);width:8px;height:8px;border-radius:50%;opacity:0;box-shadow:0 -34px 0 #fff36b,24px -24px 0 #ff4848,34px 0 0 #70d9ff,24px 24px 0 #fff,0 34px 0 #ffcf3b,-24px 24px 0 #ff4b78,-34px 0 0 #6ef4ff,-24px -24px 0 #fff;animation:firework-pop 1.35s var(--delay) ease-out infinite}.win-overlay.standard .win-copy{transform:scale(.78)}.win-overlay.mid .win-copy{transform:scale(.94)}.win-overlay.jackpot .win-copy{transform:scale(1.1)}@keyframes coin-fall{0%{transform:translate3d(0,-10%,0) rotateY(0);opacity:0}8%{opacity:1}100%{transform:translate3d(var(--drift),125vh,0) rotateY(1080deg);opacity:.88}}@keyframes firework-pop{0%{transform:scale(.05);opacity:0}20%{opacity:1}75%{transform:scale(1.15);opacity:.9}100%{transform:scale(1.8);opacity:0}}@keyframes flag-reveal{0%{transform:translate(-50%,-50%) scale(.25) rotate(-8deg);opacity:0}55%{opacity:.42}100%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:.2}}
