:root{font-family:Georgia,serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:#130706;color:#f7dcb0;height:100%;overflow:hidden}.bingo-presentation{height:100vh;position:relative;background:radial-gradient(ellipse at 40% 22%,#703116 0%,#3b1810 29%,#1b0b09 60%,#0e0605);display:flex;flex-direction:column;border:10px ridge #94623a;padding:1.25vh 2vw 5.5vh}.brand{text-align:center}.brand>span{font:700 clamp(11px,1vw,18px) Arial,sans-serif;color:#d5b67a;letter-spacing:.22em}.brand h1{font-size:clamp(62px,10vh,148px);color:#f4d298;letter-spacing:.12em;text-shadow:0 6px #230b08,0 0 25px #a85a29;margin:0;line-height:1.04}.brand p{font:bold clamp(16px,1.9vh,27px) Arial,sans-serif;color:#eebd6d;letter-spacing:.14em;margin:.6em}.bingo-body{flex:1;display:grid;grid-template-columns:1.5fr 1fr;gap:3%;min-height:0}.ball-well{display:flex;flex-direction:column;align-items:center;justify-content:center}.ball-backlight{height:min(44vh,40vw);width:min(44vh,40vw);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#a84d18,#44180d 62%,#160b0b 72%);box-shadow:0 0 40px #ce662466,0 0 0 10px #bc7a4c33}.ball{width:90%;height:90%;border-radius:50%;background:radial-gradient(circle at 30% 21%,#fff7dd 0%,#ffe7a9 32%,#d9a455 69%,#8b4f26 100%);box-shadow:inset -14px -20px 32px #5b241c99,0 18px 25px #0008;display:grid;place-items:center}.ball strong{font-family:Arial,sans-serif;font-size:min(30vh,26vw);color:#611f14;text-shadow:0 3px #efc981;line-height:1}#callPhrase{font-size:clamp(22px,3.7vh,50px);text-transform:uppercase;font-weight:bold;text-align:center;margin-top:2.2vh;color:#f7d7aa;max-width:95%}#voiceLabel{font:700 14px Arial,sans-serif;margin-top:1.4vh;letter-spacing:.12em;color:#c69c6d}.history-box{display:flex;flex-direction:column;gap:2vh;align-items:center;justify-content:center;border:4px double #b08b57;background:#1d100caa;min-width:0;padding:1.5vw}.caption{font:700 clamp(13px,2.3vh,33px) Arial,sans-serif;letter-spacing:.15em;text-align:center}.last-five{display:flex;justify-content:center;flex-wrap:wrap;gap:1vw}.last-five span{width:clamp(45px,5.7vw,110px);aspect-ratio:1;border-radius:50%;background:#ead2a4;color:#622518;display:grid;place-items:center;font:bold clamp(20px,2.7vw,55px) Arial,sans-serif;box-shadow:inset -6px -8px 13px #8e5b3f}.progress{font:700 clamp(13px,2vw,32px) Arial,sans-serif;color:#d9af75}.progress strong{font-size:1.5em;color:#fce4b1}.qr-box{display:flex;align-items:center;gap:1.5vw;padding:1vw;background:#f4e5c7;border-radius:8px;color:#532e16;max-width:100%}.qr-box img{width:min(14vh,10vw);aspect-ratio:1;object-fit:contain}.qr-box div{display:flex;flex-direction:column;gap:9px}.qr-box strong{font:bold clamp(13px,1.6vw,27px) Arial,sans-serif}.qr-box span{font:bold clamp(9px,1.1vw,18px) Arial,sans-serif}.bottom{display:flex;justify-content:space-between;gap:10px;margin:1.1vh 0 0;font:700 clamp(9px,1vw,16px) Arial,sans-serif;letter-spacing:.11em;color:#ba995f}.bottom strong{color:#edc884}.winner-overlay{position:absolute;inset:0;background:#140908c9;display:grid;place-items:center;text-align:center}.winner-overlay[hidden]{display:none}.win-card{border:10px ridge #e3ba6b;background:#632511;padding:4vw;box-shadow:0 0 70px #e5a547bb}.win-card h2{font-size:clamp(70px,11vw,160px);margin:.2em 0;text-shadow:0 6px #2b0b05}.win-card p{font-size:clamp(20px,3vw,45px)}@media(max-width:680px){.bingo-presentation{padding:10px 8px 80px;border-width:5px}.brand h1{font-size:13vw}.bingo-body{grid-template-columns:1fr;gap:12px}.ball-backlight{width:29vh;height:29vh}.ball strong{font-size:20vh}.history-box{gap:10px}.qr-box img{width:50px}.bottom{font-size:9px;flex-wrap:wrap}}

/* V19.3.1: sound permission panel only on the NUC preview */
.nuc-bingo-audio{position:absolute;right:18px;bottom:90px;z-index:60;max-width:min(390px,90vw);background:#1f0e09f0;border:2px solid #d3ac68;border-radius:7px;padding:11px;box-shadow:0 8px 25px #000b;text-align:center;font:13px Arial,sans-serif;color:#edcf91}
.nuc-bingo-audio[hidden]{display:none!important}
.nuc-bingo-audio button{padding:15px;width:100%;color:#ffe4a7;border:2px ridge #e4bd7b;background:#512710;border-radius:4px;font:bold 14px Arial,sans-serif;cursor:pointer}
.nuc-bingo-audio small{display:block;margin-top:8px;line-height:1.3}

/* V0.2.3: NUC-only, secure audio-pairing and retry controls. */
.nuc-bingo-pairing{position:absolute;z-index:65;bottom:65px;right:16px;max-width:min(360px,88vw);padding:12px;background:#180c09ee;border:2px ridge #cfac68;color:#f0d59f;text-align:center;font:13px Arial,sans-serif}
.nuc-bingo-pairing[hidden],.nuc-bingo-voice-actions [hidden]{display:none!important}
.nuc-bingo-pairing button,.nuc-bingo-voice-actions button{background:#653716;color:#ffe0a2;border:1px solid #d0ae67;border-radius:5px;font:bold 13px Arial,sans-serif;padding:9px 12px;cursor:pointer}
.nuc-bingo-pairing small{display:block;margin-top:8px}
.nuc-bingo-voice-actions{position:absolute;z-index:66;left:12px;bottom:60px;display:flex;gap:7px}
#nucBingoChangePair{opacity:.65;padding:6px 8px}
