:root{--mx: 0;--my: 0;--t: 0;--bg: #06050a;--ink: #f2efff;--muted: rgba(242, 239, 255, .72);--line: rgba(242, 239, 255, .12);--violet: #a855f7;--violet2: #7c3aed}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.page{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden}.bg{position:absolute;inset:-40px;background:radial-gradient(900px 700px at calc(50% + (var(--mx) * 120px)) calc(42% + (var(--my) * 120px)),rgba(168,85,247,.28),transparent 60%),radial-gradient(700px 600px at calc(60% - (var(--mx) * 140px)) calc(70% - (var(--my) * 140px)),rgba(124,58,237,.2),transparent 62%),radial-gradient(900px 700px at 20% 20%,rgba(168,85,247,.12),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%);filter:saturate(1.15) contrast(1.05)}.bg:before{content:"";position:absolute;inset:0;background:radial-gradient(900px 900px at 50% 50%,rgba(168,85,247,.06),transparent 60%);opacity:.9;transform:translate3d(calc(sin(var(--t))*8px),calc(cos(var(--t))*8px),0)}.bg:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");mix-blend-mode:overlay;opacity:.18;pointer-events:none}.card{position:relative;width:min(720px,92vw);padding:34px 32px 28px;border-radius:20px;border:1px solid var(--line);background:#08070eb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 80px #0000008c,inset 0 1px #ffffff0f;overflow:visible}.blur-layer{position:absolute;inset:-48px;border-radius:inherit;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);--x: 50%;--y: 50%;--r: 10px;--f: 5px;mask-image:radial-gradient(circle at var(--x) var(--y),transparent 0,transparent calc(var(--r) - 2px),rgba(0,0,0,.85) calc(var(--r) + var(--f)),black calc(var(--r) + var(--f) + 24px));-webkit-mask-image:radial-gradient(circle at var(--x) var(--y),transparent 0,transparent calc(var(--r) - 2px),rgba(0,0,0,.85) calc(var(--r) + var(--f)),black calc(var(--r) + var(--f) + 24px));pointer-events:none}.content{position:relative;z-index:1}.title{margin:0 0 10px;font-size:clamp(40px,5vw,56px);line-height:1.03;letter-spacing:-.02em}.subtitle{margin:0 0 22px;color:var(--muted);font-size:16px;line-height:1.6;max-width:56ch}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:14px 18px;border-radius:14px;border:1px solid rgba(168,85,247,.35);color:#d0a1fc;text-decoration:none;font-weight:650;letter-spacing:.01em;background:linear-gradient(180deg,#a855f738,#7c3aed24);box-shadow:0 12px 30px #7c3aed2e,inset 0 1px #ffffff1a;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.button:hover{transform:translateY(-1px);border-color:#a855f78c;box-shadow:0 16px 42px #7c3aed3d,inset 0 1px #ffffff1f}.button.secondary{background:linear-gradient(180deg,#7c3aed24,#a855f738);border-color:#6f41afb3;box-shadow:2px -2px 25px #a855f759}.button.secondary:hover{border-color:#29153b73;box-shadow:0 0 42px #7c3aed29}.footer{margin-top:22px;display:flex;align-items:center;gap:10px;color:#f2efff8c;font-size:13px}.dot{width:8px;height:8px;border-radius:999px;background:#a855f7d9;box-shadow:0 0 18px #a855f7a6}.blur-reveal{position:relative;display:inline-block;--x: 50%;--y: 50%;--r: 10px;--f: 5px}.blur-reveal__blur{filter:blur(8px);opacity:.85}.blur-reveal__sharp{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:radial-gradient(circle at var(--x) var(--y),black 0,black var(--r),transparent calc(var(--r) + var(--f)));mask-image:radial-gradient(circle at var(--x) var(--y),black 0,black var(--r),transparent calc(var(--r) + var(--f)))}.utility-page .card{width:min(980px,95vw)}.bingo-card{display:grid;gap:16px}.bingo-shell{position:relative;width:min(860px,95vw)}.bingo-board-section{min-width:0}.utility-page .bingo-card{width:100%}.utility-page .bingo-leaderboard-panel{width:320px}.bingo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:8px}.bingo-cell{min-height:102px;border:1px solid rgba(168,85,247,.35);border-radius:12px;background:#07060bcc;display:grid;place-items:center;text-align:center;padding:10px;font-weight:600;color:var(--ink);cursor:pointer;transition:transform .12s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease;appearance:none}.bingo-cell span{line-height:1.25}.bingo-cell:hover{transform:translateY(-1px);border-color:#a855f7a6}.bingo-cell.selected{background:#a855f747;border-color:#a855f7e6;box-shadow:0 0 0 1px #a855f759 inset}.admin-card{display:grid;gap:14px}.admin-form{display:flex;gap:10px;flex-wrap:wrap}.admin-input{flex:1;min-width:240px;border:1px solid rgba(168,85,247,.32);border-radius:12px;background:#0d0b13e6;color:var(--ink);padding:12px 14px;font-size:16px}.admin-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:52vh;overflow-y:auto}.admin-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(168,85,247,.18);border-radius:12px;background:#07060b99;padding:8px 10px}.admin-list-item>span{overflow-wrap:anywhere}.admin-item-actions{display:flex;align-items:center;gap:10px}.admin-select{border:1px solid rgba(168,85,247,.32);border-radius:10px;background:#0d0b13eb;color:var(--ink);padding:10px 12px;font-size:14px}.bingo-page.bingo-won .bingo-cell.selected{background:#f5bc3652;border-color:#f5bc36f2;box-shadow:0 0 0 1px #f5bc3666 inset}.bingo-page.bingo-won .bingo-cell{border-color:#f5bc369e}.bingo-page.bingo-won .bingo-cell:hover{border-color:#f5bc36eb}.bingo-page.bingo-won .button{border-color:#f5bc3699;color:#ffeab8;background:linear-gradient(180deg,#f5bc3633,#de9e0026);box-shadow:0 12px 30px #de9e003d,inset 0 1px #ffffff1a}.bingo-page.bingo-won .button:hover{border-color:#ffd678cc;box-shadow:0 16px 42px #de9e0052,inset 0 1px #ffffff1f}.bingo-page.bingo-won .button:focus-visible{outline:2px solid rgba(255,214,120,.9);outline-offset:2px}.bingo-page.bingo-won .button.secondary{border-color:#ffd67899;background:linear-gradient(180deg,#ebaa1438,#f5bc361f);box-shadow:2px -2px 25px #f5bc364d}.bingo-page.bingo-won .bingo-leaderboard-panel{border-top-color:#ffd6788c;border-color:#f5bc3673;background:linear-gradient(180deg,#f5bc361f,#94660c2e)}.bingo-page.bingo-won .bingo-leaderboard-panel .subtitle{color:#ffecbcdb}.bingo-page.bingo-won .bingo-leaderboard-panel .admin-input{border-color:#ffd6788c;background:#36220373}.bingo-page.bingo-won .bingo-leaderboard-panel .leaderboard-item{border-color:#ffd67873;background:#59390257}.bingo-page.bingo-won .bingo-leaderboard-panel .leaderboard-rank{color:#ffe49cd1}.bingo-page.bingo-won .bg{background:radial-gradient(900px 700px at calc(50% + (var(--mx) * 120px)) calc(42% + (var(--my) * 120px)),rgba(245,188,54,.25),transparent 60%),radial-gradient(700px 600px at calc(60% - (var(--mx) * 140px)) calc(70% - (var(--my) * 140px)),rgba(207,142,20,.22),transparent 62%),radial-gradient(900px 700px at 20% 20%,rgba(245,188,54,.12),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%)}.button.danger{background:linear-gradient(180deg,#ff595952,#93222259);border-color:#ff595973;color:#ffdede}.leaderboard{margin-top:8px;border-top:1px solid rgba(168,85,247,.2);padding-top:14px}.bingo-leaderboard-panel{margin-top:0;border-top:1px solid rgba(168,85,247,.2);padding:16px 14px;position:absolute;left:calc(100% + 16px);top:0}.bingo-leaderboard-panel .admin-form{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:8px}.bingo-leaderboard-panel .admin-input{flex:1 1 auto;min-width:0}.bingo-leaderboard-panel .admin-form .button{flex:0 0 auto;white-space:nowrap;padding:10px 12px}.leaderboard h2{margin:0 0 8px}.leaderboard-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.leaderboard-scroll{max-height:320px;overflow-y:auto;padding-right:4px}.leaderboard-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(168,85,247,.18);border-radius:10px;padding:8px 10px;background:#07060b7a}.leaderboard-main{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.leaderboard-rank{color:var(--muted);width:26px;flex:0 0 26px}@media(max-width:720px){.page{padding:16px 12px}.utility-page .card{width:100%;border-radius:16px;padding:20px 14px 16px}.title{font-size:clamp(32px,9vw,42px)}.subtitle{margin-bottom:14px;font-size:14px;line-height:1.45}.actions{margin-top:0;gap:8px}.actions .button{flex:1 1 100%;width:100%;min-height:44px;padding:12px 14px}.bingo-grid{gap:6px;margin-top:2px}.bingo-shell,.utility-page .bingo-card{width:100%}.utility-page .bingo-leaderboard-panel{width:100%;position:static;left:auto;top:auto}.bingo-cell{min-height:72px;border-radius:10px;font-size:12px;font-weight:700;padding:6px}.admin-item-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}}@media(max-width:1240px){.utility-page .bingo-leaderboard-panel{width:100%;position:static;left:auto;top:auto;margin-top:14px}}@media(max-width:480px){.bingo-cell{min-height:66px;font-size:10px;font-weight:650;padding:5px}.bingo-cell span{line-height:1.15}}
