@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-v12-latin-regular.woff2)format("woff2"),url(/fonts/space-grotesk-v12-latin-regular.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-v12-latin-500.woff2)format("woff2"),url(/fonts/space-grotesk-v12-latin-500.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-v12-latin-700.woff2)format("woff2"),url(/fonts/space-grotesk-v12-latin-700.woff)format("woff")}#app{--bg:#000;--panel:#121212;--panel-2:#1e1e1e;--line:#2c2c2c;--text:#fff;--muted:#9a9a9a;--gold:#fc0;--accent:#fc0;--live:#fc0;--a:#e63b2a;--b:#d9d9d9;background:var(--bg);color:var(--text);min-height:100vh;padding:clamp(10px,1.6vw,24px);font-family:Space Grotesk,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#app,#app *{box-sizing:border-box}header.board-head{border-bottom:2px solid var(--gold);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:clamp(14px,2.2vw,26px);padding-bottom:clamp(10px,1.4vw,18px);display:flex}.brand{align-items:center;gap:clamp(10px,1.4vw,18px);min-width:0;display:flex}.brand-logo{filter:brightness(0)invert();flex:none;width:auto;height:clamp(44px,5vw,68px)}.board-title{text-transform:uppercase;letter-spacing:1px;margin:0;font-size:clamp(1.5rem,3.4vw,2.6rem);font-weight:700;line-height:1}.board-sub{color:var(--muted);font-size:clamp(.8rem,1.5vw,1.05rem)}.status{color:var(--muted);align-items:center;gap:8px;font-size:.85rem;display:flex}.dot{background:var(--muted);border-radius:50%;width:10px;height:10px;transition:background .3s}.dot.live{background:var(--live);animation:1.6s infinite pulse}.dot.error{background:var(--b)}@keyframes pulse{0%{box-shadow:0 0 #ffcc008c}70%{box-shadow:0 0 0 10px #fc00}to{box-shadow:0 0 #fc00}}.courts{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(10px,1.4vw,20px);display:grid}.court-col{flex-direction:column;gap:clamp(10px,1.2vw,16px);min-width:0;display:flex}.court-head{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.court-name{color:var(--gold);text-transform:uppercase;letter-spacing:1px;font-size:clamp(1.15rem,2.2vw,1.7rem);font-weight:700}.active-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;min-height:210px;padding:clamp(12px,1.4vw,20px);display:flex}.active-card.is-live{border-color:#fc09;box-shadow:inset 0 0 0 1px #ffcc004d}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.draw-tag{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;overflow:hidden}.badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:4px 10px;font-size:.7rem;font-weight:700}.badge.active{color:#000;background:var(--gold);border-color:#0000}.player{grid-template-columns:1fr auto;align-items:center;gap:12px;padding:6px 0;display:grid}.player+.player{border-top:1px dashed var(--line)}.pname{align-items:center;gap:10px;min-width:0;font-size:clamp(1rem,2vw,1.45rem);font-weight:700;display:flex}.pname .txt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rail{border-radius:3px;flex:none;align-self:stretch;width:6px}.side-a .rail{background:var(--a)}.side-b .rail{background:var(--b)}.level{color:var(--muted);font-size:.75rem;font-weight:600}.games-won{text-align:center;font-variant-numeric:tabular-nums;min-width:1.4em;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1}.winner .pname,.winner .games-won{color:var(--live)}.game-chips{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.chip{font-variant-numeric:tabular-nums;border:1px solid var(--line);color:var(--text);background:#ffffff0d;border-radius:8px;padding:3px 8px;font-size:.82rem;font-weight:600}.chip b{color:var(--gold);font-weight:700}.empty-card{color:var(--muted);text-align:center;margin:auto 0;font-size:1rem}.next-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:2px 4px -2px;font-size:.72rem}.next-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.next-time{color:var(--muted);justify-content:space-between;font-size:.75rem;font-weight:600;display:flex}.next-players{font-size:clamp(.9rem,1.5vw,1.05rem);font-weight:600;line-height:1.3}.next-players .vs{color:var(--muted);margin:0 4px;font-weight:500}.next-empty{color:var(--muted);padding:8px 4px;font-size:.85rem}.build-version{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--muted);opacity:.4;pointer-events:none;user-select:none;z-index:10;font-size:.6rem;position:fixed;bottom:clamp(4px,.8vw,10px);left:clamp(6px,1vw,14px)}
