:root{font-family:Arial Black,Segoe UI,sans-serif;color:#f4f4f4;background:#d7d0c4;line-height:1.1;font-weight:700;text-transform:uppercase;--blue: #0b2c7a;--blue-2: #143f90;--blue-deep: #061d4a;--blue-dark: #082058;--yellow: #f5d447;--yellow-strong: #f2c301;--yellow-light: #fff5b8;--white: #f5f5f5;--cell: rgba(255, 255, 255, .12);--slate: #dfe9f0;--black: #141416;--border-light: rgba(255, 255, 255, .25);--border-dark: rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;height:100%;background:linear-gradient(135deg,#d8d2ca,#c9c4b8,#b8b2a6)}body{display:grid;place-items:center;overflow:auto}button,input,select{font:inherit}.board-shell{width:min(96vw,2300px);max-width:100%;background:linear-gradient(180deg,#0a2d7a,#0d2b79,#082058);border:8px solid #1d2430;box-shadow:0 6px 24px #00000059,inset 0 0 0 3px #ffffff1a,inset 0 0 0 14px #ffffff0d;padding:1.5rem 1.5rem 1.4rem;display:flex;flex-direction:column;justify-content:flex-start;height:auto;border-radius:.4rem}.top-bar{border-bottom:4px solid rgba(255,255,255,.9);padding:.2rem 0 .4rem;margin-bottom:1.4rem;box-shadow:0 2px 8px #0003}.title{text-align:center;font-size:calc(clamp(2.8rem,4vw,5.2rem) + 2px);letter-spacing:.1em;font-weight:900;color:#fff;line-height:1;margin-bottom:1.4rem;text-shadow:0 2px 4px rgba(0,0,0,.3),0 0 20px rgba(255,255,255,.1)}.board-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;flex:0 1 auto;min-height:0;margin-top:1.5rem;margin-bottom:24px;align-items:start}.board-left-stack,.board-right-stack{display:flex;flex-direction:column;gap:1.2rem;min-height:0;align-content:start}.mini-panel{min-height:0}.board-column{display:grid;grid-template-rows:1fr;min-height:0}.right-column{grid-template-rows:1fr}.board-item{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(180deg,#0c3076d9,#082058e6);border:2px solid var(--border-light);border-radius:.4rem;padding:.5rem .9rem .9rem;box-shadow:0 3px 10px #0003,inset 0 0 0 1px #ffffff0f;overflow:hidden}.empty-slot{opacity:.82}.empty-name{color:#ffffff8c}.empty-card{min-height:140px;display:flex;flex-direction:column;justify-content:center;gap:.5rem;background:linear-gradient(180deg,#ffffff0d,#ffffff05);border:1px dashed rgba(255,255,255,.15)}.placeholder-line{height:.95rem;border-radius:.25rem;background:linear-gradient(90deg,#ffffff1a,#ffffff0d)}.placeholder-line.short{width:60%;margin:0 auto}.board-layout__aside .board-item{width:100%}.game-title-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 10px;padding-bottom:.2rem;border-bottom:2px solid rgba(255,255,255,.18)}.game-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:.2rem;border-radius:50%;background:#ffffff1a;box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 4px #00000026}.game-icon{width:1.2rem;height:1.2rem;display:block}.game-name{margin:0;text-align:center;font-size:calc(clamp(.95rem,1.3vw,1.9rem) + 2px);letter-spacing:.04em;line-height:2.8rem;font-weight:900;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.25)}.board-card{flex:0 1 auto;display:flex;flex-direction:column;justify-content:flex-start;background:#0c3580b3;border-radius:.32rem;padding:.18rem .22rem .2rem;box-shadow:inset 0 0 0 1px #ffffff0f;min-height:0;transition:all .2s ease}.board-card:hover{background:#0c3580d9;box-shadow:inset 0 0 0 1px #ffffff1a}.standard-card,.gordo-card,.euro-card,.nacional-card,.quiniela-card{min-height:0}.nacional-card{padding:.22rem .18rem .25rem}.mini-head,.mini-foot,.nacional-row{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.2rem;align-items:center}.mini-head.compact{grid-template-columns:auto 1fr}.quiniela-head{display:flex;flex-direction:column;width:100%;gap:.25rem;margin-bottom:.8rem}.mini-line{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.25rem;width:100%;padding:0 1.3rem}.quiniela-head .mini-label,.quiniela-head .mini-value{width:100%;min-height:2rem;padding:.06rem .75rem;justify-content:center;font-size:.84rem;font-weight:600}.quiniela-head .mini-value{min-width:0}.mini-label,.mini-value,.big-value{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;border-radius:.22rem;background:linear-gradient(180deg,#ffffff24,#ffffff14);border:1px solid rgba(255,255,255,.1);color:#f2f4f7;font-size:calc(clamp(.7rem,1.05vw,1.16rem) + 2px);padding:.1rem .28rem;box-shadow:0 2px 4px #0000001f}.mini-value{background:linear-gradient(180deg,#fff3,#ffffff1f);border:1px solid rgba(255,255,255,.15);min-width:3.2rem}.mini-value.strong,.big-value{font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.big-value{font-size:clamp(1.05rem,1.55vw,2.1rem);min-height:2.5rem;box-shadow:0 3px 8px #0000002e}.number-strip{display:flex;flex-wrap:wrap;gap:.28rem;justify-content:center;align-items:center;min-height:2.6rem;margin:.2rem 0}.ball{width:clamp(1.6rem,1.9vw,2.5rem);height:clamp(1.6rem,1.9vw,2.5rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:clamp(.82rem,1.05vw,1.35rem);font-weight:900;color:var(--black);background:linear-gradient(145deg,var(--yellow-light) 0%,var(--yellow) 50%,var(--yellow-strong) 100%);box-shadow:inset 0 0 0 2px #0000001f,0 2px 5px #0003,inset 0 -2px 3px #00000014}.ball.blue{background:linear-gradient(145deg,#e8f4ff,#d5eaff,#b8d4f0)}.bonus-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;margin-top:.2rem}.pill{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .48rem;border-radius:.3rem;background:linear-gradient(180deg,#ffffff24,#ffffff14);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:clamp(.66rem,.85vw,.9rem);box-shadow:0 2px 4px #0000001f}.bonoloto-card{padding:.18rem .14rem .2rem}.bonoloto-days-list{display:flex;flex-direction:column;align-items:center;gap:.4rem}.bonoloto-day-row{display:grid;grid-template-columns:8.5rem minmax(0,1fr);align-items:center;gap:.9rem;width:100%;min-height:3.4rem;padding:.35rem 1.1rem;border-radius:.2rem;background:linear-gradient(180deg,#ffffff12,#ffffff08);border:1px solid rgba(255,255,255,.08);box-shadow:0 1px 4px #0000001a;min-width:0}.bonoloto-day-name{display:inline-flex;align-items:center;justify-content:flex-start;font-size:.7rem;font-weight:900;letter-spacing:.04em;opacity:.9;line-height:1.1;color:#fff}.bonoloto-day-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.bonoloto-day-numbers{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.68rem;min-width:0}.bonoloto-day-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.bonoloto-meta-item{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-width:2.3rem;padding:.22rem .32rem;border-radius:.3rem;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border:1px solid rgba(255,255,255,.15);color:#f5f7ff;font-size:.72rem;font-weight:900;letter-spacing:.05em;line-height:1;box-shadow:0 2px 4px #00000026}.combination-pill{max-width:min(16rem,100%);flex-wrap:wrap;justify-content:flex-start;padding:.22rem .4rem;white-space:normal;overflow-wrap:anywhere}.combination-pill .bonoloto-meta-number{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.bonoloto-meta-text{font-size:.7rem}.bonoloto-meta-number-group{display:inline-flex;align-items:center;gap:.25rem}.bonoloto-meta-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;width:auto;height:1.8rem;padding:0 .48rem;border-radius:999px;background:linear-gradient(145deg,#fff,#f0f0f0);color:var(--black);font-size:.94rem;font-weight:900;box-shadow:inset 0 0 0 2px #00000026,0 2px 5px #0003}.primitiva-meta-item{min-width:4.8rem}.primitiva-meta-number{min-width:2.6rem;padding:0 .5rem}.gordo-meta-item{min-width:3.6rem}.gordo-meta-number{min-width:2.6rem;padding:0 .5rem}.bonoloto-ball{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:50%;background:linear-gradient(145deg,var(--yellow-light) 0%,var(--yellow) 50%,var(--yellow-strong) 100%);color:var(--black);font-size:.94rem;font-weight:900;box-shadow:inset 0 0 0 2px #00000026,0 2px 5px #0003,inset 0 -2px 4px #0000001a}.euro-row{display:grid;grid-template-columns:7.5rem minmax(0,1fr);align-items:center;gap:1.1rem;width:100%;padding:.45rem 1.3rem;border-radius:.25rem;background:linear-gradient(180deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 6px #00000026;min-width:0}.euro-row+.euro-row{margin-top:.5rem}.euro-label{display:inline-flex;align-items:center;justify-content:flex-start;font-size:.76rem;font-weight:900;letter-spacing:.05em;opacity:.95;line-height:1.15;color:#fff}.euro-values{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.72rem;min-width:0}.gordo-card{gap:.5rem}.gordo-clave-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;width:100%;padding:.18rem .32rem .1rem}.gordo-clave-label,.gordo-clave-value{display:inline-flex;align-items:center;justify-content:center;min-height:1.9rem;border-radius:.22rem;background:linear-gradient(180deg,#ffffff24,#ffffff14);border:1px solid rgba(255,255,255,.1);color:#f5f7ff;font-size:.74rem;font-weight:900;box-shadow:0 2px 4px #0000001f}.gordo-clave-value{min-width:3.2rem;background:linear-gradient(180deg,#fff3,#ffffff1f);border:1px solid rgba(255,255,255,.15)}.quiniela-card{padding-top:.4rem}.quiniela-list{display:flex;flex-direction:column;align-items:center;gap:.65rem;margin:.25rem 0 .35rem;padding-top:.22rem;padding-bottom:.22rem}.quiniela-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;min-height:2.15rem;margin:0;border-radius:.25rem;background:linear-gradient(180deg,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.12);padding:.55rem 1.3rem;box-shadow:0 2px 5px #0000001f}.quiniela-row--pleno{border-color:#fffffff2;background:linear-gradient(180deg,#ffffff2e,#ffffff1a);box-shadow:inset 0 0 0 1px #fff3,0 0 0 1px #ffd6664d,0 3px 8px #ffd66626}.quiniela-match-block{display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;min-width:0}.quiniela-match{display:flex;align-items:center;gap:.42rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(clamp(.66rem,1vw,.96rem) + 2px);letter-spacing:.03em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.quiniela-date-time{display:block;margin-top:.12rem;font-size:.58rem;line-height:1.25;color:#ffffffc7;font-weight:400;letter-spacing:.03em}.quiniela-pleno-label{display:inline-flex;align-items:center;justify-content:center;min-height:1.3rem;padding:.1rem .48rem;border-radius:999px;border:1px solid rgba(255,255,255,.95);background:linear-gradient(180deg,#fcd34d73,#fbbf2433);color:#fff8d6;font-size:.6rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 0 0 1px #ffd66640,0 2px 6px #ffd66633}.quiniela-sign{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;min-height:1.8rem;border-radius:.28rem;font-size:calc(clamp(.88rem,1.05vw,1.15rem) + 2px);font-weight:900;box-shadow:0 2px 6px #0003}.quiniela-sign--pending{font-size:calc(clamp(.7rem,.9vw,.95rem) + 2px);background:linear-gradient(145deg,#ffffff26,#ffffff14);color:#fffc;border:1px solid rgba(255,255,255,.2)}.quiniela-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem;width:100%;min-height:2.2rem;border-radius:.28rem;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border:1px solid rgba(255,255,255,.15);padding:.22rem 1.3rem;margin-top:.8rem;box-shadow:0 2px 6px #00000026}.quiniela-foot-label,.quiniela-foot-value{display:inline-flex;align-items:center;justify-content:center;min-height:1.8rem;border-radius:.22rem;font-size:calc(clamp(.66rem,1vw,.96rem) + 2px);font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.quiniela-foot-value{min-width:2.5rem;background:linear-gradient(180deg,#ffffff26,#ffffff14);border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 5px #00000026}.sign-1{background:linear-gradient(145deg,#dce7ff4d,#b4c8ff33);color:#dce7ff;box-shadow:0 2px 6px #b4c8ff33}.sign-X{background:linear-gradient(145deg,#f8ef9d4d,#f5dc6433);color:#f8ef9d;box-shadow:0 2px 6px #f5dc6433}.sign-2{background:linear-gradient(145deg,#f9d4df47,#e6b4c82e);color:#f9d4df;box-shadow:0 2px 6px #e6b4c82e}.nacional-row{grid-template-columns:auto 1fr auto 1fr;margin-bottom:.25rem;gap:.35rem;padding:.4rem .8rem;border-radius:.25rem;background:linear-gradient(180deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 5px #0000001f}.nacional-row .mini-label{font-size:.75rem;letter-spacing:.03em}.nacional-row .big-value{background:linear-gradient(145deg,#fff8d6,#f5d447,#f2c301);color:var(--black);border:1px solid rgba(255,255,255,.3);box-shadow:0 3px 8px #f5d4474d,inset 0 0 0 2px #0000001a}.footer-bar{display:flex;align-items:center;justify-content:space-between;gap:.9rem;padding-top:.65rem;border-top:4px solid rgba(255,255,255,.95);font-size:.76rem;color:#fffffff2;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.admin-footer{margin-top:.4rem;text-align:center;color:#fffffff2;font-size:.76rem;letter-spacing:.05em;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.notice{text-align:center;font-size:.72rem;opacity:.98;color:#fffffff2}.loading-dot{width:.9rem;height:.9rem;border-radius:50%;background:linear-gradient(145deg,var(--yellow-light) 0%,var(--yellow) 50%,var(--yellow-strong) 100%);box-shadow:0 0 16px #ffe266f2,0 0 32px #ffe26666;animation:pulse 1.2s infinite}@keyframes pulse{0%{transform:scale(.85);opacity:.75}50%{transform:scale(1.15);opacity:1}to{transform:scale(.85);opacity:.75}}.slide-shell{width:100%;min-height:100vh;background:linear-gradient(135deg,#d8d2ca,#c9c4b8,#b8b2a6);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.slide-content{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:2rem}.slider-container{width:100%}.slider-slide{display:none;width:100%}.slider-slide--active{display:block;animation:slide-fade-in .6s ease}.upcoming-slide{width:100%}.sanity-slide{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:min(72vh,850px);min-height:360px;overflow:hidden;border-radius:.5rem;background:#0000001f}.sanity-slide__image{display:block;width:100%;height:100%;object-fit:contain}.sanity-slide__title{position:absolute;right:0;bottom:0;left:0;padding:1.25rem 1.5rem;background:linear-gradient(transparent,#000000c7);color:#fff;font-size:clamp(1.25rem,3vw,2.5rem);font-weight:800;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.6)}@keyframes slide-fade-in{0%{opacity:0}to{opacity:1}}.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;width:100%}.upcoming-card{background:linear-gradient(180deg,#0c3076e0,#082058eb);border:2px solid var(--border-light);border-radius:.5rem;padding:1.2rem;box-shadow:0 4px 12px #00000040;transition:all .2s ease}.upcoming-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.upcoming-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:2px solid rgba(255,255,255,.22)}.upcoming-game{font-size:1.1rem;font-weight:900;color:#fff;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upcoming-status{font-size:.75rem;font-weight:900;padding:.3rem .6rem;border-radius:999px;letter-spacing:.05em}.estado-abierto{background:linear-gradient(145deg,#4caf504d,#388e3c33);color:#c8e6c9;border:1px solid rgba(76,175,80,.4)}.estado-cerrado{background:linear-gradient(145deg,#f443364d,#d32f2f33);color:#ffcdd2;border:1px solid rgba(244,67,54,.4)}.upcoming-body{display:flex;flex-direction:column;gap:.8rem}.upcoming-date{font-size:.9rem;color:#ffffffe6;font-weight:600;letter-spacing:.03em}.upcoming-bote,.upcoming-joker{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .8rem;border-radius:.3rem;background:linear-gradient(180deg,#ffffff1f,#ffffff0f);border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 4px #0000001f}.bote-label,.joker-label{font-size:.8rem;font-weight:900;color:#fff;letter-spacing:.05em}.bote-value,.joker-value{font-size:1.1rem;font-weight:900;color:var(--yellow-strong);text-shadow:0 1px 2px rgba(0,0,0,.2)}.loading-message,.error-message,.empty-message{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem;font-size:1rem;font-weight:700;color:#fffffff2;text-align:center;border-radius:.5rem;background:#0c307699;border:2px solid rgba(255,255,255,.15)}.error-message{color:#ffcdd2;background:#b71c1c66;border-color:#f4433666}@media (max-width: 820px){body{overflow:auto}.board-shell{width:100vw;height:auto;min-height:100vh;border-width:6px;padding:.5rem .6rem}.board-layout{grid-template-columns:1fr}.board-left-stack,.right-column{width:100%}.right-column{order:2}.board-left-stack{order:1}.bonoloto-day-row{grid-template-columns:1fr;gap:.5rem;padding:.5rem .75rem}.bonoloto-day-main{flex-direction:column;align-items:stretch;gap:.5rem}.bonoloto-day-numbers,.bonoloto-day-meta{justify-content:center;flex-wrap:wrap}.footer-bar{flex-direction:column;text-align:center}}
