/* Picture bingo. Halloween is the default palette (indigo night, pumpkin orange, moon gold); Christmas and Thanksgiving swap the variables below. */
.bingo-stage,.bingo-page,.bingo-solo,.bingo-room-stage:not(.bingo-page *){--bn-night:#1b1537;--bn-indigo:#272052;--bn-plum:#3b2560;--bn-violet:#8d63d6;--bn-lilac:#cdbcf5;--bn-pumpkin:#ff8a3d;--bn-pumpkin-deep:#e2632a;--bn-ember:#a8431a;--bn-moon:#ffcf5a;--bn-moon-soft:#ffe7a3;--bn-cream:#fff6e6;--bn-ink:#2b1f3d;--bn-teal:#5fe0c0;--bn-muted:#b9a9e6;--bn-field:#2a2052;--bn-field2:#1d1640;--bn-gold-shadow:#c98a14;
 --bn-stage:radial-gradient(ellipse at 85% 0,#4b2d7a 0,transparent 55%),linear-gradient(170deg,#211a46,#2d1f52 55%,#3b2560);--bn-sky:radial-gradient(circle at 80% 16%,#fff6d6 0 3.2%,#ffe08a66 3.6%,transparent 13%),radial-gradient(ellipse at 50% 108%,#ff8a3d66,transparent 58%),linear-gradient(#15103a,#2f1d5a 62%,#4a2a6e);--bn-sky-floor:#140c2a99;--bn-sticky:linear-gradient(#211a46f5,#2a1d50f2);
 --bn-card:linear-gradient(170deg,#55348a,#3a2262 70%,#2e1a50);--bn-free:radial-gradient(circle at 50% 40%,#fff1c4,#ffbf66 70%,#ff9a48);--bn-free-edge:#c9631f;--bn-free-word:#7a2f0d;--bn-daub:radial-gradient(circle at 38% 32%,#ffb36c99,#ff7a2f8c 62%,#e2632a80);--bn-daub-glow:#ff8a3daa;--bn-claim:linear-gradient(180deg,#ffab62,#ff7a2f 58%,#e2632a);--bn-claim-glow:#ff8a3d44;
 --bn-mode1:radial-gradient(ellipse at 90% 0,#5b3796,transparent 60%),linear-gradient(165deg,#241c4c,#3b2560);--bn-mode2:radial-gradient(ellipse at 10% 0,#7a3b2a,transparent 55%),linear-gradient(165deg,#2b1a3e,#20183f);--bn-tvintro:linear-gradient(160deg,#211a46,#3b2560);--bn-tvintro-text:#d9cdf7;--bn-dark:#201b38;--bn-btn:#ff8a3d;--bn-btn-text:#24123a}
/* Christmas: evergreen night, cranberry red, gold and snow. */
.bingo-stage[data-edition=christmas],.bingo-page[data-edition=christmas],.bingo-solo[data-edition=christmas],.bingo-room-stage[data-edition=christmas]{--bn-night:#0e2a22;--bn-indigo:#14382d;--bn-plum:#1d4a3a;--bn-violet:#4fa77a;--bn-lilac:#cfe9dc;--bn-pumpkin:#e0464f;--bn-pumpkin-deep:#b8323b;--bn-ember:#7d1d26;--bn-moon:#ffd36b;--bn-moon-soft:#ffe9a8;--bn-cream:#fffaf0;--bn-ink:#1e2a24;--bn-teal:#8fd8ff;--bn-muted:#a9d3bf;--bn-field:#16402f;--bn-field2:#0f2f24;--bn-gold-shadow:#b07a10;
 --bn-stage:radial-gradient(ellipse at 85% 0,#2c6a4f 0,transparent 55%),linear-gradient(170deg,#0f2b23,#143a2f 55%,#1d4a3a);--bn-sky:radial-gradient(circle at 80% 16%,#ffffff 0 2.6%,#dff1ff66 3%,transparent 12%),radial-gradient(ellipse at 50% 108%,#ffd28a55,transparent 58%),linear-gradient(#0b1a35,#173a5c 62%,#1f4f5a);--bn-sky-floor:#06142299;--bn-sticky:linear-gradient(#0f2b23f5,#143a2ff2);
 --bn-card:linear-gradient(170deg,#c9404a,#a52e38 70%,#82222b);--bn-free:radial-gradient(circle at 50% 40%,#fffbe8,#ffe08a 62%,#f0b23a);--bn-free-edge:#b07a10;--bn-free-word:#6b3a00;--bn-daub:radial-gradient(circle at 38% 32%,#ff8f9699,#e0464f8c 62%,#b8323b80);--bn-daub-glow:#ff6b7499;--bn-claim:linear-gradient(180deg,#ff6b74,#e0464f 58%,#b8323b);--bn-claim-glow:#e0464f44;
 --bn-mode1:radial-gradient(ellipse at 90% 0,#2c6a4f,transparent 60%),linear-gradient(165deg,#0f2b23,#1d4a3a);--bn-mode2:radial-gradient(ellipse at 10% 0,#7d1d26,transparent 55%),linear-gradient(165deg,#1a2f2a,#0f2420);--bn-tvintro:linear-gradient(160deg,#0f2b23,#1d4a3a);--bn-tvintro-text:#cfe9dc;--bn-dark:#123628;--bn-btn:#b8323b;--bn-btn-text:#fff}
/* Thanksgiving: harvest dusk, pumpkin and rust, wheat gold. */
.bingo-stage[data-edition=harvest],.bingo-page[data-edition=harvest],.bingo-solo[data-edition=harvest],.bingo-room-stage[data-edition=harvest]{--bn-night:#2a1810;--bn-indigo:#3a2216;--bn-plum:#4a2a18;--bn-violet:#c07a3a;--bn-lilac:#f0d9bc;--bn-pumpkin:#e8763a;--bn-pumpkin-deep:#c2531f;--bn-ember:#7a3214;--bn-moon:#f6c453;--bn-moon-soft:#ffe3a3;--bn-cream:#fff6e6;--bn-ink:#2e1a10;--bn-teal:#a6cf7a;--bn-muted:#d9b48c;--bn-field:#4a2a18;--bn-field2:#3a2014;--bn-gold-shadow:#b0781a;
 --bn-stage:radial-gradient(ellipse at 85% 0,#7a3e1c 0,transparent 55%),linear-gradient(170deg,#2a1810,#3a2216 55%,#4a2a18);--bn-sky:radial-gradient(circle at 80% 16%,#ffe7b0 0 3.4%,#ffc86a66 3.8%,transparent 13%),radial-gradient(ellipse at 50% 108%,#ff9a4a66,transparent 58%),linear-gradient(#1e1430,#5a2e3a 55%,#a4552c);--bn-sky-floor:#2a120899;--bn-sticky:linear-gradient(#2a1810f5,#3a2216f2);
 --bn-card:linear-gradient(170deg,#8a4a24,#6e3a1c 70%,#552a12);--bn-daub:radial-gradient(circle at 38% 32%,#ffb36c99,#e8763a8c 62%,#c2531f80);--bn-daub-glow:#e8763aaa;--bn-claim:linear-gradient(180deg,#f59a52,#e8763a 58%,#c2531f);--bn-claim-glow:#e8763a44;
 --bn-mode1:radial-gradient(ellipse at 90% 0,#7a3e1c,transparent 60%),linear-gradient(165deg,#2a1810,#4a2a18);--bn-mode2:radial-gradient(ellipse at 10% 0,#5a3a1a,transparent 55%),linear-gradient(165deg,#33201a,#22140e);--bn-tvintro:linear-gradient(160deg,#2a1810,#4a2a18);--bn-tvintro-text:#f0d9bc;--bn-dark:#3a2216;--bn-btn:#e8763a;--bn-btn-text:#24123a}
.party-stage.bingo-room-stage{background:var(--bn-stage);color:var(--bn-cream);border-color:#3b2c66;position:relative}
.bingo-room-stage h2,.bingo-room-stage h3{color:var(--bn-cream)}.bingo-room-stage>p,.bingo-room-stage .party-small,.bingo-room-stage .party-progress{color:var(--bn-lilac)}
.bingo-room-stage .party-seat{color:var(--bn-ink)}.bingo-room-stage .party-seat[data-empty=true]{background:#ffffff0d;border-color:#ffffff40;color:var(--bn-lilac)}.bingo-room-stage .party-seat[data-empty=true] small{color:var(--bn-muted)}
.bingo-room-stage .plain-button{color:var(--bn-lilac)!important}.bingo-room-stage .house-series{color:var(--bn-ink)}
.bingo-room-stage .button:not(.white){background:var(--bn-btn);border-color:var(--bn-btn);color:var(--bn-btn-text)}
/* Lobby */
.bingo-lobby{margin:6px 0 26px}.bingo-lobby h3{font-size:1.25rem;margin:0 0 12px}
.bingo-patterns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bingo-pattern{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;text-align:left;padding:12px 14px;border-radius:16px;border:2px solid #ffffff24;background:#ffffff0f;color:var(--bn-cream);font:inherit;cursor:pointer;min-height:64px}
.bingo-pattern .bingo-mini{grid-row:1/3}.bingo-pattern strong{font-size:1rem}.bingo-pattern span:not(.bingo-mini){font-size:.78rem;color:var(--bn-lilac);line-height:1.3}
.bingo-pattern[aria-checked=true],.bingo-pattern.is-chosen{border-color:var(--bn-moon);background:#ffcf5a1f;box-shadow:0 0 0 1px var(--bn-moon) inset}
.bingo-pattern[aria-checked=true] strong::after{content:' ✓';color:var(--bn-moon)}
.bingo-pattern[data-locked]{opacity:.62;cursor:not-allowed}.bingo-pattern[data-locked] span:not(.bingo-mini){color:var(--bn-moon)}
.bingo-pattern:not(:disabled):hover{border-color:#ffcf5a99}
.bingo-mini{display:inline-grid;grid-template-columns:repeat(5,7px);gap:2px;padding:5px;border-radius:7px;background:#00000038;flex:none}
.bingo-mini i{width:7px;height:7px;border-radius:2px;background:#ffffff2e}.bingo-mini i[data-on]{background:var(--bn-moon)}.bingo-mini i[data-free]{background:var(--bn-pumpkin)}
/* Layout */
.bingo-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(16px,2.6vw,34px);align-items:start;position:relative}
.bingo-side{min-width:0}
/* Caller */
.bingo-caller{display:grid;gap:12px;min-width:0}
.bingo-sky{position:relative;aspect-ratio:16/11;border-radius:22px;overflow:hidden;background:var(--bn-sky);box-shadow:inset 0 0 0 1px #ffffff1c,0 18px 40px #0b061e55}
.bingo-sky::before{content:'';position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 9%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 44% 24%,#ffe9b0 50%,transparent 51%),radial-gradient(1px 1px at 61% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 9% 42%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 92% 38%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 33% 36%,#fff 50%,transparent 51%);opacity:.8;pointer-events:none}
.bingo-sky::after{content:'';position:absolute;left:0;right:0;bottom:0;height:16%;background:linear-gradient(transparent,var(--bn-sky-floor));pointer-events:none}
.bingo-scene{position:absolute;inset:0}.bingo-canvas{display:block;width:100%;height:100%}
.bingo-callout{display:grid;gap:4px;min-width:0}
.bingo-count{margin:0;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--bn-lilac)}
.bingo-now{display:flex;align-items:center;gap:14px;min-height:72px;min-width:0}
.bingo-now-icon{width:68px;height:68px;flex:none;border-radius:50%;background:radial-gradient(circle at 45% 38%,#fffdf6,#ffe2b4);box-shadow:0 0 0 4px #f0a93a,0 0 26px #ffcf5a77;display:grid;place-items:center;padding:8px}
.bingo-now-icon:empty{visibility:hidden;width:0;margin-right:-14px}
.bingo-now-icon .bingo-icon,.bingo-now-icon svg{width:100%;height:100%;display:block}
.bingo-now-name{font-family:var(--display);font-size:clamp(2rem,4.2vw,3.3rem);line-height:1;letter-spacing:-.035em;color:var(--bn-cream);font-weight:800;overflow-wrap:anywhere;min-width:0}
.bingo-now[data-state=drawing] .bingo-now-name,.bingo-now:not([data-state]) .bingo-now-name,.bingo-now[data-state=''] .bingo-now-name{font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--bn-lilac);letter-spacing:0}
.bingo-now[data-state=drawing] .bingo-now-name{animation:bingo-shimmer 1s ease-in-out infinite alternate}
.bingo-now.is-new .bingo-now-name{animation:bingo-name .7s cubic-bezier(.2,1.5,.4,1)}.bingo-now.is-new .bingo-now-icon{animation:bingo-pop .6s cubic-bezier(.2,1.6,.4,1)}
.bingo-controls{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:6px}
.bingo-callnext,.bingo-auto,.bingo-btn,.bingo-all,.bingo-link{font:inherit;cursor:pointer;min-height:44px;border-radius:999px}
.bingo-callnext{border:0;background:var(--bn-moon);color:var(--bn-ink);font-weight:800;font-size:1rem;padding:10px 22px;min-height:52px;box-shadow:0 4px 0 var(--bn-gold-shadow)}
.bingo-callnext:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--bn-gold-shadow)}
.bingo-auto,.bingo-btn{border:1.5px solid #ffffff4d;background:#ffffff12;color:var(--bn-cream);font-weight:700;font-size:.88rem;padding:9px 16px}
.bingo-auto[aria-pressed=true]{border-color:var(--bn-teal);background:#5fe0c01f}
.bingo-callnext:disabled,.bingo-auto:disabled,.bingo-btn:disabled{opacity:.45;cursor:not-allowed}
.bingo-link{border:0;background:none;color:var(--bn-lilac);text-decoration:underline;text-underline-offset:4px;padding:8px 2px;font-size:.88rem}
.bingo-autorow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.party-shell .bingo-autorow select,.bingo-solo select,.bingo-autorow select{width:auto;margin:0;min-height:44px;padding:8px 12px;border-radius:999px;border:1.5px solid #ffffff4d;background:var(--bn-field);color:var(--bn-cream);font:inherit;font-size:.85rem}
.bingo-status{flex-basis:100%;margin:2px 0 0;font-size:.88rem;color:var(--bn-lilac);font-weight:600}
.bingo-status[data-auto=true]::before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--bn-teal);margin-right:8px;vertical-align:1px;animation:bingo-blink 1s ease-in-out infinite alternate}
.bingo-fine{flex-basis:100%;margin:0;font-size:.78rem;color:var(--bn-muted)}
.bingo-banner{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,#ffd978,#ffb04f);color:var(--bn-ink);box-shadow:0 12px 30px #0a041c88;animation:bingo-banner .55s cubic-bezier(.2,1.4,.4,1)}
.bingo-banner[hidden]{display:none}
.bingo-banner strong{display:block;font-family:var(--display);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1;letter-spacing:-.03em}
.bingo-banner p{margin:4px 0 0;font-weight:700;font-size:.95rem}.bingo-banner .bingo-banner-sub{font-weight:600;font-size:.85rem}.bingo-banner .bingo-btn{margin-top:8px;border-color:var(--bn-ink);color:var(--bn-ink);background:#fff6e6}
/* Called rail and board */
.bingo-railwrap{display:flex;gap:10px;align-items:center;min-width:0}
.bingo-rail{display:flex;gap:8px;overflow-x:auto;list-style:none;margin:0;padding:4px 2px 6px;flex:1;min-width:0;scrollbar-width:thin;scrollbar-color:#ffffff40 transparent}
.bingo-rail:empty::before{content:'Called pictures land here.';font-size:.8rem;color:var(--bn-muted);padding:8px 2px}
.bingo-chip{flex:none;display:flex;align-items:center;gap:6px;padding:3px 11px 3px 3px;border-radius:999px;background:#ffffff14;border:1px solid #ffffff26;font-size:.78rem;font-weight:700;color:var(--bn-cream);white-space:nowrap}
.bingo-chip .bingo-icon{width:30px;height:30px;border-radius:50%;background:var(--bn-cream);padding:2px;display:block}.bingo-chip svg{width:100%;height:100%;display:block}
.bingo-chip:first-child{background:var(--bn-moon);color:var(--bn-ink);border-color:var(--bn-moon)}
.bingo-chip.is-new{animation:bingo-chip .6s cubic-bezier(.2,1.5,.4,1)}
.bingo-all{flex:none;border:1.5px solid #ffffff40;background:transparent;color:var(--bn-cream);font-weight:700;font-size:.8rem;padding:8px 14px}
.bingo-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:12px;border-radius:16px;background:#00000030}
.bingo-board[hidden]{display:none}
.bingo-board-cell{position:relative;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:2px;padding:6px 2px 4px;border-radius:10px;background:#ffffff0d;color:var(--bn-muted);font-size:.62rem;font-weight:700;text-align:center;line-height:1.05;opacity:.5}
.bingo-board-cell>span:last-child{max-width:100%;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}.bingo-board-cell .bingo-icon{width:70%;aspect-ratio:1;display:block;filter:grayscale(.85)}.bingo-board-cell svg{width:100%;height:100%;display:block}
.bingo-board-cell[data-called=true]{opacity:1;background:var(--bn-cream);color:var(--bn-ink)}.bingo-board-cell[data-called=true] .bingo-icon{filter:none}
.bingo-board-cell[data-called=true]::after{content:attr(data-order);position:absolute;top:-5px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--bn-pumpkin);color:#fff;font-size:.62rem;line-height:18px}
/* Your card */
.bingo-sidehead{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.bingo-goal{margin:0;display:grid;line-height:1.25}.bingo-goal strong{font-size:1rem;color:var(--bn-cream)}.bingo-goal span{font-size:.8rem;color:var(--bn-lilac)}
.bingo-switch,.party-shell .bingo-switch{display:flex;align-items:center;gap:10px;margin:0 0 0 auto;min-height:44px;font-size:.88rem;font-weight:700;color:var(--bn-cream);cursor:pointer}
.bingo-switch input,.party-shell .bingo-switch input{appearance:none;-webkit-appearance:none;display:inline-block;width:46px;height:28px;min-width:46px;margin:0;padding:0;border-radius:999px;border:2px solid #ffffff59;background:#ffffff1a;position:relative;cursor:pointer;transition:background .2s,border-color .2s}
.bingo-switch input::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--bn-cream);transition:transform .2s}
.bingo-switch input:checked{background:var(--bn-teal);border-color:var(--bn-teal)}.bingo-switch input:checked::after{transform:translateX(18px)}
.bingo-switch input:focus-visible{outline:3px solid var(--bn-moon);outline-offset:3px}
.bingo-cardwrap{background:var(--bn-card);border-radius:24px;padding:10px 10px 12px;box-shadow:inset 0 0 0 2px #ffcf5a4d,0 16px 34px #0a041c66;max-width:560px;margin:0 auto}
.bingo-letters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));text-align:center;font-family:var(--display);font-weight:800;color:var(--bn-moon);font-size:clamp(1.15rem,2.6vw,1.7rem);letter-spacing:.04em;margin:0 0 6px;text-shadow:0 2px 0 var(--bn-pumpkin-deep)}
.bingo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.bingo-cell{position:relative;aspect-ratio:1;border:0;border-radius:13px;background:var(--bn-cream);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5% 3% 4%;color:var(--bn-ink);font:inherit;overflow:visible;box-shadow:0 3px 0 #c8b08c,inset 0 0 0 1px #00000012;transition:transform .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:0}
button.bingo-cell{cursor:pointer}button.bingo-cell:hover{transform:translateY(-1px)}button.bingo-cell:active{transform:scale(.95)}
.bingo-cell:focus-visible{outline:3px solid var(--bn-moon);outline-offset:3px;z-index:2}
.bingo-cell .bingo-icon{width:66%;aspect-ratio:1;display:block;position:relative;z-index:1}.bingo-cell svg{width:100%;height:100%;display:block}
.bingo-word{position:relative;z-index:1;font-size:clamp(.54rem,1.3vw,.76rem);font-weight:800;line-height:1.05;text-align:center;margin-top:1px;max-width:100%;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;letter-spacing:-.01em}
.bingo-cell[data-free]{background:var(--bn-free);box-shadow:0 3px 0 var(--bn-free-edge),0 0 18px #ffcf5a88}
.bingo-cell[data-free] .bingo-word{text-transform:uppercase;letter-spacing:.08em;color:var(--bn-free-word)}
/* The daub: a glow-ink stamp with a ring and a little bat, so marks never rely on colour alone. */
.bingo-daub{position:absolute;inset:7%;pointer-events:none;opacity:0;z-index:2}
.bingo-daub::before{content:'';position:absolute;inset:0;border-radius:50%;background:var(--bn-daub);box-shadow:0 0 0 3px var(--bn-pumpkin-deep),0 0 16px var(--bn-daub-glow);mix-blend-mode:multiply}
.bingo-daub b{position:absolute;right:-8%;top:-4%;width:50%;aspect-ratio:2/1;display:block;filter:drop-shadow(0 1px 0 #fff)}.bingo-daub b svg{width:100%;height:100%;display:block;transform-origin:50% 40%}
.bingo-daub i{position:absolute;left:50%;top:50%;width:13%;height:13%;margin:-6.5% 0 0 -6.5%;border-radius:50%;background:var(--bn-pumpkin);opacity:0}
.bingo-daub i:nth-child(2){--a:60deg}.bingo-daub i:nth-child(3){--a:120deg}.bingo-daub i:nth-child(4){--a:180deg}.bingo-daub i:nth-child(5){--a:240deg}.bingo-daub i:nth-child(6){--a:300deg}
.bingo-cell[data-marked=true]:not([data-free]) .bingo-daub{opacity:1}
.bingo-cell[data-marked=true]:not([data-free]){box-shadow:0 2px 0 #c8b08c,inset 0 0 0 2px var(--bn-pumpkin-deep)}
.bingo-cell.is-stamping .bingo-daub{animation:bingo-stamp .48s cubic-bezier(.2,1.6,.4,1)}
.bingo-cell.is-stamping .bingo-daub i{animation:bingo-splash .62s ease-out}
.bingo-cell.is-stamping .bingo-daub b{animation:bingo-bat .95s cubic-bezier(.3,1.2,.4,1)}.bingo-cell.is-stamping .bingo-daub b svg{animation:bingo-flap .12s ease-in-out 8 alternate}
.bingo-cell.is-shaking{animation:bingo-shake .45s}.bingo-cell.is-wiggling{animation:bingo-wiggle .5s}
.bingo-cell[data-win]{animation:bingo-win 1.5s var(--win-delay,0ms) both}
.bingo-cell[data-win]::after{content:'★';position:absolute;left:5%;bottom:1%;z-index:3;font-size:.9em;color:var(--bn-pumpkin-deep);text-shadow:0 1px 0 #fff}
.bingo-claim{display:block;width:100%;max-width:560px;margin:16px auto 0;min-height:66px;border:0;border-radius:999px;background:var(--bn-claim);color:#fff;font-family:var(--display);font-size:clamp(1.7rem,3.8vw,2.3rem);font-weight:800;letter-spacing:.01em;text-shadow:0 2px 0 var(--bn-ember);box-shadow:0 6px 0 var(--bn-ember),0 16px 30px var(--bn-claim-glow);cursor:pointer;transition:transform .1s,box-shadow .1s}
.bingo-claim:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px 0 var(--bn-ember)}
.bingo-claim:focus-visible{outline:3px solid var(--bn-moon);outline-offset:4px}
.bingo-claim[data-ready=true]{animation:bingo-pulse 1.1s ease-in-out infinite}
.bingo-claim:disabled{opacity:.75;cursor:default}
.bingo-claim.is-wobble{animation:bingo-wobble .5s}
.bingo-note{max-width:560px;margin:12px auto 0;min-height:1.5em;text-align:center;font-weight:700;font-size:.95rem;color:var(--bn-cream)}
.bingo-note[data-tone=soft]{color:var(--bn-moon-soft)}.bingo-note[data-tone=win]{color:var(--bn-moon)}
.bingo-note.is-new{animation:bingo-name .45s ease-out}
/* Endings and winners */
.bingo-ending{position:relative;text-align:center;padding:10px 0 4px}
.bingo-kicker{margin:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--bn-lilac)}
.bingo-ending h2:focus{outline:none}.bingo-ending h2{font-family:var(--display);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;margin:10px 0 8px;letter-spacing:-.04em}
.bingo-you{color:var(--bn-lilac);margin:0 0 22px}
.bingo-winners{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:0 0 20px}
.bingo-winner{margin:0;width:min(330px,100%)}.bingo-winner figcaption{font-weight:800;font-size:1.05rem;margin:0 0 8px;color:var(--bn-moon)}.bingo-winner figcaption span{color:var(--bn-lilac);font-weight:600}
.bingo-cardwrap.is-compact{padding:8px;border-radius:18px}.bingo-cardwrap.is-compact .bingo-letters{font-size:1rem;margin-bottom:4px}.bingo-cardwrap.is-compact .bingo-grid{gap:4px}.bingo-cardwrap.is-compact .bingo-cell{border-radius:9px;box-shadow:0 2px 0 #c8b08c}.bingo-cardwrap.is-compact .bingo-word{font-size:.52rem}
.bingo-mine{max-width:360px;margin:0 auto 20px;text-align:left}.bingo-mine summary{cursor:pointer;font-weight:700;color:var(--bn-lilac);min-height:44px;display:flex;align-items:center}
.bingo-after{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center}.bingo-after .party-small{flex-basis:100%;margin:0}.bingo-after .button:not(.white){background:var(--bn-btn);border-color:var(--bn-btn);color:var(--bn-btn-text);box-shadow:4px 4px 0 #120a28}.bingo-after .text-link{color:var(--bn-cream);border-color:var(--bn-cream)}
.bingo-confetti{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:20}
/* Painted fallback caller */
.bingo-dom-caller{display:grid;place-items:center}
.bingo-dom-pot{position:absolute;left:50%;bottom:4%;width:46%;max-width:240px;transform:translateX(-50%);filter:drop-shadow(0 12px 18px #0008)}
.bingo-dom-orb{position:absolute;left:50%;top:10%;width:30%;max-width:150px;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 45% 38%,#fffdf6,#ffe2b4);box-shadow:0 0 0 5px #f0a93a,0 0 40px #ffcf5a99;padding:5%}
.bingo-dom-orb .bingo-icon,.bingo-dom-orb svg{width:100%;height:100%;display:block}
.bingo-dom-orb.is-new{animation:bingo-rise .9s cubic-bezier(.2,1.3,.4,1)}
.bingo-dom-caller.is-cheering .bingo-dom-pot{animation:bingo-wiggle .6s 2}
/* Solo page */
.bingo-solo{max-width:1320px;margin:auto}
.bingo-solo-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.bingo-solo-head h1{margin:0;font-size:clamp(2rem,4.6vw,3.6rem);letter-spacing:-.04em;line-height:1}
.bingo-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bingo-mode{position:relative;overflow:hidden;border-radius:28px;padding:clamp(22px,3.4vw,40px);background:var(--bn-mode1);color:var(--bn-cream)}
.bingo-mode:nth-child(2){background:var(--bn-mode2)}
.bingo-mode h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05;margin:0 0 10px;color:var(--bn-cream);letter-spacing:-.03em}.bingo-mode>p{color:var(--bn-lilac);line-height:1.55;margin:0 0 16px;max-width:520px}
.bingo-mode-art{display:flex;gap:8px;margin:0 0 16px}.bingo-mode-art .bingo-icon{width:52px;height:52px;display:block;padding:6px;border-radius:50%;background:var(--bn-cream);box-shadow:0 0 0 3px #f0a93a}.bingo-mode-art svg{width:100%;height:100%;display:block}
.bingo-field{display:grid;gap:6px;margin:0 0 12px;font-weight:700;font-size:.88rem;color:var(--bn-cream)}
.bingo-solo .bingo-field select,.bingo-solo .bingo-field input{width:100%;min-height:46px;padding:10px 14px;border-radius:12px;border:1.5px solid #ffffff4d;background:var(--bn-field2);color:var(--bn-cream);font:inherit;font-size:.95rem}
.bingo-solo .bingo-field select option:disabled{color:#8f86ad}
.bingo-mode .button{margin-top:6px;background:var(--bn-btn);border-color:var(--bn-btn);color:var(--bn-btn-text);box-shadow:4px 4px 0 #120a28}
.bingo-mode .bingo-switch{margin:6px 0 10px}
.bingo-access{grid-column:1/-1;font-size:.88rem;color:#5a5470;margin:2px 0 0}
[data-bingo-stage]{border-radius:28px;padding:clamp(14px,3vw,32px);background:var(--bn-stage);color:var(--bn-cream);position:relative}
[data-bingo-stage][hidden]{display:none}
.bingo-rivals{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bingo-rival{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:#ffffff0f;border:1px solid #ffffff1f}
.bingo-rival strong{font-size:.95rem}.bingo-rival>span:last-child{font-size:.8rem;color:var(--bn-lilac)}
.bingo-rival-card{grid-row:1/3;display:grid;grid-template-columns:repeat(5,6px);gap:2px;padding:4px;border-radius:6px;background:#00000038}.bingo-rival-card i{width:6px;height:6px;border-radius:50%;background:#ffffff2a}.bingo-rival-card i[data-on]{background:var(--bn-pumpkin)}
.bingo-rival[data-won=true]{border-color:var(--bn-moon);background:#ffcf5a22}.bingo-rival[data-won=true]>span:last-child{color:var(--bn-moon);font-weight:800}
.bingo-solo-ending{margin-top:26px;padding-top:22px;border-top:1px solid #ffffff1f}
.bingo-solo-ending .button.white{background:#fff6e6;color:var(--bn-ink);border-color:#fff6e6}
/* TV caller */
.bingo-tv{display:grid;gap:16px}
.bingo-tv-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bingo-tv-top h2{margin:0;font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--bn-moon);letter-spacing:-.03em}.bingo-tv-goal{margin:0;color:var(--bn-lilac);font-weight:700}
.bingo-tv-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:22px;align-items:start}

.bingo-caller.is-big .bingo-now-name{font-size:clamp(2.6rem,6vw,5.6rem)}.bingo-caller.is-big .bingo-now-icon{width:96px;height:96px}
.bingo-caller.is-big .bingo-railwrap{display:none}.bingo-tv-board h3{margin:0 0 8px;font-size:1rem;color:var(--bn-lilac);text-transform:uppercase;letter-spacing:.08em}.bingo-tv-board .bingo-board{grid-template-columns:repeat(8,minmax(0,1fr));padding:10px}.bingo-caller.is-big .bingo-sky{aspect-ratio:16/9}
.bingo-caller.is-big .bingo-board[hidden]{display:grid}.bingo-caller.is-big .bingo-all{display:none}
.bingo-tv-tools{display:grid;gap:14px}.bingo-tv-buttons{display:flex;flex-wrap:wrap;gap:8px}
.bingo-check{padding:16px;border-radius:18px;background:#ffffff0f;border:1px solid #ffffff1f}.bingo-check h3{margin:0 0 8px;font-size:1.15rem;color:var(--bn-cream)}
.bingo-check .bingo-field{max-width:240px}.bingo-check .bingo-callnext{margin:2px 0 6px}
.bingo-verdict{font-weight:800;font-size:1.05rem;margin:12px 0 10px;color:var(--bn-moon-soft)}.bingo-verdict[data-ok=true]{color:var(--bn-moon);font-size:1.25rem}.bingo-verdict[data-ok=true]::before{content:'✓ '}
.bingo-checked{margin:0;max-width:340px}.bingo-checked figcaption{font-weight:800;margin:0 0 6px;color:var(--bn-lilac)}
.bingo-tv:fullscreen{padding:24px;background:var(--bn-stage);overflow:auto}
/* Edition flourishes: a snowflake twirls in and a leaf sways down where Halloween's bat flaps. */
[data-edition=christmas] .bingo-cell.is-stamping .bingo-daub b svg{animation:bingo-twirl .9s cubic-bezier(.2,1.2,.4,1)}
[data-edition=harvest] .bingo-cell.is-stamping .bingo-daub b svg{animation:bingo-sway 1s ease-out}
[data-edition=christmas] .bingo-letters{text-shadow:0 2px 0 #6b1820}
/* Landing page */
.bingo-page{color:var(--ink,#201b38)}
.bingo-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,5vw,64px);align-items:center;max-width:1440px;margin:auto}
.bingo-hero h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.95;letter-spacing:-.055em;margin:18px 0 18px}
.bingo-hero-hook{font-size:clamp(1.3rem,2.3vw,1.8rem);font-weight:750;line-height:1.25;margin:0 0 14px;max-width:560px}
.bingo-hero p{max-width:560px;line-height:1.6}
.bingo-hero-links{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin:24px 0 14px}
.bingo-hero-links .button.secondary{background:#fff;color:var(--ink,#201b38)}
.bingo-facts{font-size:.9rem;font-weight:650;color:#4f4866}
.bingo-hero-art{position:relative;display:block;border-radius:32px;overflow:hidden;aspect-ratio:3/2;background:var(--bn-night);box-shadow:0 24px 50px #1b153744}
.bingo-hero-art img{width:100%;height:100%;object-fit:cover;display:block}
.bingo-how{max-width:1280px;margin:auto}.bingo-how h2,.bingo-print h2,.bingo-tiers h2,.bingo-faq h2,.bingo-tv-intro h2,.bingo-pictures h2,.bingo-occasion h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;letter-spacing:-.045em;margin:0 0 14px}
.bingo-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.bingo-steps article{padding:24px;border-radius:24px;background:#f3eefc;border:1px solid #e4dcf4}.bingo-steps article:nth-child(2){background:#fff1e6;border-color:#f6dcc6}.bingo-steps article:nth-child(3){background:#eaf6f2;border-color:#d2e9e1}
.bingo-steps h3{font-size:1.35rem;margin:10px 0 8px}.bingo-steps p{margin:0;line-height:1.55;font-size:.96rem}
.bingo-steps .bingo-icon{width:58px;height:58px;display:block}.bingo-steps svg{width:100%;height:100%}
.bingo-tiers{max-width:1280px;margin:auto}
.bingo-tier-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.bingo-tier{padding:26px;border-radius:24px;border:1px solid #e3dfea;background:#fff}.bingo-tier:last-child{background:var(--bn-dark);color:#fff6e6;border-color:var(--bn-dark)}
.bingo-tier h3{margin:0 0 6px;font-size:1.5rem}.bingo-tier-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}.bingo-tier-list li{display:flex;align-items:center;gap:14px;line-height:1.4}.bingo-tier-art{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;flex:none;max-width:50%;min-width:52px}.bingo-tier-art .bingo-icon{width:36px;height:36px;display:block}.bingo-tier-art svg{width:100%;height:100%;display:block}.bingo-tier p{margin:0;font-size:.92rem;opacity:.85}
.bingo-tier .bingo-mini{background:#00000014;margin-right:6px;vertical-align:middle}.bingo-tier:last-child .bingo-mini{background:#ffffff1f}
.bingo-print{max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:start;scroll-margin-top:30px}
.bingo-print ul{line-height:1.7;padding-left:20px}.bingo-downloads{display:flex;flex-wrap:wrap;gap:10px 14px;margin:18px 0 8px}
.bingo-print-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;max-width:620px;justify-self:end}
.bingo-print-previews figure{margin:0}.bingo-print-previews img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 10px 24px #2b1f3d2e;border:1px solid #e6e1ee;background:#fff}
.bingo-print-previews figcaption{font-size:.8rem;font-weight:650;color:#5a5470;margin-top:8px;line-height:1.35}
.bingo-tv-intro{max-width:1280px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(20px,4vw,50px);align-items:center;padding:clamp(24px,4vw,46px)!important;border-radius:32px;background:var(--bn-tvintro);color:#fff6e6}
.bingo-tv-intro h2{color:#fff6e6;font-size:clamp(2rem,3.4vw,3rem)}.bingo-tv-intro p{color:var(--bn-tvintro-text);line-height:1.6}.bingo-tv-intro .button{background:var(--bn-btn);border-color:var(--bn-btn);color:var(--bn-btn-text);box-shadow:4px 4px 0 #0f0a24}
.bingo-tv-keys{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:.92rem}.bingo-tv-keys dt{font-weight:800;color:#ffcf5a}.bingo-tv-keys dd{margin:0;color:var(--bn-tvintro-text)}
.bingo-faq{max-width:980px;margin:auto}.bingo-faq details{border-bottom:1px solid #e3dfea;padding:4px 0}.bingo-faq summary{cursor:pointer;font-weight:750;font-size:1.08rem;min-height:52px;display:flex;align-items:center}.bingo-faq p{line-height:1.65;margin:0 0 16px;max-width:820px}
@keyframes bingo-stamp{0%{transform:scale(1.9) rotate(-20deg);opacity:0}55%{transform:scale(.9) rotate(5deg);opacity:1}100%{transform:none;opacity:1}}
@keyframes bingo-splash{0%{opacity:1;transform:rotate(var(--a,0deg)) translateY(0) scale(1)}100%{opacity:0;transform:rotate(var(--a,0deg)) translateY(-340%) scale(.3)}}
@keyframes bingo-bat{0%{transform:translate(-90%,110%) scale(.3) rotate(20deg);opacity:0}35%{transform:translate(40%,-90%) scale(1.25) rotate(-14deg);opacity:1}65%{transform:translate(18%,-30%) scale(1.05) rotate(10deg)}100%{transform:none}}
@keyframes bingo-flap{to{transform:scaleY(.35)}}
@keyframes bingo-twirl{0%{transform:rotate(-90deg) scale(.6)}100%{transform:none}}
@keyframes bingo-sway{0%{transform:rotate(-35deg)}35%{transform:rotate(25deg)}70%{transform:rotate(-12deg)}100%{transform:none}}
@keyframes bingo-shake{0%,100%{transform:none}20%{transform:translateX(-5px) rotate(-2deg)}40%{transform:translateX(5px) rotate(2deg)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@keyframes bingo-wiggle{0%,100%{transform:none}25%{transform:rotate(-6deg) scale(1.04)}75%{transform:rotate(6deg) scale(1.04)}}
@keyframes bingo-win{0%{box-shadow:0 3px 0 #c8b08c}35%{transform:scale(1.13);background:#fff2c2;box-shadow:0 0 0 4px var(--bn-moon),0 0 30px #ffcf5a}100%{transform:none;background:#fff2c2;box-shadow:0 0 0 4px var(--bn-moon),0 0 16px #ffcf5acc}}
@keyframes bingo-pulse{0%,100%{transform:none;box-shadow:0 6px 0 var(--bn-ember),0 0 0 0 #ffcf5a88}50%{transform:scale(1.03);box-shadow:0 6px 0 var(--bn-ember),0 0 0 12px #ffcf5a00}}
@keyframes bingo-wobble{0%,100%{transform:none}20%{transform:rotate(-2.5deg)}40%{transform:rotate(2.5deg)}60%{transform:rotate(-1.5deg)}80%{transform:rotate(1deg)}}
@keyframes bingo-name{0%{opacity:0;transform:translateY(10px) scale(.92)}100%{opacity:1;transform:none}}
@keyframes bingo-pop{0%{transform:scale(.3);opacity:0}100%{transform:none;opacity:1}}
@keyframes bingo-shimmer{to{opacity:.55}}
@keyframes bingo-chip{0%{transform:translateX(-24px) scale(.4);opacity:0}100%{transform:none;opacity:1}}
@keyframes bingo-banner{0%{transform:translateY(30px) scale(.9);opacity:0}100%{transform:none;opacity:1}}
@keyframes bingo-blink{to{opacity:.35}}
@keyframes bingo-rise{0%{transform:translate(-50%,160%) scale(.3);opacity:0}60%{transform:translate(-50%,-8%) scale(1.06);opacity:1}100%{transform:translateX(-50%)}}
/* Edition landing extras: every picture, and ways to play */
.bingo-pictures,.bingo-occasion{max-width:1280px;margin:auto}.bingo-pictures>p{max-width:640px;line-height:1.6}
.bingo-picture-board{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.bingo-picture-board li{display:grid;justify-items:center;align-content:start;gap:6px;padding:12px 4px 10px;border-radius:16px;background:#fffaf2;border:1px solid #efe4d2;font-size:.8rem;font-weight:700;text-align:center;line-height:1.15;color:var(--ink,#201b38)}
.bingo-picture-board .bingo-icon{width:58px;height:58px;display:block}.bingo-picture-board svg{width:100%;height:100%;display:block}
.bingo-occasion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.bingo-occasion article{padding:22px;border-radius:22px;border:1px solid #e3dfea;background:#fff}.bingo-occasion h3{margin:0 0 8px;font-size:1.2rem}.bingo-occasion p{margin:0;line-height:1.55;font-size:.95rem}
.bingo-occasion[data-edition=christmas] article:nth-child(odd){background:#f0f7f2;border-color:#d4e8db}.bingo-occasion[data-edition=christmas] article:nth-child(even){background:#fdf0f0;border-color:#f2d6d8}
.bingo-occasion[data-edition=harvest] article:nth-child(odd){background:#fdf3e6;border-color:#f1dcc0}.bingo-occasion[data-edition=harvest] article:nth-child(even){background:#f4f5e6;border-color:#e2e4c4}
.bingo-page[data-edition=christmas] .bingo-steps article{background:#f0f7f2;border-color:#d4e8db}.bingo-page[data-edition=christmas] .bingo-steps article:nth-child(2){background:#eef4fb;border-color:#d6e3f2}.bingo-page[data-edition=christmas] .bingo-steps article:nth-child(3){background:#fdf0f0;border-color:#f2d6d8}
.bingo-page[data-edition=harvest] .bingo-steps article{background:#fdf3e6;border-color:#f1dcc0}.bingo-page[data-edition=harvest] .bingo-steps article:nth-child(2){background:#fff6dc;border-color:#f3e2b4}.bingo-page[data-edition=harvest] .bingo-steps article:nth-child(3){background:#f4f5e6;border-color:#e2e4c4}
@media(max-width:1000px){.bingo-picture-board{grid-template-columns:repeat(6,minmax(0,1fr))}.bingo-occasion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.bingo-picture-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.bingo-picture-board li{font-size:.68rem;padding:8px 2px}.bingo-picture-board .bingo-icon{width:44px;height:44px}.bingo-occasion-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.bingo-tv-main{grid-template-columns:1fr}.bingo-patterns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.bingo-layout{grid-template-columns:1fr}.bingo-hero,.bingo-print,.bingo-tv-intro{grid-template-columns:1fr}.bingo-steps{grid-template-columns:1fr}.bingo-tier-grid{grid-template-columns:1fr}.bingo-modes{grid-template-columns:1fr}
 /* Phone: the caller and the latest call stay pinned while the card scrolls beneath. */
 .bingo-layout>.bingo-caller{position:sticky;top:0;z-index:6;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:8px 12px;margin:0 -10px;padding:8px 10px 8px;background:var(--bn-sticky);backdrop-filter:blur(6px);border-radius:0 0 18px 18px;box-shadow:0 10px 22px #0a041c55}
 .bingo-layout>.bingo-caller .bingo-sky{aspect-ratio:auto;height:150px;border-radius:16px}
 .bingo-layout>.bingo-caller .bingo-callout{align-content:center}
 .bingo-layout>.bingo-caller .bingo-now{min-height:0;gap:8px;flex-wrap:wrap}
 .bingo-layout>.bingo-caller .bingo-now-icon{width:44px;height:44px;padding:5px;box-shadow:0 0 0 3px #f0a93a}
 .bingo-layout>.bingo-caller .bingo-now-name{font-size:clamp(1.25rem,6vw,1.8rem)}
 .bingo-layout>.bingo-caller .bingo-now[data-state=drawing] .bingo-now-name,.bingo-layout>.bingo-caller .bingo-now:not([data-state]) .bingo-now-name{font-size:.95rem}
 .bingo-layout>.bingo-caller .bingo-count{font-size:.66rem}
 .bingo-layout>.bingo-caller .bingo-controls{margin-top:2px;gap:6px}
 .bingo-layout>.bingo-caller .bingo-callnext{min-height:44px;padding:8px 14px;font-size:.88rem}
 .bingo-layout>.bingo-caller .bingo-autorow,.bingo-layout>.bingo-caller .bingo-fine{display:none}
 .bingo-layout>.bingo-caller .bingo-status{font-size:.74rem}
 .bingo-layout>.bingo-caller .bingo-railwrap,.bingo-layout>.bingo-caller .bingo-board{grid-column:1/-1}
 .bingo-layout>.bingo-caller .bingo-chip .bingo-icon{width:26px;height:26px}
 .bingo-layout>.bingo-caller .bingo-banner{left:6px;right:6px;bottom:6px;padding:8px 10px}.bingo-layout>.bingo-caller .bingo-banner strong{font-size:1.4rem}.bingo-layout>.bingo-caller .bingo-banner p{font-size:.72rem}
 .bingo-board{grid-template-columns:repeat(5,minmax(0,1fr))}
 .bingo-sidehead{margin-top:6px}.bingo-rivals{grid-template-columns:1fr}
 .bingo-print-previews{justify-self:stretch;max-width:none}
}

@media(max-width:520px){.party-stage.bingo-room-stage{padding:14px 10px}.bingo-cardwrap{padding:7px 7px 9px;border-radius:18px}.bingo-grid{gap:4px}.bingo-cell{border-radius:10px}.bingo-word{font-size:.55rem}.bingo-letters{font-size:1.15rem;margin-bottom:3px}.bingo-claim{min-height:58px;margin-top:12px}.bingo-patterns{grid-template-columns:1fr}.bingo-print-previews{gap:12px}[data-bingo-stage]{padding:10px;border-radius:20px;margin:0 -10px}.bingo-tv-board .bingo-board{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.bingo-stage *,.bingo-solo *,.bingo-page *{animation:none!important;transition:none!important}.bingo-cell[data-win]{background:#fff2c2!important;box-shadow:0 0 0 4px var(--bn-moon)!important}}
/* Keep the cauldron and latest call in view while the host scrolls the called board. */
@media(min-width:1001px){.bingo-tv-main>:first-child{position:sticky;top:16px}}
