@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--gold:#ffdb69;--cyan:#00e7f6;--ink:#080b10;--daub:#00d7e9;--cardMin:118px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#5d1438,#160913 65%,#07060a);color:#fff;font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:linear-gradient(#333440,#101018);border:1px solid #756443;border-radius:7px;padding:9px 14px;font-weight:700;touch-action:manipulation}button:hover{filter:brightness(1.2);border-color:#ffda68}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}select,input{background:#151723;border:1px solid #64606c;border-radius:6px;color:white;padding:8px;max-width:100%}input[type=checkbox]{accent-color:#00cbd6}button.active{background:linear-gradient(#78551c,#241407);color:#fff2b4;border-color:#ffe188}.topbar{max-width:1600px;margin:auto;display:flex;justify-content:space-between;align-items:center;min-height:66px;padding:12px 23px;gap:10px}.brand{font-family:Georgia,serif;letter-spacing:3px;color:#ffe4a0;font-size:22px;display:block}.subbrand{font-size:9px;letter-spacing:3px;color:#c3a98c}.top-actions{display:flex;gap:10px;align-items:center}.wallet{color:#ffe27b;border:1px solid #8d6d2c;border-radius:30px;padding:9px 15px}.top-actions button{font-size:12px}main{max-width:1550px;margin:auto;border:2px solid #98792a;box-shadow:0 0 60px #000;border-radius:15px;overflow:hidden;background:#020609}.stage{display:grid;grid-template-columns:26% 57% 17%;min-height:255px;background:radial-gradient(ellipse at 45% 0%,#f5b63280,transparent 55%),repeating-linear-gradient(98deg,#280b1e,#741d49 9%,#250918 16%);padding:0 10px 10px 0;gap:0;position:relative}.hand{position:relative;overflow:hidden;min-height:280px}.hand img{position:absolute;width:410%;max-width:none;left:0;top:0}.current-ball{position:absolute;right:7%;bottom:13%;width:85px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 23%,white 0,#fff 25%,#b2dde5 55%,#19bccb 75%,#0a5066);box-shadow:0 6px 17px #000a;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#071828;z-index:2}.current-ball small{font-size:13px;font-weight:800}.current-ball strong{font-size:35px;line-height:1.05}.main-board{border:6px ridge #f6c63b;border-radius:70px 70px 20px 20px;background:#030504;margin:14px 7px 0 0;box-shadow:inset 0 0 20px #bd791e,0 0 12px #e6a32555;padding:10px 14px 8px;display:flex;flex-direction:column;min-width:0}.marquee{display:flex;justify-content:space-between;gap:8px;color:#f8de8f;font-size:11px;font-weight:700;padding:4px 16px 9px;border-bottom:3px dotted #f5cf6e;letter-spacing:1px}.number-board{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;align-content:center;flex:1;padding:13px 0}.number-board span{text-align:center;color:#29281f;font:700 20px 'Barlow Condensed',Arial;line-height:1.05;transition:color .15s}.number-board span.called{color:#ffefb4;text-shadow:0 0 6px #fff2a566}.number-board span.latest{color:#fff;background:#9b692c;border-radius:3px}.last-balls{display:flex;justify-content:center;gap:7px;min-height:42px;border:2px ridge #eac64d;border-radius:18px;background:linear-gradient(#5c1a35,#1a0c1f);padding:3px}.last-balls span{flex:1;text-align:center;color:#ffe645;font-weight:800;font-family:'Barlow Condensed',Arial;font-size:23px;line-height:1.05}.last-balls small{display:block;font-size:13px}.pattern-wrap{border:5px ridge #ddac39;background:#030508;border-radius:20px;padding:10px;margin:8px 0 0 4px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-width:0}.bingo-heading{color:#3af7ff;text-shadow:0 0 7px #087bff;font-weight:900;font-size:22px;white-space:nowrap;letter-spacing:3px}.pattern-board{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:7px 4px}.pattern-board i{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#454578,#18182b 70%);box-shadow:inset 0 0 3px #aaa}.pattern-board i.on{background:radial-gradient(circle at 40% 35%,white,#b2bdff 30%,#7158ef 56%,#00daff 78%);box-shadow:0 0 9px #00cfff}.pattern-wrap button{font-size:10px;padding:5px;margin-top:5px}#patternName{font-size:12px;color:#f8eacb;min-height:28px}#patternQualifier{font-size:10px;color:#b6a899}.nav{display:flex;justify-content:space-around;background:linear-gradient(#0c3339,#001013 50%,#030607);border-block:4px ridge #d4ab3a;box-shadow:inset 0 0 8px #00d4dd;padding:3px}.nav button{color:#5ff4ff;text-shadow:0 0 7px #006bff;background:none;border:0;font-family:'Barlow Condensed',Arial;font-size:22px;letter-spacing:2px;padding:5px 12px}.lower{display:grid;grid-template-columns:26% 74%;min-height:540px}.slot-panel{padding:12px 12px 15px;border-right:3px ridge #b6a0b8;background:radial-gradient(ellipse at center,#211d3e,#070710);display:flex;flex-direction:column}.slot-heading{text-align:center;color:#e1d8ff;letter-spacing:4px;font-size:12px}.slot-art{background:url('assets/approved-stage.png') left bottom /350% 190%;aspect-ratio:.80;border-radius:24px;margin-top:10px;box-shadow:0 0 20px #56569a33;pointer-events:none}.slot-caption{text-align:center;background:#141020;padding:8px;font-size:12px;color:#bba9e2;border:1px solid #504272;border-radius:6px}.slot-caption small{font-size:10px;color:#aca6ba}.quick-info{margin-top:auto;padding-top:15px;display:grid;gap:6px;text-align:center}.quick-info span{font-size:10px;letter-spacing:3px;color:#b4a78c}.quick-info strong{color:#ffe25c;font-size:26px}.quick-info button{font-size:11px}.play-area{padding:12px 17px 14px;min-width:0}.round-tabs{display:flex;gap:6px;align-items:center}.round-tabs button{font-size:11px;padding:7px 10px}.round-tabs>span{font-size:9px;color:#839499;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zoom{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:10px}.zoom button{padding:4px 10px}.status-line{display:flex;justify-content:space-between;gap:5px;padding:10px 0;color:#b9d9de;font-size:12px;min-height:38px}#countdown{white-space:nowrap;color:#ffe274;font-weight:800}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cardMin),1fr));align-content:start;gap:12px 8px;height:334px;overflow-y:auto;overscroll-behavior:contain;padding:3px 4px 8px;scrollbar-color:#d3b55a #11131a}.card{border:2px solid #5e656b;border-radius:5px;overflow:hidden;background:#070a0d;color:#000;align-self:start;position:relative;min-width:0}.card-head{display:flex;justify-content:space-between;background:#070a0d;color:var(--cyan);font-size:9px;font-weight:700;padding:4px}.card-head button{font:inherit;border:0;background:none;color:inherit;padding:0}.card table{border-collapse:collapse;width:100%;table-layout:fixed;background:#e9ecf1;font-family:Arial,sans-serif}.card th{color:#00eaff;background:#06090d;font-size:13px;height:19px;letter-spacing:1px}.card td{border:1px solid #7a818c;text-align:center;font-size:13px;font-weight:700;height:21px;position:relative;padding:0;cursor:pointer}.card td.free{font-size:9px}.card td.blank{background:#c2c6cd;cursor:default}.card td.marked{background:radial-gradient(circle,var(--daub) 0 65%,#dde8eb 69%);color:#00232a}.card td.hit{box-shadow:inset 0 0 0 2px #ffe35c}.card-foot{padding:3px 5px;color:#aeb9c6;font-size:9px;background:#0b1017;display:flex;justify-content:space-between}.card[data-tg="1"]{border-color:#05bddb;box-shadow:0 0 10px #05bddb55}.card[data-tg="2"]{border-color:#20c66c;box-shadow:0 0 10px #20c66c44}.card[data-tg="3"]{border-color:#f5ce14}.card[data-tg="1"] .card-foot{background:#05bddb;color:#00191b}.card[data-tg="2"] .card-foot{background:#20c66c;color:#002110}.card[data-tg="3"] .card-foot{background:#f5ce14;color:#292000}.card.winner{animation:winflash .7s infinite alternate;border-color:white}.card.preview{opacity:.62}.card.ninety td{font-size:12px;height:22px}.legend{display:flex;gap:12px;align-items:center;font-size:9px;padding:6px 0 9px;color:#8e9da6}.legend label{margin-left:auto;white-space:nowrap}.tg1{color:#05bddb}.tg2{color:#20c66c}.tg3{color:#f5ce14}.display{border-top:1px solid #00869a;padding:9px 4px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.display dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:3px;font:700 italic 19px 'Barlow Condensed',Arial;color:#09e7ff}.display dl+dl{border-left:1px solid #009eb3;padding-left:20px}.display dd{margin:0;text-align:right;color:#55f6f4;font-style:normal}.display dt{font-size:17px}.pink{color:#ff49a6!important}.stage-prizes{display:flex;justify-content:space-evenly;gap:6px;font-size:11px;color:#b2a58f;padding:3px 0 8px}.stage-prizes .active{color:#ffe479}.purchase-bar{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;padding-top:8px}.purchase-bar label{display:flex;align-items:center;gap:5px;font-size:10px}.purchase-bar select{padding:8px 4px}.purchase-bar button{font-size:11px;padding:9px 10px}.gold-button{background:linear-gradient(#ffefa1,#e7b73a 49%,#ba7e1b 51%,#edbd46);color:#241302;border:2px solid #ffe993;box-shadow:0 2px 7px #9b650544;font-weight:900}.purchase-bar .gold-button{font-size:16px;padding:9px 20px}.auto{color:#49efc3;border-color:#166f5b;background:#082820}.start{margin-left:auto;color:#ffe28a}.footline{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#8c9a9f;margin-top:10px}footer{text-align:center;padding:13px;color:#9f8c99;font-size:10px}dialog{border:1px solid #bca05d;border-radius:16px;background:linear-gradient(145deg,#291924,#090e16);color:#f5ecdd;width:min(740px,94vw);max-height:88dvh;padding:22px;box-shadow:0 25px 90px #000c}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.modal-head h2{font:normal 25px Georgia;margin:0;color:#ffe7a5}.modal-head button{font-size:23px;padding:0 10px}.muted{font-size:12px;color:#b5a5ae;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#c4b4bd}.field.inline{flex-direction:row;align-items:center}.modal-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.hall-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hall-card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:18px;background:linear-gradient(145deg,#3d203b,#11101a);border-color:#71572e}.hall-card b{font:22px Georgia;color:#ffdf87}.hall-card small{color:#afa2af}.hall-card span{color:#12d8e5}.history-list{display:grid;gap:10px}.history-row{padding:12px;background:#050a12;border-radius:7px;border:1px solid #36303a;font-size:12px}.history-row header{display:flex;justify-content:space-between;gap:8px;color:#ffe197}.history-row p{color:#b3b7c2;margin-bottom:0}.pattern-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;max-height:53vh;overflow:auto}.pattern-choice{font-size:10px;text-align:center;background:#09101b}.pattern-choice .pattern-board{max-width:100px;margin:auto}.pattern-choice .pattern-board i{min-height:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#fff0c0;color:#271b0b;padding:13px 22px;border-radius:10px;box-shadow:0 6px 30px #0008;z-index:30;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.celebration{position:fixed;left:50%;top:48%;transform:translate(-50%,-50%);width:min(460px,90vw);padding:27px;text-align:center;border:4px ridge #ffe68a;border-radius:24px;background:radial-gradient(ellipse,#64344d,#150a1a);box-shadow:0 0 100px #ffc92d55;z-index:20}.celebration strong{display:block;font:700 70px Georgia;color:#ffdf6d;text-shadow:0 4px #7f421b}.celebration small{letter-spacing:3px;color:#b3f7fa}.celebration p{line-height:1.7}.celebration[hidden],#chatPanel[hidden]{display:none}#chatPanel{position:fixed;right:18px;bottom:18px;background:#10121b;border:1px solid #bca05d;border-radius:14px;padding:18px;width:360px;max-width:94vw;height:420px;max-height:85dvh;z-index:25;display:flex;flex-direction:column;resize:both;overflow:auto;box-shadow:0 12px 50px #000a}#messages{flex:1;overflow:auto;font-size:13px;line-height:1.7}#messages b{color:#e7c266}#chatForm{display:flex;gap:5px}#chatInput{width:100%;min-width:0}.welcome{position:fixed;inset:0;z-index:40;background:linear-gradient(90deg,#0b0713f5,#100715bb),url('assets/approved-stage.png') center/cover;display:flex;align-items:center;padding:8vw;backdrop-filter:blur(4px)}.welcome h1{font:normal clamp(40px,6vw,82px)/1.05 Georgia;color:#fff3d0;margin:20px 0}.welcome h1 em{color:#edc971}.welcome p{color:#c0b3c3;line-height:1.8}.welcome button{display:block;margin-top:14px;padding:15px 28px}.welcome small{display:block;font-size:10px;color:#a79aa8;margin-top:25px}.eyebrow{font-size:11px;letter-spacing:4px;color:#d0a75d}@keyframes winflash{to{box-shadow:0 0 22px #ffce44;background:#ffce44}}@media(min-width:1400px){.hand{min-height:330px}.cards{height:365px}.card td{height:25px;font-size:15px}.play-area{padding:15px 22px}}@media(max-width:1050px){.topbar{padding:10px 15px}.brand{font-size:18px}.stage{grid-template-columns:25% 56% 19%}.hand{min-height:250px}.current-ball{width:62px}.current-ball strong{font-size:27px}.main-board{border-width:4px;padding:9px 7px;border-radius:40px 40px 15px 15px}.number-board{gap:3px}.number-board span{font-size:17px}.pattern-wrap{padding:6px}.bingo-heading{font-size:18px;letter-spacing:2px}.pattern-board{gap:4px}.lower{grid-template-columns:23% 77%}.nav button{font-size:18px}.display dt{font-size:14px}.display dl{font-size:17px}.cards{height:300px;gap:9px 6px}.play-area{padding:10px}.round-tabs>span{display:none}.purchase-bar{gap:6px}.purchase-bar .gold-button{font-size:13px;padding:8px 12px}.slot-art{background-size:350% 190%}.marquee{font-size:9px;padding-inline:5px}.card td{font-size:12px}.footline{font-size:9px}}@media(max-width:700px){main{border-radius:0;border-width:1px}.topbar{padding:9px;min-height:56px}.brand{font-size:14px;letter-spacing:2px}.subbrand{font-size:7px;letter-spacing:1px}.top-actions{gap:4px}.top-actions button{font-size:10px;padding:7px}.wallet{padding:6px 8px;font-size:12px}#full{display:none}.stage{grid-template-columns:25% 55% 20%;padding:0 3px 5px 0;min-height:180px}.hand{min-height:180px}.hand img{width:530%;left:-13%;top:0}.current-ball{width:48px;bottom:13%;right:10%}.current-ball small{font-size:9px}.current-ball strong{font-size:24px}.main-board{margin:6px 2px 0 0;padding:5px 4px;border-width:3px;border-radius:24px 24px 12px 12px}.marquee{font-size:7px;letter-spacing:0;padding:4px 3px;gap:2px}.number-board{gap:3px 1px;padding:6px 0}.number-board span{font-size:12px}.last-balls{min-height:28px;gap:2px;border-radius:10px}.last-balls span{font-size:16px}.last-balls small{font-size:9px}.pattern-wrap{padding:4px 2px;border-width:3px;margin:4px 0 0 1px;border-radius:11px}.bingo-heading{font-size:12px;letter-spacing:1px}.pattern-board{gap:3px;padding:5px 2px}#patternName{font-size:8px;min-height:23px}#patternQualifier{font-size:7px}.pattern-wrap button{font-size:8px;padding:3px}.nav{padding:0;border-width:3px}.nav button{font-size:14px;letter-spacing:.7px;padding:7px 5px}.lower{grid-template-columns:1fr}.slot-panel{display:none}.play-area{padding:9px}.cards{height:345px;grid-template-columns:repeat(auto-fill,minmax(var(--cardMin),1fr))}.card td{font-size:14px;height:24px}.card.ninety td{font-size:11px}.round-tabs button{font-size:10px;padding:7px}.display{gap:10px;padding:8px 0}.display dl{font-size:17px;gap:3px}.display dt{font-size:14px}.display dl+dl{padding-left:10px}.legend{gap:8px;font-size:8px}.legend label{font-size:9px}.purchase-bar .gold-button{padding:10px 13px;font-size:14px}.purchase-bar button{padding:7px;font-size:10px}.purchase-bar .auto{flex:1}.start{margin-left:0}.footline{flex-direction:column;gap:5px}.form-grid{grid-template-columns:1fr}.status-line{font-size:10px;min-height:36px}.hall-card{padding:12px}.hall-card b{font-size:19px}footer{font-size:9px}.welcome{padding:8vw}.slot-panel.mobile-show{display:flex;grid-row:2;border:0;border-top:2px ridge #cbb355;max-width:300px;margin:20px auto;width:85%}.slot-panel.mobile-show .slot-art{max-height:320px}.top-actions #sound{max-width:80px}.stage-prizes{font-size:9px}}@media(max-width:390px){.brand{font-size:12px}.top-actions button{padding:5px}.wallet{font-size:11px}.display dt{font-size:12px}.display dl{font-size:15px}}
/* The approved stage artwork supplies the dimensional gold architecture. */
@media(min-width:701px){.stage{grid-template-columns:27% 53% 20%;height:clamp(260px,28.2vw,437px);min-height:0;background:url('assets/stage-empty-globe.png') left top/100% auto no-repeat;padding:0}.hand{min-height:0}.hand img{width:370.37%;top:0}.main-board{border:0;background:none;border-radius:0;box-shadow:none;margin:0;padding:clamp(28px,5vw,75px) 4% 10px}.marquee{padding:0 12px 7px;font-size:10px;border-bottom:0}.number-board{padding:3px 0 9px}.last-balls{border:0;background:none;min-height:42px;padding:4px 0}.pattern-wrap{border:0;background:none;margin:0;padding:18px 11% 8px;border-radius:0}.pattern-board{gap:5px;padding:4px 2px}.bingo-heading{font-size:19px}.pattern-wrap button{margin-top:3px}.current-ball{bottom:6%;right:8%}.cards{grid-template-columns:repeat(auto-fill,minmax(max(var(--cardMin),calc((100% - 40px)/6)),1fr))}.slot-art{background-size:350% 198%;background-position:0 100%}}
@media(min-width:701px) and (max-width:1000px){.pattern-wrap{padding:12px 8% 5px}.pattern-board{gap:4px}.bingo-heading{font-size:14px}.pattern-wrap button{font-size:8px}#patternName{font-size:10px}.main-board{padding-top:38px}.number-board span{font-size:16px}}
@media(min-width:701px){.main-board{position:relative;padding:0}.main-board .marquee{position:absolute;top:24%;left:8%;right:8%;z-index:1}.main-board .number-board{position:absolute;top:31%;bottom:29%;left:7%;right:7%;padding:0}.main-board .last-balls{position:absolute;bottom:13%;height:12%;left:13%;right:13%;min-height:0;padding:0;align-items:center}.last-balls span{font-family:Arial,sans-serif;font-size:20px}.last-balls small{font-size:11px}.hand{clip-path:inset(0 0 2% 0)}.main-board .number-board span{font-family:Arial,sans-serif;font-size:16px}.display dl,.display dt{font-family:Arial,sans-serif;font-style:italic;font-size:16px}.pattern-wrap{justify-content:flex-start}.pattern-wrap .pattern-board{width:100%;max-height:67%;}.slot-art{background-size:350% 198%;background-position:0 100%}}
@media(min-width:701px) and (max-width:1000px){.main-board .number-board span{font-size:13px}.main-board .marquee{font-size:8px}.display dl,.display dt{font-size:13px}.last-balls span{font-size:16px}}
.cards{grid-auto-rows:max-content;align-items:start}.card{min-height:max-content}.slot-panel{position:relative}.slot-art:after{content:' ';display:block;height:0}.card.preview{opacity:.8}
@media(max-width:700px){.hand{clip-path:inset(0 0 3% 0)}.hand img{width:400%;left:0;top:40%}.current-ball{bottom:8%;width:43px}.pattern-wrap{overflow:hidden}.stage{height:190px}.slot-panel.mobile-show{display:flex}.display dt{font-family:Arial,sans-serif;font-size:11px}.display dd{font-family:Arial,sans-serif;font-size:14px}}
@media(min-width:701px){.stage{height:min(28.2vw,437px)}.main-board .number-board span{font-size:clamp(9px,1.18vw,17px)}.main-board .marquee{font-size:clamp(7px,.7vw,10px)}.main-board .last-balls span{font-size:clamp(13px,1.4vw,20px)}.main-board .last-balls small{font-size:clamp(8px,.8vw,11px)}.pattern-wrap{padding-top:9px}.pattern-wrap .pattern-board{min-height:0;flex-shrink:1}.pattern-wrap #patternName{min-height:20px}.pattern-wrap #patternQualifier{font-size:9px}}
.glass-orbs{position:absolute;inset:31% 17% 24% 9%;pointer-events:none;overflow:hidden;border-radius:50%;opacity:.72}.glass-orbs i{position:absolute;width:16%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 20%,#fff,var(--ball) 40%,#122431);box-shadow:inset -3px -3px 7px #0008,0 1px 5px #fff6;animation:tumble 4.2s infinite ease-in-out alternate;left:var(--x);top:var(--y);animation-delay:var(--delay)}.glass-orbs i:nth-child(even){animation-direction:alternate-reverse}.colour-preview{display:flex;gap:5px;justify-content:center;margin-top:6px}.colour-preview i{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 20%,white,var(--ball) 45%,#111)}@keyframes tumble{0%{transform:translate(-8px,7px) rotate(0)}45%{transform:translate(7px,-10px) rotate(130deg)}100%{transform:translate(15px,13px) rotate(300deg)}}@media(prefers-reduced-motion:reduce){.glass-orbs i,.card.winner{animation:none}}@media(max-width:700px){.glass-orbs{inset:60% 8% 15% 11%}.colour-preview{gap:3px}.colour-preview i{width:6px;height:6px}}
@media(min-width:701px){.stage{height:auto;aspect-ratio:1470/410;grid-template-rows:minmax(0,1fr)}.stage>*{min-height:0}.pattern-wrap{overflow:hidden;align-items:center;padding:8px 8% 2px}.pattern-wrap .pattern-board{width:min(100%,calc(18vw - 20px));flex-shrink:0;max-height:none;padding:3px 0;gap:4px}.pattern-wrap #patternName{font-size:clamp(8px,.85vw,12px);line-height:1.1;min-height:0}.pattern-wrap #patternQualifier{font-size:clamp(7px,.6vw,9px);margin-top:3px}.pattern-wrap .colour-preview{display:none}.pattern-wrap button{font-size:8px;padding:3px;margin-top:3px}.bingo-heading{font-size:clamp(12px,1.4vw,20px)}.hand{clip-path:inset(0 0 1% 0)}}
@media(min-width:701px){.main-board .marquee{top:28%;font-size:clamp(8px,.8vw,12px)}.main-board .number-board{top:35%;bottom:28%}.glass-orbs i{width:8%;opacity:.65}}
@media(min-width:701px){.pattern-wrap{position:relative}.pattern-wrap #patternName{position:absolute;top:76%;width:90%;padding:4px;background:#060913e6;border-radius:5px;color:#fff0c2;font-size:clamp(9px,.95vw,13px)}.pattern-wrap #patternQualifier{position:absolute;top:86%;color:#dfd1b5;font-size:clamp(8px,.7vw,10px)}.pattern-wrap button{position:absolute;top:91%;font-size:clamp(8px,.75vw,11px)}}
/* R2: empty glass, actual moving balls, aligned boards and call history. */
.current-ball,.glass-orbs{display:none!important}
#globeCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.number-board{grid-template-columns:repeat(15,minmax(0,1fr));grid-auto-rows:1fr;align-content:stretch;align-items:stretch;gap:4px}
.number-board.board75{grid-template-columns:18px repeat(15,minmax(0,1fr))}
.number-board span,.board-letter{display:flex;align-items:center;justify-content:center;line-height:1!important;padding:0;border-radius:3px;min-width:0;min-height:0;font-family:Arial,sans-serif!important;font-weight:700}
.number-board span{background:#101214;color:#454b4d;border:1px solid #232527;font-size:clamp(9px,1.25vw,19px)!important}
.number-board span.called{background:#2b2518;color:#fff0b1;border-color:#756133;text-shadow:none}
.number-board span.latest{background:#ffe591;color:#281900;border-color:#fff8cf;box-shadow:0 0 12px #eebd4670}
.board-letter{color:#59edfa;font-size:clamp(9px,1.1vw,16px);background:#092025}
.last-balls{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px!important;align-items:stretch!important;justify-content:stretch!important}
.call-chip{border:1px solid #594424;border-radius:6px;background:linear-gradient(#241c16,#0c0c0e);display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:3px 2px;color:#d4c5a7;box-shadow:inset 0 1px #8c70302e}
.call-chip>small{font:600 clamp(6px,.5vw,8px)/1.2 Arial!important;letter-spacing:.7px;color:#b8a98d;display:block;margin-bottom:2px;white-space:nowrap}
.call-chip>div{display:flex;gap:7px;align-items:center;justify-content:center}
.last-balls .call-chip span{font:700 clamp(9px,.9vw,14px)/1 Arial!important;flex:0;color:#beab81}
.call-chip strong{font:700 clamp(14px,1.6vw,25px)/1 Arial;color:#f8eccf}
.call-chip.newest{background:linear-gradient(#ffe99d,#e8b74c);border-color:#fff5bf;box-shadow:0 0 12px #ffd25280,inset 0 1px #fff}
.call-chip.newest>small,.last-balls .call-chip.newest span,.call-chip.newest strong{color:#342105}
.call-chip.empty{opacity:.45}
@media(min-width:701px){.main-board .marquee{top:27%;left:9%;right:9%}.main-board .number-board{top:35%;bottom:28%;left:8%;right:8%;padding:0}.main-board .last-balls{top:81%;bottom:auto;height:12%;left:14%;right:14%;padding:0}.pattern-wrap .bingo-heading{position:absolute;top:5%;left:9%;right:9%;line-height:1}.pattern-wrap .pattern-board{position:absolute;top:14%;left:14%;width:72%;height:auto;aspect-ratio:1;padding:0;gap:6%}.pattern-wrap .pattern-board i{min-height:0;min-width:0;width:100%;aspect-ratio:1}.pattern-wrap #patternName{top:75%;}.pattern-wrap #patternQualifier{top:86%}}
@media(max-width:700px){#globeCanvas{top:40%;left:0;height:auto;aspect-ratio:397/410;width:108%}.number-board{gap:2px}.number-board.board75{grid-template-columns:10px repeat(15,minmax(0,1fr))}.number-board span{font-size:8px!important;border:0}.board-letter{font-size:8px}.main-board{padding:5px 4px}.last-balls{min-height:37px;gap:3px!important;padding:3px!important}.call-chip{border-radius:3px;padding:2px 0}.call-chip>small{font-size:4px!important;letter-spacing:0}.call-chip>div{gap:2px}.call-chip strong{font-size:12px}.last-balls .call-chip span{font-size:6px!important}.pattern-board{gap:5px!important}}

/* Fixed blackout lamp panel. Each bulb occupies one explicit grid cell. */
.pattern-board{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));background:#000;isolation:isolate;overflow:hidden;aspect-ratio:1;padding:5px;gap:5px}
.pattern-board i{display:block;position:relative;border:1px solid #252a34;background:radial-gradient(circle at 34% 25%,#222630 0,#0c0e13 40%,#020305 75%);box-shadow:inset 0 -2px 3px #000;max-width:100%;max-height:100%;border-radius:50%}
.pattern-board i.on{border-color:#51d9ff;background:radial-gradient(circle at 35% 28%,#fff 0,#c3f5ff 8%,#61cfff 24%,#2988ed 52%,#174dc0 73%,#08286b);box-shadow:inset 0 0 3px #b8f5ff,0 0 5px #31baff80}
.pattern-board i.on:after{content:'';position:absolute;inset:15%;background:linear-gradient(transparent 43%,#d8faff9c 50%,transparent 57%);transform:rotate(-35deg);pointer-events:none}
.pattern-wrap .colour-preview{display:none}
@media(min-width:701px){.pattern-wrap .pattern-board{top:14%;left:14%;width:72%;height:auto;aspect-ratio:1;gap:4%;padding:4%;border:1px solid #263331;border-radius:3px}.pattern-wrap .pattern-board i{width:100%;height:100%;aspect-ratio:1}.pattern-wrap .bingo-heading{top:5%;font-size:clamp(12px,1.3vw,20px)}}
/* White square tickets with the reference's black grid and cyan headings. */
.card{border-radius:0;border:1px solid #434c52;background:#030709;overflow:hidden}
.card.preview{opacity:1}.card-head{background:#030709;padding:4px 5px;font-size:9px;letter-spacing:.5px}.card-head>span{font-size:7px;color:#8d9b9e;font-weight:500}.card-head button{color:#40e9f4}
.card table{background:#fff}.card th{background:#000;color:#56edff;font-size:14px;letter-spacing:2px;height:22px;text-shadow:0 0 5px #0384aa}
.card td{background:#fff;color:#06090c;border:1px solid #15191e;height:23px;font-family:Arial,sans-serif;font-size:14px;font-weight:700}
.card td.free{font-size:9px;font-style:italic;color:#086d91}.card td.blank{background:#d8dce0}.card td.marked{background:radial-gradient(circle,var(--daub) 0 64%,white 68%)}
.card-foot{background:#030709;border-top:1px solid #343f45;padding:4px;font-size:8px}.cards{gap:13px 10px}
@media(max-width:700px){.pattern-wrap{padding:6px 5px;justify-content:flex-start;gap:4px}.pattern-wrap .bingo-heading{font-size:12px;letter-spacing:1px;line-height:1.1}.pattern-wrap .pattern-board{width:min(100%,110px);height:auto;aspect-ratio:1;flex:none;padding:4px;gap:3px!important;margin:auto}.pattern-wrap #patternName{font-size:8px;line-height:1.15;min-height:0}.pattern-wrap #patternQualifier{font-size:7px}.pattern-wrap button{font-size:7px;padding:3px;margin:0}.card td{height:25px}.card th{height:23px}}

/* R3: dedicated ticket viewport and right-hand information rail. */
.bingo-heading,.board-letter,.card th{color:#ffe49a;text-shadow:0 1px 2px #593300,0 0 6px #cf9b3540}.board-letter{background:#241d0c}
.nav button{color:#ffe49a;text-shadow:0 1px 2px #332000;font-family:Arial,sans-serif;font-size:13px;letter-spacing:1.7px}
.marquee{font-family:Arial,sans-serif;font-weight:700;color:#ffe49a;letter-spacing:1.3px}.info-heading{margin:0 0 12px;padding:10px 0;border-bottom:1px solid #886b30;font:700 12px Arial;letter-spacing:2px;color:#ffe49a}.game-info{min-width:0}
@media(min-width:701px){
body{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.topbar{width:100%;flex:0 0 56px;min-height:56px;padding:7px 20px}main{width:calc(100% - 20px);flex:1;min-height:0;display:flex;flex-direction:column}.stage{flex:none;width:min(100%,calc(34dvh * 1470 / 410));align-self:center;max-height:34dvh}.nav{flex:0 0 36px;padding:0}.nav button{padding:5px}.lower{flex:1;min-height:0;grid-template-columns:23% 77%}.slot-panel{min-height:0;padding:8px;overflow:hidden}.slot-art{flex:1;min-height:0;width:100%;margin:4px 0;background-size:350% 198%}.slot-heading{font-size:9px;color:#ffe49a}.slot-caption{padding:4px;font-size:9px}.slot-caption small{font-size:8px}.quick-info{padding-top:5px;gap:3px;margin-top:0}.quick-info strong{font-size:18px}.quick-info button{font-size:9px;padding:5px}.quick-info>span{display:none}
.play-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(205px,29%);grid-template-rows:32px 28px minmax(0,1fr) 25px;column-gap:16px;padding:10px 12px;min-height:0}.round-tabs{grid-column:1;grid-row:1}.round-tabs>span{display:none}.round-tabs button{padding:5px 8px;font-size:10px}.zoom{font-size:9px}.status-line{grid-column:1;grid-row:2;padding:7px 0;min-height:0;font-size:10px}.cards{grid-column:1;grid-row:3;height:100%;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));overflow-y:auto;overflow-x:hidden;padding:2px 5px 6px 0;gap:10px}.legend{grid-column:1;grid-row:4;font-size:8px;gap:6px;padding:5px 0}.legend label{font-size:8px}.card th{height:20px}.card td{height:clamp(18px,2.8dvh,27px);font-size:clamp(10px,1.05vw,15px)}.card-head{padding:3px}.card-foot{padding:3px}
.game-info{grid-column:2;grid-row:1 / 5;border:1px solid #665025;border-radius:9px;background:linear-gradient(145deg,#221b11,#080b0e 55%);padding:10px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8c7135 #080b0e}.display{display:block;border:0;padding:0}.display dl{font-family:Arial,sans-serif;font-size:14px;gap:7px}.display dt{font:600 10px Arial;color:#baa982;align-self:center}.display dd{font-size:14px;color:#ffe8a3}.display dl+dl{border-left:0;border-top:1px solid #594723;margin-top:10px;padding:10px 0 0}.display .pink{color:#ffe8a3!important}.stage-prizes{flex-wrap:wrap;font-size:9px;margin-top:8px;padding:0}.purchase-bar{display:grid;grid-template-columns:1fr 1fr;gap:6px}.purchase-bar label{grid-column:1;font-size:10px;justify-content:center}.purchase-bar select{padding:5px}.purchase-bar .gold-button{grid-column:2;padding:7px 4px;font-size:12px}.purchase-bar button{padding:6px 3px;font-size:9px}.purchase-bar .start{grid-column:1 / -1;width:100%;margin:0}.footline{flex-direction:column;font-size:8px;margin-top:7px;gap:3px}footer{flex:0 0 20px;padding:5px;font-size:8px}
.main-board .number-board{left:11%;right:10%;top:35%;bottom:30%;gap:3px}.main-board .marquee{left:11%;right:10%;top:26%;font-size:clamp(7px,.75vw,11px)}.number-board span{font-size:clamp(8px,1.1vw,16px)!important}.main-board .last-balls{left:14%;right:14%}.number-board.board75{grid-template-columns:14px repeat(15,minmax(0,1fr))}
}
@media(min-width:701px) and (max-height:700px){.topbar{flex-basis:43px;min-height:43px}.brand{font-size:16px}.subbrand{font-size:7px}.stage{width:min(100%,calc(32dvh * 1470 / 410));max-height:32dvh}.game-info{padding:7px}.info-heading{padding:4px 0;margin-bottom:7px}.display dl{gap:4px}.display dl+dl{padding-top:6px;margin-top:6px}.display dd{font-size:12px}.purchase-bar{gap:4px}.footline #audioStatus{display:none}}
@media(max-width:700px){.game-info{margin-top:8px}.info-heading{padding:8px;margin-bottom:4px}.nav button{font-size:9px;letter-spacing:.6px}.main-board .number-board{padding:5px 3px}.board-letter{color:#ffe49a}.display{padding:8px}.bingo-heading{color:#ffe49a}}
@media(min-width:701px) and (max-height:500px){
.topbar{flex-basis:32px;min-height:32px;padding:2px 15px}.brand{font-size:13px}.subbrand{display:none}.top-actions button,.wallet{padding:4px 8px;font-size:10px}.stage{max-height:29dvh;width:min(100%,calc(29dvh * 1470 / 410))}.nav{flex-basis:25px;min-height:25px}.nav button{font-size:9px;padding:3px}.play-area{padding:4px 8px;grid-template-rows:23px 20px minmax(0,1fr) 18px;column-gap:10px}.round-tabs button{padding:3px 6px;font-size:8px}.status-line{padding:4px 0;font-size:8px}.zoom button{padding:2px 6px}.card-head{font-size:7px;padding:2px}.card-head>span{font-size:5px}.card th{height:13px;font-size:9px}.card td{height:14px;font-size:9px}.card td.free{font-size:6px}.card-foot{font-size:6px;padding:2px}.legend{font-size:6px;gap:4px;padding:2px 0}.legend label{font-size:7px}.slot-art{background-size:350% 198%}.slot-caption{display:none}.slot-heading{font-size:7px}.quick-info strong{font-size:13px}.quick-info button{font-size:7px;padding:3px}footer{flex-basis:13px;padding:2px;font-size:6px}
.main-board .marquee{font-size:5px;letter-spacing:.3px}.number-board span{font-size:6px!important}.board-letter{font-size:6px}.number-board.board75{grid-template-columns:7px repeat(15,minmax(0,1fr))}.main-board .number-board{gap:1px}.call-chip{padding:0;border-radius:2px}.call-chip>small{font-size:3px!important;letter-spacing:0;margin:0}.call-chip strong{font-size:8px}.last-balls .call-chip span{font-size:4px!important}.call-chip>div{gap:2px}.last-balls{gap:2px!important}.pattern-wrap .bingo-heading{font-size:7px;letter-spacing:1px}.pattern-wrap #patternName{font-size:5px;padding:1px;top:76%;line-height:1}.pattern-wrap #patternQualifier{font-size:4px;top:86%;margin:0}.pattern-wrap button{font-size:4px;padding:1px;top:91%}
}

/* R4: full-width stage composed from independent proportional elements. */
@media(min-width:701px){
.stage{width:100%;height:34dvh;max-height:360px;min-height:180px;aspect-ratio:auto;grid-template-columns:minmax(180px,26%) minmax(0,1fr) minmax(150px,19%);gap:14px;padding:12px 16px 12px 0;background:radial-gradient(ellipse at 25% 0,#a52d44aa,transparent 60%),repeating-linear-gradient(98deg,#230713,#66142f 9%,#2b091c 16%);overflow:hidden}
.hand{height:100%;width:100%;clip-path:none;overflow:hidden}.hand img{width:auto;height:261%;top:0;left:50%;transform:translateX(-13.5%)}#globeCanvas{height:100%;width:auto;aspect-ratio:397/410;left:50%;transform:translateX(-50%);top:0}
.main-board{display:grid;grid-template-rows:27px minmax(0,1fr) 47px;gap:9px;border:4px ridge #efc451;border-radius:28px 28px 15px 15px;padding:10px 13px;background:#020304;box-shadow:0 0 0 2px #674018,inset 0 0 0 1px #9c752b,0 2px 10px #0008;margin:0;min-height:0}
.main-board .marquee{position:static;display:flex;align-items:center;padding:0 3px;line-height:1.2;font-size:clamp(8px,.8vw,13px);letter-spacing:1px;border-bottom:1px solid #5e4825;padding-bottom:6px;min-width:0}.marquee span{white-space:nowrap}.main-board .number-board{position:static;min-height:0;width:100%;padding:2px;gap:3px}.main-board .last-balls{position:static;height:auto;min-height:0;width:100%;padding:0;gap:5px!important}.call-chip{padding:3px 2px;border-radius:5px}.call-chip>small{font-size:clamp(5px,.45vw,8px)!important;letter-spacing:.4px;line-height:1}.call-chip strong{font-size:clamp(13px,1.4vw,23px)}.last-balls .call-chip span{font-size:clamp(8px,.8vw,12px)!important}
.pattern-wrap{position:relative;display:grid;grid-template-rows:20px minmax(0,1fr) 22px 14px 20px;justify-items:center;gap:4px;border:4px ridge #efc451;border-radius:20px;background:#020304;padding:8px;margin:0;min-height:0;overflow:hidden;box-shadow:0 0 0 2px #674018,inset 0 0 0 1px #9c752b}.pattern-wrap .bingo-heading{position:static;font:700 clamp(11px,1.1vw,18px)/1.1 Arial;letter-spacing:5px;padding-left:5px;align-self:center}.pattern-wrap .pattern-board{position:static;align-self:center;width:auto;height:100%;max-width:100%;aspect-ratio:1;gap:5%;padding:3px;border:0;min-height:0}.pattern-wrap #patternName{position:static;width:100%;min-height:0;font-size:clamp(8px,.8vw,12px);line-height:1.1;padding:3px 0;background:none;align-self:center}.pattern-wrap #patternQualifier{position:static;font-size:clamp(7px,.6vw,10px);margin:0;line-height:1}.pattern-wrap button{position:static;margin:0;padding:2px 9px;font-size:clamp(7px,.6vw,10px)}
.play-area{grid-template-rows:minmax(0,1fr) 27px;grid-template-columns:minmax(0,1fr) minmax(230px,29%);padding-top:12px}.cards{grid-row:1;height:100%}.legend{grid-row:2;background:#03090b;z-index:2;border-top:1px solid #233034}.game-info{grid-row:1 / 3}.game-info .round-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.game-info .round-tabs button{padding:6px 8px;font-size:10px}.game-info .zoom{margin-left:0;width:100%;justify-content:flex-end;padding-top:4px;border-top:1px solid #443821}.game-info .status-line{display:flex;flex-direction:column;gap:5px;min-height:0;padding:5px 0 10px;font-size:10px}.game-info #countdown{font-size:13px}.game-info .info-heading{margin-top:2px}.card-head button{color:#e6c87e}.card th{text-shadow:none;letter-spacing:2px}.card td{height:clamp(23px,3.2dvh,34px)}
}
.card td.marked{background:#fff}.card td>span{display:flex;align-items:center;justify-content:center;position:relative;margin:auto;min-height:100%;z-index:0}.card td.marked>span:before{content:'';position:absolute;z-index:-1;top:50%;left:50%;width:min(85%,1.8em);height:auto;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--daub)}.card td.free>span:before{width:20px}.card td.hit{box-shadow:inset 0 0 0 2px #d5a633}.card td.marked>span{min-height:22px}.card td.free{font-size:9px}
@media(min-width:701px) and (max-height:550px){.stage{height:32dvh;min-height:110px;gap:8px;padding:5px 8px 5px 0;grid-template-columns:24% minmax(0,1fr) 18%}.main-board{grid-template-rows:14px minmax(0,1fr) 22px;gap:3px;border-width:3px;padding:5px 7px;border-radius:18px 18px 10px 10px}.main-board .marquee{font-size:6px;padding:0;letter-spacing:.4px}.main-board .number-board{gap:1px;padding:1px}.main-board .last-balls{gap:3px!important}.call-chip strong{font-size:10px}.call-chip>small{font-size:4px!important}.last-balls .call-chip span{font-size:5px!important}.pattern-wrap{grid-template-rows:10px minmax(0,1fr) 12px 7px 10px;gap:1px;padding:3px;border-width:3px;border-radius:12px}.pattern-wrap .bingo-heading{font-size:8px;letter-spacing:3px}.pattern-wrap #patternName{font-size:6px;padding:0}.pattern-wrap #patternQualifier{font-size:5px}.pattern-wrap button{font-size:5px;padding:0 4px}.play-area{grid-template-rows:minmax(0,1fr) 18px;padding:5px 8px}.card td{height:16px}.card td.marked>span{min-height:14px}.card td.free>span:before{width:12px}.game-info .round-tabs button{font-size:8px;padding:3px 5px}.game-info .status-line{font-size:8px;padding-bottom:5px}.game-info #countdown{font-size:10px}}
@media(max-width:700px){.game-info .round-tabs{flex-wrap:wrap}.game-info .status-line{padding:8px 0}.card td.marked>span{min-height:24px}}
@media(min-width:701px){.hand{mask-image:linear-gradient(to right,transparent,#000 7%,#000 85%,transparent)}.card td{height:clamp(23px,calc(var(--cardMin) / 5),40px);font-size:clamp(11px,calc(var(--cardMin) / 10),18px)}.card th{height:clamp(20px,calc(var(--cardMin) / 6),30px);font-size:clamp(11px,calc(var(--cardMin) / 11),17px)}.main-board{border-width:6px;box-shadow:0 0 0 1px #493010,inset 0 0 0 1px #ad8a40,0 0 8px #b87f2870}.marquee{background:linear-gradient(90deg,transparent,#a0771925,transparent)}.game-info .round-tabs{position:sticky;top:-10px;z-index:2;background:#14130f;padding:5px 0}.card td.free>span{min-height:22px}}
@media(min-width:701px) and (max-height:550px){.card td{height:16px;font-size:9px}.card th{height:13px;font-size:9px}.card td.free>span{min-height:14px}.main-board{border-width:3px}}
@media(min-width:701px){.hand img{clip-path:inset(0 73% 61.7% 0)}.pattern-wrap{grid-template-columns:minmax(0,1fr)}.pattern-wrap>*{justify-self:center}.pattern-wrap .pattern-board{width:min(100%,calc(34dvh - 120px));height:auto;aspect-ratio:1;justify-self:center}.pattern-wrap #patternName,.pattern-wrap #patternQualifier{text-align:center}}
@media(min-width:701px) and (max-height:550px){.pattern-wrap .pattern-board{width:min(100%,calc(32dvh - 60px))}}
/* R5: restore approved stage art at its native aspect ratio. */
@media(min-width:701px){
.stage{display:grid;width:100%;height:auto;aspect-ratio:1470/410;min-height:0;max-height:none;grid-template-columns:27% 53% 20%;grid-template-rows:minmax(0,1fr);padding:0;gap:0;background:url('assets/stage-empty-globe.png') left top / 100% auto no-repeat;overflow:hidden;align-self:stretch;flex:none}
.hand{height:100%;width:100%;mask-image:none;clip-path:inset(0 0 1% 0);overflow:hidden}.hand img{width:370.37%;height:auto;top:0;left:0;transform:none;clip-path:none}#globeCanvas{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none}
.main-board{display:block;position:relative;border:0;border-radius:0;padding:0;margin:0;background:none;box-shadow:none;min-width:0;min-height:0}
.main-board .marquee{position:absolute;top:26%;left:11%;right:10%;height:5%;padding:0;border:0;background:none;display:flex;align-items:center;justify-content:space-between;font-size:clamp(7px,.72vw,12px);line-height:1;letter-spacing:.8px}
.main-board .number-board{position:absolute;top:35%;bottom:30%;left:11%;right:10%;width:auto;height:auto;padding:2px;gap:3px}.number-board span{font-size:clamp(8px,1.05vw,17px)!important}.board-letter{font-size:clamp(8px,1vw,16px)}
.main-board .last-balls{position:absolute;top:81%;left:14%;right:14%;height:11%;width:auto;padding:0;gap:5px!important}.call-chip{border-radius:4px;padding:2px}.call-chip strong{font-size:clamp(11px,1.35vw,23px)}.call-chip>small{font-size:clamp(4px,.45vw,8px)!important;line-height:1;margin-bottom:2px}.last-balls .call-chip span{font-size:clamp(7px,.7vw,12px)!important}
.pattern-wrap{display:block;position:relative;border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0;overflow:hidden}
.pattern-wrap .bingo-heading{position:absolute;top:6%;left:10%;right:10%;height:5%;width:auto;font-size:clamp(10px,1.25vw,21px);line-height:1;letter-spacing:4px;padding:0;text-align:center}
.pattern-wrap .pattern-board{position:absolute;top:14%;left:14%;width:72%;height:auto;aspect-ratio:1;max-width:none;padding:4%;gap:4%;border:0;background:#000;justify-self:auto}
.pattern-wrap #patternName{position:absolute;top:75%;left:5%;right:5%;width:90%;font-size:clamp(8px,.85vw,14px);line-height:1.1;padding:3px;background:#060913e8;border-radius:4px}
.pattern-wrap #patternQualifier{position:absolute;top:86%;left:5%;right:5%;font-size:clamp(7px,.6vw,10px);line-height:1}.pattern-wrap button{position:absolute;top:91%;left:25%;right:25%;width:50%;font-size:clamp(7px,.6vw,10px);padding:2px;margin:0}
}
/* Five equal columns and five equal rows: square 75-ball number grids. */
.card:not(.ninety) table{display:block;width:100%}.card:not(.ninety) thead{display:block}.card:not(.ninety) thead tr{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.card:not(.ninety) th{display:flex;align-items:center;justify-content:center}
.card:not(.ninety) tbody{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));aspect-ratio:1;width:100%;background:#171c21;gap:1px;padding:1px}.card:not(.ninety) tbody tr{display:contents}.card:not(.ninety) td{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;height:auto!important;aspect-ratio:1;border:0;padding:0;font-size:clamp(11px,1.2vw,20px)}.card:not(.ninety) td>span{width:100%;height:100%;min-height:0}.card:not(.ninety) td.marked>span:before{width:74%;max-width:none}.card:not(.ninety) td.free{font-size:clamp(8px,.8vw,13px)}
@media(min-width:701px){.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}.card:not(.ninety){width:100%;max-width:var(--ticketWidth,100%);justify-self:center}.card:not(.ninety) td{font-size:clamp(11px,calc(var(--cardMin) / 9),20px)}}
@media(min-width:701px) and (max-height:550px){.stage{aspect-ratio:1470/350;background-position:left top}.main-board .number-board{top:38%;bottom:21%;gap:1px}.main-board .marquee{top:30%;font-size:6px}.main-board .last-balls{top:89%;height:10%}.pattern-wrap .pattern-board{top:16%;width:62%;left:19%;padding:3%}.pattern-wrap .bingo-heading{top:6%;font-size:9px}.pattern-wrap #patternName{top:81%;font-size:6px}.pattern-wrap #patternQualifier{display:none}.pattern-wrap button{top:90%;font-size:5px}.number-board span{font-size:7px!important}.call-chip strong{font-size:10px}.call-chip>small{display:none}.card:not(.ninety) td{font-size:10px}.card:not(.ninety) td.free{font-size:7px}}
@media(min-width:701px) and (max-height:550px){.stage{aspect-ratio:1470/410}.main-board .marquee{top:26%}.main-board .number-board{top:35%;bottom:30%}.main-board .last-balls{top:81%;height:11%}.pattern-wrap .pattern-board{top:14%;width:72%;left:14%}.pattern-wrap #patternName{top:75%}.pattern-wrap button{top:91%}}

/* R6: one divided toolbar, with every control retained. */
.nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;flex:0 0 54px;min-height:54px;padding:0 8px;gap:0;background:linear-gradient(#153c3b,#031416 50%,#02080b);border-block:3px ridge #ddb84f}
.nav-brand{display:flex;flex-direction:column;justify-content:center;padding:4px 13px 4px 4px;border-right:1px solid #937639;white-space:nowrap}.nav-brand .brand{font:700 clamp(10px,1.15vw,18px) Georgia,serif;letter-spacing:2px}.nav-brand .subbrand{font-size:7px;letter-spacing:3px;text-align:center;margin-top:3px}
.nav-links{display:flex;align-items:center;justify-content:space-evenly;min-width:0;padding:0 7px;gap:2px}.nav button{font:700 clamp(8px,.8vw,12px) Arial,sans-serif;letter-spacing:.7px;padding:8px 5px;color:#ffe4a0;text-shadow:none;white-space:nowrap;border-radius:4px}.nav-account{display:flex;align-items:center;gap:7px;border-left:1px solid #937639;padding-left:12px}.nav-account .wallet{font-size:clamp(10px,1vw,15px);padding:6px 10px;white-space:nowrap;border-color:#94783e;background:#171a13}.nav-account button{border:1px solid #5b624e;background:#0c1c20;padding:7px 8px;letter-spacing:0}.nav-account #full{font-size:16px;line-height:1}
@media(min-width:701px){main{width:calc(100% - 12px);margin:0 auto;border-top-left-radius:12px;border-top-right-radius:12px}.main-board .marquee{top:29%;left:12%;right:11%;height:4%;font-size:clamp(8px,.85vw,14px);letter-spacing:1px}.main-board .number-board{top:38%;bottom:30%}.pattern-wrap .bingo-heading{top:10%;height:5%;font-size:clamp(11px,1.25vw,21px);letter-spacing:4px;line-height:1;text-shadow:none}.pattern-wrap .pattern-board{top:19%;width:66%;left:17%;padding:3%;gap:4%}.main-board .last-balls{top:82%;height:9%;left:15%;right:15%;gap:5px!important}.call-chip{border-radius:4px;padding:2px 4px;box-shadow:none}.call-chip>small{font-size:clamp(5px,.5vw,8px)!important;margin:0 0 2px;letter-spacing:.3px}.call-chip strong{font-size:clamp(12px,1.3vw,22px)}.call-chip.newest{box-shadow:0 0 6px #f3d16e50}.last-balls .call-chip span{font-size:clamp(8px,.8vw,12px)!important}}
@media(min-width:701px) and (max-width:1000px){.nav{flex-basis:46px;min-height:46px;padding:0 4px}.nav-brand{padding-right:7px}.nav-brand .brand{font-size:10px;letter-spacing:1px}.nav-links{padding:0 3px}.nav button{font-size:8px;padding:5px 3px;letter-spacing:0}.nav-account{gap:4px;padding-left:6px}.nav-account .wallet{font-size:10px;padding:5px}.nav-account button{padding:5px}.nav-account #full{font-size:12px}}
@media(min-width:701px) and (max-height:550px){.nav{flex-basis:36px;min-height:36px}.nav-brand .subbrand{display:none}.main-board .marquee{font-size:6px}.pattern-wrap .bingo-heading{font-size:9px}.call-chip strong{font-size:9px}.call-chip>small{display:none}}
@media(max-width:700px){.nav{grid-template-columns:1fr auto;min-height:76px;gap:0;padding:0 5px}.nav-brand{border:0;padding:5px}.nav-brand .brand{font-size:12px}.nav-brand .subbrand{display:none}.nav-account{padding:4px;border:0;gap:4px}.nav-account .wallet{font-size:10px;padding:4px 6px}.nav-account button{font-size:8px;padding:4px}.nav-links{grid-column:1 / -1;grid-row:2;border-top:1px solid #6c612e;padding:3px 0}.nav-links button{font-size:8px;padding:6px 3px}.nav-account{grid-column:2;grid-row:1}}
/* Raised ticket casing and inset enamel cells, retaining square geometry. */
.card{border:2px solid #a9a8a0;border-radius:7px;background:linear-gradient(135deg,#f4f1da,#7b807f 12%,#171d21 18%,#030607 82%,#909593 94%,#e8e1bc);padding:3px;box-shadow:inset 1px 1px 1px #fff8,inset -1px -1px 2px #000,0 3px 5px #000b;overflow:hidden}
.card-head{background:linear-gradient(#242a2c,#080d10);border-radius:3px 3px 0 0;padding:4px 5px}.card th{background:linear-gradient(#3b3930 0,#141713 42%,#030708 48%,#0b1112 100%);color:#ffe5a3;text-shadow:0 1px 1px #000,0 0 3px #d4a24277;border-top:1px solid #bca363;border-bottom:1px solid #65552c}
.card:not(.ninety) tbody{background:#303537;box-shadow:inset 0 0 3px #000;border:1px solid #0b1013;border-radius:2px;overflow:hidden}
.card:not(.ninety) td,.card.ninety td{background:linear-gradient(135deg,#fff 0,#f8f9f6 45%,#e7e9e6 100%);box-shadow:inset 1px 1px #fff,inset -1px -1px #b8beba;color:#080c10;text-shadow:0 1px #fff9}
.card td.marked>span:before{background:radial-gradient(circle at 32% 23%,#c4fcff,var(--daub) 40%,#008faa 100%);box-shadow:inset 0 1px 1px #fff9,inset 0 -1px 2px #00506590,0 1px 2px #0004}
.card-foot{background:linear-gradient(#1a2225,#070c10);border-top:1px solid #7b817d;border-radius:0 0 3px 3px;padding:4px 5px}.card[data-tg="1"]{border-color:#05bddb}.card[data-tg="2"]{border-color:#20c66c}.card[data-tg="3"]{border-color:#f5ce14}
/* R7: the number grid occupies the full usable black display. */
.main-board .marquee{display:none!important}
@media(min-width:701px){.main-board .number-board{top:28%;bottom:29%;left:10%;right:9%;padding:3px;gap:4px}.number-board span{font-size:clamp(9px,1.25vw,21px)!important;border-color:#242623;background:#101211}.number-board span.called{background:#282315;border-color:#685b32}.number-board span.latest{background:#ffe591;border-color:#fff1ad}.board-letter{font-size:clamp(9px,1.15vw,19px);background:#211b0d}}
@media(min-width:701px) and (max-height:550px){.main-board .number-board{top:28%;bottom:29%;gap:2px;padding:2px}.number-board span{font-size:8px!important}.board-letter{font-size:8px}}
@media(max-width:700px){.main-board .number-board{flex:1;padding:5px 3px;gap:3px}.number-board span{font-size:9px!important}}
/* R8: centred history, pattern hierarchy, and a fixed information panel. */
@media(min-width:701px){
.main-board .last-balls{top:81%;height:10%;left:14%;right:16%;gap:6px!important;align-items:stretch!important}.call-chip{justify-content:center;padding:2px 3px}.call-chip>div{display:grid;grid-template-columns:1em 2ch;gap:5px;align-items:baseline}.call-chip strong{text-align:center;font-variant-numeric:tabular-nums}.last-balls .call-chip span{text-align:center}.call-chip>small{text-align:center;width:100%;margin:0 0 3px}
.pattern-wrap #patternQualifier{display:block;top:16%;left:10%;right:10%;font-size:clamp(7px,.7vw,12px);line-height:1;text-align:center;color:#e7d7a8}
.pattern-wrap .pattern-board{top:23%;width:61%;left:19.5%;padding:2%;gap:4%}
.pattern-wrap #patternName{top:75%;left:10%;right:10%;width:80%;height:7%;display:flex;align-items:center;justify-content:center;padding:2px 5px;border:1px solid #9d854e;border-radius:7px;background:linear-gradient(#383a43,#17181f);color:#fff7df;font-weight:600;font-size:clamp(7px,.75vw,12px);line-height:1.05;box-shadow:inset 0 1px #ffffff24}
.pattern-wrap button{top:86%;left:10%;right:10%;width:80%;height:7%;border-radius:7px;font-size:clamp(7px,.7vw,11px);padding:1px 4px}
.game-info{overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:9px}.game-info .round-tabs{position:static;display:grid;grid-template-columns:1fr 1fr auto;padding:0;margin:0;gap:4px;background:none;flex:none}.game-info .round-tabs>span{display:none}.game-info .round-tabs button{padding:5px 4px;font-size:9px}.game-info .zoom{width:auto;border:0;margin:0;padding:0;gap:3px;justify-content:center}.game-info .zoom>span{display:none}.game-info .zoom button{padding:4px 6px}
.game-info .status-line{flex:none;display:grid;grid-template-columns:1fr;gap:3px;padding:3px 0 5px;font-size:9px;border-bottom:1px solid #594723}.game-info #countdown{font-size:12px}.game-info .info-heading{padding:2px 0;margin:0;border:0;font-size:10px;letter-spacing:1.5px}.game-info .display{padding:0;flex:none}.game-info .display dl{gap:5px;font-size:12px}.game-info .display dt{font-size:9px;line-height:1.2}.game-info .display dd{font-size:13px;line-height:1.2}.game-info .display dl+dl{margin-top:6px;padding-top:6px}.game-info .stage-prizes{margin:0;padding:0;font-size:8px;gap:3px;flex:none}.game-info .stage-prizes:empty{display:none}.game-info .purchase-bar{margin-top:auto;padding-top:6px;gap:5px;flex:none}.game-info .purchase-bar button{padding:6px 3px;font-size:9px}.game-info .purchase-bar .gold-button{font-size:12px}.game-info .purchase-bar select{padding:4px;font-size:10px}.game-info .footline{margin:0;font-size:8px;line-height:1.25;gap:2px;flex:none}.game-info #audioStatus{display:none}
}
@media(min-width:701px) and (max-height:800px){.game-info{gap:4px;padding:7px}.game-info .display dl{gap:3px}.game-info .display dd{font-size:11px}.game-info .display dt{font-size:8px}.game-info .display dl+dl{margin-top:4px;padding-top:4px}.game-info .status-line{font-size:8px;padding:2px 0 4px}.game-info .purchase-bar{gap:4px;padding-top:3px}.game-info .purchase-bar button{padding:4px 2px;font-size:8px}.game-info .purchase-bar .gold-button{font-size:10px}.game-info .info-heading{display:none}.game-info .footline{font-size:7px}}
@media(min-width:701px) and (max-height:550px){.game-info{padding:4px;gap:2px}.game-info .round-tabs button{font-size:7px;padding:2px}.game-info .status-line{display:block;padding:1px 0}.game-info #statusText{display:none}.game-info #countdown{font-size:8px}.game-info .display{display:grid;grid-template-columns:1fr 1fr;gap:7px}.game-info .display dl{gap:2px}.game-info .display dl+dl{border-top:0;border-left:1px solid #594723;margin:0;padding:0 0 0 5px}.game-info .display dt{font-size:5px}.game-info .display dd{font-size:7px}.game-info .purchase-bar{grid-template-columns:1fr 1fr 1fr;gap:2px;padding:1px 0}.game-info .purchase-bar label{font-size:6px}.game-info .purchase-bar select{font-size:7px;padding:1px;width:30px}.game-info .purchase-bar button,.game-info .purchase-bar .gold-button{font-size:6px;padding:3px 1px}.game-info .purchase-bar .start{grid-column:auto}.game-info .footline{font-size:5px}.game-info .stage-prizes{font-size:5px}.pattern-wrap #patternQualifier{font-size:5px}.pattern-wrap #patternName{font-size:6px}.pattern-wrap button{font-size:5px}.call-chip>div{gap:2px}}
@media(min-width:701px) and (max-height:450px){.game-info{zoom:.72}.game-info .display dt{font-size:7px}.game-info .display dd{font-size:9px}.game-info .purchase-bar button,.game-info .purchase-bar .gold-button{font-size:8px}.game-info .footline{display:none}.game-info .status-line{padding:0}.game-info .purchase-bar{margin-top:auto}}

/* R9: real proportional card zoom, near-win headers, and 90-ball rows. */
.cards .card,.cards .card:not(.ninety){width:var(--ticketWidth,80%);max-width:none;justify-self:center;transition:width .16s ease}.card.ninety td{height:clamp(16px,2.6vw,28px)}
.card[data-tg="1"]{--tg-top:#05bddb;--tg-dark:#003642}.card[data-tg="2"]{--tg-top:#20c66c;--tg-dark:#003c1c}.card[data-tg="3"]{--tg-top:#f5ce14;--tg-dark:#4b3a00}
.card[data-tg="1"] .card-head,.card[data-tg="2"] .card-head,.card[data-tg="3"] .card-head,.card[data-tg="1"] th,.card[data-tg="2"] th,.card[data-tg="3"] th{background:linear-gradient(#ffffffa0,var(--tg-top) 35%,var(--tg-top) 70%,var(--tg-dark));color:#071715;text-shadow:none;border-color:var(--tg-top)}
.card[data-tg="1"] .card-head button,.card[data-tg="2"] .card-head button,.card[data-tg="3"] .card-head button,.card[data-tg="1"] .card-head>span,.card[data-tg="2"] .card-head>span,.card[data-tg="3"] .card-head>span{color:#071715;font-weight:700}
.pattern-wrap .pattern-board.pattern90{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));aspect-ratio:5/3;top:33%;height:auto;width:61%;left:19.5%;padding:2%;gap:6% 4%}
@media(max-width:700px){.pattern-wrap .pattern-board.pattern90{position:static;width:min(100%,110px);aspect-ratio:5/3;margin:auto;padding:4px;gap:3px!important}}

/* All ticket metadata shares the existing footer. */
.card-foot{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-height:20px}.card-foot>button[data-trace]{background:none;border:0;padding:0;color:inherit;font:700 9px Arial;white-space:nowrap}.card-foot>span:first-of-type{margin-right:auto;font-size:8px}.card-foot>span:last-child{white-space:nowrap}.card.ninety[data-tg="1"],.card.ninety[data-tg="2"],.card.ninety[data-tg="3"]{border-top:5px solid var(--tg-top)}

/* R11: grid reflow replaces shrinking inside fixed columns. */
.cards{grid-template-columns:repeat(var(--ticketColumns,3),minmax(0,1fr))!important;gap:10px!important}.cards .card,.cards .card:not(.ninety){width:100%!important;max-width:none;justify-self:stretch;transition:none;container-type:inline-size}.card:not(.ninety) td{font-size:clamp(10px,8cqw,30px)!important}.card:not(.ninety) td.free{font-size:clamp(7px,5cqw,16px)!important}.card th{font-size:clamp(10px,7cqw,24px)!important;height:auto!important;min-height:20px;padding:3px 0}.card-foot{font-size:clamp(7px,4cqw,11px)}
.card.ninety table{display:block;width:100%}.card.ninety tbody{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));aspect-ratio:3;width:100%;gap:1px;padding:1px;background:#242b2e}.card.ninety tr{display:contents}.card.ninety td{display:flex;align-items:center;justify-content:center;height:auto!important;min-height:0;aspect-ratio:1;border:0;font-size:clamp(7px,5cqw,21px)!important}.card.ninety td>span{width:100%;height:100%;min-height:0}.card.ninety td.marked>span:before{width:85%}
.pattern-wrap #patternQualifier,.pattern-wrap #patterns{display:none!important}
@media(min-width:701px){.pattern-wrap #patternName{top:16%;height:5%;left:8%;right:8%;width:84%;border:0;border-radius:0;box-shadow:none;background:none;color:#f3e1a8;font-size:clamp(7px,.8vw,13px);font-weight:500;padding:0;line-height:1.1}}
@media(max-width:700px){.pattern-wrap #patternName{order:-1;background:none;border:0;padding:3px 0}}
