/* ScoreLine Live: one dark arena look, like the console and the crowd scoreboard */
:root{
  --ground:#090C11; --panel:#121821; --panel2:#18202B; --line:#243041; --fg:#EEF1F5; --muted:#97A3B3;
  --blue:#4DA3FF; --blue-ink:#06121F; --amber:#F5A524; --green:#3DDC84; --red:#FF6B6B; --mine:#1B3352;
  --head:'Barlow Condensed','Arial Narrow',system-ui,sans-serif; --body:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Roboto Mono',ui-monospace,Consolas,monospace; --display:'Rye',Georgia,serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--fg);font:400 16px/1.5 var(--body);-webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom,0px);min-height:100vh}
a{color:var(--blue)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;background:rgba(9,12,17,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.brand{display:flex;align-items:center;gap:9px;color:var(--fg);text-decoration:none}
.horns{width:34px;height:auto;color:var(--fg)}
.wordmark{font:400 19px/1 var(--display);letter-spacing:.02em}
.wordmark b{font-weight:400;color:var(--blue)}
.conn{margin-left:auto;font:600 12px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}
.conn i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.conn.off i{background:var(--amber);box-shadow:none}
main{max-width:760px;margin:0 auto;padding:16px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px))}
.loading{color:var(--muted);text-align:center;padding:60px 16px}
h1,h2,h3{margin:0;text-wrap:balance}
.eyebrow{font:600 12px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.muted{color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.stack{display:grid;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:9px;border:1px solid var(--line);
  background:var(--panel2);font:600 15px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--fg);cursor:pointer}
.btn.primary{background:var(--blue);border-color:var(--blue);color:var(--blue-ink)}
.btn.small{min-height:36px;padding:0 12px;font-size:13px}
.btn:disabled{opacity:.5}

/* home */
.hero{padding:6px 0 4px}
.hero h1{font:700 30px/1.05 var(--head);text-transform:uppercase;letter-spacing:.02em;margin-top:8px}
.hero p{color:var(--muted);margin:8px 0 0}
.section-title{font:700 15px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:26px 0 10px;display:flex;align-items:center;gap:8px}
.list{display:grid;gap:10px}
.rop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;text-decoration:none;color:var(--fg)}
.rop h3{font:700 20px/1.15 var(--head);letter-spacing:.02em}
.rop .who{color:var(--muted);font-size:14px}
.rop .st{grid-column:1/-1;font-size:14px;color:var(--fg)}
.livedot{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--head);letter-spacing:.14em;color:var(--red)}
.livedot i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.livedot i{animation:none}}
.empty{color:var(--muted);text-align:center;padding:22px 10px}
.open-link{display:flex;gap:8px}
.open-link input{flex:1;min-width:0;min-height:44px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--fg);padding:0 12px;font:inherit}

/* roping */
.top{display:grid;gap:4px;margin-bottom:12px}
.top h1{font:700 26px/1.08 var(--head);letter-spacing:.02em;text-transform:uppercase}
.top .who{color:var(--muted);font-size:14px}
.top .status{font-size:14px}
.ended{background:#2A2210;border:1px solid #5B4614;color:var(--amber);border-radius:9px;padding:8px 12px;font-size:14px}
.tabs{position:sticky;top:calc(56px + env(safe-area-inset-top,0px));z-index:4;display:flex;gap:4px;background:var(--ground);padding:8px 0;margin:0 0 6px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:1 0 auto;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;
  font:600 14px/1 var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--fg);border-color:var(--fg);color:var(--ground)}
.follow-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--mine);color:#CFE4FF;padding:4px 10px;font-size:13px}

/* live tab */
.clock{text-align:center;padding:18px 12px 14px}
.clock .lbl{font:600 12px/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.clock .t{font:700 clamp(72px,24vw,120px)/1 var(--mono);color:var(--blue);font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin-top:8px}
.clock .t.run{color:var(--amber)}
.team{display:grid;gap:2px}
.team .k{font:600 12px/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.team .n{font:700 22px/1.15 var(--head);letter-spacing:.02em}
.team .s{color:var(--muted);font-size:14px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:420px){.pair{grid-template-columns:1fr}}
.last .time{font:700 34px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--fg)}
.last .time.nt{color:var(--red)}
.rows{display:grid}
.r{display:grid;grid-template-columns:2.2em minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 2px;border-top:1px solid var(--line)}
.r:first-child{border-top:0}
.r .no{color:var(--muted);font:600 14px/1 var(--mono);text-align:right}
.r .nm{min-width:0}
.r .nm b{font-weight:600}
.r .nm small{display:block;color:var(--muted);font-size:13px}
.r .tm{font:600 16px/1 var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.r .tm.nt{color:var(--red)}
.r .tm.wait{color:var(--muted);font:500 13px/1 var(--body)}
.r.mine{background:var(--mine);border-radius:8px;border-top-color:transparent;padding-left:8px;padding-right:8px}
.r.now{box-shadow:inset 3px 0 0 var(--amber)}
.money{color:var(--green)}
.pen{color:var(--amber);font-size:12px;margin-left:4px}

/* draw/results controls */
.seg{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.seg button{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:600 13px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.seg button[aria-pressed="true"]{border-color:var(--blue);color:var(--blue)}
.pot{color:var(--muted);font-size:14px;margin-bottom:8px}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl-wrap{overflow-x:auto;margin:0 -4px}
.tbl th{font:600 11px/1 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px 4px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl td.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl th.n{text-align:right}
.tbl tr.mine td{background:var(--mine)}

/* follow sheet */
.sheet{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.6);display:flex;align-items:flex-end;justify-content:center}
.sheet .panel{width:100%;max-width:560px;max-height:85vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px 16px 0 0;
  padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}
.sheet h2{font:700 22px/1.1 var(--head);text-transform:uppercase;letter-spacing:.03em}
.sheet p{color:var(--muted);font-size:14px;margin:6px 0 12px}
.sheet input[type=search]{width:100%;min-height:44px;border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--fg);padding:0 12px;font:inherit;margin-bottom:8px}
.names{display:grid;gap:2px;max-height:46vh;overflow:auto;margin-bottom:12px}
.names label{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 6px;border-radius:8px}
.names label:hover{background:var(--panel2)}
.names input{width:20px;height:20px;accent-color:var(--blue)}
.sheet .acts{display:flex;gap:8px;justify-content:flex-end}
.note{font-size:13px;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:30;background:var(--fg);color:var(--ground);
  border-radius:10px;padding:10px 14px;font-weight:600;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:calc(100% - 32px)}
.card.mine{background:var(--mine);border-color:#2C4F7C}
