:root{--bg:#090913;--panel:#141426;--green:#adff64;--green2:#55c974;--purple:#9d5dff;--gold:#ecc66e;--ink:#f5f2ff;--muted:#a6a3bb;--edge:rgba(177,149,235,.23)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}body{background:radial-gradient(ellipse 80% 50% at 15% -12%,#312151 0%,transparent 75%),radial-gradient(ellipse 75% 45% at 100% 58%,#13382d55,transparent 80%),#090913;overflow-x:hidden}button,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.44;cursor:default}.site-shell{width:min(1500px,100%);min-height:100dvh;margin:auto;padding:0 clamp(12px,3.5vw,44px) 16px}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:19px;min-width:0}.brand-logo{position:relative;display:flex;flex-direction:column;transform:skew(-7deg);font-size:clamp(18px,2.2vw,28px);font-weight:1000;letter-spacing:-1.5px;line-height:.82;white-space:nowrap;text-shadow:3px 4px 0 #000,0 0 19px #9257e879}.brand-logo span:first-child{color:#b18cff;-webkit-text-stroke:.6px #f4b7ff}.brand-logo span:nth-child(2){color:#9bf66d;-webkit-text-stroke:.6px #e0ffbd}.brand-logo small{position:absolute;right:-12px;top:-11px;font-size:19px;color:var(--gold)}.brand-divider{height:48px;width:1px;background:#a69ab044}.brand-game{display:flex;flex-direction:column;gap:1px}.brand-kicker{color:#c4b1dd;font-size:9px;letter-spacing:1.8px;font-weight:800;white-space:nowrap}.brand-game strong{font-size:clamp(23px,3.4vw,41px);letter-spacing:3px;font-weight:1000;color:#faf8fc;line-height:1}.brand-star{color:var(--green);font-size:17px;vertical-align:top;margin-left:5px}.header-tools{display:flex;align-items:center;gap:10px}.edition{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#eee4f9;white-space:nowrap;display:flex;align-items:center;gap:9px;margin-right:5px}.edition-dot,.tiny-dot{width:7px;height:7px;border-radius:50%;background:#91f873;box-shadow:0 0 11px #81ee55;display:inline-block;flex:none}.tool-btn{background:#201a31;border:1px solid #a584bb66;padding:10px 12px;border-radius:10px;color:#ddd2f0;font-size:14px;font-weight:800;display:flex;gap:7px;align-items:center;white-space:nowrap}.tool-btn span{font-size:10px;letter-spacing:1px}.tool-btn:hover{background:#30243f}.broadcast-strip{display:flex;align-items:center;gap:19px;min-height:46px;padding:9px 19px;border-radius:10px;border:1px solid #765cab65;background:linear-gradient(90deg,#1e1830db,#111524);box-shadow:0 6px 25px #0003}.strip-item{display:flex;align-items:center;gap:9px;color:#b7afca;font-size:10px;font-weight:850;letter-spacing:1.2px;white-space:nowrap}.strip-item strong{color:#f2effe;font-size:15px;letter-spacing:0}.strip-item strong em{font-style:normal;font-size:11px;color:#a69eb8}.strip-separator{height:17px;width:1px;background:#887d9a5e}.jackpot-strip{color:var(--gold);margin-left:auto}.main-content{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:18px;margin-top:18px}.stage-panel,.ticket-panel,.called-panel{min-width:0;background:linear-gradient(142deg,#191529,#0f1121 68%,#141326);border:1px solid var(--edge);border-radius:20px;box-shadow:0 16px 55px #0006,0 1px 0 #a995d421 inset;position:relative;overflow:hidden}.stage-panel{display:flex;flex-direction:column;min-height:560px}.stage-heading,.ticket-panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:24px 26px 8px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:900;color:#9d88b7}.stage-heading h1,.ticket-panel-head h2,.called-heading h2{font-size:clamp(21px,2.5vw,33px);line-height:1.12;margin:6px 0 0;letter-spacing:-.8px;font-weight:950}.stage-heading h1 span,.ticket-panel-head h2 span,.called-heading h2 span{color:var(--green)}.ball-pill{border:1px solid #bbf89170;background:#b2fa6320;color:var(--green);border-radius:24px;font-size:9px;letter-spacing:1.5px;font-weight:900;padding:9px 12px;white-space:nowrap}.machine-zone{height:440px;flex:1;min-height:350px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 42% 46%,#46226044 0,transparent 56%),repeating-linear-gradient(90deg,transparent 0 48px,#ffffff04 49px 50px)}.machine-zone:before{content:"";position:absolute;bottom:6px;left:10%;width:82%;height:35px;background:radial-gradient(ellipse,#62ff7d30,transparent 70%);filter:blur(8px)}.orb-ambient{position:absolute;width:120px;height:120px;border-radius:50%;filter:blur(45px);opacity:.35;pointer-events:none}.orb-ambient-one{background:#8b42ff;left:13%;top:12%}.orb-ambient-two{background:#3dedb3;left:50%;bottom:5%}.machine-wrap{position:absolute;left:7%;top:0;width:72%;height:99%;min-height:335px}.machine-top-light{position:absolute;left:23%;top:1%;width:54%;height:5%;border-radius:50%;background:#e7d3ff18;filter:blur(13px)}#machine-canvas{position:absolute;left:0;top:0;width:100%;height:84%;display:block;z-index:2}.machine-gloss{position:absolute;z-index:3;pointer-events:none;left:8%;top:6%;width:83%;height:70%;border-radius:50%;border:2px solid #d8f8fc30;box-shadow:inset 12px 5px 25px #eddbff12,inset -12px -10px 22px #57ffa81a,0 0 38px #7656dc17}.machine-ring{position:absolute;z-index:4;bottom:23%;left:16%;width:68%;height:8%;background:linear-gradient(#9b89b9,#302d4b 20%,#161b30 50%,#7e729c 83%,#282333);border-radius:50%;box-shadow:0 4px 9px #0008,0 0 15px #a4ff6d22}.machine-neck{position:absolute;left:40%;bottom:14%;width:20%;height:13%;background:linear-gradient(90deg,#242336,#77728e 27%,#25253c 55%,#8b7d98 81%,#181425);border-radius:7px;box-shadow:0 5px 14px #0009}.machine-stand{position:absolute;bottom:3%;left:25%;width:50%;height:15%;border:2px solid #5e537a;background:linear-gradient(180deg,#3b294d,#11111e 34%,#0d1722 80%,#463b5a);border-radius:9px 9px 15px 15px;box-shadow:0 12px 22px #0009,0 0 19px #79f86a25;display:grid;place-items:center;z-index:5}.machine-stand-label{font-weight:1000;font-size:clamp(14px,2vw,24px);letter-spacing:2px;color:#adfb7d;text-shadow:0 0 15px #82e95573}.machine-stand-label span{color:var(--gold);padding:0 4px}.machine-leds{position:absolute;bottom:10px;display:flex;gap:9px}.machine-leds i{width:5px;height:5px;border-radius:100%;background:#8dff6a;box-shadow:0 0 7px #afff8b;animation:blink 1.6s infinite alternate}.machine-leds i:nth-child(2n){animation-delay:.8s}.last-call-card{position:absolute;right:3.2%;top:22%;width:29%;z-index:6;border:1px solid #e5cc8766;border-radius:16px;background:linear-gradient(160deg,#231e31ed,#121424ea);box-shadow:0 15px 50px #0009,0 0 21px #ffe17e15;min-height:180px;padding:16px 8px;display:flex;align-items:center;flex-direction:column;gap:13px}.call-caption{color:#c4b6d2;font-size:10px;letter-spacing:1.5px;font-weight:900;text-align:center}.call-caption.bottom{color:var(--gold);letter-spacing:.8px;font-size:9px}.reveal-ball{width:clamp(73px,9vw,120px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 28% 22%,#fff 0%,#eff9db 10%,#b5f5a0 28%,#67d86e 67%,#164d3d 100%);box-shadow:inset -11px -14px 19px #18563488, inset 9px 12px 18px #ffffff88,0 15px 21px #0009,0 0 22px #7aeb6580;display:grid;place-items:center;border:2px solid #d9ffc9;transition:transform .3s}.reveal-ball span{font-size:clamp(29px,4.6vw,57px);font-weight:1000;color:#17352d;text-shadow:0 2px 1px #fff7;line-height:1}.reveal-ball.pop{animation:reveal .8s ease}.stage-side-decoration{position:absolute;right:4%;bottom:11%;writing-mode:vertical-rl;font-size:20px;font-weight:1000;letter-spacing:5px;color:#8a5add19;pointer-events:none}.stage-side-decoration span{font-size:11px}.stage-footer{height:45px;border-top:1px solid #a1a0bf18;display:flex;justify-content:space-between;align-items:center;padding:0 26px;gap:10px}.machine-status{display:flex;align-items:center;gap:8px;color:#b0dbc1;font-size:10px;letter-spacing:1.3px;font-weight:900}.machine-status i{width:7px;height:7px;background:#7df878;border-radius:50%;box-shadow:0 0 8px #7df878}.stage-footnote{font-size:9px;color:#85809c;font-weight:750;letter-spacing:.8px;text-align:right}.ticket-panel{padding-bottom:17px}.ticket-panel-head{padding-bottom:18px}.ticket-stamp{border-radius:11px;border:1px solid #97f46e55;background:#21452c55;display:flex;flex-direction:column;text-align:center;align-items:center;justify-content:center;width:58px;height:58px;color:var(--green);font-size:24px;font-weight:1000;line-height:1}.ticket-stamp span{font-size:9px;letter-spacing:2px;margin-top:3px}.ticket-topline{display:flex;align-items:center;justify-content:space-between;padding:0 23px 12px;font-size:10px;font-weight:850;letter-spacing:1px;color:#c2bcd3;gap:8px}.ticket-topline strong{color:var(--gold)}.ticket-frame{margin:0 20px;padding:8px;border-radius:14px;background:linear-gradient(110deg,#9ddf68,#6e5abd 33%,#e6bf6e 76%,#b5f876);box-shadow:0 8px 29px #0008}.ticket-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(3,clamp(53px,5.6vw,78px));gap:4px;padding:7px;border-radius:9px;background:#100e1c}.ticket-cell{display:grid;place-items:center;border:1px solid #695b7c88;border-radius:7px;background:linear-gradient(140deg,#333042,#201e32);color:#fdfcff;font-size:clamp(15px,2.1vw,29px);font-weight:1000;font-variant-numeric:tabular-nums;position:relative;min-width:0;transition:background .18s,border .18s,transform .18s}.ticket-cell.blank{background:#201c30;opacity:.51;border:1px solid #433853;pointer-events:none}.ticket-cell.number{cursor:pointer}.ticket-cell.number:hover{border-color:#dbc6f2}.ticket-cell.called:not(.marked){background:linear-gradient(140deg,#594a34,#272334);border-color:#ffcd71;box-shadow:inset 0 0 9px #ffb94f25;color:#ffe3aa}.ticket-cell.called:not(.marked):after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;background:var(--gold);border-radius:50%}.ticket-cell.marked{background:radial-gradient(circle at 35% 20%,#d9ff97,#89eb63 55%,#4b8d4e);color:#102323;border-color:#d5ffa3;box-shadow:inset 0 0 12px #ffffff66,0 0 9px #a5f86444;transform:scale(.99)}.ticket-cell.marked:before{content:"✓";font-weight:1000;position:absolute;right:3px;top:1px;font-size:10px;color:#195c3c}.ticket-cell.current:not(.marked){box-shadow:0 0 0 2px #ffdb8f,0 0 22px #d8ae5c66}.ticket-cell:disabled{opacity:1}.marking-row{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:18px 20px 12px;border-radius:12px;padding:13px 15px;background:#202039;border:1px solid #9c7ccc4a}.marking-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.marking-copy strong{font-size:12px;letter-spacing:1.2px;color:#efffe6}.marking-copy small{font-size:11px;color:#aca8c2;line-height:1.3}.switch-button{background:#30283e;border:1px solid #665f7c;border-radius:12px;padding:8px 9px;display:flex;align-items:center;gap:8px;flex:none;color:#d4ccde;font-size:10px;letter-spacing:1px;font-weight:900}.switch-button .switch-track{width:38px;height:21px;border-radius:20px;background:#686078;display:flex;align-items:center;padding:3px}.switch-thumb{width:15px;height:15px;border-radius:50%;background:#ebe6f4;box-shadow:0 2px 5px #0008;transition:transform .2s}.switch-button[aria-checked=true]{color:#affd90;border-color:#80db7d;background:#193827}.switch-button[aria-checked=true] .switch-track{background:#65cf65}.switch-button[aria-checked=true] .switch-thumb{transform:translateX(17px);background:white}.achievement-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 20px 15px}.achievement{border:1px solid #5e576f69;border-radius:10px;padding:11px 6px;display:grid;text-align:center;justify-items:center;gap:3px;background:#181928}.prize-icon{color:#8f839e;font-size:22px;line-height:1}.achievement strong{font-size:11px;letter-spacing:.5px}.achievement small{font-size:9px;color:#878394;font-weight:800;letter-spacing:.4px}.achievement.earned{border-color:#bdeb7399;background:linear-gradient(140deg,#234e2f,#2b2640);box-shadow:0 0 16px #9be95a22}.achievement.earned strong,.achievement.earned .prize-icon{color:#cbff9d}.achievement.earned small{color:#dac88c}.player-actions{margin:0 20px;display:grid;grid-template-columns:1.25fr 1fr;gap:9px}.action-primary,.action-secondary{border-radius:10px;padding:15px 12px;font-weight:1000;font-size:13px;letter-spacing:.9px;min-height:51px}.action-primary{background:linear-gradient(105deg,#baff78,#81da69);color:#152419;border:1px solid #e0ffae;box-shadow:0 6px 20px #8ffa7640}.action-primary:hover:not(:disabled){filter:brightness(1.08)}.action-secondary{background:#28223b;border:1px solid #a88bc6;color:#e3d9fb}.action-secondary span{color:var(--gold)}.secondary-actions{display:flex;margin:16px 20px 0;justify-content:space-between;align-items:center;gap:10px}.speed-control{display:flex;align-items:center;gap:10px}.speed-control label{font-size:10px;font-weight:850;letter-spacing:1px;color:#b9b1c9}.speed-control select{background:#262039;color:#eadcff;border:1px solid #655575;border-radius:8px;font-size:11px;font-weight:800;padding:8px 6px}.reset-btn{background:transparent;border:0;color:#b3a6c1;font-weight:900;font-size:11px;letter-spacing:1px}.reset-btn:hover{color:white}.helper-message{margin:15px 20px 0;padding:10px 12px;background:#171629;border:1px solid #66567933;border-radius:9px;color:#b7c2b1;font-size:11px;line-height:1.4}.called-panel{margin-top:18px;padding:20px 23px 23px}.called-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.called-heading h2{font-size:22px}.called-counter{color:#d4bbf2;font-size:12px;font-weight:900;letter-spacing:1px}.called-grid{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:6px}.history-ball{aspect-ratio:1;min-width:0;display:grid;place-items:center;border:1px solid #574c6c70;border-radius:50%;font-weight:900;font-size:clamp(9px,1vw,13px);color:#777189;background:#151426}.history-ball.called{background:radial-gradient(circle at 27% 23%,#e6fecf,#a0e78d 45%,#408c51);border-color:#bffa9d;color:#173924;box-shadow:0 0 9px #90ef7340}.history-ball.latest{background:radial-gradient(circle at 23% 18%,#fff4c7,#f5c66c 52%,#946120);border-color:#fff0af;color:#312008;box-shadow:0 0 14px #ffdd7640}.called-legend{color:#978eaa;font-size:10px}footer{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;text-align:center;padding:21px 4px;color:#655f7d;font-size:10px;letter-spacing:1.4px;font-weight:800}footer span{color:#8cc46a}.win-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#060811d9;backdrop-filter:blur(10px);padding:20px}.win-overlay.hidden{display:none}.win-card{position:relative;border:2px solid #bdfb88;border-radius:24px;width:min(430px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:radial-gradient(ellipse at 50% 0%,#36305b,#141b2d 60%,#15111f);box-shadow:0 0 90px #b8ee6b33,0 22px 80px #000c;display:flex;align-items:center;flex-direction:column;padding:25px 25px 28px;text-align:center;z-index:2}.win-spark{font-size:28px;color:#f8da81}.win-eyebrow{font-size:11px;font-weight:900;letter-spacing:3px;color:#b8a0e4;margin:5px 0 4px}.win-card h2{font-size:clamp(52px,13vw,84px);line-height:1;letter-spacing:-2px;margin:8px 0 4px;color:#b6fa73;text-shadow:0 4px #214227,0 0 26px #b6fa735c}.win-rule{font-size:14px;letter-spacing:2px;font-weight:1000;color:#f2d587}.win-badge{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 25% 25%,#faf7bd,#bd9851 55%,#684823);border:3px solid #fbe19a;color:#28202b;font-size:51px;margin:17px 0 4px;box-shadow:0 7px 20px #0008,0 0 30px #efda8355}.win-card p{font-size:14px;color:#cfc6df;line-height:1.5;margin:12px 0 19px}.win-card .action-primary{width:100%}.win-new{background:none;color:#baadc9;font-weight:900;font-size:11px;letter-spacing:1px;border:0;margin-top:14px}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-10%;left:var(--x);width:8px;height:15px;background:var(--c);animation:confetti-fall var(--d) linear var(--delay) infinite;opacity:.95;transform:rotate(var(--r))}.reveal-ball.pop{transform:scale(1)}@keyframes reveal{0%{transform:translateY(-22px) scale(.4) rotate(-30deg);opacity:.2}50%{transform:translateY(6px) scale(1.17)}100%{transform:translateY(0) scale(1);opacity:1}}@keyframes blink{to{opacity:.3}}@keyframes confetti-fall{to{top:120%;transform:translateX(var(--drift)) rotate(850deg)}}@media (max-width:1060px){.main-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stage-panel{min-height:510px}.stage-heading,.ticket-panel-head{padding:18px 17px 10px}.ticket-frame,.marking-row,.achievement-row,.player-actions{margin-left:13px;margin-right:13px}.ticket-topline{padding-left:17px;padding-right:17px}.secondary-actions,.helper-message{margin-left:13px;margin-right:13px}.ticket-grid{gap:3px;padding:5px;grid-template-rows:repeat(3,59px)}.ticket-cell{font-size:clamp(12px,2.2vw,23px)}.marking-row{padding:11px}.last-call-card{right:2%;width:31%}}@media (max-width:760px){.site-header{height:auto;min-height:78px;padding:11px 0}.brand{gap:10px}.brand-divider{height:33px}.brand-logo{font-size:20px}.brand-game strong{font-size:25px}.brand-kicker{font-size:7px}.header-tools{gap:4px}.header-tools .edition{display:none}.tool-btn{padding:7px 8px}.tool-btn span{display:none}.broadcast-strip{gap:8px;padding:9px 10px;flex-wrap:wrap}.strip-separator{display:none}.strip-item{font-size:9px;letter-spacing:0}.strip-item strong{font-size:12px}.jackpot-strip{width:100%;margin:0}.main-content{grid-template-columns:1fr;gap:12px;margin-top:12px}.stage-panel{min-height:440px}.machine-zone{height:355px;min-height:355px}.machine-wrap{left:3%;width:76%}.last-call-card{right:3%;top:20%;width:30%;min-height:150px}.reveal-ball{width:85px}.ticket-grid{grid-template-rows:repeat(3,clamp(51px,10vw,78px))}.ticket-cell{font-size:clamp(18px,4.9vw,32px)}.called-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.called-panel{padding:15px}.history-ball{font-size:12px}}@media (max-width:480px){.site-shell{padding-left:8px;padding-right:8px}.brand-logo{font-size:17px}.brand-game strong{font-size:20px}.brand-kicker{letter-spacing:.6px}.machine-zone{height:315px;min-height:315px}.stage-panel{min-height:410px}.machine-wrap{left:-2%;width:84%}.machine-gloss{left:14%;width:72%}.machine-ring{bottom:23%}.last-call-card{top:23%;right:2%;padding:11px 3px;min-height:132px;gap:7px}.reveal-ball{width:68px}.reveal-ball span{font-size:30px}.stage-heading h1{font-size:23px}.ball-pill{font-size:7px;padding:7px}.stage-heading,.ticket-panel-head{padding:16px 12px 10px}.stage-footer{padding:0 12px}.stage-footnote{font-size:7px}.ticket-grid{grid-template-rows:repeat(3,clamp(43px,13vw,58px));gap:2px;padding:4px}.ticket-cell{font-size:clamp(16px,5vw,24px)}.ticket-frame{padding:5px}.marking-row{margin-top:12px}.marking-copy strong{font-size:11px}.marking-copy small{font-size:10px}.switch-button{font-size:9px}.achievement{padding:8px 2px}.achievement strong{font-size:9px}.achievement small{font-size:8px}.player-actions .action-primary,.player-actions .action-secondary{font-size:11px;padding:12px 6px}.speed-control{gap:5px}.speed-control label{font-size:9px}.speed-control select{font-size:10px}.reset-btn{font-size:10px}footer{font-size:8px}}@media (min-width:761px) and (max-height:690px){.site-header{height:72px}.stage-panel{min-height:475px}.machine-zone{min-height:330px}.stage-heading h1{font-size:24px}.ticket-grid{grid-template-rows:repeat(3,50px)}.marking-row{margin-top:10px;margin-bottom:8px;padding:9px}.achievement-row{margin-bottom:9px}.achievement{padding:6px}.player-actions .action-primary,.player-actions .action-secondary{min-height:42px;padding:10px}.ticket-panel-head{padding:12px 16px}.ticket-stamp{width:42px;height:42px;font-size:17px}.secondary-actions{margin-top:10px}.helper-message{margin-top:8px}.called-panel{margin-top:10px}}
