.bingo-page{background:#090f21;color:#fff;min-height:70vh}.bingo-live,.bingo-help,.bingo-host{max-width:1200px;margin:auto;padding:36px 5%}.bingo-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.bingo-page h1{font:normal clamp(32px,5vw,56px)/1.12 Georgia,serif;margin:16px 0}.bingo-page h2{font:normal 28px Georgia,serif;color:#ffe724}.bingo-page .eyebrow{color:#f4cc75}.bingo-status{padding:10px 20px;border:1px solid #d4b463;border-radius:20px;white-space:nowrap}.bingo-dashboard{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}.bingo-call{border:1px solid #dbb568;background:linear-gradient(145deg,#23305b,#11172c);padding:26px 15px;border-radius:20px;text-align:center}.bingo-call>strong{display:block;font:bold clamp(65px,8vw,96px)/1.5 Arial,sans-serif;color:#ffe724}.bingo-call>span{font-size:15px}.bingo-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.bingo-letter{font-size:23px;text-align:center;padding:8px;color:#ffe724;font-weight:bold}.bingo-ball{padding:9px 2px;text-align:center;background:#20283d;border-radius:6px;color:#b7c1d6;font-size:18px;font-weight:bold;border:2px solid transparent}.bingo-ball.called{background:#f1cf78;color:#17130a}.bingo-ball.latest{border-color:#fff;box-shadow:0 0 0 1px #ffe724}.board-key,#connection{color:#c1ccdf;font-size:13px}.connection-error{color:#ffb5a9!important}.bingo-recent{margin:25px 0}.bingo-recent span{display:inline-block;border:1px solid #8a9bb9;border-radius:30px;padding:10px 15px;margin:3px}.bingo-page details{border-top:1px solid #ffffff40;padding:20px 0}.bingo-page summary{cursor:pointer}.bingo-page ol{display:flex;flex-wrap:wrap;gap:10px 30px;line-height:1.8}.bingo-lucky{padding:20px;border-left:4px solid #f1cf78;background:#ffffff0a;margin-top:24px}.bingo-lucky p{margin-bottom:0;color:#c1ccdf}.bingo-page button{padding:12px 17px;border-radius:7px;border:1px solid #ebcb79;background:#f1cf78;color:#101a32;font-weight:bold;cursor:pointer;min-height:44px}.bingo-page button:disabled{opacity:.45;cursor:not-allowed}.bingo-page button:focus-visible,.bingo-page a:focus-visible{outline:3px solid #00d9ff;outline-offset:3px}.bingo-page button[hidden],.bingo-page [hidden]{display:none!important}.bingo-host{border-bottom:1px solid #bd9d5d;background:#121c36}.bingo-host form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.bingo-host label{display:block;font-weight:bold;line-height:1.8}.bingo-host input,.bingo-host select{display:block;background:#fff;color:#111;padding:10px;border-radius:5px;border:1px solid #bac6da;font-size:16px;max-width:100%}.host-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.bingo-host .draw-button{background:#a9f1ad}.bingo-host .finish-button{background:#602e36;color:#fff}.bingo-help a:not(.action){color:#f1cf78;text-decoration:underline}.bingo-help p,.bingo-host p{max-width:850px}.bingo-page .action{background:#f1cf78;color:#11182b}@media(max-width:700px){.bingo-dashboard{grid-template-columns:1fr;gap:16px}.bingo-call{padding:12px}.bingo-call>strong{line-height:1.3;font-size:72px}.bingo-top{align-items:start;flex-direction:column;gap:6px}.bingo-ball{padding:8px 0;font-size:17px}.bingo-live,.bingo-help,.bingo-host{padding:24px 5%}.bingo-host input{width:100%}}

.ticket-grid{display:grid;grid-template-columns:repeat(5,1fr);max-width:400px;gap:5px;margin:18px 0}.ticket-grid>*{padding:15px 5px;text-align:center;border:1px solid #bca35a;border-radius:6px;font-size:22px}.ticket-grid .marked{background:#ffdf32;color:#111}.ticket-grid strong{color:#ffdf32}#ticket-reference{overflow-wrap:anywhere}
@media print{body:not(.bingo-check)>*:not(main),body:not(.bingo-check) main>*:not(#tickets),#tickets>*:not(#my-ticket),#print-ticket{display:none!important}#my-ticket{color:#000;background:white;padding:20px}.ticket-grid>*{color:black!important;border-color:black}.ticket-grid .marked{background:white}}

@media print{body.bingo-check>header,body.bingo-check>footer,#check-print,#check-message{display:none!important}body.bingo-check,body.bingo-check main,body.bingo-check section{background:white!important;color:black!important;box-shadow:none!important}.ticket-grid .marked{color:black!important}}

.bingo-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.pattern-panel{background:linear-gradient(145deg,#18223c,#0b1122);border:1px solid #b99a45;border-radius:15px;padding:18px;text-align:center}.pattern-panel h2{font-size:1.2rem!important;margin:0 0 10px!important}.pattern-panel>strong{font-size:2.6rem;color:#ffdc53}.pattern-panel p{font-size:1rem;margin:8px 0}.pattern-panel small{display:block;line-height:1.5;color:#d9d2b9}.pattern-won{box-shadow:inset 0 0 0 2px #ffdc53}.progress-note{grid-column:1/-1;font-size:.9rem!important;color:#c7cdd8}.lucky-example{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;max-width:125px;margin:10px auto}.lucky-example span{height:18px;border:1px solid #9a9fae;border-radius:3px;font-size:11px}.lucky-example .lucky-selected{border:2px solid #ffdc53;border-radius:50%;background:#ffdc5333}#next-game-panel{border:1px solid #b99a45;border-radius:12px;padding:16px;margin:16px 0}@media(max-width:900px){.bingo-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.pattern-panel{padding:12px}.pattern-panel h2{font-size:1.05rem!important}}

.player-wins{background:#163c2b;border:2px solid #ffdc53;border-radius:14px;padding:22px;margin:20px 0;font-size:1.3rem;font-weight:800;color:#fff5be;line-height:1.6}

.lucky-preview span{animation:lucky-row-demo 10s linear infinite;animation-delay:var(--row-delay,0s)}
.lucky-preview span:nth-child(n+1):nth-child(-n+5){--row-delay:0s}
.lucky-preview span:nth-child(n+6):nth-child(-n+10){--row-delay:6s}
.lucky-preview span:nth-child(n+11):nth-child(-n+15){--row-delay:2s}
.lucky-preview span:nth-child(n+16):nth-child(-n+20){--row-delay:8s}
.lucky-preview span:nth-child(n+21):nth-child(-n+25){--row-delay:4s}
@keyframes lucky-row-demo{0%,18%{background:#ffdc53;color:#0b1122;border:2px solid #ffdc53;border-radius:50%;box-shadow:0 0 8px #ffdc5377}20%,100%{background:transparent;color:inherit;border:1px solid #9a9fae;border-radius:3px;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.lucky-preview span{animation:none}.lucky-preview span:nth-child(-n+5){background:#ffdc53;color:#0b1122;border:2px solid #ffdc53;border-radius:50%}}

.pattern-example{margin:20px auto 12px}.pattern-example .demo-needed{animation:pattern-mark-demo 6s linear infinite;animation-delay:var(--demo-delay,0s)}.pattern-example .demo-free{background:#ffdc532b;color:#ffdc53;border-color:#ffdc53}.example-caption{color:#d9d2b9;font-size:.85rem!important;line-height:1.5!important}
@keyframes pattern-mark-demo{0%{background:transparent;border:1px solid #9a9fae;border-radius:3px;box-shadow:none}3%,65%{background:#ffdc53;color:#0b1122;border:2px solid #ffdc53;border-radius:50%;box-shadow:0 0 7px #ffdc5366}72%,100%{background:transparent;color:inherit;border:1px solid #9a9fae;border-radius:3px;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.pattern-example .demo-needed{animation:none;background:#ffdc53;color:#0b1122;border:2px solid #ffdc53;border-radius:50%}}
