
:root{
  --navy:#172C4B; --navy2:#22406B; --red:#B23A3A;
  --bg:#EEF1F5; --surface:#FFFFFF; --text:#172C4B; --muted:#5F6B7E; --line:#D9DFE7;
  --head-bg:#172C4B; --head-fg:#FFFFFF; --leader:#F7EEDA; --btn:#E4E9F0; --good:#B23A3A; --pick:#172C4B; --pick-fg:#fff;
  --cond:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0E1726;--surface:#16233A;--text:#E6ECF4;--muted:#9AA7BA;--line:#2A3A55;
    --head-bg:#0A1220;--leader:#3B3424;--btn:#22324D;--good:#F08A8A;--pick:#E6ECF4;--pick-fg:#0E1726;color-scheme:dark}
}
*,*::before,*::after{box-sizing:inherit}
html{background:var(--head-bg)}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 var(--body);min-height:100vh}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
:focus-visible{outline:3px solid #5B8DEF;outline-offset:2px}

/* header: the logo is the anchor */
header{background:var(--head-bg);color:var(--head-fg);padding:14px 14px 0;border-bottom:4px solid var(--red)}
.hwrap,main{max-width:720px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.logo{width:58px;height:84px;background:#fff;border-radius:8px;padding:3px;box-shadow:0 0 0 2px rgba(255,255,255,.15);flex:none;transform:rotate(-4deg)}
.logo img{width:100%;height:100%;object-fit:contain;display:block}
h1{font:700 34px/0.95 var(--cond);margin:0;letter-spacing:.01em}
.sub{opacity:.75;font-size:14px;margin:4px 0 0}
nav{display:flex;gap:4px;margin-top:12px;position:relative;z-index:1}
nav a{color:var(--head-fg);text-decoration:none;font:600 19px var(--cond);padding:9px 18px;border-radius:8px 8px 0 0;opacity:.7}
nav a[aria-current="page"]{background:var(--bg);color:var(--text);opacity:1;position:relative;margin-bottom:-4px;padding-bottom:13px}
nav .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#E5484D;margin-left:6px;vertical-align:2px;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){nav .dot{animation:none}}
main{padding:16px 10px 60px}
.status{font-size:13px;color:var(--muted);margin:0 0 10px;min-height:18px}
.status.bad{color:var(--good);font-weight:600}

.panel{background:var(--surface);border-radius:12px;padding:16px;margin-bottom:12px}
h2{font:700 24px var(--cond);margin:0 0 10px}
h3{font:700 19px var(--cond);margin:14px 0 6px}
.muted{color:var(--muted)}
.small{font-size:13px}

/* round picker */
.rounds{display:grid;gap:10px}
.rcard{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;text-align:left;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:14px 16px}
.rcard.today{border-color:var(--navy);box-shadow:inset 6px 0 0 var(--red)}
@media (prefers-color-scheme:dark){.rcard.today{border-color:#5d7aa8}}
.rnum{font:700 40px/1 var(--cond);color:var(--muted);width:30px;text-align:center}
.rname{font:700 24px/1.05 var(--cond)}
.rmeta{font-size:14px;color:var(--muted)}
.tag{font:600 13px var(--body);padding:3px 9px;border-radius:999px;background:var(--btn);white-space:nowrap}
.tag.live{background:var(--red);color:#fff}

.chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;white-space:nowrap;font-weight:500}
.chip[aria-pressed="true"]{background:var(--pick);border-color:var(--pick);color:var(--pick-fg)}
.pick{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.pick .chip{font-size:17px;padding:10px 16px}
.big{display:block;width:100%;padding:15px;border:0;border-radius:12px;background:var(--navy);color:#fff;font:600 21px var(--cond)}
@media (prefers-color-scheme:dark){.big{background:#2E5A96}}
.big:disabled{opacity:.4}
.link{background:none;border:0;color:var(--text);text-decoration:underline;padding:4px 0}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--btn);border-radius:10px;padding:3px;margin-bottom:10px}
.seg button{border:0;background:none;border-radius:8px;padding:8px;font:600 17px var(--cond)}
.seg button[aria-pressed="true"]{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.12)}

/* leaderboard */
.board{width:100%;border-collapse:separate;border-spacing:0 6px}
.board th{font:600 14px var(--cond);text-align:right;color:var(--muted);padding:0 6px;white-space:nowrap}
.board th:nth-child(2){text-align:left}
.board td{background:var(--surface);padding:12px 6px;text-align:right;font:500 20px var(--cond);font-variant-numeric:tabular-nums}
.board td:first-child{border-radius:10px 0 0 10px;text-align:left;width:28px;padding-left:10px;color:var(--muted)}
.board td:last-child{border-radius:0 10px 10px 0;padding-right:10px}
.board td.name{text-align:left;font:600 17px var(--body)}
.board td.name small{display:block;font:400 13px var(--body);color:var(--muted)}
.board tr.lead td{background:var(--leader)}
.board tr.row{cursor:pointer}
.board td.big2{font-weight:700;font-size:22px}
.under{color:var(--good)}
.detail td{padding:4px 6px 12px!important;background:var(--surface);border-radius:0 0 10px 10px!important}
.detail td:first-child{width:auto}
.detail .card{max-width:calc(100vw - 32px)}
.empty{background:var(--surface);border-radius:12px;padding:22px;text-align:center;color:var(--muted)}

.card{overflow-x:auto}
.card table{border-collapse:collapse;font:500 14px var(--cond);font-variant-numeric:tabular-nums;width:100%}
.card th,.card td{border:1px solid var(--line);padding:3px 1px;text-align:center;min-width:20px}
.card th{color:var(--muted);font-weight:600}
.card td.lbl,.card th.lbl{text-align:left;min-width:52px;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px;font-family:var(--body);font-size:13px}
.card .tot{font-weight:700}

/* hole entry */
.holehead{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:8px}
.holeno{font:700 58px/0.9 var(--cond)}
.holemeta{font:600 20px/1.2 var(--cond);color:var(--muted);text-align:right}
.prow{display:grid;grid-template-columns:1fr 56px 64px 56px;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.prow .pn{font-weight:600;min-width:0}
.prow .pn small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.step{height:56px;border:0;border-radius:12px;background:var(--btn);font:600 30px var(--cond)}
.val{height:56px;border:2px solid var(--line);border-radius:12px;background:var(--surface);font:700 32px var(--cond);font-variant-numeric:tabular-nums}
.val.unsaved{border-color:var(--good)}
.val.ghost{color:var(--muted);opacity:.35;font-weight:600}
.nav2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.nav2 button{padding:14px;border:0;border-radius:10px;background:var(--btn);font:600 19px var(--cond)}
.nav2 button.next{background:var(--navy);color:#fff}
@media (prefers-color-scheme:dark){.nav2 button.next{background:#2E5A96}}
.strip{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-top:12px}
.strip button{padding:7px 0;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:600 15px var(--cond)}
.strip button.done{background:var(--btn)}
.strip button[aria-current="true"]{border-color:var(--text);border-width:2px}
.dots{color:var(--good);letter-spacing:2px}

/* admin */
.row2{display:flex;gap:8px;align-items:center;margin-top:8px}
.row2 > input[type=text]{flex:1;min-width:0}
input[type=text],input[type=number],input[type=password],input[type=date],select{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);width:100%}
.sm{padding:9px 12px;border:0;border-radius:8px;background:var(--btn);font-weight:600;white-space:nowrap}
.sm.primary{background:var(--navy);color:#fff}
@media (prefers-color-scheme:dark){.sm.primary{background:#2E5A96}}
.sm.danger{color:var(--good)}
.prow2{display:grid;grid-template-columns:1fr 84px auto;gap:8px;align-items:center;margin-top:8px}
.form2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.form2 label{font-size:13px;color:var(--muted);display:block}
.grid18{display:grid;grid-template-columns:40px repeat(9,1fr);gap:3px;margin:4px 0}
.grid18 input{padding:6px 0;text-align:center;font:600 15px var(--cond);border:1px solid var(--line);border-radius:6px;background:var(--surface);width:100%}
.grid18 span{font-size:12px;color:var(--muted);align-self:center}
.htable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.htable th{font:600 13px var(--cond);color:var(--muted);text-align:right;padding:4px}
.htable th:first-child,.htable td:first-child{text-align:left}
.htable td{padding:6px 4px;border-top:1px solid var(--line);text-align:right}
.htable input{width:60px;padding:6px;text-align:center}
.team{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px;align-items:center;margin-top:6px}
.team b{font:700 18px var(--cond);width:22px}
.pct{display:flex;align-items:center;gap:6px}
.pct input{width:76px}
/* daily vs weekend */
.scope{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.scope button{border:2px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 8px;text-align:center}
.scope button b{display:block;font:700 22px/1 var(--cond)}
.scope button span{font-size:12px;color:var(--muted)}
.scope button[aria-selected="true"]{background:var(--pick);border-color:var(--pick);color:var(--pick-fg)}
.scope button[aria-selected="true"] span{color:inherit;opacity:.8}
.banner{margin:0 0 10px;padding:8px 12px;border-left:4px solid var(--red);background:var(--surface);border-radius:0 8px 8px 0;font-size:14px}
.banner b{font:700 17px var(--cond)}
.board td.name small.who{color:var(--text);opacity:.9}
.board small i,.board td i{font-style:normal;color:var(--muted)}
.board td > i{display:block;font:400 11px var(--body)}
.board small.note{font-size:12px;color:var(--muted)}
.board.wk td{padding-left:4px;padding-right:4px;font-size:18px}
.board.wk td.na{color:var(--muted)}
.board.wk td.drop{color:var(--muted);text-decoration:line-through}
/* detail sheet */
.sheet-wrap{position:fixed;inset:0;background:rgba(8,15,28,.55);display:flex;align-items:flex-end;justify-content:center;z-index:20}
.sheet{background:var(--bg);width:100%;max-width:720px;max-height:88vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:10px 12px calc(18px + env(safe-area-inset-bottom,0px))}
.sheet.anim{animation:up .22s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:.4}}
@media (prefers-reduced-motion:reduce){.sheet.anim{animation:none}}
.grab{width:40px;height:5px;border-radius:3px;background:var(--line);margin:0 auto 8px}
.shead{display:flex;align-items:flex-start;gap:10px}
.shead h2{margin:0;font-size:28px;line-height:1.05}
.shead p{margin:2px 0 0;font-size:14px;color:var(--muted)}
.x{margin-left:auto;border:0;background:var(--btn);border-radius:50%;width:36px;height:36px;font-size:20px;line-height:1;flex:none}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}
.stat{background:var(--surface);border-radius:10px;padding:8px 6px;text-align:center}
.stat b{display:block;font:700 26px/1 var(--cond);font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--muted)}
.sheet .card{background:var(--surface);border-radius:10px;padding:4px}
.sheet .card + .card{margin-top:6px}
.card td.bird span{display:inline-block;min-width:20px;border:1.5px solid var(--good);border-radius:50%;color:var(--good);line-height:18px}
.card td.eag span{display:inline-block;min-width:20px;border:3px double var(--good);border-radius:50%;color:var(--good);line-height:16px}
.card td.bog span{display:inline-block;min-width:20px;border:1px solid var(--muted);line-height:18px}
.card td.dbl span{display:inline-block;min-width:20px;border:3px double var(--muted);line-height:16px}
.allr{width:100%;border-collapse:collapse;background:var(--surface);border-radius:10px;overflow:hidden;font-variant-numeric:tabular-nums}
.allr th{font:600 13px var(--cond);color:var(--muted);text-align:right;padding:8px 10px}
.allr th:first-child,.allr td:first-child{text-align:left}
.allr td{padding:10px;border-top:1px solid var(--line);text-align:right;font:500 18px var(--cond)}
.allr td:first-child{font:600 15px var(--body)}
.allr tr.cur td{background:var(--leader)}
.legend{font-size:12px;color:var(--muted);margin:6px 2px 0}
footer{text-align:center;padding:10px;font-size:13px}
footer a{color:var(--muted);margin:0 8px}
.tip{display:flex;gap:10px;align-items:start;background:var(--leader);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}
.tip button{margin-left:auto;background:none;border:0;font-size:20px;line-height:1;padding:0 4px;color:var(--muted)}
#toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:9}
#toast.show{opacity:1}
@media (prefers-reduced-motion:reduce){#toast{transition:none}}

/* v5 additions */
.home-hero{display:flex;gap:16px;align-items:center;margin:4px 0 16px}
.ecard{display:block;width:100%;text-align:left;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:inherit}
.ecard b{font:700 24px/1.1 var(--cond);display:block}
.ecard span{font-size:14px;color:var(--muted)}
.ecard.live{border-color:var(--navy);box-shadow:inset 6px 0 0 var(--red)}
@media (prefers-color-scheme:dark){.ecard.live{border-color:#5d7aa8}}
.adminbar{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px}
.check{display:flex;align-items:center;gap:6px;font-size:14px;white-space:nowrap}
.check input{width:20px;height:20px}
.form3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.form3 label,.form2 label{font-size:13px;color:var(--muted);display:block}
.paste{display:grid;grid-template-columns:1fr auto;gap:6px;margin:4px 0}
.tee{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:8px}
.rlist{display:grid;gap:6px}
.rrow{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;text-align:left}
.rrow b{font:700 19px var(--cond)}
.rrow span{font-size:13px;color:var(--muted)}
.rrow[aria-pressed="true"]{border-color:var(--pick);box-shadow:inset 4px 0 0 var(--red)}
.hint{font-size:13px;color:var(--muted);margin:4px 0 0}
.err{color:var(--good);font-size:13px;margin:4px 0 0;font-weight:600}
.money{font:600 13px var(--body);color:var(--muted)}

nav[hidden],[hidden]{display:none!important}
.row2{flex-wrap:wrap}
.team.wide{grid-template-columns:auto 1fr 1fr!important}
.team.wide b{grid-row:span 2}
/* guided setup */
.wiz{max-width:520px;margin:0 auto}
.wprog{height:6px;background:var(--btn);border-radius:3px;overflow:hidden;margin:4px 0 8px}
.wprog span{display:block;height:100%;background:var(--red);border-radius:3px}
.wstep{font-size:13px;color:var(--muted);margin:0}
.wq{font:700 30px/1.05 var(--cond);margin:4px 0 6px}
.wsub{color:var(--muted);margin:0 0 14px;font-size:15px}
.wl{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}
.win{font-size:17px;padding:12px}
textarea.win,.pastebox textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font:inherit;margin:6px 0}
.codein{font:700 26px var(--cond);text-align:center;letter-spacing:.1em}
.wnav{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:20px;align-items:center}
.wback{border:0;background:var(--btn);border-radius:12px;padding:15px 18px;font:600 19px var(--cond)}
.wcancel{text-align:center;margin-top:10px}
.opts{display:grid;gap:8px}
.opt{display:block;width:100%;text-align:left;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;color:inherit;text-decoration:none}
.opt b{display:block;font:700 21px/1.1 var(--cond)}
.opt span{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.opt.on,.opt[aria-pressed="true"]{border-color:var(--pick);box-shadow:inset 6px 0 0 var(--red)}
.wcard{background:var(--surface);border-radius:14px;padding:14px;text-align:center}
.wholeno{font:700 46px/1 var(--cond);margin-bottom:12px}
.pars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pars button{height:72px;border:0;border-radius:14px;background:var(--btn);font:700 36px var(--cond)}
.pars button[aria-pressed="true"],.keys button[aria-pressed="true"]{background:var(--pick);color:var(--pick-fg)}
.keys{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.keys button{height:52px;border:0;border-radius:10px;background:var(--btn);font:700 22px var(--cond)}
.keys button:disabled{opacity:.25}
.wsmall{font-size:13px;color:var(--muted);margin:10px 0 0}
.wstrip button{display:flex;flex-direction:column;align-items:center;line-height:1.1;font-size:17px;min-height:42px;justify-content:center}
.wstrip button small{font:500 10px var(--body);color:var(--muted)}
.wtot{text-align:center;font-size:14px;color:var(--muted);margin:8px 0}
.pastebox{margin-top:10px;font-size:14px}
.pastebox summary{cursor:pointer;color:var(--muted)}
.rv{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border-radius:12px;padding:12px 14px;margin-bottom:8px}
.rv > div{flex:1}
.rv b{font:700 18px var(--cond)}
.rv span{font-size:14px;color:var(--muted)}
.rhead{display:flex;justify-content:space-between;align-items:center}
.rhead b{font:700 19px var(--cond)}
.check.big{font-size:17px}
.check.big b{font:700 20px var(--cond)}
.miss{color:var(--good)}
.link.danger{color:var(--good)}
.check.lg{font-size:17px}
.check.lg input{width:24px;height:24px}
.check.lg b{font:700 20px var(--cond)}
/* review & sign */
.signs{display:grid;gap:6px;margin:12px 0}
.sgn{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;background:var(--bg);border-radius:10px;padding:10px 12px}
.sgn input{width:24px;height:24px}
.sgn-n b{font:700 19px var(--cond);display:block}
.sgn-n small{font-size:13px;color:var(--muted)}
.sgn-t{text-align:right}
.sgn-t b{font:700 26px/1 var(--cond);display:block}
.sgn-t small{font-size:12px;color:var(--muted)}
.tick{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2E7D4F;color:#fff;font-weight:700}
.tick.miss{background:var(--good)}
.sgn.done{opacity:.85}
.banner.live{border-left-color:#E5484D}
.livepill{display:inline-block;background:#E5484D;color:#fff;font:700 11px var(--body);letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;vertical-align:2px}
nav a{padding:9px 14px}
a.sm{text-decoration:none;color:var(--text);display:inline-block}

.logo{width:auto;height:84px;min-width:58px;max-width:120px;display:flex;align-items:center;justify-content:center}
.logo img{height:100%;width:auto;max-width:100%;object-fit:contain}
.logorow{display:flex;gap:14px;align-items:center;margin-top:6px}
.logo.prev{transform:rotate(-4deg);height:72px;box-shadow:0 0 0 1px var(--line);background:#fff;border-radius:8px;padding:3px}
.madewith{margin:10px 0 0;font-size:12px}
.madewith a{color:var(--muted);text-decoration:none}
.madewith b{font-weight:600}
/* admin menu */
.menu{display:grid;gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.mrow{display:flex;align-items:center;gap:10px;background:var(--surface);padding:14px 14px;text-decoration:none;color:inherit}
.mrow > span:first-child{flex:1;min-width:0}
.mrow b{display:block;font:700 19px/1.15 var(--cond)}
.mrow small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.mrow i{font-style:normal;font-size:24px;color:var(--muted);line-height:1}
.mrow .tag{font-family:var(--body);font-size:11px;vertical-align:2px}
.crumb{display:inline-block;margin:0 0 8px;color:var(--muted);text-decoration:none;font-size:15px;padding:4px 0}
.ahead h2{margin-bottom:6px}
.pill{font:700 17px var(--cond);min-width:38px;text-align:center;padding:4px 8px;border-radius:999px;background:var(--btn)}
.pill.ok{background:#2E7D4F;color:#fff}
.pill.warn{background:var(--good);color:#fff}
.cardstate{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border-radius:10px;padding:10px 12px;font-weight:600}
.cardstate.ok span::before{content:"✓ ";color:#2E7D4F}
.fixgrid{display:grid;grid-template-columns:44px repeat(9,1fr);gap:3px;align-items:center;margin:6px 0}
.fixgrid span{text-align:center;font:600 13px var(--cond);color:var(--muted)}
.fixgrid .l{text-align:left;font:500 12px var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fixgrid .p{color:var(--text)}
.fixgrid input{padding:8px 0;text-align:center;font:700 17px var(--cond);border:1px solid var(--line);border-radius:6px;background:var(--surface);width:100%}
details.sect > summary{font:700 21px var(--cond);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
details.sect > summary::after{content:"›";transform:rotate(90deg);color:var(--muted);transition:transform .15s}
details.sect:not([open]) > summary::after{transform:none}
details.sect[open] > summary{margin-bottom:10px}
details.sect > summary::-webkit-details-marker{display:none}
details.idle{margin-top:10px}
details.idle summary{cursor:pointer;color:var(--muted);font-size:14px;padding:6px 2px}
.val.ghost{color:var(--muted);opacity:1;font-weight:600;border-style:dashed}
.chip:disabled{opacity:.35}
.logo.bare{background:none;box-shadow:none;padding:0;transform:none;height:88px;max-width:96px}
.livepill.done{background:#2E7D4F}
.donecheck{width:52px;height:52px;border-radius:50%;background:#2E7D4F;color:#fff;font:700 28px/52px var(--body);margin:0 auto}

.skg table{font-variant-numeric:tabular-nums}
.skg td{position:relative;padding:7px 0;line-height:1.05}
.skg td b{display:block;font:700 16px var(--cond)}
.skg tr.parrow td{color:var(--muted);font-size:12px;padding:3px 0}
.skg td.win{background:#2E7D4F;color:#fff}
.skg td.tie{box-shadow:inset 0 0 0 2px var(--muted)}
.skg td.na{color:var(--muted)}
.skg td .hd{position:absolute;top:1px;right:2px;font-size:12px;line-height:1;color:var(--good);letter-spacing:-1px}
.skg td.win .hd{color:#fff}
.key{padding:0 4px;border-radius:3px}
.key.win{background:#2E7D4F;color:#fff}
.key.tie{box-shadow:inset 0 0 0 1.5px var(--muted)}
.hdk{color:var(--good)}

.sumt td,.sumt th{padding:8px 4px;font-size:16px}
.sumt td b{font-size:18px}
.sumt td i{display:block;font:400 11px var(--body);color:var(--muted);font-style:normal}

.wait{width:56px;height:56px;border-radius:50%;background:var(--btn);display:grid;place-items:center;font-size:28px;margin:0 auto}
.rcard.dim{opacity:.75}
.next-nudge{display:block;text-align:center;background:var(--surface);border:2px solid var(--navy);border-radius:12px;padding:12px;margin-bottom:10px;font:700 18px var(--cond);color:var(--text);text-decoration:none}

.ck{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;background:var(--surface);border-radius:12px;padding:14px;margin-bottom:8px}
.ck .n{width:26px;height:26px;border-radius:50%;background:#2E7D4F;color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}
.ck .n.todo{background:var(--btn);color:var(--text)}
.ck b{font:700 20px/1.1 var(--cond);display:block}
.ck > div > span{font-size:14px;color:var(--muted)}
.ck > a{font-size:15px;color:var(--text)}
.who{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.who .chip{font-size:15px;padding:6px 12px}
.who .chip.out{text-decoration:line-through;opacity:.5}
.flag{display:block;margin-top:6px;color:var(--good);font-size:13px;font-weight:600}
.hl{display:grid;grid-template-columns:1fr auto auto;gap:2px 14px;font-size:14px;margin-top:8px;font-variant-numeric:tabular-nums}
.hl i{font-style:normal;color:var(--muted)}
.hl b{font:600 14px var(--body)}
.next{background:var(--surface);border-radius:14px;padding:16px;border:2px solid var(--navy);box-shadow:inset 6px 0 0 var(--red);margin-bottom:12px}
.next b{font:700 22px var(--cond);display:block}

/* skins grid, one nine at a time */
.nineseg button{display:flex;flex-direction:column;align-items:center}
.nineseg button small{font:500 12px var(--body);color:var(--muted)}
.g2{border-collapse:collapse;width:100%;table-layout:fixed;font-variant-numeric:tabular-nums;background:var(--surface)}
.g2 th{font:700 16px var(--cond);color:var(--text);padding:6px 0 4px;border-bottom:2px solid var(--line);text-align:center}
.g2 th small{display:block;font:500 10px var(--body);color:var(--muted)}
.g2 td{text-align:center;font:700 20px var(--cond);padding:11px 0;position:relative}
.g2 td sup{position:absolute;top:3px;right:3px;font-size:11px;color:var(--good);line-height:1}
.g2 td.win{background:#2E7D4F;color:#fff;border-radius:6px}
.g2 td.win sup{color:#fff}
.g2 td.lbl,.g2 th.lbl{text-align:left;font:600 14px var(--body);padding-left:8px;width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g2 tr.z td{background:rgba(23,44,75,.04)}
.g2 tr.z td.win{background:#2E7D4F}
.g2 .sk{font:700 16px var(--cond);color:#2E7D4F;width:44px;border-left:1px solid var(--line)}
.g2 th.sk{color:var(--muted);font-size:12px}
.g2 td.na{color:var(--muted);font-weight:400}
@media (prefers-color-scheme:dark){.g2 tr.z td{background:rgba(255,255,255,.04)}}
/* dark mode: make the active tab stand out from the header and page */
@media (prefers-color-scheme:dark){
  nav a{opacity:.55}
  nav a[aria-current="page"]{background:#22324D;color:#fff;opacity:1}
}

/* messages appear at the top so they never cover buttons */
#toast{top:calc(10px + env(safe-area-inset-top,0px));bottom:auto;max-width:calc(100% - 32px);text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.25)}
#toast.show{pointer-events:auto}
#toast{background:#fff;color:#172C4B;font-weight:600;border:1px solid #D9DFE7}
@media (prefers-color-scheme:dark){#toast{background:#E6ECF4;color:#0E1726;border-color:#2A3A55}}

/* Event tab */
.evinfo .panel{padding:0 0 14px;overflow:hidden}
.evinfo .panel > *:not(h2){margin-left:16px;margin-right:16px}
.evinfo h2{margin:0 0 12px;background:var(--navy);color:#fff;padding:10px 16px;border-left:6px solid var(--red);font:700 21px var(--cond);letter-spacing:.04em;text-transform:uppercase}
@media (prefers-color-scheme:dark){.evinfo h2{background:#22324D}}
.evinfo h3{margin:16px 16px 8px;padding-bottom:5px;border-bottom:2px solid var(--line);font:700 18px var(--cond)}
.srow{padding:10px 0;border-top:1px solid var(--line)}
.srow:first-of-type{border-top:0;padding-top:0}
.srow b{font:700 19px var(--cond)}
.srow small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.tees{display:grid;gap:4px;margin-top:6px}
.tt{display:flex;gap:10px;align-items:baseline;font-size:14px}
.ttime{font:700 15px var(--cond);background:var(--btn);border-radius:6px;padding:2px 8px;white-space:nowrap}
ul.fmt{margin:0;padding-left:18px;display:grid;gap:8px;font-size:15px}
ul.fmt b{font-weight:600}
.evinfo p.small.muted{margin:0 16px 8px}
.hcpt td,.hcpt th{text-align:center}
.hcpt td:first-child,.hcpt th:first-child{text-align:left}
nav a{padding:9px 12px}
.ttrow{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}
.ttrow input[type=time]{width:140px;margin-bottom:6px}

/* one shape language: rounded squares for every selector and tag */
.chip{border-radius:10px}
.tag{border-radius:6px}
.seg{border-radius:12px}
.seg button{border-radius:9px}
/* Standings round pills: day on top, course below, with a state mark */
.chips.rp{gap:8px;margin-bottom:14px}
.chips.rp .chip{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;padding:7px 12px;min-width:92px}
.chips.rp .chip small{font:500 11px var(--body);opacity:.75;text-transform:uppercase;letter-spacing:.04em}
.okm{color:#2E7D4F;font-weight:700}
.chip[aria-pressed="true"] .okm{color:#8FE0AE}
@media (prefers-color-scheme:dark){.chip[aria-pressed="true"] .okm{color:#2E7D4F}}
.ldm{display:inline-block;width:7px;height:7px;border-radius:50%;background:#E5484D;margin-left:5px;vertical-align:1px}
/* Live: a quiet line instead of a banner */
.infoline{font-size:14px;color:var(--muted);margin:0 2px 12px}
.infoline b{color:var(--text);font-weight:600}
.infoline .ldm{margin:0 6px 0 0;width:8px;height:8px}

/* Standings round pills: equal widths that always fit, no squeezing, no scroll bar */
.chips.rp{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;overflow:visible}
.chips.rp .chip{min-width:0;padding:7px 9px;overflow:hidden}
.chips.rp .chip small{display:flex;align-items:center;gap:5px}
.chips.rp .chip small .ldm{margin:0}
.chips.rp .chip > span{font:600 16px var(--cond);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.chips{scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips .chip{flex:none}

.pcard{border-top:1px solid var(--line);padding:10px 0 8px}
.pcard:first-of-type{border-top:0}
#plist .prow2 small{display:block;margin:2px 0 0 4px;font-size:12px}

.lockrow{padding:12px 16px}
.prow2 input:disabled{background:var(--btn);color:var(--muted)}
.lockedtag{display:inline-block;background:#E3F1E8;color:#1F6B3E;border-radius:6px;padding:1px 7px;font-weight:600}
@media (prefers-color-scheme:dark){.lockedtag{background:#1F3A2B;color:#8FE0AE}}
/* golfer picker */
.search{margin:4px 0 10px}
.search input{width:100%;padding:13px 14px;font-size:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.glist{background:var(--surface);border-radius:12px;overflow:hidden}
.grow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:11px 14px;border-top:1px solid var(--line);cursor:pointer}
.grow:first-child{border-top:0}
.grow .bx{width:24px;height:24px;border-radius:6px;border:2px solid var(--line);display:grid;place-items:center;font-weight:700;color:#fff}
.grow.on .bx{background:var(--navy);border-color:var(--navy)}
@media (prefers-color-scheme:dark){.grow.on .bx{background:#2E5A96;border-color:#2E5A96}}
.grow b{font:700 18px var(--cond);display:block}
.grow small{display:block;font-size:13px;color:var(--muted)}
.grow .ix{font:700 17px var(--cond);color:var(--muted)}
.grow .gix{width:64px;padding:6px;text-align:center;font:700 16px var(--cond);border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.grow.new .bx{border-style:dashed;color:var(--text);font-size:18px}
.sel{font-size:14px;color:var(--muted);margin:0 2px 10px}
.sel b{color:var(--text)}
.ask{background:#FFF7E6;border:1px solid #F0D9A8;border-radius:12px;padding:12px 14px;margin-bottom:10px;color:#172C4B}
.ask b{font:700 18px var(--cond)}
.ask .row2{margin-top:8px}

/* Index box with a + toggle */
.idxw{display:inline-flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);width:112px}
.idxw input{border:0!important;border-radius:0!important;width:100%;min-width:0;padding:8px 6px;text-align:center;font:700 16px var(--cond);background:transparent}
.plusb{border:0;border-right:1px solid var(--line);background:var(--btn);color:var(--muted);font:700 18px var(--cond);width:36px;flex:none}
.plusb[aria-pressed="true"]{background:var(--navy);color:#fff}
@media (prefers-color-scheme:dark){.plusb[aria-pressed="true"]{background:#2E5A96}}
.grow .idxw{width:104px}

.qadd{border:2px solid var(--navy);border-radius:12px;padding:12px;margin-top:10px;background:var(--surface)}
@media (prefers-color-scheme:dark){.qadd{border-color:#2E5A96}}
.qprev{background:var(--bg);border-radius:10px;padding:10px 12px;margin-top:8px}
.qprev b{font:700 19px var(--cond);display:block}
.qprev small{color:var(--muted)}
/* format-first setup */
.fmtopts .opt .ic{float:right;font-size:26px;margin-left:8px}
.fmtopts .opt:disabled{opacity:.6}
.soon{display:inline-block;font:600 11px var(--body);background:var(--btn);color:var(--muted);border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:3px}
.tl{border-radius:12px;overflow:hidden;margin-bottom:10px}
.tog{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);background:var(--surface);cursor:pointer}
.tog:first-child{border-top:0}
.tog b{font:700 19px var(--cond);display:block}
.tog small{font-size:13px;color:var(--muted)}
.swi{appearance:none;-webkit-appearance:none;width:46px;height:28px;border-radius:999px;background:var(--btn);position:relative;cursor:pointer;margin:0;transition:background .15s}
.swi::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.swi:checked{background:#2E7D4F}
.swi:checked::after{left:21px}
.teamrow{background:var(--surface);border-radius:12px;padding:10px 12px;margin-bottom:8px;display:flex;align-items:center;gap:10px;min-height:52px;cursor:pointer;border:2px solid transparent}
.teamrow.open{border:2px dashed var(--line)}
.teamrow b{font:700 18px var(--cond);width:70px;flex:none}
.pchips{display:flex;flex-wrap:wrap;gap:6px}
.pchips span{background:var(--btn);border-radius:8px;padding:6px 10px;font-weight:600;font-size:15px;cursor:pointer}
.pchips span i{font-style:normal;color:var(--muted);font-weight:500;font-size:13px;margin-left:4px}
.pool{background:var(--surface);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.pool .pchips{margin-top:6px}
.pool .pchips span{background:var(--bg);border:1px dashed var(--line)}
.pool .pchips span.sel{background:var(--navy);color:#fff;border-style:solid}
.pool .pchips span.sel i{color:#cfd6e2}
/* Ryder Cup */
.sidecard{background:var(--surface);border-radius:14px;padding:12px 14px;margin-bottom:10px;border-left:8px solid var(--c);cursor:pointer}
.sidecard .sh{display:flex;align-items:center;gap:8px}
.sidecard .sh input{flex:1;font:700 20px var(--cond);margin:0}
.sidecard .dot{width:22px;height:22px;border-radius:50%;background:var(--c);flex:none}
.sidecard .pchips{margin-top:8px}
.pts{font-size:13px;color:var(--muted);margin:6px 0 0}
.rsess{background:var(--surface);border-radius:12px;padding:12px 14px;margin-bottom:8px}
.rsess .rh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.rsess .rh b{font:700 19px var(--cond)}
.rsess .rh span{font-size:13px;color:var(--muted);white-space:nowrap}
.fmtsel{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fmtsel button{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font:600 14px var(--body);background:var(--surface);color:var(--text)}
.fmtsel button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (prefers-color-scheme:dark){.fmtsel button.on{background:#2E5A96;border-color:#2E5A96}}
.target{background:var(--surface);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}
.target .stp{display:flex;align-items:center;gap:10px}
.target .stp b{font:800 30px var(--cond);min-width:44px;text-align:center}
.target .stp button{width:40px;height:40px;border-radius:10px;border:0;background:var(--btn);font:700 22px var(--cond);color:var(--text)}
.cupbar{background:var(--surface);border-radius:14px;padding:14px;margin-bottom:12px}
.cupsc{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}
.cupsc .sd b{display:block;font:800 40px/1 var(--cond)}
.cupsc .sd span{font:700 15px var(--cond);letter-spacing:.06em;text-transform:uppercase}
.cupsc .mid{font-size:12px;color:var(--muted)}
.track{position:relative;height:12px;border-radius:6px;background:var(--btn);margin-top:12px;overflow:hidden;display:flex}
.track i{display:block;height:100%}
.track .t{position:absolute;top:0;bottom:0;width:2px;background:var(--text)}
.proj{font-size:13px;color:var(--muted);margin:8px 0 0;text-align:center}
.sess{font:700 13px var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:14px 2px 6px}
.mc{width:100%;background:var(--surface);border:0;border-radius:12px;padding:10px 12px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;color:var(--text);text-align:left;font:inherit;cursor:pointer}
.mc:disabled{cursor:default;opacity:1}
.mc .pl{font-weight:700;font-size:15px}
.mc .pl small{display:block;font-weight:500;font-size:12px;color:var(--muted)}
.mc .l{border-left:5px solid;padding-left:8px}
.mc .r{border-right:5px solid;padding-right:8px;text-align:right}
.mc .st{text-align:center;min-width:86px}
.mc .st b{display:block;font:800 18px var(--cond);border-radius:8px;padding:4px 8px}
.mc .st b.as{background:var(--btn);color:var(--text)}
.mc .st small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.mstrip{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:10px;padding:8px 12px;margin-bottom:8px;font-weight:700}
.mstrip small{font-weight:500;opacity:.9;text-align:right}
.hh{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:fixed}
.hh th,.hh td{text-align:center;padding:7px 0;font-size:14px;border-bottom:1px solid var(--line);position:relative}
.hh td.lbl,.hh th.lbl{text-align:left;padding-left:8px;width:72px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hh td b{font:700 16px var(--cond)}
.hh td sup{position:absolute;top:2px;right:2px;color:var(--good);font-size:10px}
.hh tr.stat td{font:700 13px var(--cond)}
.sdot{display:inline-block;width:12px;height:12px;border-radius:50%}
.match{background:var(--surface);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.match .mh{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-bottom:6px}
.match .mh select{width:auto;padding:4px 8px;font-size:13px}
.match .vs{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.match .vs .s{display:grid;gap:4px;padding:0 6px}
.match .vs em{font-style:normal;font-weight:700;color:var(--muted);font-size:13px}
.opt b .soon{display:inline-block;width:auto;margin:0 0 0 8px;vertical-align:3px}
/* Event tab: itinerary and format */
.evinfo .fmtname{font:700 20px var(--cond);margin:0 16px 8px}
.evinfo .sublabel{font-size:13px;color:var(--muted);margin:0 16px 8px}
.evinfo .day{border-top:1px solid var(--line);padding:10px 0 4px}
.evinfo .day:first-of-type{border-top:0;padding-top:0}
.evinfo .stay + .day{border-top:1px solid var(--line);padding-top:10px}
.evinfo .dayh{font:700 13px var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}
.evinfo .it,.evinfo .stay{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:6px 0}
.evinfo .it .ic,.evinfo .stay .ic{font-size:18px;line-height:24px;text-align:center}
.evinfo .it b,.evinfo .stay b{font:700 18px var(--cond);display:block}
.evinfo .it small,.evinfo .stay small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.evinfo .stay{background:var(--bg);border-radius:10px;padding:10px;margin-bottom:10px}
.evinfo a.where{display:inline-block;color:var(--text);font-size:15px;margin-top:2px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.evinfo .it b .ttime{font-size:14px;margin-right:4px;vertical-align:1px}
.evinfo .sides2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.evinfo .side{border-left:6px solid var(--c);background:var(--bg);border-radius:10px;padding:8px 10px}
.evinfo .side b{display:block;font:800 19px var(--cond);color:var(--c)}
.evinfo .side span{font-size:14px}
.itrow{border-top:1px solid var(--line);padding:10px 0}
.itrow:first-of-type{border-top:0;padding-top:0}
/* less empty space under the header: the status line only takes room when it has something to say */
main{padding-top:10px}
.status:empty{display:none}
/* every segment bar is the same height, labels on one line */
.seg button{min-height:46px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.seg.nineseg button{min-height:52px}
/* course search */
.clist .grp{font:700 12px var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 14px 4px;border-top:1px solid var(--line)}
.clist .grp:first-child{border-top:0}
.clist .bx.ico{border:0;font-size:18px}
.cpicked{background:var(--surface);border:2px solid var(--navy);border-radius:12px;padding:10px 14px}
@media (prefers-color-scheme:dark){.cpicked{border-color:#2E5A96}}
.cpicked b{font:700 20px var(--cond);display:block}
.cpicked small{display:block;font-size:13px;color:var(--muted)}
.cpicked .cchg{float:right;font-size:14px}
.nmrow{display:flex;gap:6px;margin-top:6px}
.nmrow input{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:16px}
/* Event tab schedule: an agenda, no icons */
.evinfo .sched{padding-bottom:4px}
.evinfo .sched .stayl,.evinfo .sched .dB{margin:0;padding:10px 16px;border-bottom:1px solid var(--line)}
.evinfo .sched .dB:last-child{border-bottom:0}
.evinfo .stayl{font-size:15px}
.evinfo .stayl .k,.evinfo .dB .dh{display:block;font:700 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.evinfo .stayl small{display:block;color:var(--muted);font-size:13px}
.evinfo .sched a{color:var(--text);font-weight:600;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.evinfo .ag{display:grid;grid-template-columns:66px 1fr;gap:8px;padding:4px 0;font-size:15px}
.evinfo .ag .t{font:600 14px var(--cond);color:var(--muted);padding-top:2px}
.evinfo .ag b{font:700 18px var(--cond)}
.evinfo .ag small{display:block;color:var(--muted);font-size:13px;margin-top:1px}
.evinfo .todaym{color:#B23A3A;margin-left:6px}
.evinfo .done{font:600 11px var(--body);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-left:4px}

/* Event tab: Ryder Cup teams, same look as the match board */
.evinfo .tm2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.evinfo .tm2 .tn{font:800 22px var(--cond);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;padding-bottom:4px;border-bottom:3px solid}
.evinfo .tm2 .r .tn{text-align:right}
.evinfo .tm2 .pr{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font:600 17px var(--cond)}
.evinfo .tm2 .r .pr{flex-direction:row-reverse}
.evinfo .tm2 .pr i{font:500 14px var(--body);font-style:normal;color:var(--muted)}
.evinfo .tm2 .avg{font-size:12px;color:var(--muted);margin:6px 0 0}
.evinfo .tm2 .r .avg{text-align:right}
/* Schedule in the same pattern as Format */
.evinfo .dl{font:700 15px var(--cond);margin:10px 16px 2px}
.evinfo h3 + .dl{margin-top:4px}
.evinfo ul.fmt.dd{gap:2px;margin-bottom:2px}
.evinfo ul.fmt a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.evinfo .m{color:var(--muted);font-size:13px;font-weight:400}
/* admin home and round hub */
.admin .lbl2{font:700 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 2px 6px}
.admin .glist2{background:var(--surface);border-radius:12px;overflow:hidden}
.admin .r1{display:grid;grid-template-columns:52px 1fr auto 12px;gap:8px;align-items:center;padding:8px 14px;min-height:56px;border-top:1px solid var(--line);color:var(--text);text-decoration:none;width:100%;background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;font:inherit}
.admin .glist2 > .r1:first-child{border-top:0}
.admin .r1.ev{grid-template-columns:1fr 12px}
.admin .r1 .dd{font:600 14px var(--cond);color:var(--muted)}
.admin .r1 .nm{min-width:0}
.admin .r1 .nm b{display:block;font:700 17px var(--cond);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin .r1 .nm small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin .r1 .st{font:600 12px var(--body);color:var(--muted);white-space:nowrap}
.admin .r1 .st.go{color:#B23A3A}
.admin .r1 .st.ok{color:#2E7D4F}
.admin .r1 i{font-style:normal;color:var(--muted)}
.admin .next .big{display:block;text-align:center;text-decoration:none;margin-top:10px}
.seg.hub a{display:flex;align-items:center;justify-content:center;border-radius:9px;min-height:46px;font:600 17px var(--cond);color:var(--text);text-decoration:none}
.seg.hub a[aria-pressed="true"]{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.12)}

/* Leaderboard pills: up to four share the width; more scroll sideways */
.chips.rp{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(84px,1fr);overflow-x:auto}
.chips.rp .chip small .ldm{margin-left:5px}

/* a cup round at a glance, same look as the cup header */
.rsum{background:var(--surface);border-radius:14px;padding:10px 14px;margin:-4px 0 12px}
.rsum .k{font:700 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.rsum .rsc{display:flex;justify-content:space-between;align-items:baseline;font:700 16px var(--cond);text-transform:uppercase;letter-spacing:.04em}
.rsum .rsc b{font:800 28px var(--cond)}
.rsum small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
/* organizer notes, Stableford settings, side colors */
.evinfo .notes{margin:0 16px 4px;font-size:15px;line-height:1.5}
.evinfo .notes a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
details.sub{margin:8px 0}
details.sub summary{font-weight:600;cursor:pointer;padding:6px 0}
.ptsrow{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.ptsrow small{display:block;font-size:12px;color:var(--muted);text-align:center}
.ptsrow input{text-align:center;padding:8px 4px}
.swatches{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.swatches .sw{width:28px;height:28px;border-radius:8px;border:2px solid transparent;padding:0}
.swatches .sw[aria-pressed="true"]{border-color:var(--text);box-shadow:inset 0 0 0 2px var(--surface)}
textarea#evNotes{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}
.seg.mini{margin-bottom:6px}
.seg.mini button{min-height:38px;font-size:15px}
.fmtsel.sz{margin-top:6px}
.fmtsel.sz button{padding:5px 10px;font-size:13px}

/* closest to the pin on the hole screen */
.ctprow{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:10px 0 4px;border-top:1px solid var(--line);margin-top:6px}
.ctprow label{font:700 17px var(--cond)}
.ctprow select{max-width:190px}
.ctprow small{grid-column:1/-1;font-size:12px;color:var(--muted)}
/* Nassau: green won the bet, bold is leading */
.board.nassau td.big2{font-size:18px}
.board.nassau td i{display:block;font:500 11px var(--body);font-style:normal;color:var(--muted)}
.board.nassau td.nwin{color:#2E7D4F;font-weight:800}
.board.nassau td.nwin i{color:#2E7D4F;font-weight:700}
.board.nassau td.nlead{font-weight:800}

.board.nassau th,.board.nassau td{text-align:center}
.board.nassau th:first-child,.board.nassau td.name{text-align:left;width:44%}
.board.nassau td.name small.who{white-space:normal}
.board.ctp td.name:first-child{width:34%;white-space:nowrap}
/* iPhone date fields: stay inside their card */
input[type="date"],input[type="time"]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left}
input[type="date"]::-webkit-date-and-time-value{text-align:left}
/* checkbox labels wrap instead of pushing the page wider than the screen */
.check{white-space:normal;align-items:flex-start;line-height:1.35}
.check input{flex:none;margin-top:1px}
html,body{overflow-x:hidden}

/* round teams: one block per team, players two across, always inside the screen */
.team.tcard{display:block;margin-top:10px}
.team.tcard > b{display:block;width:auto;font:700 17px var(--cond);margin-bottom:4px}
.team.tcard .tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.team.tcard select{width:100%;min-width:0}
/* fields and menus include their padding and border in their width, so width:100% fits */
input,select,textarea,button{box-sizing:border-box}

.crash{background:var(--surface);border-radius:14px;padding:18px;text-align:center;margin-top:12px}
.crash b{font:700 20px var(--cond);display:block;margin-bottom:4px}
/* building blocks: tap-button groups, switches, money boxes */
.seg2{display:inline-grid;grid-auto-flow:column;background:var(--btn);border-radius:9px;padding:3px;gap:2px}
.seg2 button{border:0;background:none;padding:6px 12px;border-radius:7px;font:600 15px var(--cond);color:var(--text);min-height:34px}
.seg2 button[aria-pressed="true"]{background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.14)}
.sw3{position:relative;display:inline-block;width:48px;height:30px;flex:none}
.sw3 input{opacity:0;width:0;height:0;position:absolute}
.sw3 span{position:absolute;inset:0;border-radius:15px;background:var(--line);transition:background .15s}
.sw3 span:after{content:'';position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.sw3 input:checked + span{background:#2E7D4F}
.sw3 input:checked + span:after{transform:translateX(18px)}
.money{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface);height:38px}
.money input{border:0;width:56px;padding:0;font-size:16px;background:none;min-width:0}
/* bet cards */
.bet{background:var(--surface);border-radius:14px;padding:12px 14px;margin-bottom:8px}
.bet .bt,.bet.hcp{display:flex;justify-content:space-between;align-items:center;gap:10px}
.bet b{font:700 18px var(--cond);display:block}
.bet small{display:block;color:var(--muted);font-size:13px;margin-top:1px}
.bet.off{opacity:.62}
.bet .bc{margin-top:8px}
.bet .brow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.bet details.fine{margin-top:6px}
.bet details.fine summary{font-size:13px;color:var(--muted);text-decoration:underline;cursor:pointer;list-style:none}
.bet details.fine summary::-webkit-details-marker{display:none}

summary .sumnote{display:block;font:500 13px var(--body);color:var(--muted);margin-top:2px}

.paynotes{margin-top:10px}
.paynotes li{font-size:14px}
.board.pay td.name{width:80%;color:var(--text)}
.board.pay td.name small{white-space:normal}
.board.pay td.big2{text-align:right}
.board.pay th:first-child{text-align:left}
