.rd-divider{border-left:2px solid #e5e5e5}
.lb-st-stat{text-align:center;white-space:nowrap}
.st-tc{font-size:18px;color:#dc2626}
.st-sk{color:#dc2626;font-size:13px;letter-spacing:1px}
.st-wn{color:#e89020;font-size:13px;letter-spacing:1px}
.st-wr{color:#dc2626;font-size:13px;letter-spacing:1px}
.st-f{color:#2d7a4f;font-weight:800;font-size:14px}
.st-a{color:#2d7a4f;font-weight:700;font-size:14px}
.st-t{color:#666;font-size:11px}
.st-frac{font-weight:400;font-size:inherit;color:#666}
.st-f sub{font-size:10px;font-weight:600;color:#666;vertical-align:baseline;position:relative;top:1px;margin-left:1px}
.st-cg{color:#2d7a4f;font-weight:800;font-size:14px}
.st-co{color:#e89020;font-weight:800;font-size:14px}
.st-cr{color:#dc2626;font-weight:800;font-size:14px}
.lb-tog-btn{font-size:10px;padding:2px 8px;border:1px solid #ccc;border-radius:4px;background:#f5f5f5;color:#666;cursor:pointer}
.lb-tog-btn.tb-active{background:#e8f5e9;color:#1b5e3b;border-color:#2d7a4f;font-weight:700}
.name-short{display:none}.name-cell{white-space:nowrap;overflow:hidden}
.hide-rounds th:nth-last-child(-n+4),.hide-rounds td:nth-last-child(-n+4){display:none!important}
.hide-rounds .rd-divider{border-left:none}
.hide-tiers .t-tier{display:none!important}
.hide-own .lb-own,.hide-own .lb-own-th{display:none!important}
.lb-g-tier{display:inline-block;font-size:9px;font-weight:700;color:#fff;padding:1px 5px;border-radius:3px;min-width:22px;line-height:1.3;letter-spacing:.3px}
.lb-g-tier.tier-1{background:#2e8b57}
.lb-g-tier.tier-2{background:#2563eb}
.lb-g-tier.tier-3{background:#e67e22}
.lb-g-tier.tier-dh{background:#111}
.dash-golfer-tier{display:inline-block;font-size:9px;font-weight:700;color:#fff;padding:1px 5px;border-radius:3px;line-height:1.3;text-align:center;min-width:22px;letter-spacing:.3px}
.dash-golfer-tier.tier-1{background:#2e8b57}
.dash-golfer-tier.tier-2{background:#2563eb}
.dash-golfer-tier.tier-3{background:#e67e22}
.dash-golfer-tier.tier-dh{background:#111}
.dh-7-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:#111;border:1.5px solid #c8a951;flex-shrink:0;margin-left:2px}
.badge-7dh{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;background:#111;color:#c8a951;border:1.5px solid #c8a951;letter-spacing:.5px}
.dh-live-bar{display:flex;align-items:center;gap:8px;padding:5px 14px;background:#133a14;font-size:11px;color:rgba(255,255,255,.6);border-radius:0 0 6px 6px}
.dh-live-bar .lv-dot{width:6px;height:6px;border-radius:50%;background:#4caf50;animation:lvPulse 1.5s ease-in-out infinite;flex-shrink:0}
@keyframes lvPulse{0%,100%{opacity:1}50%{opacity:.3}}
.dh-live-bar .lv-lbl{font-weight:700;color:#81c784;font-size:10px;text-transform:uppercase;letter-spacing:.5px}
.dh-live-bar .lv-spacer{flex:1}
.dh-live-bar .lv-cd{font-variant-numeric:tabular-nums}
.dh-live-bar .lv-track{width:48px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.dh-live-bar .lv-fill{height:100%;background:#4caf50;border-radius:2px;transition:width 1s linear}
.mv-up{color:#2e7d32;font-size:9px}
.mv-down{color:#c62828;font-size:9px}
.mv-flat{color:#bbb;font-size:8px}
.lb-delta{font-size:9px;font-weight:600;white-space:nowrap}
.lb-delta.up{color:#2e7d32}
.lb-delta.down{color:#c0392b}
.lb-delta.flat{color:#999}
.star-tog{cursor:pointer;color:#ddd;font-size:14px;user-select:none;-webkit-user-select:none;width:24px;text-align:center}
.star-tog.on{color:#f9a825}
.heat-hi td:not(.lb-st-rank):not(.dash-rank){background:rgba(198,40,40,.12)!important}
.heat-md td:not(.lb-st-rank):not(.dash-rank){background:rgba(230,81,0,.08)!important}
.heat-lo td:not(.lb-st-rank):not(.dash-rank){background:rgba(255,152,0,.05)!important}
.dash-watch-hdr{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff8e1;border:1px solid #ffe082;border-radius:6px 6px 0 0;font-size:12px;font-weight:600;color:#f57f17}
.dash-watch-hdr .dw-icon{font-size:14px}
.dash-tl{display:flex;gap:8px;padding:0 0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dash-tl::-webkit-scrollbar{display:none}
.dash-tl-card{flex:1;min-width:160px;background:rgba(255,255,255,.07);border-radius:8px;padding:10px 12px;position:relative;overflow:hidden;flex-shrink:0}
.dash-tl-card.tl-active{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.dash-tl-name{font-size:11px;font-weight:600;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-tl-status{font-size:10px;color:rgba(255,255,255,.5)}
.dash-tl-status .tl-live{color:#81c784;font-weight:700}
.dash-tl-rank{font-size:10px;color:rgba(255,255,255,.4);margin-top:4px}
.dash-tl-rank strong{color:#f9a825}
.dash-tl-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.05)}
.dash-tl-bar-fill{height:100%;background:#4caf50;border-radius:0 0 0 8px}
.dash-ticker-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#999;font-weight:600;padding:6px 14px 0}
.dash-ticker{display:flex;gap:8px;padding:6px 14px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dash-ticker::-webkit-scrollbar{display:none}
.dash-ticker-chip{display:flex;align-items:center;gap:4px;background:#f5f5f5;border-radius:6px;padding:4px 10px;font-size:11px;white-space:nowrap;flex-shrink:0}
.dash-ticker-chip .tc-rk{font-weight:800;color:#333;min-width:18px}
.dash-ticker-chip .tc-name{font-weight:500}
.dash-ticker-chip .tc-score{font-weight:700;margin-left:2px}
.dash-cmp-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center}
.dash-cmp-panel{background:#fff;border-radius:10px;max-width:680px;width:94%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.dash-cmp-close{position:absolute;top:8px;right:12px;font-size:18px;cursor:pointer;color:#999;background:none;border:none;line-height:1}
.dash-cmp-hdr{display:flex;position:relative;padding:14px 18px;border-bottom:1px solid #eee;font-weight:600;font-size:15px;color:#333}
.sbs-panel{display:flex;gap:12px;padding:14px}
.sbs-card{flex:1;background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}
.sbs-card.sbs-mine{border-color:#4caf50;border-width:2px}
.sbs-card.sbs-rival{border-color:#ff9800;border-width:2px}
.sbs-hdr-a{padding:8px 12px;font-size:13px;font-weight:600}
.sbs-card.sbs-mine .sbs-hdr-a{background:#e8f5e9;color:#1b5e20}
.sbs-card.sbs-rival .sbs-hdr-a{background:#fff3e0;color:#e65100}
.sbs-stats{display:flex;justify-content:space-around;padding:8px 12px;border-bottom:1px solid #f0f0f0;font-size:11px}
.sbs-stats span{text-align:center}
.sbs-stats .sv{font-weight:700;font-size:14px;display:block}
.sbs-golfer{display:flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;border-bottom:1px solid #f5f5f5}
.sbs-golfer.sbs-shared{background:#f9fbe7}
.sbs-golfer .sg-score{margin-left:auto;font-weight:600;font-size:11px}
.sbs-overlap{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #eee;font-size:11px;color:#666}
.sbs-overlap strong{color:#333}
.sbs-overlap-pct{font-size:18px;font-weight:800;color:#1b5e20}
/* v11 (2026-05-13): kill iOS Safari auto-zoom-on-focus. */
input[type=email],input[type=password],input[type=text],input[type=tel],input[type=url],input[type=search],input[type=number],textarea,select{font-size:16px}
/* v12 (2026-05-13): P1-4 scroll-fade hint on horizontal pill rows. */
.dash-tl,.dash-ticker{mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
/* v12 (2026-05-13): P2-1 safe-area-inset for iPhones with home-indicator gestures. */
body{padding-bottom:env(safe-area-inset-bottom)}
/* v13 (2026-05-13 13:18 ET): /leaderboard dead-space fix. The .lb-standings-scroll and .lb-tourn-scroll wrappers were left at width:max-content from the base CSS, never overridden at <=960px. The card around them was correctly width:100%, but the scroll wrapper collapsed to content width, leaving the table (also width:100% — of its scroll parent) ~112px short of the right edge of the card at Pro Max viewport. Forcing width:100% at <=960 closes the dead space without affecting the desktop 2-col side-by-side layout. */
@media (max-width:960px){
  .lb-standings-scroll,.lb-tourn-scroll{width:100%!important}
}