.bingo-stage{align-content:start;justify-items:stretch;gap:18px}.bingo-top{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(14px,3vw,28px);display:grid}.bingo-ball{--ring:var(--accent);aspect-ratio:1;background:var(--hub-bg);width:clamp(118px,30vw,188px);color:var(--hub-ink);box-shadow:0 0 0 clamp(6px, 5cqi, 10px) var(--ring), 0 12px 28px #16142b4d;-webkit-user-select:none;user-select:none;border-radius:50%;place-content:center;justify-items:center;margin:10px;display:grid;position:relative;container-type:inline-size}.bingo-ball[data-state=idle]{background:var(--surface);color:var(--ink-3);box-shadow:0 0 0 clamp(6px, 5cqi, 10px) var(--line-strong), var(--shadow-1)}.bingo-ball__letter{opacity:.85;font-size:17cqi;font-weight:800;line-height:1}.bingo-ball__letter:empty{display:none}.bingo-ball__num{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:46cqi;font-weight:800;line-height:1}.bingo-ball.is-landed{animation:ball-land .5s var(--ease-out)}@keyframes ball-land{0%{transform:scale(.7)rotate(-25deg)}60%{transform:scale(1.06)rotate(4deg)}to{transform:none}}@media (prefers-reduced-motion:reduce){.bingo-ball.is-landed{animation:none}}.bingo-side{gap:12px;min-width:0;display:grid}.bingo-count{font-variant-numeric:tabular-nums;font-size:clamp(1rem,2vw,1.2rem);font-weight:720}.bingo-recent-wrap{gap:4px;display:grid}.bingo-recent-label{color:var(--ink-2);font-size:.85rem;font-weight:620}.bingo-recent-wrap:has(.bingo-recent:empty){display:none}.bingo-recent{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bingo-recent li{--ring:var(--line-strong);--size:clamp(46px, 10vw, 54px);width:var(--size);height:var(--size);background:var(--surface);box-shadow:inset 0 0 0 3px var(--ring);font-weight:760;font-size:calc(var(--size) * .3);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:50%;place-items:center;display:grid}.bingo-recent li:first-child{--size:clamp(54px, 12vw, 64px)}.bingo-actions{flex-wrap:wrap;gap:8px;display:flex}.bingo-actions .btn--draw{flex:auto;min-width:0}.bingo-auto.is-on{background:var(--accent);color:#16142b;box-shadow:none}.bingo-auto-bar{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:999px;height:6px;overflow:hidden}.bingo-auto-bar i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.bingo-board{border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-1);font-variant-numeric:tabular-nums;gap:clamp(3px,.5vw,6px);margin:0;padding:clamp(8px,1.4vw,14px);list-style:none;display:grid}.bingo-board li{grid-row:var(--r);grid-column:var(--c);background:var(--surface-2);min-height:clamp(28px,5vw,42px);color:var(--ink-3);border-radius:8px;place-items:center;font-size:clamp(.8rem,1.8vw,1.05rem);font-weight:650;transition:background-color .25s,color .25s;display:grid}.bingo-board li.is-called{background:var(--btn-bg);color:var(--btn-ink);font-weight:760}.bingo-board li.is-last{background:var(--accent);color:#16142b;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent)}.bingo-board li.bingo-head{color:var(--ink);background:0 0;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:800}.bingo-board[data-mode="90"]{grid-template-rows:repeat(3,auto) clamp(4px,1vw,10px) repeat(3,auto) clamp(4px,1vw,10px) repeat(3,auto);grid-template-columns:repeat(5,minmax(0,1fr)) clamp(4px,1vw,10px) repeat(5,minmax(0,1fr))}.bingo-board[data-mode="75"]{grid-template-columns:minmax(28px,.8fr) repeat(15,minmax(0,1fr))}@media (max-width:599px){.bingo-board[data-mode="75"]{grid-template-columns:repeat(5,minmax(0,1fr))}.bingo-board[data-mode="75"] li{grid-row:var(--c);grid-column:var(--r);min-height:28px}.bingo-board[data-mode="90"] li{border-radius:6px}.bingo-actions .btn--draw{min-height:56px;padding:0 18px;font-size:1.1rem}.bingo-auto{flex:auto}.bingo-stage .stage__bar{order:1}.bingo-board{order:2}}.choice-row--stack{flex-direction:column;align-items:stretch}.choice--wide{justify-items:start;padding:0 18px}.bingo-called{counter-reset:call;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bingo-called li{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 10px;font-weight:680}.bingo-called li:last-child{background:var(--accent);color:#16142b}.stage.is-present.bingo-stage{grid-template-columns:minmax(0,.7fr) minmax(0,2fr);align-content:stretch;align-items:center;gap:3vw;padding-top:68px}.stage.is-present .bingo-top{text-align:center;grid-template-columns:1fr;justify-items:center}.stage.is-present .bingo-ball{width:min(26vw,40vh)}.stage.is-present .bingo-side{justify-items:center}.stage.is-present .bingo-count{font-size:clamp(1.2rem,3vh,2rem)}.stage.is-present .bingo-recent{justify-content:center}.stage.is-present .bingo-recent li{--size:clamp(52px, 8vh, 88px)}.stage.is-present .bingo-recent li:first-child{--size:clamp(60px, 10vh, 104px)}.stage.is-present .bingo-board{grid-auto-rows:1fr;height:calc(97.5vh - 68px)}.stage.is-present .bingo-board[data-mode="90"]{grid-template-rows:repeat(3,1fr) 1.2vh repeat(3,1fr) 1.2vh repeat(3,1fr)}.stage.is-present .bingo-board li{border-radius:10px;font-size:clamp(1rem,4.2vh,2.8rem)}@media (orientation:portrait){.stage.is-present.bingo-stage{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-content:stretch;align-items:stretch;gap:1.6vh}.stage.is-present .bingo-top{text-align:start;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ball count""ball recent""actions actions""bar bar";place-items:center start;gap:8px 4vw}.stage.is-present .bingo-side{display:contents}.stage.is-present .bingo-ball{grid-area:ball;width:min(30vw,17vh);margin:8px}.stage.is-present .bingo-count{grid-area:count;align-self:end}.stage.is-present .bingo-recent-wrap{grid-area:recent;align-self:start}.stage.is-present .bingo-recent{justify-content:start;gap:4px}.stage.is-present .bingo-recent li{--size:clamp(36px, min(5vh, 9vw), 64px)}.stage.is-present .bingo-recent li:first-child{--size:clamp(42px, min(6vh, 11vw), 76px)}.stage.is-present .bingo-actions{flex-wrap:nowrap;grid-area:actions;justify-self:stretch}.stage.is-present .bingo-auto{flex:none}.stage.is-present .bingo-auto-bar{grid-area:bar;justify-self:stretch}.stage.is-present .bingo-board{grid-auto-rows:minmax(0,1fr);height:auto;min-height:0}.stage.is-present .bingo-board li{min-height:0;font-size:clamp(.85rem,min(2.6vh,5.6vw),2.2rem);line-height:1}}.bingo-check{border-bottom:1px solid var(--line);gap:8px;margin:0 0 18px;padding-bottom:18px;display:grid}.bingo-check__row{gap:8px;display:flex}.bingo-check__row input{border:1.5px solid var(--line);border-radius:var(--radius-m);background:var(--field);letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums;min-width:0;min-height:48px;caret-color:var(--accent);flex:1;padding:0 14px;font-size:1.05rem;font-weight:680}.bingo-check__row input::placeholder{text-transform:none}.bingo-check__row input:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 35%, transparent);outline:none}.bingo-check .hint,.bingo-check .field-error{margin:0}.bingo-check__result{gap:10px;display:grid}.bingo-check__result:empty{display:none}.bingo-check__status{margin:0;font-weight:680}.bingo-check__status.is-win{color:var(--ink);border-radius:var(--radius-s);background:color-mix(in srgb, var(--accent) 16%, var(--surface));padding:8px 12px}.bingo-check__card{max-width:340px}.bingo-cards-link{margin:8px 0 0}.bingo-cards-link a{min-height:44px;color:var(--ink);align-items:center;gap:8px;font-weight:640;display:inline-flex}.bingo-cards-link .icon{width:20px;height:20px}
