:root{
 --ink:#07162f;--ink-2:#0d274d;--night:#020918;--panel:#0a1e3e;--panel-2:#0c2a55;
 --blue:#008ed6;--blue-2:#36c4ff;--yellow:#ffd400;--orange:#f28c00;--red:#e74232;
 --green:#3ad58b;--white:#fff;--text:#edf5ff;--muted:#91a8c4;--line:rgba(255,255,255,.12);
 --shadow:0 24px 70px rgba(0,0,0,.32);--radius:24px;--radius-sm:14px;
 --brand-primary:#ffd400;--brand-secondary:#008ed6;--brand-accent:#f28c00;--brand-danger:#e74232;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:#f4f7fb;color:#13213a;min-height:100vh}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.site-body{background:linear-gradient(#06162f 0 750px,#f4f7fb 750px);color:var(--text);overflow-x:hidden}.space-bg{position:fixed;inset:0 0 auto;height:760px;z-index:-1;overflow:hidden;background:radial-gradient(circle at 10% 20%,rgba(0,142,214,.26),transparent 30%),radial-gradient(circle at 86% 20%,rgba(242,140,0,.18),transparent 25%),linear-gradient(155deg,#020817,#061a3b 55%,#061329)}.space-bg:before,.space-bg:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.5) 1px,transparent 1px);background-size:55px 55px;opacity:.2}.space-bg:after{background-size:93px 93px;transform:translate(30px,20px);opacity:.1}.space-bg i{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%}.space-bg i:nth-child(1){width:520px;height:520px;right:-220px;top:80px}.space-bg i:nth-child(2){width:340px;height:340px;left:-170px;top:250px}.space-bg i:nth-child(3){width:140px;height:140px;right:22%;top:120px;box-shadow:0 0 80px rgba(0,142,214,.2)}
.topbar{height:92px;width:min(1420px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50}.brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;letter-spacing:-.02em}.brand-link img{width:84px;height:64px;object-fit:contain}.brand-link span{font-size:1.12rem}.brand-link b{color:var(--yellow)}.main-nav{display:flex;align-items:center;gap:6px}.main-nav>a,.nav-logout{border:0;background:transparent;text-decoration:none;color:#d9e6f8;padding:11px 13px;border-radius:12px;font-weight:720;font-size:.9rem;cursor:pointer}.main-nav>a:hover,.nav-logout:hover{background:rgba(255,255,255,.08);color:#fff}.main-nav form{margin:0}.main-nav .nav-cta{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#112443;padding-inline:19px;box-shadow:0 10px 30px rgba(242,140,0,.2)}.menu-toggle{display:none;background:rgba(255,255,255,.1);border:1px solid var(--line);color:#fff;width:43px;height:43px;border-radius:12px;font-size:1.2rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:14px 20px;text-decoration:none;font-weight:850;cursor:pointer;transition:.22s ease;line-height:1.1}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#152440;box-shadow:0 14px 32px rgba(242,140,0,.28)}.button-secondary{background:linear-gradient(135deg,var(--blue),#38c6ff);color:#fff;box-shadow:0 12px 30px rgba(0,142,214,.23)}.button-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#fff}.button-small{padding:9px 13px;border-radius:10px;font-size:.82rem}.eyebrow{display:inline-block;font-size:.76rem;letter-spacing:.17em;text-transform:uppercase;color:var(--yellow);font-weight:900}.muted{color:var(--muted)!important}.online-dot,.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(58,213,139,.12);margin-right:7px}
.flash{position:fixed;z-index:200;top:102px;left:50%;transform:translateX(-50%);width:min(680px,calc(100% - 30px));padding:14px 18px;border-radius:14px;color:#fff;font-weight:700;box-shadow:var(--shadow);animation:flashIn .3s ease}.flash-success{background:#126f4b;border:1px solid #45e49d}.flash-error{background:#8b2530;border:1px solid #ff7676}@keyframes flashIn{from{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%,0)}}
.hero-section{width:min(1420px,calc(100% - 40px));min-height:620px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding:50px 0 90px}.hero-copy h1{font-size:clamp(3.1rem,6.2vw,6.4rem);line-height:.91;letter-spacing:-.065em;margin:18px 0 28px;max-width:780px}.hero-copy h1 em{font-style:normal;background:linear-gradient(90deg,var(--yellow),#ffad19);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p{font-size:1.12rem;line-height:1.75;color:#b8c8dc;max-width:670px}.hero-actions{display:flex;gap:12px;margin:30px 0}.hero-stats{display:flex;gap:30px;margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}.hero-stats div{display:flex;flex-direction:column;gap:4px}.hero-stats strong{font-size:1.1rem;color:#fff}.hero-stats span{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:#7893b4}.hero-visual{min-height:570px;position:relative;display:grid;place-items:center}.hero-mascot{width:min(510px,88%);max-height:540px;object-fit:contain;position:relative;z-index:4;filter:drop-shadow(0 28px 30px rgba(0,0,0,.38));animation:float 5s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%;transform:rotate(-14deg)}.orbit:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--yellow);box-shadow:0 0 20px var(--yellow);top:12%;left:14%}.orbit-one{width:530px;height:330px}.orbit-two{width:430px;height:500px;transform:rotate(32deg)}.floating-ball{position:absolute;z-index:8;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:900;line-height:.75;color:#102344;background:radial-gradient(circle at 30% 25%,#fff,#ffe864 40%,var(--orange));border:4px solid rgba(255,255,255,.7);box-shadow:0 16px 35px rgba(0,0,0,.25),inset -8px -10px 18px rgba(154,75,0,.18);animation:ballFloat 4s ease-in-out infinite}.floating-ball b{font-size:1.45rem}.floating-ball.b1{left:6%;top:20%}.floating-ball.b2{right:2%;top:13%;animation-delay:-1.2s;background:radial-gradient(circle at 30% 25%,#fff,#79dcff 40%,var(--blue))}.floating-ball.b3{right:9%;bottom:20%;animation-delay:-2.4s;background:radial-gradient(circle at 30% 25%,#fff,#ff9389 40%,var(--red));color:#fff}.live-card{position:absolute;z-index:7;bottom:10%;left:1%;padding:18px 22px;border-radius:18px;background:rgba(5,22,47,.82);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.28);display:flex;flex-direction:column;max-width:265px}.live-card span{font-size:.68rem;letter-spacing:.14em;color:var(--yellow);font-weight:900}.live-card strong{font-size:1.05rem;margin:6px 0}.live-card small{color:#92a8c4}@keyframes float{50%{transform:translateY(-16px) rotate(1deg)}}@keyframes ballFloat{50%{transform:translateY(-13px) rotate(7deg)}}
.feature-strip{width:min(1320px,calc(100% - 40px));margin:-35px auto 80px;background:#fff;color:#13213a;border-radius:24px;box-shadow:0 25px 75px rgba(12,35,68,.14);display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.feature-strip article{display:flex;gap:18px;padding:28px 32px;border-right:1px solid #e7edf5}.feature-strip article:last-child{border:0}.feature-strip article>span{font-size:1.8rem;color:var(--blue);font-weight:950}.feature-strip strong{display:block;font-size:1.05rem;margin-bottom:5px}.feature-strip p{margin:0;color:#687b94;line-height:1.5;font-size:.9rem}.section{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:90px 0;color:#13213a}.dark-section{width:100%;padding-inline:max(20px,calc((100% - 1320px)/2));background:linear-gradient(150deg,#06142d,#0a2953);color:#fff}.section-heading{max-width:760px;margin-bottom:44px}.section-heading h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.06;letter-spacing:-.045em;margin:12px 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-grid article{border-radius:22px;padding:28px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}.feature-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#183054;font-size:1.5rem;font-weight:900;margin-bottom:24px}.feature-grid h3{font-size:1.2rem;margin:0 0 10px}.feature-grid p{color:#a8bad2;line-height:1.7;margin:0}.winner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.winner-grid article{background:#fff;border:1px solid #e5ebf4;padding:24px;border-radius:20px;box-shadow:0 12px 35px rgba(8,27,56,.07);display:grid;grid-template-columns:auto 1fr;gap:4px 14px}.winner-star{grid-row:1/4;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff4bd;color:#e49500}.winner-grid strong{font-size:1.05rem}.winner-grid small{color:#71839a}.winner-grid b{font-size:.78rem;text-transform:uppercase;color:var(--blue)}.cta-section{width:min(1320px,calc(100% - 40px));margin:50px auto 100px;border-radius:30px;background:linear-gradient(120deg,#071b3c,#0c4b80);padding:38px 48px;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:30px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.cta-section img{height:170px;width:170px;object-fit:contain;filter:drop-shadow(0 20px 25px rgba(0,0,0,.25))}.cta-section h2{font-size:clamp(1.7rem,3vw,3rem);margin:8px 0}.cta-section p{margin:0;color:#afc3db}.site-footer{background:#020916;color:#a9bdd5;padding:55px max(20px,calc((100% - 1320px)/2));display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:70px}.site-footer img{width:150px}.site-footer p{line-height:1.7;max-width:450px}.site-footer>div{display:flex;flex-direction:column;gap:10px}.site-footer strong{color:#fff}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--yellow)}
.page-hero{padding:90px 20px 55px;text-align:center;max-width:1000px;margin:auto}.page-hero h1{font-size:clamp(2.6rem,6vw,5.8rem);letter-spacing:-.055em;margin:14px 0}.page-hero p{color:#aec1d8}.page-hero.compact{padding-top:70px;padding-bottom:40px}.page-hero.compact h1{font-size:clamp(2.4rem,4vw,4rem)}.content-card{width:min(1050px,calc(100% - 40px));margin:0 auto 90px;background:#fff;color:#18263d;border-radius:24px;padding:38px;box-shadow:0 18px 55px rgba(5,25,55,.12)}.prose{font-size:1.05rem;line-height:1.9}.error-page{text-align:center;min-height:70vh;display:grid;place-content:center;justify-items:center;padding:30px}.error-page h1{font-size:clamp(2.1rem,5vw,4.5rem);margin:15px 0}.error-page p{color:#b3c5da;max-width:600px;line-height:1.7}.error-orbit{width:90px;height:90px;display:grid;place-items:center;border-radius:50%;font-size:3rem;font-weight:900;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#122541;box-shadow:0 0 0 15px rgba(255,212,0,.08)}
.auth-page{width:min(1180px,calc(100% - 40px));margin:35px auto 90px;display:grid;grid-template-columns:1fr 480px;min-height:650px;border-radius:30px;overflow:hidden;background:#071b3d;box-shadow:var(--shadow)}.auth-visual{padding:50px;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(0,142,214,.32),transparent 37%),linear-gradient(145deg,#06142e,#092b56)}.auth-visual:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-180px;bottom:-240px;box-shadow:0 0 0 50px rgba(255,255,255,.02),0 0 0 100px rgba(255,255,255,.015)}.auth-visual img{width:45%;max-height:440px;object-fit:contain;filter:drop-shadow(0 24px 35px rgba(0,0,0,.35));z-index:1}.auth-visual>div{z-index:2;margin-left:-10px}.auth-visual h1{font-size:clamp(2.5rem,4vw,4.6rem);line-height:.98;letter-spacing:-.05em;margin:15px 0}.auth-visual p{color:#aebfd5;line-height:1.7}.auth-card{background:#fff;color:#18263c;padding:46px;display:flex;flex-direction:column;justify-content:center}.auth-card>img{width:175px;margin:0 auto 18px}.auth-card h2{font-size:2rem;margin:0 0 8px}.auth-card>p{color:#74859d;margin:0 0 28px}.auth-card form{display:grid;gap:16px}.auth-card label,.form-card label,.admin-form label,.settings-grid label{font-size:.84rem;font-weight:800;color:#3a4960;display:grid;gap:7px}.auth-card input,.form-card input,.admin-form input,.admin-form select,.admin-form textarea,.settings-grid input,.settings-grid select,.operator-card textarea,.physical-control input,.filter-card select,.mini-form select,.assign-details input,.assign-details select{width:100%;border:1px solid #dce4ee;background:#f9fbfd;color:#1b2b44;border-radius:12px;padding:13px 14px;outline:none;transition:.2s}.auth-card input:focus,.form-card input:focus,.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,142,214,.1);background:#fff}.auth-card small,.form-card small{font-weight:500;color:#8190a5}.check-label{display:flex!important;grid-template-columns:20px 1fr!important;align-items:flex-start;gap:9px!important}.check-label input{width:18px!important;height:18px;margin-top:1px}.check-label a{color:var(--blue)}.auth-foot{text-align:center;border-top:1px solid #e8edf3;margin-top:22px;padding-top:20px;color:#72849a}.auth-foot a{color:var(--blue);font-weight:800}.form-card{max-width:860px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-span{grid-column:1/-1}
/* Tombola */
.tombola-stage{position:relative;min-height:390px;display:grid;grid-template-columns:minmax(270px,1fr) minmax(150px,.48fr);align-items:center;gap:8px;padding:16px}.tombola-glow{position:absolute;width:320px;height:320px;left:8%;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(0,190,255,.26),transparent 66%);filter:blur(8px)}.tombola-machine{position:relative;width:min(330px,100%);height:355px;margin:auto;z-index:2}.tombola-cap{position:absolute;left:50%;top:0;transform:translateX(-50%);width:150px;height:50px;border-radius:18px 18px 8px 8px;background:linear-gradient(180deg,#ffd82b,#ed9f00);display:flex;align-items:center;justify-content:center;gap:5px;color:#112744;font-size:.72rem;font-weight:900;letter-spacing:.06em;box-shadow:inset 0 3px rgba(255,255,255,.65),0 10px 20px rgba(0,0,0,.24);z-index:4}.tombola-cap b{color:#d83b2d}.tombola-drum{position:absolute;left:50%;top:38px;transform:translateX(-50%);width:270px;height:244px;border-radius:48% 48% 44% 44%;overflow:hidden;background:radial-gradient(circle at 40% 25%,rgba(255,255,255,.42),rgba(66,194,242,.18) 34%,rgba(7,62,112,.38) 70%),linear-gradient(150deg,rgba(255,255,255,.2),rgba(0,115,184,.1));border:8px solid #e5f7ff;box-shadow:inset 0 0 0 5px rgba(0,110,177,.45),inset 0 -30px 50px rgba(0,20,56,.3),0 18px 45px rgba(0,0,0,.3)}.tombola-drum:after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.5);border-radius:inherit;pointer-events:none}.tombola-shine{position:absolute;z-index:5;width:50px;height:180px;left:38px;top:18px;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(18deg)}.tombola-axis{position:absolute;left:50%;top:50%;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#66c9f1 35%,#006eaa 70%);transform:translate(-50%,-50%);z-index:7;box-shadow:0 0 0 9px rgba(0,79,132,.22)}.mini-balls{position:absolute;inset:0;z-index:3}.mini-ball{position:absolute;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:.63rem;font-weight:900;color:#102343;border:2px solid rgba(255,255,255,.75);background:radial-gradient(circle at 30% 25%,#fff,#ffe354 45%,#e79000);box-shadow:inset -3px -5px 7px rgba(120,55,0,.2),0 4px 6px rgba(0,0,0,.18);transition:.5s}.mini-ball:nth-child(3n){background:radial-gradient(circle at 30% 25%,#fff,#72d5ff 45%,#007ebd)}.mini-ball:nth-child(4n){background:radial-gradient(circle at 30% 25%,#fff,#ff9d92 45%,#cf3025);color:#fff}.tombola-stage.is-mixing .tombola-drum{animation:drumShake .12s linear infinite}.tombola-stage.is-mixing .mini-ball{animation:miniMix .7s ease-in-out infinite alternate}.tombola-neck{position:absolute;left:50%;top:272px;transform:translateX(-50%);width:58px;height:44px;background:linear-gradient(90deg,#006fae,#89dbf7 45%,#006397);border:4px solid #d9f4ff;z-index:1}.tombola-chute{position:absolute;left:58%;top:292px;width:102px;height:34px;border-radius:0 18px 18px 0;background:linear-gradient(#f5fdff,#61c4e8 50%,#0874a8);transform:rotate(12deg);border:3px solid #dff7ff;z-index:3}.tombola-chute i{position:absolute;right:-8px;top:-6px;width:22px;height:44px;border-radius:8px;background:linear-gradient(#ffdd29,#ef9b00);box-shadow:inset 0 2px rgba(255,255,255,.7)}.tombola-base{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:235px;height:60px;border-radius:22px 22px 12px 12px;background:linear-gradient(180deg,#0a9dde,#04568e);border:4px solid #b9ecff;box-shadow:inset 0 4px rgba(255,255,255,.25),0 18px 30px rgba(0,0,0,.25);display:grid;place-items:center}.tombola-base span{font-size:.65rem;font-weight:900;letter-spacing:.13em;color:#fff}.drawn-ball-wrap{text-align:center;position:relative;z-index:5}.drawn-ball{width:150px;height:150px;border-radius:50%;margin:auto;display:grid;grid-template-rows:.7fr 1.3fr;place-items:center;color:#142544;background:radial-gradient(circle at 28% 22%,#fff,#ffe65a 42%,#ee8d00 78%);border:7px solid rgba(255,255,255,.85);box-shadow:inset -16px -18px 25px rgba(119,55,0,.2),0 20px 45px rgba(0,0,0,.35),0 0 0 10px rgba(255,212,0,.08);transition:.35s}.drawn-ball span{font-size:1.2rem;font-weight:950;align-self:end}.drawn-ball strong{font-size:4.5rem;line-height:.8;align-self:start;letter-spacing:-.08em}.drawn-ball.is-empty{filter:saturate(.5);opacity:.72}.drawn-ball.is-arriving{animation:ballArrive .8s cubic-bezier(.15,.86,.25,1.25)}.drawn-ball-wrap p{color:#9db3cd;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700}.tombola-stage[data-letter="I"] .drawn-ball,.tombola-stage[data-letter="G"] .drawn-ball{background:radial-gradient(circle at 28% 22%,#fff,#74d8ff 42%,#0078b7 78%);color:#fff}.tombola-stage[data-letter="N"] .drawn-ball{background:radial-gradient(circle at 28% 22%,#fff,#84efc0 42%,#159661 78%)}.tombola-stage[data-letter="O"] .drawn-ball{background:radial-gradient(circle at 28% 22%,#fff,#ff9f93 42%,#cc3024 78%);color:#fff}@keyframes drumShake{25%{transform:translateX(-50%) rotate(.8deg)}75%{transform:translateX(-50%) rotate(-.8deg)}}@keyframes miniMix{to{transform:translate(var(--mx),var(--my)) rotate(90deg)}}@keyframes ballArrive{0%{opacity:0;transform:translate(-190px,-110px) scale(.28) rotate(-300deg)}60%{opacity:1;transform:translate(8px,4px) scale(1.12) rotate(12deg)}100%{transform:none}} 
/* Game */
.game-page{width:min(1530px,calc(100% - 30px));margin:25px auto 90px}.game-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding:0 8px}.game-header h1{font-size:clamp(1.7rem,3vw,2.8rem);margin:7px 0 0}.game-live-state{display:flex;align-items:center;gap:16px;color:#b7c8dc;font-size:.85rem}.status-pill{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);font-weight:850;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:#fff}.game-layout{display:grid;grid-template-columns:minmax(470px,1.2fr) minmax(390px,.85fr) 330px;gap:16px;align-items:start}.game-show,.player-zone,.game-chat{background:rgba(7,27,58,.94);border:1px solid rgba(255,255,255,.1);border-radius:24px;box-shadow:0 24px 55px rgba(0,0,0,.24);overflow:hidden}.game-show-top{display:grid;grid-template-columns:1fr 250px;align-items:center;min-height:420px}.game-side-data{padding:20px}.prize-card,.history-card{border-radius:18px;padding:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.prize-card{background:linear-gradient(145deg,rgba(255,212,0,.14),rgba(242,140,0,.04));margin-bottom:14px}.prize-card>span{color:var(--yellow);font-size:.68rem;font-weight:900;letter-spacing:.13em}.prize-card strong{display:block;font-size:1.35rem;margin:10px 0}.prize-card small{color:#9fb5ce}.history-card header,.board-card header{display:flex;align-items:center;justify-content:space-between}.history-card header span{font-size:.82rem;font-weight:800}.history-card header b{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--blue);font-size:.78rem}.draw-history{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.draw-chip{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#122743;font-weight:900;font-size:.78rem;border:3px solid #d9f4ff;box-shadow:0 5px 12px rgba(0,0,0,.2)}.draw-chip.latest{background:var(--yellow);border-color:#fff3a0;animation:chipPulse 1.2s ease infinite}@keyframes chipPulse{50%{transform:scale(1.08);box-shadow:0 0 20px rgba(255,212,0,.45)}}.board-card{border-top:1px solid rgba(255,255,255,.08);padding:20px}.board-card header{margin-bottom:13px}.text-button{border:0;background:none;color:#76cffa;font-size:.78rem;cursor:pointer}.number-board{display:grid;grid-template-columns:repeat(15,1fr);gap:5px}.number-board span{aspect-ratio:1;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.06);color:#91a8c3;font-size:.68rem;font-weight:800;border:1px solid rgba(255,255,255,.05);transition:.3s}.number-board span.is-drawn{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#132743;border-color:#fff2a4;box-shadow:0 5px 13px rgba(242,140,0,.19);transform:scale(1.04)}.player-zone{padding:20px}.card-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-toolbar>div{display:flex;gap:10px;align-items:center}.card-toolbar>div span{font-weight:800}.card-toolbar>div strong{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:var(--blue);font-size:.75rem}.card-toolbar select{background:#0c2b56;color:#fff;border:1px solid rgba(255,255,255,.12);padding:9px 12px;border-radius:10px;max-width:210px}.cards-stack{min-height:420px;display:grid}.bingo-card{display:none;border-radius:19px;overflow:hidden;background:#fff;color:#14233b;border:5px solid #fff;box-shadow:0 22px 45px rgba(0,0,0,.28)}.bingo-card.is-active,.library-card .bingo-card{display:block}.bingo-card>header{height:55px;background:linear-gradient(120deg,#047bbd,#0dbaf0);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-radius:12px 12px 0 0}.bingo-card>header span{font-weight:950;font-size:.85rem;letter-spacing:.06em}.bingo-card>header strong{font-size:.75rem;background:rgba(0,0,0,.16);padding:6px 9px;border-radius:8px}.bingo-head{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:#eaf8ff;padding:7px 6px}.bingo-head b{display:grid;place-items:center;font-size:1.35rem;color:#057fb9}.bingo-head b:nth-child(2){color:#e39700}.bingo-head b:nth-child(3){color:#e74232}.bingo-head b:nth-child(4){color:#19946a}.bingo-head b:nth-child(5){color:#7556d8}.bingo-grid{display:grid;grid-template-columns:repeat(var(--columns),1fr);gap:4px;padding:6px;background:#dbe8f0}.bingo-cell{aspect-ratio:1;border:0;border-radius:8px;background:#fff;color:#172641;display:grid;place-items:center;cursor:pointer;transition:.25s;position:relative;min-width:0;padding:0}.bingo-cell strong{font-size:clamp(.95rem,2vw,1.4rem)}.bingo-cell.is-free{background:linear-gradient(135deg,#fff4a4,var(--yellow));color:#b56d00;display:flex;flex-direction:column}.bingo-cell.is-free span{font-size:1.25rem}.bingo-cell.is-free small{font-size:.47rem;font-weight:900}.bingo-cell.is-marked{background:linear-gradient(145deg,#0db4e7,#0478b8);color:#fff;box-shadow:inset 0 0 0 3px rgba(255,255,255,.55);animation:cellMark .55s ease}.bingo-cell.is-marked:after{content:"★";position:absolute;font-size:.6rem;right:4px;top:2px;color:var(--yellow)}@keyframes cellMark{0%{transform:scale(.75) rotate(-8deg)}55%{transform:scale(1.12)}100%{transform:none}}.bingo-card>footer{display:flex;justify-content:space-between;color:#678099;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;padding:9px 10px 5px}.bingo-card.bingo-90 .bingo-cell strong{font-size:clamp(.68rem,1.5vw,1rem)}.no-card{display:grid;place-content:center;justify-items:center;text-align:center;border:1px dashed rgba(255,255,255,.15);border-radius:18px;color:#9bb1ca}.no-card>div{font-size:3rem;color:var(--yellow)}.no-card h3{color:#fff;margin:8px}.no-card p{max-width:280px;line-height:1.6}.claim-actions{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px;margin-top:16px}.claim-actions .button{padding:13px 8px;font-size:.78rem}.claim-line{background:#e6f7ff;color:#075982}.claim-figure{background:#f0e9ff;color:#5f3eaf}.claim-bingo{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#142542;box-shadow:0 10px 25px rgba(242,140,0,.25)}.game-chat{height:730px}.chat-panel{height:100%;display:flex;flex-direction:column;background:#071b39;color:#fff}.chat-panel>header{padding:18px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between}.chat-panel>header>div{display:flex;flex-direction:column;gap:5px}.chat-panel>header strong{font-size:1rem}.chat-panel>header span{font-size:.72rem;color:#92a9c4}.icon-button{width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#fff;font-size:1.25rem;cursor:pointer}.chat-pinned{padding:11px 14px;background:linear-gradient(120deg,rgba(255,212,0,.18),rgba(242,140,0,.08));border-bottom:1px solid rgba(255,212,0,.23);font-size:.78rem;color:#ffe884}.chat-messages{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#275281 transparent}.chat-empty{text-align:center;color:#718aa7;margin:auto;font-size:.82rem}.chat-message{padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.05)}.chat-message.is-system{background:rgba(0,142,214,.13);border-color:rgba(54,196,255,.16)}.chat-message.is-announcement{background:rgba(255,212,0,.13);border-color:rgba(255,212,0,.2)}.chat-message header{display:flex;justify-content:space-between;margin-bottom:5px}.chat-message header strong{font-size:.74rem;color:#80d8ff}.chat-message.is-announcement header strong{color:var(--yellow)}.chat-message header small{font-size:.62rem;color:#728ba8}.chat-message p{font-size:.82rem;line-height:1.45;margin:0;color:#e1ecfa;overflow-wrap:anywhere}.chat-form{border-top:1px solid rgba(255,255,255,.09);padding:12px;display:grid;grid-template-columns:1fr auto;gap:7px}.chat-form input{border:1px solid rgba(255,255,255,.1);background:#0b2a52;color:#fff;border-radius:11px;padding:11px;min-width:0}.chat-form button{border:0;border-radius:11px;background:var(--yellow);color:#122642;font-weight:900;padding:0 12px}.chat-login{padding:17px;text-align:center;border-top:1px solid rgba(255,255,255,.08)}.chat-login a{color:var(--yellow);font-weight:800}.mobile-chat-button{display:none;position:fixed;right:18px;bottom:18px;z-index:100;border:0;border-radius:999px;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#172743;font-weight:900;padding:13px 18px;box-shadow:0 16px 35px rgba(0,0,0,.3)}.mobile-chat-button span{background:#e43c31;color:#fff;border-radius:999px;padding:2px 6px;font-size:.68rem}.winner-overlay{position:fixed;z-index:300;inset:0;background:rgba(1,6,16,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}.winner-overlay>div{width:min(520px,100%);text-align:center;background:linear-gradient(150deg,#0a2d58,#07162f);border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:32px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.winner-overlay img{height:230px}.winner-overlay span{display:block;color:var(--yellow);font-weight:950;letter-spacing:.12em}.winner-overlay h2{font-size:2.3rem;margin:9px}.winner-overlay p{color:#b4c7dc}.confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:290;overflow:hidden}.confetti{position:absolute;top:-20px;width:10px;height:16px;animation:confettiFall 3.5s linear forwards}@keyframes confettiFall{to{transform:translate(var(--x),110vh) rotate(720deg)}}.empty-state{min-height:380px;display:grid;place-content:center;justify-items:center;text-align:center;color:#9db3cd;padding:30px}.empty-state img{height:210px}.empty-state h2{color:#fff;font-size:2rem;margin:8px}.empty-state p{max-width:520px;line-height:1.7}.cards-library{width:min(1320px,calc(100% - 40px));margin:0 auto 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.library-card{background:#fff;color:#1a2940;border-radius:22px;padding:14px;box-shadow:0 16px 45px rgba(6,25,51,.1)}.library-card>header,.library-card>footer{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 14px}.library-card>header span{font-weight:800}.library-card>header b{font-size:.66rem;text-transform:uppercase;color:var(--blue)}.library-card>footer{padding:12px 4px 2px;color:#6d8198;font-size:.75rem}
/* Screen */
.screen-body{background:#020815;color:#fff;overflow:hidden}.public-screen{height:100vh;display:grid;grid-template-rows:90px 1fr 46px;background:radial-gradient(circle at 20% 30%,rgba(0,142,214,.24),transparent 32%),radial-gradient(circle at 80% 20%,rgba(242,140,0,.16),transparent 28%),linear-gradient(145deg,#020713,#071c3b)}.screen-header{display:grid;grid-template-columns:240px 1fr auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding:8px 28px;background:rgba(2,9,24,.55)}.screen-header img{width:190px;height:75px;object-fit:contain}.screen-header>div:nth-child(2){display:flex;flex-direction:column;text-align:center}.screen-header>div:nth-child(2) span{color:var(--yellow);font-size:.76rem;letter-spacing:.15em;font-weight:900;text-transform:uppercase}.screen-header>div:nth-child(2) strong{font-size:1.55rem}.screen-status{display:flex;align-items:center;gap:10px;text-transform:uppercase;font-weight:800;font-size:.75rem}.screen-status i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(58,213,139,.11)}.screen-status button{width:38px;height:38px;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:rgba(255,255,255,.07);color:#fff}.screen-grid{display:grid;grid-template-columns:1.1fr .55fr .8fr;gap:16px;padding:16px;min-height:0}.screen-tombola,.screen-info,.screen-board{background:rgba(7,26,55,.78);border:1px solid rgba(255,255,255,.09);border-radius:24px;min-height:0}.screen-tombola{display:grid;place-items:center}.screen-tombola .tombola-stage{transform:scale(1.12)}.screen-info{display:flex;flex-direction:column;padding:20px;gap:14px}.screen-prize{background:linear-gradient(145deg,rgba(255,212,0,.16),rgba(242,140,0,.05));border:1px solid rgba(255,212,0,.16);border-radius:18px;padding:22px}.screen-prize span{font-size:.72rem;color:var(--yellow);font-weight:900;letter-spacing:.12em}.screen-prize strong{font-size:1.6rem;display:block;margin:12px 0}.screen-prize small{color:#a9bdd5}.last-draws{flex:1;border-radius:18px;background:rgba(255,255,255,.045);padding:18px}.last-draws>span{font-size:.7rem;letter-spacing:.12em;font-weight:900;color:#a9bdd5}.last-draws>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.last-draws .draw-chip{width:auto;aspect-ratio:1;font-size:1rem}.screen-winner{border-radius:18px;padding:20px;text-align:center;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#172743;animation:winnerGlow 1s ease infinite alternate}.screen-winner span{font-size:.72rem;letter-spacing:.12em;font-weight:950}.screen-winner strong{display:block;font-size:1.5rem;margin:7px}.screen-board{padding:18px;overflow:hidden}.screen-section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.screen-section-title span{font-weight:900}.screen-section-title b{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--blue)}.screen-board .number-board{grid-template-columns:repeat(10,1fr);gap:7px}.screen-board .number-board span{font-size:.88rem;border-radius:9px}.screen-announcement{position:fixed;left:50%;top:105px;transform:translateX(-50%);z-index:60;width:min(1000px,80%);padding:16px 24px;border-radius:16px;text-align:center;background:linear-gradient(135deg,var(--yellow),var(--orange));color:#132542;font-size:1.2rem;font-weight:900;box-shadow:0 20px 45px rgba(0,0,0,.35)}.screen-footer{display:flex;justify-content:space-between;align-items:center;padding:0 28px;color:#91a9c4;font-size:.78rem;border-top:1px solid rgba(255,255,255,.08);background:#020817}.screen-footer strong{color:#fff}@keyframes winnerGlow{to{box-shadow:0 0 40px rgba(255,212,0,.45);transform:scale(1.02)}}
/* Operator */
.operator-body{background:#041126;color:#fff;min-height:100vh}.operator-top{height:84px;display:flex;align-items:center;gap:18px;padding:8px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:#061833}.operator-top>a:first-child img{width:150px;height:65px;object-fit:contain}.operator-top>div{display:flex;flex-direction:column;flex:1}.operator-top span{font-size:.73rem;color:#8fa7c3}.operator-console{display:grid;grid-template-columns:1fr 360px;gap:16px;padding:16px}.operator-main,.operator-side{min-width:0}.operator-game-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.operator-game-title h1{margin:5px 0 0;font-size:2rem}.operator-stage{display:grid;grid-template-columns:1fr 240px;background:#071c3b;border:1px solid rgba(255,255,255,.09);border-radius:24px;overflow:hidden}.operator-tombola .tombola-stage{min-height:390px}.operator-stats{padding:18px;display:grid;gap:10px}.operator-stats article{padding:15px;border-radius:15px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column}.operator-stats span{font-size:.69rem;color:#91a8c4;text-transform:uppercase;letter-spacing:.08em}.operator-stats strong{font-size:1.3rem;margin-top:5px}.operator-controls,.operator-board,.operator-card{background:#071c3b;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:20px;margin-top:14px}.operator-controls h2,.operator-board h2,.operator-card h2{margin:0 0 16px;font-size:1.1rem}.control-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.control-button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);color:#fff;border-radius:15px;padding:14px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;transition:.2s}.control-button:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.control-button b{font-size:1.25rem}.control-button span{font-size:.69rem;font-weight:800}.control-button.primary{background:linear-gradient(135deg,var(--yellow),var(--orange));color:#142640}.control-button.warn{background:rgba(242,140,0,.15);border-color:rgba(242,140,0,.25)}.control-button.danger{background:rgba(231,66,50,.16);border-color:rgba(231,66,50,.28)}.physical-control{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.physical-control label{display:flex;flex-direction:column;font-weight:800}.physical-control label span{font-size:.68rem;font-weight:400;color:#8fa6c0;margin-top:4px}.physical-control>div{display:flex;gap:8px}.physical-control input{width:110px;background:#0b2b56;color:#fff;border-color:rgba(255,255,255,.12)}.operator-board header{display:flex;justify-content:space-between}.operator-board .number-board{grid-template-columns:repeat(15,1fr)}.operator-side{display:flex;flex-direction:column}.operator-card{margin-top:0;margin-bottom:14px}.operator-card textarea{background:#0b2b56;color:#fff;border-color:rgba(255,255,255,.12);min-height:90px;resize:vertical}.operator-card form{display:grid;gap:10px}.operator-card.compact{height:430px;padding:0;overflow:hidden}.claims-list{display:grid;gap:8px;max-height:250px;overflow:auto}.claims-list article{display:flex;align-items:center;justify-content:space-between;border-radius:13px;padding:11px;background:rgba(255,255,255,.05)}.claims-list article>div{display:flex;flex-direction:column}.claims-list span{font-size:.68rem;color:#91a8c4}
/* Admin */
.admin-body{background:#f1f5fa;color:#18263e;min-height:100vh}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;background:linear-gradient(180deg,#061831,#041023);color:#a9bdd4;padding:18px 14px;z-index:80;overflow:auto}.admin-brand{display:flex;align-items:center;gap:10px;text-decoration:none;padding:0 8px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-brand img{width:100px;height:70px;object-fit:contain}.admin-brand span{font-size:.8rem;font-weight:800;color:#fff}.admin-sidebar nav{display:grid;gap:3px;margin-top:16px}.admin-sidebar nav a{text-decoration:none;padding:11px 13px;border-radius:11px;font-size:.83rem;font-weight:750}.admin-sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff}.admin-shell{margin-left:260px;min-height:100vh}.admin-top{height:72px;background:#fff;border-bottom:1px solid #e3e9f1;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 28px;position:sticky;top:0;z-index:45}.admin-top>div{font-size:.82rem;font-weight:800}.admin-menu-toggle{display:none}.admin-content{padding:28px;max-width:1680px;margin:auto}.admin-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-page-head h1{font-size:2.5rem;letter-spacing:-.04em;margin:6px 0}.admin-page-head p{color:#687c95;margin:0;max-width:760px}.admin-page-head .eyebrow{color:#087eb8}.head-actions{display:flex;gap:8px}.admin-card{background:#fff;border:1px solid #e3eaf2;border-radius:20px;padding:22px;box-shadow:0 10px 35px rgba(14,38,70,.06);min-width:0}.admin-card>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.admin-card>header h2{margin:0;font-size:1.18rem}.admin-card>header p{margin:5px 0 0}.admin-card>header a{font-size:.78rem;color:#087eb8;font-weight:800}.active-room-banner{display:grid;grid-template-columns:1.1fr 1.4fr .8fr .7fr;border-radius:20px;overflow:hidden;background:linear-gradient(120deg,#061831,#0b3970);color:#fff;margin-bottom:18px;box-shadow:0 15px 40px rgba(5,26,56,.18)}.active-room-banner>div{padding:19px 22px;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:5px}.active-room-banner span{font-size:.63rem;letter-spacing:.12em;color:#8fa8c5;font-weight:900}.active-room-banner strong{font-size:1rem}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}.metric-grid article{background:#fff;border:1px solid #e3eaf2;border-radius:18px;padding:18px;box-shadow:0 9px 28px rgba(12,36,67,.05);display:flex;flex-direction:column}.metric-grid span{font-size:.72rem;color:#71849c;font-weight:800}.metric-grid strong{font-size:2rem;letter-spacing:-.04em;margin:6px 0}.metric-grid small{font-size:.68rem;color:#91a0b2}.admin-two-cols{display:grid;grid-template-columns:.82fr 1.18fr;gap:18px;margin-bottom:18px}.admin-two-cols.align-start{align-items:start}.admin-card.wide{min-width:0}.activity-list{display:grid}.activity-list article{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.activity-list i{width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(0,142,214,.09)}.activity-list div{display:flex;flex-direction:column}.activity-list strong{font-size:.82rem;text-transform:capitalize}.activity-list span{font-size:.68rem;color:#8291a5;margin-top:3px}.mini-winners{display:grid;gap:9px}.mini-winners article{display:flex;gap:11px;align-items:center;background:#f8fafc;padding:11px;border-radius:13px}.mini-winners article>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff1ac;color:#df8b00}.mini-winners div{display:flex;flex-direction:column}.mini-winners small{color:#75879d}.empty-mini{color:#8292a6;padding:30px;text-align:center}.quick-start{background:#fff;border:1px solid #e3eaf2;border-radius:20px;padding:22px;display:grid;grid-template-columns:270px 1fr;gap:25px}.quick-start h2{margin:6px 0}.quick-start .eyebrow{color:#087eb8}.quick-start ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-start li{border-radius:14px;background:#f6f9fc;padding:13px;display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center}.quick-start li b{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#dff4ff;color:#087eb8}.quick-start li span{font-size:.75rem;font-weight:800}.quick-start li a{grid-column:2;font-size:.68rem;color:#087eb8;font-weight:800}.admin-form{display:grid;gap:14px}.admin-form textarea{resize:vertical}.admin-form .button{width:100%}.room-list{display:grid;gap:10px}.room-item{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid #e7edf4;border-radius:15px}.room-item.is-active{border-color:#72d7a8;background:#f4fff9}.room-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#e7f6ff;color:#047db8;font-size:1.3rem}.room-data>div{display:flex;align-items:center;gap:8px}.room-data p{font-size:.78rem;color:#71839b;margin:5px 0}.room-data small{color:#8998aa}.active-badge{font-size:.7rem;background:#dff9ec;color:#13794c;border-radius:999px;padding:7px 10px;font-weight:800}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th{text-align:left;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:#77899f;padding:11px 10px;border-bottom:1px solid #e2e8f0}.table-wrap td{font-size:.78rem;padding:12px 10px;border-bottom:1px solid #edf1f5;vertical-align:middle}.table-wrap tr:last-child td{border-bottom:0}.cell-sub{display:block;color:#8594a8;margin-top:3px}.table-link{color:#087eb8;font-weight:800;text-decoration:none}.table-empty{text-align:center!important;color:#8595a8;padding:40px!important}.status-tag{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;background:#e9eef5;color:#61748e}.status-active,.status-running,.status-valid,.status-confirmed{background:#daf8e9;color:#14754c}.status-waiting,.status-sales_open,.status-scheduled,.status-countdown{background:#e2f5ff;color:#0878ad}.status-paused,.status-pending{background:#fff1cc;color:#9a6100}.status-blocked,.status-cancelled,.status-invalid{background:#ffe2e2;color:#ad2c37}.status-draft{background:#eceff4;color:#66748a}.status-won,.status-winner{background:#fff0a8;color:#946000}.filter-card{margin-bottom:18px;padding:14px 18px}.inline-form{display:flex;align-items:center}.inline-form label{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:800}.filter-card select{min-width:330px;background:#f7f9fc}.assign-details summary{cursor:pointer;color:#087eb8;font-weight:800}.assign-details form{width:260px;display:grid;gap:6px;padding:10px;background:#f5f8fc;border-radius:12px;margin-top:7px;position:absolute;right:25px;z-index:20;box-shadow:0 15px 40px rgba(0,0,0,.15)}.mini-form{display:flex;gap:5px}.mini-form select{padding:7px;width:100px}.mini-form button,.moderation-actions button{border:0;border-radius:8px;padding:7px 9px;font-size:.68rem;font-weight:800;background:#e3f4ff;color:#0876aa;cursor:pointer}.prize-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prize-admin-grid article{display:flex;gap:12px;background:#f7f9fc;border:1px solid #edf0f5;border-radius:15px;padding:15px}.prize-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff1ae;color:#db8900;font-size:1.1rem}.prize-admin-grid article>div{flex:1}.prize-admin-grid strong,.prize-admin-grid small{display:block}.prize-admin-grid small{color:#7e8fa3}.prize-admin-grid p{font-size:.73rem;color:#718399}.prize-admin-grid article>div>div{display:flex;justify-content:space-between;font-size:.66rem;text-transform:uppercase}.moderation-list{display:grid;gap:8px;max-height:720px;overflow:auto}.moderation-list article{padding:13px;border:1px solid #e7ecf3;border-radius:14px}.moderation-list article.is-deleted{opacity:.45}.moderation-meta{display:flex;justify-content:space-between}.moderation-meta span{font-size:.65rem;color:#8090a4}.moderation-list p{font-size:.8rem}.moderation-actions{display:flex;gap:5px}.moderation-actions form{margin:0}.moderation-actions .danger-link{background:#ffe9e9;color:#ad3340}.admin-card hr{border:0;border-top:1px solid #e9edf3;margin:24px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid .admin-card{display:grid;gap:15px}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-grid input[type=color]{height:52px;padding:5px}.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:15px}.switch-row>span{display:flex;flex-direction:column}.switch-row small{font-weight:400;color:#8190a3;margin-top:3px}.switch-row select{width:150px}.warning-card{background:#fffaf0;border-color:#ffe1a3}.warning-card p{font-size:.8rem;line-height:1.6;color:#755d31}.sticky-save{position:sticky;bottom:18px;display:flex;justify-content:flex-end;margin:18px 0}.sticky-save button{min-width:220px}.admin-card pre{max-width:380px;white-space:pre-wrap;word-break:break-word;font-size:.66rem}.info-box{margin-top:18px;padding:14px;border-radius:13px;background:#e8f7ff;color:#0a638e;font-size:.78rem}
@media(max-width:1280px){.game-layout{grid-template-columns:1fr .85fr}.game-chat{grid-column:1/-1;height:390px}.game-chat .chat-panel{display:grid;grid-template-rows:auto 1fr auto}.feature-grid{grid-template-columns:1fr 1fr}.operator-console{grid-template-columns:1fr}.operator-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}.operator-card.compact{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(3,1fr)}.quick-start{grid-template-columns:1fr}.public-screen{overflow:auto;height:auto;min-height:100vh}.screen-grid{grid-template-columns:1fr 1fr}.screen-board{grid-column:1/-1}.screen-tombola .tombola-stage{transform:none}}
@media(max-width:1000px){.hero-section{grid-template-columns:1fr;padding-top:70px}.hero-visual{min-height:500px}.hero-copy{text-align:center}.hero-copy>p{margin-inline:auto}.hero-actions,.hero-stats{justify-content:center}.feature-strip{grid-template-columns:1fr;margin-top:0}.feature-strip article{border-right:0;border-bottom:1px solid #e7edf5}.feature-grid{grid-template-columns:1fr 1fr}.winner-grid,.cards-library{grid-template-columns:1fr 1fr}.cta-section{grid-template-columns:130px 1fr}.cta-section img{width:130px;height:130px}.cta-section .button{grid-column:1/-1}.auth-page{grid-template-columns:1fr}.auth-visual{min-height:380px}.game-layout{grid-template-columns:1fr}.game-chat{position:fixed;inset:80px 12px 12px;z-index:150;height:auto;display:none}.game-chat.is-open{display:block}.mobile-chat-button{display:block}.game-show-top{grid-template-columns:1fr 230px}.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.is-open{transform:none}.admin-shell{margin-left:0}.admin-menu-toggle{display:block;margin-right:auto;border:0;background:#eef3f8;width:40px;height:40px;border-radius:11px}.admin-two-cols{grid-template-columns:1fr}.active-room-banner{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.operator-top{flex-wrap:wrap;height:auto}.control-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.topbar{width:calc(100% - 24px);height:74px}.brand-link img{width:68px;height:52px}.brand-link span{display:none}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:#06172f;border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:10px;box-shadow:var(--shadow)}.main-nav.is-open{display:flex}.main-nav>a,.nav-logout{text-align:left;width:100%}.hero-section{width:calc(100% - 26px);padding-top:35px;min-height:auto}.hero-copy h1{font-size:3.35rem}.hero-copy>p{font-size:.98rem}.hero-actions{flex-direction:column}.hero-stats{gap:12px;display:grid;grid-template-columns:1fr 1fr}.hero-stats div:last-child{grid-column:1/-1}.hero-visual{min-height:400px}.orbit-one{width:370px;height:230px}.orbit-two{width:300px;height:360px}.floating-ball{width:56px;height:56px}.live-card{bottom:2%}.feature-strip{width:calc(100% - 26px);margin-bottom:45px}.section{width:calc(100% - 26px);padding:55px 0}.dark-section{width:100%;padding-inline:13px}.feature-grid,.winner-grid,.cards-library{grid-template-columns:1fr}.cta-section{width:calc(100% - 26px);padding:26px;grid-template-columns:90px 1fr}.cta-section img{width:90px;height:90px}.site-footer{grid-template-columns:1fr;gap:28px}.auth-page{width:calc(100% - 24px);margin-top:10px}.auth-visual{padding:25px;min-height:330px}.auth-visual img{width:42%}.auth-visual h1{font-size:2.4rem}.auth-card{padding:28px}.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}.game-page{width:calc(100% - 18px);margin-top:12px}.game-header{align-items:flex-start;gap:10px}.game-live-state{flex-direction:column;align-items:flex-end}.game-show-top{grid-template-columns:1fr}.game-side-data{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prize-card{margin:0}.tombola-stage{min-height:340px;grid-template-columns:1fr .42fr;padding:6px}.tombola-machine{transform:scale(.82);transform-origin:center}.drawn-ball{width:100px;height:100px}.drawn-ball strong{font-size:3rem}.number-board{grid-template-columns:repeat(10,1fr)}.player-zone{padding:12px}.claim-actions{position:sticky;bottom:8px;z-index:10}.bingo-cell strong{font-size:1rem}.bingo-card.bingo-90 .bingo-cell strong{font-size:.62rem}.public-screen{display:block}.screen-header{grid-template-columns:120px 1fr;padding:5px 12px;height:82px}.screen-header img{width:110px}.screen-header>div:nth-child(2) strong{font-size:1rem}.screen-status{display:none}.screen-grid{grid-template-columns:1fr;padding:8px}.screen-info,.screen-board,.screen-tombola{min-height:380px}.screen-board{grid-column:auto}.screen-board .number-board{grid-template-columns:repeat(10,1fr)}.screen-footer{height:45px;padding:0 12px}.screen-footer strong{display:none}.operator-console{padding:8px}.operator-stage{grid-template-columns:1fr}.operator-stats{grid-template-columns:1fr 1fr}.control-grid{grid-template-columns:repeat(3,1fr)}.physical-control{flex-direction:column;align-items:stretch}.operator-side{grid-template-columns:1fr}.operator-card.compact{grid-column:auto}.admin-content{padding:16px}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-page-head h1{font-size:2rem}.head-actions{width:100%;flex-wrap:wrap}.active-room-banner{grid-template-columns:1fr}.active-room-banner>div{border-bottom:1px solid rgba(255,255,255,.08)}.metric-grid{grid-template-columns:1fr 1fr}.quick-start ol{grid-template-columns:1fr}.prize-admin-grid{grid-template-columns:1fr}.color-grid{grid-template-columns:1fr}.switch-row{align-items:flex-start;flex-direction:column}.switch-row select{width:100%}.room-item{grid-template-columns:42px 1fr}.room-actions{grid-column:1/-1}.inline-form label{align-items:flex-start;flex-direction:column}.filter-card select{min-width:0;width:100%}.admin-top{padding:0 14px}.admin-top>div{display:none}}
@media(max-width:430px){.hero-copy h1{font-size:2.9rem}.hero-visual{min-height:350px}.hero-mascot{width:90%}.floating-ball.b1{left:0}.floating-ball.b2{right:0}.game-show-top .tombola-stage{grid-template-columns:1fr}.game-show-top .drawn-ball-wrap{position:absolute;right:8px;top:90px}.game-side-data{grid-template-columns:1fr}.cards-stack{min-height:350px}.claim-actions{grid-template-columns:1fr 1fr}.claim-bingo{grid-column:1/-1}.metric-grid{grid-template-columns:1fr}.cta-section{grid-template-columns:1fr;text-align:center}.cta-section img{margin:auto}.auth-visual{display:none}.auth-card{padding:24px}.screen-tombola .drawn-ball-wrap{position:absolute;right:20px}.operator-stats{grid-template-columns:1fr}.control-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.hero-mascot,.floating-ball{animation:none}.tombola-stage.is-mixing .tombola-drum,.tombola-stage.is-mixing .mini-ball{animation:none}}

.number-board.is-hidden{display:none}.operator-card input,.operator-card select{width:100%;border:1px solid rgba(255,255,255,.12);background:#0b2a52;color:#fff;border-radius:12px;padding:12px 13px;outline:none}.operator-card select option{color:#10213b;background:#fff}
/* === Partida finalizada (banner + cinta cruzada sobre la tómbola) === */
.game-ended-banner{width:min(1530px,calc(100% - 30px));margin:0 auto 14px;background:linear-gradient(135deg,#e74232,#a1271b);color:#fff;font-weight:900;text-align:center;padding:14px 18px;border-radius:16px;letter-spacing:.02em;box-shadow:0 14px 34px rgba(231,66,50,.3)}
.game-ended-banner span{margin-right:6px;color:#ffd0c9}
.game-layout.is-ended .game-show{position:relative}
.game-layout.is-ended .game-show::after{content:"FINALIZADA";position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;letter-spacing:.14em;color:rgba(255,255,255,.95);background:rgba(9,20,40,.5);transform:rotate(-9deg);text-shadow:0 6px 24px rgba(0,0,0,.6);pointer-events:none;z-index:6;border-radius:24px}
/* === Mis cartones en filas expandibles === */
.cards-rows{width:min(1050px,calc(100% - 40px));margin:0 auto 90px;display:grid;gap:12px}
.cards-rows-head{width:min(1050px,calc(100% - 40px));margin:0 auto 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.card-row{background:#fff;color:#18263d;border-radius:16px;box-shadow:0 12px 35px rgba(6,25,51,.1);overflow:hidden}
.card-row>summary{list-style:none;cursor:pointer;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}
.card-row>summary::-webkit-details-marker{display:none}
.card-row>summary .cr-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.card-row>summary .cr-meta small{color:#71839a;font-weight:600;font-size:.8rem}
.card-row>summary .cr-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.card-row>summary .cr-code{font-family:ui-monospace,monospace;font-size:.82rem;color:#33465f}
.card-row>summary .cr-open{color:#0a6c9e;font-size:.82rem}
.card-row[open]>summary{border-bottom:1px solid #e7edf5}
.card-row[open]>summary .cr-open:after{content:" ▲"}
.card-row:not([open])>summary .cr-open:after{content:" ▼"}
.card-open{padding:16px 20px;display:grid;place-items:center}
.card-open .bingo-card{max-width:420px;width:100%}
/* === Crédito del desarrollador en el footer === */
.footer-credit{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);margin-top:16px;padding-top:18px;text-align:center;font-size:.82rem;color:#8fa6c4}
.footer-credit a{color:var(--yellow);font-weight:800;text-decoration:none}
.footer-credit a:hover{text-decoration:underline}
/* === Correcciones de contraste (v1.0.1) === */
/* Botón "Cerrar sesión" de la barra admin: era blanco sobre blanco */
.admin-top .button-ghost{background:#eef3f8;color:#20324c;border:1px solid #d7e0ea}
.admin-top .button-ghost:hover{background:#e2ebf3;color:#132133}
/* Eyebrows sobre tarjetas blancas del admin: el amarillo no se leía */
.admin-body .eyebrow{color:#0a6c9e}
/* Eyebrow amarillo sobre secciones públicas claras (p.ej. "Últimos resultados"
   en la sección de ganadores) tampoco se leía: usar azul de marca. */
.site-body .section:not(.dark-section) .eyebrow{color:#0a6c9e}
/* === "Últimas bolitas": el texto "G-46" se partía en dos líneas dentro del
   círculo. Ahora se apila la letra (arriba, pequeña) y el número (abajo, grande),
   como una mini-bolita, en pantalla, operador y juego. === */
.draw-chip{line-height:1;text-align:center;padding:2px}
.draw-chip b{font-weight:800;font-size:.55em;line-height:1;letter-spacing:.03em;opacity:.92}
.draw-chip i{font-style:normal;font-weight:900;font-size:1.18em;line-height:1}
/* En la pantalla pública las bolitas son grandes: círculo con altura fija
   (la regla base fijaba height:38px, que con aspect-ratio dejaba el ancho en 38). */
.last-draws > div{grid-template-columns:repeat(4,1fr);gap:12px;justify-items:center}
.last-draws .draw-chip{width:auto;height:clamp(54px,4.6vw,82px);min-width:0;aspect-ratio:1;font-size:clamp(1.15rem,1.5vw,1.6rem);padding:0}
/* === Panel del animador: el tablero oficial tenía celdas gigantes en pantallas
   anchas (aspect-ratio:1 en 15 columnas). Lo capamos a un tamaño intermedio,
   cómodo y legible, sin encoger la tómbola, estadísticas ni el chat. === */
.operator-board .number-board{max-width:940px;gap:8px}
.operator-board .number-board span{font-size:clamp(.72rem,.85vw,.98rem)}
/* El chat del operador debe verse completo (alto suficiente para leer mensajes) */
.operator-card.compact{height:460px}
/* Textos auxiliares atenuados: subir a AA sobre fondo blanco */
.metric-grid small,.mini-winners small,.room-data small,.prize-admin-grid small,.prize-admin-grid p,.cell-sub,.activity-list span,.moderation-meta span,.claims-list span{color:#5c6b81}
/* El overlay de ganador tiene display:grid, que anulaba el atributo [hidden]:
   quedaba visible y bloqueaba /jugar aunque no hubiera ganador. */
.winner-overlay[hidden]{display:none!important}
/* === Franja blanca del hero: las estadísticas caían bajo el corte fijo de 750px
   del fondo del body. Le damos al hero su propio fondo oscuro a plena anchura,
   que cubre toda su altura en cualquier viewport (desktop y móvil). === */
.site-body .hero-section{position:relative}
.site-body .hero-section::before{content:"";position:absolute;z-index:-2;left:50%;transform:translateX(-50%);width:100vw;top:-170px;bottom:-6px;background:linear-gradient(160deg,#020817,#061a3b 55%,#061329);pointer-events:none}
/* === Animación de tómbola mejorada (v1.0.3) === */
.drawn-ball{position:relative}
/* Mezcla: tambor más enérgico y bolitas internas girando más rápido */
.tombola-stage.is-mixing .tombola-drum{animation:drumShake .1s linear infinite}
@keyframes drumShake{0%{transform:translateX(-50%) rotate(-1.5deg)}50%{transform:translateX(-50%) rotate(1.5deg) scale(1.012)}100%{transform:translateX(-50%) rotate(-1.5deg)}}
.tombola-stage.is-mixing .mini-ball{animation-duration:.45s!important}
.tombola-stage.is-mixing .tombola-glow{animation:glowPulse .9s ease-in-out infinite}
@keyframes glowPulse{50%{opacity:.55;transform:scale(1.12)}}
/* Suspenso: la bolita destino late y vibra mientras giran los números */
.tombola-stage.is-mixing .drawn-ball{animation:ballSuspense .55s ease-in-out infinite}
@keyframes ballSuspense{50%{transform:scale(.9) rotate(-7deg);filter:brightness(1.18) saturate(1.1)}}
/* Llegada: rebote más marcado y un poco más largo */
.drawn-ball.is-arriving{animation:ballArrive 1.15s cubic-bezier(.18,.86,.26,1.3)}
@keyframes ballArrive{0%{opacity:0;transform:translate(-215px,-135px) scale(.18) rotate(-400deg)}52%{opacity:1;transform:translate(12px,7px) scale(1.18) rotate(16deg)}70%{transform:translate(-5px,-3px) scale(.95) rotate(-5deg)}84%{transform:translate(2px,1px) scale(1.05) rotate(2deg)}100%{transform:none}}
/* Destello radial en el momento de aparecer */
.drawn-ball.is-arriving::before{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,0) 68%);animation:ballFlash .75s ease-out forwards;pointer-events:none;z-index:-1}
@keyframes ballFlash{0%{opacity:.95;transform:scale(.35)}100%{opacity:0;transform:scale(1.7)}}
/* === Tómbola v2: acabado más profesional y moderno === */
.tombola-glow{background:radial-gradient(circle,rgba(0,200,255,.4),rgba(0,120,220,.12) 45%,transparent 66%);filter:blur(16px);width:360px;height:360px}
.tombola-machine{animation:tombFloat 6s ease-in-out infinite}
@keyframes tombFloat{50%{transform:translateY(-7px)}}
/* Domo de vidrio con reflejos, profundidad y aro metálico */
.tombola-drum{border:9px solid #eafaff;background:
  radial-gradient(120% 95% at 32% 20%,rgba(255,255,255,.6),rgba(255,255,255,.05) 32%,transparent 48%),
  radial-gradient(70% 60% at 72% 82%,rgba(0,140,214,.4),transparent 62%),
  radial-gradient(circle at 50% 46%,rgba(9,42,78,.2),rgba(6,26,54,.55) 74%),
  linear-gradient(160deg,rgba(180,235,255,.34),rgba(0,90,150,.12));
  box-shadow:inset 0 0 0 4px rgba(0,120,185,.4),inset 0 -34px 60px rgba(0,16,46,.5),inset 0 20px 44px rgba(255,255,255,.4),0 26px 64px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.25),0 0 60px rgba(0,170,255,.15)}
.tombola-shine{background:linear-gradient(95deg,transparent,rgba(255,255,255,.4),transparent);width:60px;height:200px;filter:blur(2px)}
/* Aro interior de bolitas que gira al mezclar (efecto tómbola real) */
.mini-balls{transform-origin:50% 50%}
.tombola-stage.is-mixing .mini-balls{animation:ringSpin 1.5s linear infinite}
@keyframes ringSpin{to{transform:rotate(360deg)}}
.mini-ball{border:2px solid rgba(255,255,255,.85);box-shadow:inset -3px -5px 7px rgba(120,55,0,.22),inset 3px 4px 6px rgba(255,255,255,.5),0 5px 8px rgba(0,0,0,.22)}
/* Tapa y base metálicas */
.tombola-cap{background:linear-gradient(180deg,#ffe25a,#f4a300);box-shadow:inset 0 3px rgba(255,255,255,.75),inset 0 -7px 11px rgba(150,80,0,.32),0 10px 22px rgba(0,0,0,.3)}
.tombola-base{background:linear-gradient(180deg,#12b2f2,#045a92 68%,#033b63);border:5px solid #d6f3ff;box-shadow:inset 0 5px rgba(255,255,255,.4),inset 0 -13px 22px rgba(0,20,50,.42),0 20px 36px rgba(0,0,0,.32)}
.tombola-neck{background:linear-gradient(90deg,#0a6fae,#8fdcf7 45%,#065f97);box-shadow:inset 0 2px rgba(255,255,255,.5)}
.tombola-chute{background:linear-gradient(#f7fdff,#67c7ea 50%,#0779ac);box-shadow:inset 0 2px rgba(255,255,255,.55),0 8px 16px rgba(0,0,0,.2)}
.tombola-axis{background:radial-gradient(circle at 35% 30%,#fff,#66c9f1 35%,#006eaa 70%);box-shadow:0 0 0 9px rgba(0,79,132,.22),0 0 18px rgba(0,180,255,.5)}
/* Bolita extraída: gloss más marcado, aro luminoso y llegada más pulida */
.drawn-ball{box-shadow:inset -18px -20px 30px rgba(119,55,0,.22),inset 13px 15px 24px rgba(255,255,255,.55),0 22px 50px rgba(0,0,0,.4),0 0 0 10px rgba(255,212,0,.1),0 0 34px rgba(255,196,0,.22);border-width:8px}
.tombola-stage.is-mixing .drawn-ball{box-shadow:inset -18px -20px 30px rgba(119,55,0,.22),inset 13px 15px 24px rgba(255,255,255,.55),0 22px 50px rgba(0,0,0,.4),0 0 0 10px rgba(255,255,255,.06)}
.tombola-stage[data-letter="I"] .drawn-ball,.tombola-stage[data-letter="G"] .drawn-ball{box-shadow:inset -18px -20px 30px rgba(0,60,110,.28),inset 13px 15px 24px rgba(255,255,255,.55),0 22px 50px rgba(0,0,0,.4),0 0 0 10px rgba(54,196,255,.12),0 0 34px rgba(0,170,255,.25)}
.drawn-ball-wrap p{font-weight:800;color:#bcd3ec}
