.stage-frame[data-atmosphere=bingo]{background:radial-gradient(circle at 50% 0,#1e3a5f,#0b1220 70%);color:#eef3ff}.stage-frame[data-atmosphere=bingo] .stage-exit{top:16px;height:1.55rem;min-height:1.55rem;min-width:0;padding:0 12px;border-radius:8px;background:#102038;border-color:#3b82f6;color:#eef3ff;font-size:1.15rem;font-weight:800;line-height:1}.mb{height:100%;padding:16px 24px 14px;display:grid;grid-template-rows:1.55rem 1fr;grid-gap:10px;gap:10px;box-sizing:border-box}.mb-hub{position:relative;min-height:0;border-radius:16px;overflow:hidden}.mb-hub-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mb-hub-card{position:relative;z-index:1;width:360px;margin:80px auto 0;padding:22px;border-radius:16px;background:rgba(11,18,32,.88);gap:12px;box-shadow:0 16px 40px rgba(0,0,0,.45)}.mb-hub-card,.mb-hub-card label{display:flex;flex-direction:column}.mb-hub-card label{gap:6px;font-weight:700}.mb-hub-card input,.mb-toolbar select{min-height:52px;border-radius:8px;border:1px solid #3b82f6;background:#102038;color:#fff;padding:0 12px;font-size:1.1rem}.mb-host-wrap,.mb-play{position:relative;isolation:isolate}.mb-host-wrap:before,.mb-play:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:16px;background:var(--mb-bg) center /cover no-repeat;opacity:.42}.mb-toolbar{gap:10px;flex-wrap:wrap;background:rgba(15,23,42,.7);border-radius:12px;padding:8px 12px}.mb-toolbar,.mb-toolbar label{display:flex;align-items:center}.mb-toolbar label{gap:6px;font-weight:700}.mb-head{display:flex;align-items:center;justify-content:space-between;padding-left:88px;height:1.55rem;min-height:0}.mb-code,.mb-head h1{margin:0;font-size:1.55rem;font-weight:800;line-height:1}.mb-code{color:#93c5fd}.mb-code b{font-size:1.55rem;letter-spacing:.14em;color:#fbbf24}.mb-join{max-width:420px;margin:36px auto 0;gap:12px}.mb-join,.mb-join label{display:flex;flex-direction:column}.mb-join label{gap:6px;font-weight:700}.mb-join input{min-height:52px;border-radius:8px;border:1px solid #3b82f6;background:#102038;color:#fff;padding:0 12px;font-size:1.1rem}.mb-host-pat{text-align:center}.mb-host-pat p{margin:4px 0;font-weight:800;font-size:1.15rem}.mb-host-pat small{color:#93c5fd}.mb-fact{margin:8px 0 0;font-size:4.2rem;font-weight:800;color:#fbbf24;line-height:1}.mb-cell[data-miss=true]{box-shadow:0 0 0 4px #fbbf24;animation:mbRing .45s ease-in-out 4}@keyframes mbRing{50%{box-shadow:0 0 0 8px rgba(251,191,36,.2)}}.mb-seat{width:100%;color:inherit;font:inherit;cursor:pointer}.mb-big,.mb-bingo,.mb-btn{min-height:52px;padding:0 22px;border:0;border-radius:10px;background:#2563eb;color:#fff;font-weight:800;font-size:1.1rem}.mb-big.ghost,.mb-btn{background:transparent;border:1px solid #93c5fd;color:#dbeafe}.mb-btn.danger{border-color:#ef4444;color:#fecaca}.mb-bingo{width:100%;background:#16a34a;animation:mbPulse 2s infinite;font-size:1.4rem}@keyframes mbPulse{0%,to{box-shadow:0 0 0 0 rgba(22,163,74,.5)}50%{box-shadow:0 0 0 8px rgba(22,163,74,0)}}.mb-host,.mb-play{display:grid;grid-gap:16px;gap:16px;min-height:0}.mb-host{grid-template-columns:1.1fr .9fr}.mb-play{grid-template-columns:220px 1fr 260px}.mb-draw{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;gap:12px}.mb-host-wrap{display:grid;grid-template-rows:auto 1fr;grid-gap:10px;gap:10px;min-height:0}.mb-head p{margin:0;color:#93c5fd}.mb-back{width:120px;height:168px;border-radius:12px;border:0;color:#fff8e8;font-weight:800;font-size:1.15rem;letter-spacing:.08em;text-shadow:0 2px 8px #000;cursor:pointer;background-position:50%;background-size:cover}.style-blue{background-image:url(/games/bingo/back-blue.webp);box-shadow:inset 0 0 0 2px #bfdbfe}.style-red{background-image:url(/games/bingo/back-red.webp);box-shadow:inset 0 0 0 2px #fecaca}.style-dark{background-image:url(/games/bingo/back-dark.webp);box-shadow:inset 0 0 0 2px #cbd5e1}.style-green{background-image:url(/games/bingo/back-green.webp);box-shadow:inset 0 0 0 2px #bbf7d0}.style-purple{background-image:url(/games/bingo/back-purple.webp);box-shadow:inset 0 0 0 2px #e9d5ff}.style-gold{background-image:url(/games/bingo/back-gold.webp);box-shadow:inset 0 0 0 2px #fde68a}.mb-face{background:#fff;color:#111;border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}.mb-face[data-deck=blue]{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08)),url(/games/bingo/face-blue.webp) 50% /cover;box-shadow:inset 0 0 0 2px #2563eb,0 8px 18px rgba(0,0,0,.25)}.mb-face[data-deck=red]{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08)),url(/games/bingo/face-red.webp) 50% /cover;box-shadow:inset 0 0 0 2px #dc2626,0 8px 18px rgba(0,0,0,.25)}.mb-face[data-deck=dark]{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08)),url(/games/bingo/face-dark.webp) 50% /cover;box-shadow:inset 0 0 0 2px #334155,0 8px 18px rgba(0,0,0,.25)}.mb-face[data-deck=green]{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08)),url(/games/bingo/face-green.webp) 50% /cover;box-shadow:inset 0 0 0 2px #15803d,0 8px 18px rgba(0,0,0,.25)}.mb-face[data-deck=purple]{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08)),url(/games/bingo/face-purple.webp) 50% /cover;box-shadow:inset 0 0 0 2px #7c3aed,0 8px 18px rgba(0,0,0,.25)}.mb-face[data-deck=gold]{background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.08)),url(/games/bingo/face-gold.webp) 50% /cover;box-shadow:inset 0 0 0 2px #d97706,0 8px 18px rgba(0,0,0,.25)}.mb-mid{display:flex;flex-direction:column;align-items:center;line-height:.85}.mb-mid b{font-size:.42em}.mb-face .c em{display:block;font-style:normal;font-size:.78em}.mb-face.giant{width:200px;height:300px;font-size:5rem}.mb-face.solve{width:140px;height:210px;font-size:3.4rem}.mb-face.empty{border:3px dashed #64748b;background:transparent;color:#64748b;box-shadow:none}.mb-face[data-red=true]{color:#dc2626}.mb-face .c{position:absolute;font-size:1.1rem;display:flex;flex-direction:column;line-height:1}.mb-face .tl{top:8px;left:10px}.mb-face .br{bottom:8px;right:10px;transform:rotate(180deg)}.mb-lobby{overflow:hidden;background:rgba(15,23,42,.62);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;min-height:0;gap:6px}.mb-lobby h2{margin:0;font-size:1rem;line-height:1.1}.mb-lead{display:flex;gap:8px;flex:none}.mb-lead-card{flex:1 1;min-width:0;max-width:34%}.mb-lead-card[data-win=true] .mb-lead-board{box-shadow:0 0 0 2px #fbbf24}.mb-lead-card p{display:flex;justify-content:space-between;gap:4px;margin:0 0 3px;font-size:.78rem;font-weight:800}.mb-lead-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mb-lead-card span{color:#fde68a}.mb-lead-board{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:2px;gap:2px;aspect-ratio:1;border-radius:6px}.mb-lead-board span{display:grid;place-items:center;position:relative;background:#0f172a;border-radius:2px;color:#eef3ff;font-size:.62rem;font-weight:800}.mb-lead-board span[data-dob=true]:after{content:"";position:absolute;inset:16%;border-radius:50%;background:rgba(37,99,235,.82)}.mb-lobby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-gap:8px;gap:8px;overflow:auto;min-height:0;align-content:start}.mb-seat{background:#102038;border:1px solid #334155;border-radius:8px;padding:8px;text-align:center}.mb-seat[data-win=true]{border-color:#fbbf24}.mb-seat strong{display:block;overflow:hidden;text-overflow:ellipsis}.mb-board{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);grid-gap:6px;gap:6px;aspect-ratio:1;max-height:100%;margin:0 auto}.mb-cell{position:relative;border:2px solid #334155;border-radius:8px;background:#0f172a;color:#fff;font-size:1.6rem;font-weight:800;overflow:hidden}.mb-cell i{position:absolute;inset:12%;border-radius:50%;background:var(--dob,rgba(37,99,235,.78));transform:scale(0);transition:transform .2s;pointer-events:none}.mb-cell[data-dob=true] i{transform:scale(1)}.mb-play aside{background:rgba(15,23,42,.62);border-radius:12px;padding:12px;overflow:auto;min-height:0}.mb-stats{display:flex;justify-content:space-between;margin:12px 0 8px;font-weight:800}.mb-dobbers{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.mb-dob{width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;border:3px solid transparent;cursor:pointer}.mb-dob[data-on=true]{border-color:#fff;box-shadow:0 0 0 3px #fbbf24}.mb-mini{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);width:72px;height:72px;grid-gap:2px;gap:2px}.mb-mini[data-large=true]{width:140px;height:140px;gap:4px}.mb-mini span{background:#1e2937;border-radius:2px}.mb-mini span[data-on=true]{background:#2563eb}.mb-mini span[data-free=true]{background:#fbbf24}.mb-modal{position:absolute;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:5}.mb-modal-card{background:#102038;padding:20px;border-radius:12px;width:720px;max-height:80%;overflow:auto}.mb-pats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.mb-pats button{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:52px;background:#0b1220;color:#fff;border:2px solid #334155;border-radius:8px;padding:8px}.mb-pats button[data-on=true]{border-color:#3b82f6}.mb-toast{position:absolute;right:24px;bottom:18px;background:#dc2626;color:#fff;padding:10px 16px;border-radius:8px;font-weight:700}.mb-fireworks{position:fixed;inset:0;width:100vw;height:100vh;z-index:80;pointer-events:none}.mb-podium{position:fixed;inset:0;z-index:79;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;background:radial-gradient(ellipse at 50% 30%,rgba(30,58,110,.92),rgba(6,12,26,.96) 70%);color:#fff;text-align:center;animation:mb-podium-in .4s ease-out both}@keyframes mb-podium-in{0%{opacity:0;transform:scale(.96)}}.mb-podium h2{margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:900;letter-spacing:.04em;color:#fde047;text-shadow:0 0 18px rgba(253,224,71,.55)}.mb-podium-steps{display:flex;align-items:flex-end;gap:10px}.mb-step{width:clamp(130px,18vw,190px);display:flex;flex-direction:column;align-items:center;gap:4px;animation:mb-step-up .6s cubic-bezier(.2,.9,.3,1.2) both}.mb-step[data-place="1"]{animation-delay:.15s}.mb-step[data-place="3"]{animation-delay:.3s}@keyframes mb-step-up{0%{opacity:0;transform:translateY(40px)}}.mb-step-medal{font-size:2.6rem;line-height:1}.mb-step-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:900}.mb-step small{color:rgba(255,255,255,.75);font-weight:700}.mb-step-block{width:100%;display:grid;place-items:center;border-radius:10px 10px 0 0;font-size:2.4rem;font-weight:900;color:rgba(0,0,0,.55);box-shadow:inset 0 -8px 0 rgba(0,0,0,.15)}.mb-step[data-place="1"] .mb-step-block{height:170px;background:linear-gradient(#fde68a,#eab308)}.mb-step[data-place="2"] .mb-step-block{height:120px;background:linear-gradient(#f1f5f9,#94a3b8)}.mb-step[data-place="3"] .mb-step-block{height:90px;background:linear-gradient(#fed7aa,#c2702b)}.mb-step[data-empty=true] .mb-step-block{opacity:.25}.mb-podium-rest li[data-me=true],.mb-step[data-me=true] .mb-step-name{color:#4ade80}.mb-podium-rest{margin:0;padding:10px 18px 10px 40px;max-height:22vh;overflow-y:auto;border-radius:12px;background:rgba(255,255,255,.08);text-align:left;font-size:1.05rem;font-weight:800}.mb-podium-rest small{margin-left:6px;color:rgba(255,255,255,.7)}.mb-podium-reopen{position:absolute;left:24px;bottom:18px;z-index:6;padding:10px 16px;background:#102038;color:#fde047;cursor:pointer}.mb-podium-reopen,.mb-podium-strip{border-radius:999px;border:2px solid #eab308;font-weight:800}.mb-podium-strip{position:fixed;top:10px;left:50%;z-index:79;transform:translateX(-50%);max-width:calc(100vw - 180px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;padding:8px 16px;background:rgba(16,32,56,.94);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.45);pointer-events:none;animation:mb-podium-in .4s ease-out both}.mb-podium-strip b{color:#fde047;letter-spacing:.05em}.mb-podium-strip span[data-me=true]{color:#4ade80}.mb-podium-strip em{font-style:normal;font-weight:700;color:rgba(255,255,255,.75)}