:root{--bg:#14120f;--panel:#1f1c18;--panel-2:#2a251f;--line:#3a342c;--line-strong:#7a7065;--text:#f5f0ea;--muted:#a99e90;--brand:#f96731;--brand-ink:#1a0e06;--brand-bright:#ffc46b;--brand-deep:#4a4a4a;--a:#f96731;--b:#c9c3ba;--danger:#ff4d6d;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{min-height:100dvh}a{color:var(--brand)}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);touch-action:manipulation;border-radius:10px;padding:10px 14px;transition:filter .12s,transform 40ms}button:hover:not(:disabled){filter:brightness(1.18)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:10px}.btn-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:700}.btn-ghost{border-color:var(--line-strong);background:0 0}.btn-danger{color:var(--danger);background:0 0;border-color:#6b2333}.btn-sm{border-radius:8px;padding:6px 10px;font-size:13px}input,select{background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;width:100%;padding:10px 12px}label.field{margin-bottom:10px;display:block}label.field span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:12px;display:block}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.tiny{font-size:12px}.shell{max-width:1180px;margin:0 auto;padding:20px 18px 40px}.topbar{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:8px;font-weight:800;display:flex}.dot{background:var(--brand);width:9px;height:9px;box-shadow:0 0 10px var(--brand);border-radius:50%}.dot.off{background:var(--danger);box-shadow:none}.site-foot{border-top:1px solid var(--line);justify-content:center;align-items:center;margin-top:34px;padding:30px 0 10px;display:flex}.powered{color:var(--muted);letter-spacing:.04em;align-items:center;gap:11px;font-size:.95rem;display:inline-flex}.rdn-logo{width:auto;height:32px;display:block}.rdn-logo .rdn-o{fill:var(--brand)}.rdn-logo .rdn-g{fill:var(--b)}.hero{text-align:center;padding:56px 0 32px}.hero h1{letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(30px,6vw,52px)}.hero p{color:var(--muted);max-width:560px;margin:0 auto;line-height:1.6}.tiles{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px;display:grid}.tile{color:inherit;text-decoration:none;display:block}.tile:hover{border-color:var(--brand)}.tile h2{margin:0 0 6px;font-size:20px}.tile p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.viewer{background:radial-gradient(120% 80% at 50% 0%, #2a1c12 0%, var(--bg) 62%);flex-direction:column;min-height:100dvh;display:flex}.viewer-head{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:2vh 3vw 0;display:flex}.viewer-title{letter-spacing:.02em;font-size:clamp(14px,2.4vw,26px);font-weight:700}.chip{border:1px solid var(--line-strong);background:var(--panel);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:clamp(11px,1.5vw,15px)}.chip.live{color:var(--brand);border-color:var(--brand)}.chip.alert{color:var(--brand-bright);border-color:#6b5326}.board{flex:1;grid-template-columns:1fr auto 1fr;align-items:center;gap:1vw;padding:1vh 3vw;display:grid}.side{flex-direction:column;align-items:center;gap:.6vh;min-width:0;display:flex}.side .names{text-align:center;width:100%}.side .name{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(18px,3.6vw,54px);font-weight:800;line-height:1.1}.side .name.serving-player{text-decoration:underline;-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);text-underline-offset:.16em;text-decoration-thickness:.08em}.side .badge-row{justify-content:center;align-items:center;gap:8px;min-height:3.4vh;display:flex}.serve-mark{color:var(--brand);font-size:clamp(14px,2.2vw,30px);line-height:1}.points{font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(80px,22vw,300px);font-weight:800;line-height:.95}.side.a .points{color:var(--a)}.side.b .points{color:var(--b)}.side.won .points{text-shadow:0 0 .18em}.games{gap:8px;display:flex}.game-pill{text-align:center;background:var(--panel-2);border:1px solid var(--line-strong);font-variant-numeric:tabular-nums;border-radius:8px;min-width:clamp(28px,4vw,54px);padding:2px 8px;font-size:clamp(14px,2.2vw,30px);font-weight:700}.game-pill.won{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.divider{color:var(--muted);opacity:.6;font-size:clamp(24px,5vw,70px)}.viewer-foot{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:1.6vh 3vw 2.2vh;font-size:clamp(11px,1.5vw,16px);display:flex}.viewer-foot .powered{font-size:clamp(11px,1.4vw,15px)}.viewer-foot .rdn-logo{height:clamp(20px,2.7vw,32px)}.banner{text-align:center;letter-spacing:.06em;text-transform:uppercase;padding:1.2vh 3vw;font-size:clamp(14px,2.6vw,32px);font-weight:800}.banner.win{color:var(--brand)}.banner.interval{color:var(--brand-bright)}@media (max-width:640px) and (orientation:portrait){.board{grid-template-rows:1fr auto 1fr;grid-template-columns:1fr}.divider{display:none}.side{border-radius:14px;padding:10px 0}.points{font-size:clamp(70px,30vw,160px)}.side .name{font-size:clamp(18px,6vw,30px)}}.admin-grid{grid-template-columns:300px 1fr;align-items:start;gap:18px;display:grid}@media (max-width:900px){.admin-grid{grid-template-columns:1fr}}.match-list{flex-direction:column;gap:8px;display:flex}.match-item{text-align:left;background:var(--panel-2);border:1px solid var(--line-strong);border-radius:10px;flex-direction:column;gap:3px;width:100%;padding:11px 12px;display:flex}.match-item.selected{border-color:var(--brand);background:#33241a}.match-item .mi-title{font-size:14px;font-weight:700}.match-item .mi-sub{color:var(--muted);font-size:12px}.pill{border:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:2px 7px;font-size:10px}.pill.live{color:var(--brand);border-color:var(--brand)}.pill.done{color:var(--muted)}.pill.onair{color:var(--brand-ink);background:var(--brand);border-color:var(--brand);font-weight:700}.scorepad{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pad{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);flex-direction:column;gap:10px;padding:14px;display:flex}.pad.a{border-top:4px solid var(--a)}.pad.b{border-top:4px solid var(--b)}.pad-name{overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.2}.pad.a .pad-score{color:var(--a)}.pad.b .pad-score{color:var(--b)}.pad-score{text-align:center;font-variant-numeric:tabular-nums;font-size:clamp(56px,14vw,104px);font-weight:800;line-height:1}.big-add{width:100%;color:var(--brand-ink);border-radius:12px;padding:22px;font-size:22px;font-weight:800}.pad.a .big-add{background:var(--a);border-color:var(--a)}.pad.b .big-add{background:var(--b);border-color:var(--b)}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:22px 0 10px;font-size:12px}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:560px){.grid2{grid-template-columns:1fr}}.gate{max-width:360px;margin:12vh auto}.toast{z-index:50;color:#ffd9e0;background:#2e1218;border:1px solid #6b2333;border-radius:10px;padding:10px 16px;font-size:14px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
