/* Scorecard + Board cleanup (Ben Oct 28): each fact once. Scoped to the card and the Board sheet. */
.cmeta{margin:2px 0 12px;font-size:15px}
.card table.sc td.pn{padding:0;text-align:left;white-space:nowrap}
.sc .pnb{display:flex;align-items:center;gap:6px;min-height:44px;width:100%;padding:0 8px;background:none;border:0;font:inherit;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}
.sc .pnb .ch{font-weight:600;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums lining-nums}
/* #516: a name that needs more than one line puts the course handicap under it, not inside the wrapped words. New rounds only
   (main.nu = newDisplay on the round card, Ben "new rounds only"): a round finished before NEW_DISPLAY_FROM keeps its card. */
main.nu .sc .pnb{flex-wrap:wrap;row-gap:0}
/* a single very long word ("Konstantinopoulou") stays inside the name cell instead of running into hole 1 (the name is its own
   flex item that may shrink and break); a short name keeps its course handicap beside it. New rounds only: renderCard adds the
   .pnn span only when newDisplay(round) is true. */
main.nu .sc .pnb .pnn{min-width:0;overflow-wrap:break-word}
.card table.sc tr.yrow td:first-child,.card table.sc tr.sirow td:first-child{font-weight:600;font-size:13px;color:var(--muted)}
.cleg{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:10px;font-size:14px;color:var(--muted)}
.cleg select{width:auto;max-width:100%;padding:6px;font-size:14px;min-height:44px}
.gcard .gh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-6px -6px 2px 0}
.gcard .gh h3{margin:0}
.ib{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:50%;color:var(--green);cursor:pointer}
.ib .ic{width:22px;height:22px}
.ghl{font-size:17px;line-height:1.35;margin-bottom:10px}
.hstrip{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:visible;background:var(--card)}
.hstrip li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 0 6px;min-height:52px;border-left:1px solid var(--line);font-variant-numeric:tabular-nums lining-nums}
.hstrip li:first-child{border-left:0}
.hstrip small{font-size:12px;color:var(--muted);font-weight:600;line-height:1.1}
.hstrip b{font-size:15px;font-weight:700;line-height:1.3;color:var(--ink);letter-spacing:-.02em}
.hstrip li.t b{color:var(--muted);font-weight:600}
.hstrip li.w{background:#EFE3BF}
.hstrip i{font-style:normal;font-size:11px;font-weight:700;color:var(--ink);line-height:1}
dl.kv{margin:8px 0 12px}
dl.kv>div{display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center;border-bottom:1px solid var(--line)}
dl.kv dt{color:var(--muted);font-size:15px}
dl.kv dd{margin:0;font-weight:700;text-align:right;font-variant-numeric:tabular-nums lining-nums}
dl.kv dd .muted{font-weight:400;font-size:14px;display:block}
body.sun .hstrip li.w{background:#fff;box-shadow:inset 0 -3px 0 #000}
body.sun .hstrip,body.sun .hstrip li{border-color:#000}
/* Home History card (Home list only: .hv2 .hist) */
.hv2 .hist .hcard{position:relative;display:block;min-height:68px;padding:12px 40px 12px 14px;border-top:1px solid var(--fw-line);color:var(--fw-ink);text-decoration:none}
.hv2 .hist .hcard:first-child{border-top:0}
.hv2 .hcard .hc1{display:flex;align-items:baseline;gap:10px}
.hv2 .hcard .hc1 b{flex:1;min-width:0;font:600 17px/1.25 var(--fw-sans);overflow-wrap:anywhere}
.hv2 .hcard .hc1 time{flex:none;font-size:14px;color:var(--fw-muted);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.hv2 .hcard .hc1 b .hseg{font-weight:500;color:var(--fw-muted)} /* #578 item 8: "· Back 9" after the course */
/* History v3 line 2: every player once; names ink 400, values 700 tabular; wrap only between pairs */
.hv2 .hist .hcard .hc3{display:block;margin-top:4px;font:400 14px/1.45 var(--fw-sans);color:var(--fw-ink);font-variant-numeric:tabular-nums lining-nums}
.hv2 .hcard .hc3 .e{white-space:nowrap}
.hv2 .hcard .hc3{text-wrap:pretty} /* Designer nit 7: money line avoids a lone pair on line 2 */
.hv2 .hcard .hc3 .e b{font-weight:700;color:var(--fw-ink)}
.hv2 .hcard .hc3 .e b.neg{color:#921A1A}
.hv2 .hcard .hc3 .e b.txt{font-weight:400}
.hv2 .hcard .hc3 .e b.mt{font-weight:700}
.hv2 .hcard .hc3 .e:has(> b.txt),.hv2 .hcard .hc3 .e:has(> b.mt){white-space:normal;overflow-wrap:anywhere;text-wrap:pretty} /* fallback headline wraps (no sideways scroll); pretty = no orphaned '2&1' (Designer fix 2) */
.hv2 .hcard .hc3 .sep{color:var(--fw-muted)}
.hv2 .hcard .chev{position:absolute;right:12px;top:50%;width:16px;height:16px;margin-top:-8px}
/* D2 fix 1: hole numbers on won (gold) cells in ink, 13.1:1 */
.hstrip li.w small{color:var(--ink)}
/* Leaderboard component (TV-style, Fairway only): .lb inside .card.lbcard (Board + card Results; reusable for skins/money/points) */
.card.lbcard{padding:0;overflow:hidden}
.lb-bar{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px 0 14px;background:#1F3D2B;color:#FFFDF7}
.lb-t{flex:1;min-width:0;margin:0;font:700 13px/1.25 var(--fw-sans);letter-spacing:.12em;text-transform:uppercase;color:#FFFDF7;overflow-wrap:anywhere}
.lb-s{flex:none;font:700 13px/1 var(--fw-sans);letter-spacing:.12em;text-transform:uppercase;color:#FFFDF7;font-variant-numeric:tabular-nums lining-nums;padding-right:10px}
.lb-bar .ib{color:#FFFDF7}
.lb-rows{list-style:none;margin:0;padding:0 14px}
.lb-r{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 0;border-top:1px solid var(--line)}
.lb-r:first-child{border-top:0}
.lb-p{flex:none;width:28px;font:700 15px/1 var(--fw-sans);color:var(--muted);font-variant-numeric:tabular-nums lining-nums}
.lb-b{flex:none;min-width:34px;height:26px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);font:700 13px/1 var(--fw-sans);color:var(--ink);letter-spacing:-.02em}
.lb-n{flex:1;min-width:0;font:600 16px/1.3 var(--fw-sans);color:var(--ink);overflow-wrap:break-word}
.lb-v{flex:none;min-width:44px;padding:6px 8px;border-radius:6px;background:#EFE3BF;color:var(--ink);font:700 17px/1.1 var(--fw-sans);font-variant-numeric:tabular-nums lining-nums;text-align:center;white-space:nowrap}
.lb-v.neg{color:#921A1A}
.lb-r.lead .lb-v{background:#1F3D2B;color:#FFFDF7}
.lb-f{margin:0;padding:6px 14px 0;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
.lb-x{padding:12px 14px 14px}
.lbcard>details{margin:0 14px 12px}
/* Change log */
.clog{font-size:14px;line-height:1.5}
/* Sun: #000 on #fff (score circles #000; Delete round / money minus #921A1A kept) */
body.sun .lb-bar{background:#000}
body.sun .lb-t,body.sun .lb-s,body.sun .lb-bar .ib{color:#fff}
body.sun .lb-v{background:#fff;color:#000;box-shadow:inset 0 0 0 1px #000}
body.sun .lb-v.neg{color:#921A1A}
body.sun .lb-r.lead .lb-v{background:#000;color:#fff;box-shadow:none}
body.sun .lb-b,body.sun .lb-r,body.sun .lb-f{border-color:#000}
body.sun{--green:#000;--green2:#000;--blue:#000;--info:#000;--fw-green:#000;--fw-green-2:#000;--focus-ring:#000}
body.sfw.sun{--fw-green:#000;--fw-green-2:#000}
body.sun a,body.sun .notice a,body.sun summary,body.sun .fwinfo-s,body.sun .btn:not(.primary):not(.danger):not(.gold){color:#000}
html body.sfw.sun .sc .birdie{box-shadow:inset 0 0 0 3px #000}
html body.sfw.sun .sc .birdie.eagle{box-shadow:inset 0 0 0 3px #000,inset 0 0 0 5px #fff,inset 0 0 0 7px #000}
body.sun .sync{background:#fff;color:#000;box-shadow:inset 0 0 0 1px #000}
/* D2 nit 4: the saved check is status only (no handler): not a tap target */
.sync.ok1{pointer-events:none}
/* Leaderboard col 2: score to par (app convention: under par #921A1A with −, E and + in ink; kept in sun) */
.lb-tp{flex:none;min-width:34px;text-align:right;font:700 15px/1 var(--fw-sans);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
.lb-tp.u{color:#921A1A}
/* Head-to-head card (match play / Nassau): side A green, side B pale gold on ink */
.lbm .lb-c{flex:none;min-width:48px;text-align:center}
.lbm .lb-h{min-height:28px;padding:6px 0 0;border-top:0}
.lbm .lb-h .lb-tp,.lbm .lb-h .lb-c{font:700 11px/1.2 var(--fw-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lbm .lb-h + .lb-r{border-top:1px solid var(--line)}
.lbm .lb-v{font-size:15px;padding:7px 4px}
.lbm .lb-v.off{background:transparent}
.lbm .lb-v.as{background:#EFE3BF;color:var(--ink)}
.lbm .lb-v.ona{background:#1F3D2B;color:#fff}
.lbm .lb-v.onb{background:#EFE3BF;color:var(--ink);box-shadow:inset 0 0 0 2px #16201A}
.lbm .sidea .lb-b{background:#1F3D2B;border-color:#1F3D2B;color:#fff}
.lbm .sideb .lb-b{background:#EFE3BF;border-color:#16201A;color:var(--ink)}
body.sun .lbm .lb-v.ona{background:#000;color:#fff;box-shadow:none}
body.sun .lbm .lb-v.onb,body.sun .lbm .lb-v.as{background:#fff;color:#000;box-shadow:inset 0 0 0 2px #000}
body.sun .lbm .lb-v.off{box-shadow:none}
body.sun .lbm .sidea .lb-b{background:#000;color:#fff;border-color:#000}
body.sun .lbm .sideb .lb-b{background:#fff;color:#000;border-color:#000}
.card .lb-bar h3.lb-t,#sheet .lb-bar h3.lb-t{font:700 13px/1.25 var(--fw-sans);letter-spacing:.12em;text-transform:uppercase;color:#FFFDF7;margin:0}
body.sun .card .lb-bar h3.lb-t,body.sun #sheet .lb-bar h3.lb-t{color:#fff}
/* #921A1A on #EFE3BF is 6.88:1 (<7) — negative money cells sit on card ivory with a minus-coloured hairline (8.66:1) */
.lb-v.neg{background:#FFFDF7;color:#921A1A;box-shadow:inset 0 0 0 1px #921A1A}
body.sun .lb-v.neg{background:#fff;color:#921A1A;box-shadow:inset 0 0 0 1px #921A1A}

/* Nassau (3 status columns) on phones (<=479px; at 390 the name column is only ~90px): two-line rows. Line 1 badge + full name; line 2 to-par + Front/Back/Total, right-aligned under the headers. */
@media (max-width:479px){
.lbm.lb3 .lb-r:not(.lb-h){flex-wrap:wrap;row-gap:6px;column-gap:10px}
.lbm.lb3 .lb-r:not(.lb-h) .lb-n{flex:1 1 calc(100% - 44px)}
.lbm.lb3 .lb-r .lb-tp{margin-left:auto}
.lbm.lb3 .lb-r .lb-n + .lb-c,.lbm.lb3 .lb-h .lb-c:first-of-type{margin-left:auto} /* no To par column (no engine toPar): status columns still right-aligned */
.lbm.lb3 .lb-h .lb-n{display:none}
}
/* All leaderboards at <=359px: tighter fixed columns so a 40-char name wraps at spaces/hyphens, never mid-word */
@media (max-width:359px){
.lb-r{gap:8px}
.lb-p{width:18px}
.lb-b{min-width:30px}
.lb-n{font-size:15px}
}
/* D2 r2 add: an undecided / trailing result cell shows a muted en dash, never blank (SR: "not decided") */
.lbm .lb-v.off{color:var(--fw-muted);font-weight:400}
body.sun .lbm .lb-v.off{color:#000}
/* D2 r2 nit 6: stroke dots in sun use the minus token, not #A00000 */
body.sfw.sun .dots,body.sfw.sun .dots.schip,body.sfw.sun .cdot{color:#921A1A}
/* D2 r2 nit 7: sun toggle when sun is on = white icon on black (the generic body.sun .btn #000 rule made it black on black) */
html body.sun .holebar .btn.sunbtn.sunbtn:not(.primary):not(.danger){background:#000;color:#fff;border-color:#000}

/* Designer sun hero ruling (B3): auth + home hero solid #000, #fff text; logo mark keeps full colour */
body.sun .fw-hero{background:#000;color:#fff;--fw-hero:#000;--fw-hero-dark:#000;--fw-on-hero-2:#fff}
body.sun .fw-hero a:not(.hero-cta):not(.btn){color:#fff}

/* Last Round name cell: break at spaces/hyphens; a word wider than the cell breaks as a last resort (Lead Dev 06:19Z) */
.hv2 .lr td.pl{word-break:normal;overflow-wrap:break-word} /* break-word = last resort: splits a word only if it cannot fit on a line by itself */
@media (max-width:359px){.hv2 .lr td.sc,.hv2 .lr td.np,.hv2 .lr td.w{font-size:15px}}
/* Claude R8: sunlight danger stays #921A1A on white everywhere; the scoring-route sheet / finish / bottom-bar sun rules and
   New Round's sun rule had turned it black, so "Delete" matched "Cancel" */
html body.sun .btn.danger.danger,body.sfw.sun #sheet .btn.danger,body.sfw.sun .finsheet .btn.danger,body.sfw.sun .bottom .btn.danger{color:#921A1A;border-color:#921A1A;background:#fff}

/* Home v3 §5b (proto lb-v3.css): optional score cell on TV boards */
.lb-sc{flex:none;min-width:44px;display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-variant-numeric:tabular-nums lining-nums}
.lb-sc b{font:700 17px/1.1 var(--fw-sans);color:var(--ink,#16201A)}
.lb-sc small{font:500 12px/1.2 var(--fw-sans);color:var(--muted,#4C4A42)}
.lb-sch{display:block;font:700 11px/1.2 var(--fw-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#4C4A42)}
.lb-sch small{display:block;text-transform:none;letter-spacing:0;font:500 11px/1.2 var(--fw-sans)}
.lbm.lb3 .lb-r .lb-sc{margin-left:auto}
.lbm.lb3 .lb-r .lb-sc + .lb-c{margin-left:0}
