/* 4 Irons Golf Club visual system — Wise-led owner refinement, July 2026. */
:root {
  color-scheme: light;
  --canvas: #f2efe7;
  --paper: #fffdf7;
  --paper-soft: #f8f5ec;
  --ink: #13231b;
  --ink-deep: #0d1712;
  --ink-soft: #536159;
  --ink-faint: #7b857f;
  --night: #101d17;
  --night-raised: #1a2d23;
  --lime: #a6f274;
  --lime-strong: #86df56;
  --green: #1d6a45;
  --green-dark: #174f35;
  --green-bright: #a6f274;
  --net-form-graph-green: #72bd50;
  --net-form-graph-green-halo: rgba(114,189,80,.19);
  --green-soft: #eafbd9;
  --pink: #ee5a9c;
  --pink-ink: #9a184f;
  --pink-soft: #fce6f0;
  --blue: #376ed8;
  --blue-ink: #184fad;
  --blue-soft: #e7efff;
  --teal: #15766f;
  --teal-soft: #e4f5f1;
  --amber: #945b00;
  --amber-soft: #fff1d2;
  --chart-yellow: #e3b829;
  --chart-yellow-halo: rgba(227,184,41,.2);
  --red: #a33a35;
  --red-soft: #fbe9e6;
  /* BR-067 / BR-072 owner-approved M3 scorecard result tokens. */
  --score-eagle-plus-base: #106bcc;
  --score-eagle-plus-gross: #4089d6;
  --score-eagle-plus-net: #c9e0f7;
  --score-birdie-base: #39742d;
  --score-birdie-gross: #619057;
  --score-birdie-net: #d2e8cc;
  --score-par: #ffffff;
  --score-par-gross: var(--score-par);
  --score-par-net: var(--score-par);
  --score-par-outline: #7b9185;
  --score-bogey-base: #f78901;
  --score-bogey-gross: #f9a134;
  --score-bogey-net: #feead3;
  --score-double-bogey-plus-base: #72369c;
  --score-double-bogey-plus-gross: #9568b5;
  --score-double-bogey-plus-net: #e2d7eb;
  --score-result-on-solid: #050805;
  --score-result-on-pale: #050805;
  --scorecard-net-to-par-negative: #b42318;
  --scorecard-net-to-par-nonnegative: #216e39;
  --line: #dfdbcf;
  --line-strong: #c9c6b9;
  --shadow-soft: 0 .45rem 1.35rem rgba(19, 35, 27, .055);
  --shadow-float: 0 1.1rem 3rem rgba(13, 23, 18, .18);
  --r-xs: .62rem;
  --r-sm: .86rem;
  --r-md: 1.12rem;
  --r-lg: 1.5rem;
  --page-pad: clamp(.9rem, 4vw, 1.5rem);
  --tabbar-height: 4.4rem;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 20rem; min-height: 100%; background: var(--canvas); -webkit-text-size-adjust: 100%; }
body { min-width: 20rem; min-height: 100dvh; margin: 0; overflow-x: hidden; background: var(--canvas); color: var(--ink); font-size: 1rem; line-height: 1.45; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
button, label, select, input[type="radio"], input[type="checkbox"] { -webkit-tap-highlight-color: transparent; }
button { min-height: 2.75rem; border: 0; cursor: pointer; }
button:active { transform: scale(.985); }
button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: .18rem solid var(--blue-ink); outline-offset: .16rem; box-shadow: 0 0 0 .16rem var(--paper); }
input, select, textarea { width: 100%; min-height: 2.9rem; border: 1px solid var(--line-strong); border-radius: var(--r-xs); background: var(--paper); color: var(--ink); padding: .72rem .8rem; }
textarea { resize: vertical; }
fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
legend { width: 100%; margin-bottom: .45rem; color: var(--ink-soft); font-size: .72rem; font-weight: 720; letter-spacing: .02em; text-transform: uppercase; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4, strong { color: var(--ink); }
h1, h2, h3, h4 { line-height: 1.12; letter-spacing: -.025em; }
small { line-height: 1.3; }
[hidden] { display: none !important; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.app-shell { min-height: 100dvh; background: var(--canvas); }
.workspace { min-width: 0; overflow: hidden; }
.sidebar { display: none; }
.panel { min-width: 0; padding: 1rem var(--page-pad) calc(var(--tabbar-height) + 1.2rem + env(safe-area-inset-bottom)); }
.eyebrow, .sidebar-kicker { color: var(--ink-soft); font-size: .7rem; font-weight: 730; letter-spacing: .025em; text-transform: uppercase; }

.topbar { position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .6rem; min-height: 4.3rem; border-bottom: 1px solid rgba(19,35,27,.09); background: rgba(255,253,247,.9); padding: max(.65rem, env(safe-area-inset-top)) max(var(--page-pad), env(safe-area-inset-right)) .65rem max(var(--page-pad), env(safe-area-inset-left)); backdrop-filter: saturate(140%) blur(1.2rem); -webkit-backdrop-filter: saturate(140%) blur(1.2rem); }
.topbar h2 { overflow: hidden; font-size: 1.05rem; font-weight: 730; text-overflow: ellipsis; white-space: nowrap; }
.topbar .eyebrow { overflow: hidden; margin-bottom: .15rem; text-overflow: ellipsis; white-space: nowrap; }
.topbar-title-long { display: none; }
.topbar-actions { display: flex; align-items: center; gap: .4rem; }
.topbar-actions .secondary-action, .notification-pill { display: none; }
.add-action, .primary-action, .hero-action { border-radius: var(--r-xs); background: var(--lime); color: var(--ink-deep); box-shadow: 0 .5rem 1.2rem rgba(29,106,69,.13); font-weight: 760; padding: .7rem 1rem; }
.add-action { min-height: 2.75rem; background: var(--ink); color: var(--paper); padding: .45rem .72rem; }
.add-action span { color: inherit; }
.avatar-pill { display: grid; width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border-radius: 999px; background: var(--pink); color: var(--ink); font-weight: 790; }
.ghost-button, .secondary-action, .icon-button { border: 1px solid var(--line-strong); border-radius: var(--r-xs); background: var(--paper); color: var(--ink); box-shadow: none; font-weight: 680; padding: .65rem .9rem; }
.danger-action, button.danger { border-color: var(--red); background: var(--red); color: #fff; }
.text-link { border: 0; background: transparent; color: var(--green); box-shadow: none; padding: 0; }

.view-hero { display: none; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: .8rem; border-bottom: 1px solid var(--line); padding-bottom: .85rem; }
.section-head h3 { font-size: 1.1rem; font-weight: 740; }
.section-head p:not(.eyebrow) { margin-top: .3rem; color: var(--ink-soft); font-size: .85rem; }
.section-mini-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.status-pill, .pill, .key-status, .invite-code, .row-badges span { display: inline-flex; align-items: center; width: max-content; border: 1px solid var(--line); border-radius: 999px; background: var(--paper-soft); color: var(--ink-soft); font-size: .72rem; font-weight: 680; padding: .32rem .55rem; }

.dashboard-grid, .dashboard-main, .dashboard-layout, .settings-grid, .capture-route-grid, .scorecard-workflow, .play-workflow, .course-admin-grid { display: grid; gap: .9rem; min-width: 0; }
.dashboard-card, .capture-route-card, .capture-command-card, .play-command-card, .api-key-strip, .confirmation-form, .course-table-card, .historical-import-card, .admin-group-card, .admin-maintenance-card { position: relative; min-width: 0; overflow: hidden; border: 0; border-radius: var(--r-sm); background: var(--paper); box-shadow: var(--shadow-soft); padding: 1rem; }
.dashboard-card::before, .capture-route-card::before, .capture-command-card::before, .api-key-strip::before, .course-table-card::before, .historical-import-card::before, .admin-group-card::before, .admin-maintenance-card::before { display: none; }
.dashboard-card { display: grid; gap: .9rem; }
.empty-state { border: 1px dashed var(--line-strong); border-radius: var(--r-sm); background: var(--paper-soft); color: var(--ink-soft); padding: 1rem; text-align: center; }
.metric-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.metric { display: grid; grid-template-columns: 2.4rem minmax(0,1fr); align-items: center; min-width: 0; border: 0; border-radius: var(--r-sm); background: var(--paper); box-shadow: var(--shadow-soft); padding: .8rem; }
.metric-icon { width: 1.9rem; height: 1.9rem; border-radius: .5rem; background: var(--green-soft); }
.metric-copy { min-width: 0; }
.metric-copy strong { display: block; font-size: 1.2rem; }
.metric-copy span, .metric-copy small { display: block; overflow: hidden; color: var(--ink-soft); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.definition-list { display: grid; margin: 0; }
.definition-list > div { display: grid; grid-template-columns: minmax(7rem, .75fr) minmax(0, 1.25fr); gap: .7rem; border-bottom: 1px solid var(--line); padding: .75rem 0; }
.definition-list > div:last-child { border-bottom: 0; }
.definition-list dt { color: var(--ink-soft); font-weight: 650; }
.definition-list dd { margin: 0; color: var(--ink); font-weight: 700; }
.personal-summary { display: grid; gap: .8rem; }
.group-overview-panel { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.group-overview-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; border-block: 1px solid var(--line); }
.group-overview-stats div { padding: .75rem 0; }
.group-overview-stats dt { color: var(--ink-soft); font-size: .7rem; }
.group-overview-stats dd { margin: .15rem 0 0; font-weight: 720; }
.group-player-ladder, .player-list, .round-row-list, .result-row-list, .round-list, .notification-event-list { display: grid; }
.group-player-mini, .player-row, .round-row, .result-row, .notification-event-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; min-width: 0; border-bottom: 1px solid var(--line); padding: .75rem 0; }
.group-player-mini:last-child, .player-row:last-child, .round-row:last-child, .result-row:last-child { border-bottom: 0; }
.group-player-rank, .player-avatar, .result-rank, .score-thumb { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: 999px; background: var(--green); color: #fff; font-weight: 740; }
.round-row-copy, .round-row-value { min-width: 0; }
.round-row-copy p, .round-row-value span, .group-player-mini p, .player-row p { color: var(--ink-soft); font-size: .75rem; }
.row-badges { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .25rem; }
.next-rail { display: grid; gap: .9rem; }
.rail-action { width: 100%; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; padding: .8rem 0; text-align: left; }
.rail-action-primary { color: var(--green); }

/* Round setup */
.play-command-card { display: none; }
.authoritative-round-recovery-card { display: grid; gap: .9rem; }
.v10-round-launcher { display: grid; gap: .55rem; width: min(100%, 48rem); margin-inline: auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; }
.v10-round-launcher::before { display: none; }
.live-launch-head { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: .55rem; padding: 0; text-align: left; }
.live-launch-head h3 { margin-top: .05rem; font-size: clamp(1.45rem, 6vw, 1.9rem); font-weight: 760; }
.live-launch-head p:not(.eyebrow) { display: none; }
.live-launch-head .status-pill { align-self: center; background: var(--paper); }
.launcher-assurance { display: none; }
.game-setup-step { display: grid; grid-template-columns: 1.75rem minmax(0,1fr); align-items: center; gap: .48rem; border-top: 1px solid var(--line); padding-top: .5rem; }
.game-setup-step:first-of-type { border-top: 0; padding-top: 0; }
.game-step-marker { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 999px; background: var(--lime); color: var(--ink); font-size: .7rem; font-weight: 790; }
.step-players .game-step-marker, .step-scorekeeper .game-step-marker, .step-scoring .game-step-marker { background: var(--lime); color: var(--ink); }
.game-setup-step h4 { font-size: .94rem; font-weight: 740; letter-spacing: -.01em; }
.game-setup-step p { display: none; }
.live-start-grid { display: grid; gap: .4rem; }
.course-select-row { position: relative; display: grid; gap: .18rem; }
.course-select-row > span { color: var(--ink-soft); font-size: .72rem; font-weight: 720; letter-spacing: .02em; text-transform: uppercase; }
.course-select-row select { min-height: 2.85rem; border-color: var(--line); background: var(--paper); font-size: .84rem; font-weight: 700; padding: .45rem 2.2rem .45rem .7rem; }
.course-facts { display: flex; align-items: center; justify-content: center; gap: .6rem; color: var(--ink-soft); font-size: .7rem; }
.course-facts span + span::before { content: "•"; margin-right: .6rem; color: var(--ink-faint); }
.course-choice-grid { display: grid; gap: .45rem; }
.course-choice-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .65rem; min-height: 3.8rem; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); padding: .7rem .8rem; }
.course-choice-card:has(input:checked) { border-color: rgba(7,138,67,.45); background: var(--green-soft); }
.course-choice-card input { width: 1.15rem; min-height: 1.15rem; accent-color: var(--green); order: 2; }
.course-choice-card span { min-width: 0; }
.course-choice-card strong, .course-choice-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.course-choice-card strong { font-size: .9rem; }
.course-choice-card small { margin-top: .08rem; color: var(--ink-soft); font-size: .72rem; }
.segmented, .score-track-grid, .play-scope-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--r-xs); background: #f3f4f2; }
.segmented legend, .score-track-grid legend, .play-scope-grid legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.segmented label, .score-track-card, .play-scope-card { position: relative; display: grid; min-width: 0; min-height: 2.75rem; place-items: center; border-right: 1px solid var(--line-strong); color: var(--ink-soft); padding: .36rem .26rem; text-align: center; }
.segmented label:last-child, .score-track-card:last-child, .play-scope-card:last-child { border-right: 0; }
.segmented input, .score-track-card input, .play-scope-card input { position: absolute; opacity: 0; pointer-events: none; }
.segmented label:has(input:checked), .score-track-card:has(input:checked), .play-scope-card:has(input:checked) { background: var(--lime); color: var(--ink); }
.segmented label:has(input:checked) strong, .score-track-card:has(input:checked) strong, .play-scope-card:has(input:checked) strong { color: var(--ink); }
.segmented label:has(input:focus-visible), .score-track-card:has(input:focus-visible), .play-scope-card:has(input:focus-visible), .game-choice-card:has(input:focus-visible), .round-player-card:has(input:focus-visible), .course-choice-card:has(input:focus-visible) { z-index: 3; outline: .18rem solid var(--blue-ink); outline-offset: .12rem; }
.score-track-card span, .play-scope-card span { min-width: 0; }
.score-track-card strong, .play-scope-card strong { display: block; color: inherit; font-size: .76rem; line-height: 1.16; }
.score-track-card small, .play-scope-card small { display: none; }
.round-player-selector { min-width: 0; }
.round-player-selector legend { display: none; }
.round-player-grid { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
.round-player-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .55rem; min-height: 2.75rem; border-bottom: 1px solid var(--line); background: var(--paper); padding: .3rem .55rem .3rem .62rem; }
.round-player-card:last-child { border-bottom: 0; }
.round-player-card input { position: absolute; opacity: 0; pointer-events: none; }
.round-player-card::before { content: attr(data-initial); display: none; }
.round-player-copy { min-width: 0; }
.round-player-copy strong { display: block; font-size: .9rem; }
.round-player-copy small { display: none; }
.round-player-card:has(input:checked) .is-unselected-copy, .round-player-card:not(:has(input:checked)) .is-selected-copy { display: none; }
.round-player-toggle { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border: 1px solid rgba(7,138,67,.22); border-radius: .45rem; background: var(--green-soft); color: var(--green); }
.round-player-card:has(input:checked) .round-player-toggle::before { content: "✓"; color: var(--green); font-size: .9rem; font-weight: 800; }
.round-player-card:not(:has(input:checked)) .round-player-toggle::before { content: "+"; color: var(--ink-soft); font-size: 1rem; }
.round-player-card:not(:has(input:checked)) { background: var(--paper-soft); opacity: .65; }
.round-player-actions .ghost-button { width: 100%; min-height: 2.75rem; border-color: rgba(29,106,69,.42); color: var(--green); padding-block: .35rem; text-align: left; }
.round-scorekeeper-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .6rem; min-height: 2.3rem; border: 1px solid rgba(16,170,164,.2); border-radius: var(--r-xs); background: linear-gradient(102deg,rgba(234,246,238,.92),rgba(235,247,255,.72)); padding: .25rem .62rem; }
.round-scorekeeper-row span small, .round-scorekeeper-row span strong { display: block; }
.round-scorekeeper-row small, .round-scorekeeper-row em { color: var(--ink-soft); font-size: .68rem; font-style: normal; }
.round-scorekeeper-row em { max-width: 11rem; text-align: right; }
.play-scope-grid { display: none; }
.game-choice-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
.game-choice-grid legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.game-choice-card { position: relative; display: grid; min-width: 0; min-height: 2.85rem; place-items: center; border-right: 1px solid var(--line); color: var(--ink-soft); padding: .24rem .1rem; text-align: center; }
.game-choice-card:last-child { border-right: 0; }
.game-choice-radio { position: absolute; inset: 0; }
.game-choice-radio input { position: absolute; opacity: 0; pointer-events: none; }
.game-choice-card > span:last-child { min-width: 0; }
.game-choice-card strong { display: block; color: var(--ink); font-size: .72rem; line-height: 1.12; }
.game-choice-card small { display: block; margin-top: .15rem; color: var(--ink-soft); font-size: .58rem; line-height: 1.1; }
.game-card-meta { display: none; }
.game-choice-card:has(input:checked) { z-index: 1; outline: 2px solid #13af9e; outline-offset: -2px; background: linear-gradient(150deg,var(--green-soft),#ebf8ff); }
.skins-choice-card:has(input:checked) { outline-color: var(--amber); background: var(--amber-soft); }
.skins-choice-card:has(input:checked) strong, .skins-choice-card:has(input:checked) small { color: var(--amber); }
.advanced-game-settings { display: none; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
.advanced-game-settings summary { min-height: 2.75rem; padding: .65rem .7rem; color: var(--ink-soft); font-size: .75rem; font-weight: 720; cursor: pointer; }
.v10-round-launcher:has(input[name="game_mode"][value="combined_better_ball"]:checked) .advanced-game-settings, .v10-round-launcher:has(input[name="game_mode"][value="skins"]:checked) .advanced-game-settings, .v10-round-launcher:has(input[name="game_mode"][value="match_play"]:checked) .advanced-game-settings, .v10-round-launcher:has(input[name="game_mode"][value="scramble"]:checked) .advanced-game-settings, .v10-round-launcher:has(input[name="game_mode"][value="four_ball"]:checked) .advanced-game-settings { display: block; }
.skins-setup-panel, .team-setup-panel { display: none; border-top: 1px solid var(--line); background: var(--paper-soft); padding: .7rem; }
.v10-round-launcher:has(input[name="game_mode"][value="combined_better_ball"]:checked) .advanced-game-settings[open] .team-setup-panel, .v10-round-launcher:has(input[name="game_mode"][value="skins"]:checked) .advanced-game-settings[open] .skins-setup-panel, .v10-round-launcher:has(input[name="game_mode"][value="skins"]:checked) .advanced-game-settings[open] .team-setup-panel, .v10-round-launcher:has(input[name="game_mode"][value="match_play"]:checked) .advanced-game-settings[open] .team-setup-panel, .v10-round-launcher:has(input[name="game_mode"][value="scramble"]:checked) .advanced-game-settings[open] .team-setup-panel, .v10-round-launcher:has(input[name="game_mode"][value="four_ball"]:checked) .advanced-game-settings[open] .team-setup-panel { display: grid; gap: .65rem; }
.skins-rule-preview, .team-player-assignment { display: grid; gap: .45rem; }
.skins-rule-preview > div, .team-player-assignment > label { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .6rem; }
.skins-rule-preview > div span { display: grid; width: 1.6rem; height: 1.6rem; place-items: center; border-radius: 999px; background: var(--amber-soft); color: var(--amber); font-size: .68rem; font-weight: 730; }
.team-name-grid { display: grid; gap: .6rem; }
.team-setup-panel[data-team-identity="reds-blues"] .team-name-grid label:first-child input { border-color: rgba(163,58,53,.5); background: var(--red-soft); }
.team-setup-panel[data-team-identity="reds-blues"] .team-name-grid label:last-child input { border-color: rgba(55,110,216,.48); background: var(--blue-soft); }
.team-setup-head span { color: var(--ink-soft); font-size: .72rem; }
.team-player-assignment label { grid-template-columns: minmax(0,1fr) 8rem; }
.v10-round-launcher > .primary-action { position: static; z-index: 12; min-height: 3.25rem; border-radius: var(--r-sm); background: var(--lime); color: var(--ink); font-size: .94rem; box-shadow: 0 .7rem 1.7rem rgba(29,106,69,.14); }
.live-onboarding-drawer { position: fixed; inset: auto 0 0; z-index: 80; max-height: 92dvh; overflow-y: auto; border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--paper); box-shadow: var(--shadow-float); padding: 1rem var(--page-pad) max(1rem,env(safe-area-inset-bottom)); }
.live-onboarding-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }

/* Start round — production reference implementation */
.ui-icon { display: block; width: 1.25rem; height: 1.25rem; flex: none; }
.is-round-setup .panel { padding: max(.55rem,env(safe-area-inset-top)) 1rem calc(var(--tabbar-height) + .65rem + env(safe-area-inset-bottom)); }
.is-round-setup { background: radial-gradient(circle at 2% 0,rgba(166,242,116,.5),transparent 18rem),var(--canvas); }
.v10-round-launcher { gap: .32rem; width: min(100%,48rem); }
.live-launch-head { display: grid; grid-template-columns: minmax(0,1fr); justify-items: center; gap: .16rem; padding: 0 0 .18rem; text-align: center; }
.live-launch-head h3 { margin: 0; font-size: 1.55rem; font-weight: 780; letter-spacing: -.035em; }
.live-launch-head .launch-date, .live-launch-head p.launch-date { display: flex; align-items: center; gap: .38rem; color: var(--ink-soft); font-size: .72rem; }
.live-launch-head .launch-date .ui-icon { width: 1rem; height: 1rem; }
.live-launch-head .launch-date strong { color: var(--green); }
.game-setup-step { grid-template-columns: 1.65rem minmax(0,1fr) auto; min-height: 1.72rem; gap: .42rem; border-top: 1px solid var(--line); padding-top: .3rem; }
.game-setup-step:first-of-type { border-top: 0; }
.game-step-marker { width: 1.65rem; height: 1.65rem; background: var(--lime); color: var(--ink); font-size: .7rem; }
.step-players .game-step-marker, .step-scorekeeper .game-step-marker, .step-scoring .game-step-marker { background: var(--lime); color: var(--ink); }
.game-setup-step h4 { color: var(--ink-soft); font-size: .8rem; font-weight: 760; letter-spacing: .02em; text-transform: uppercase; }
.game-setup-step .step-meta { color: #0f9f8d; font-size: .75rem; font-weight: 720; }
.live-start-grid { gap: .3rem; }
.course-select-row { position: relative; display: grid; grid-template-columns: 1.4rem minmax(0,1fr) 1.2rem; align-items: center; min-height: 2.9rem; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--r-xs); background: var(--paper); box-shadow: 0 .25rem .85rem rgba(15,22,18,.035); }
.course-select-row::before, .round-player-grid::before, .round-scorekeeper-row::before, .game-choice-grid::before { display: none; }
.course-select-row select { grid-column: 1/-1; grid-row: 1; min-height: 2.9rem; border: 0; background: transparent; padding: .55rem 2.25rem .55rem 2.7rem; font-size: .9rem; font-weight: 730; appearance: none; }
.course-select-row .course-leading-icon, .course-select-row .course-trailing-icon { z-index: 1; grid-row: 1; color: var(--green); pointer-events: none; }
.course-select-row .course-leading-icon { grid-column: 1; margin-left: .7rem; }
.course-select-row .course-trailing-icon { grid-column: 3; color: var(--ink-soft); }
.course-select-row .course-trailing-icon .ui-icon { width: 1rem; height: 1rem; }
.course-control-row { display: grid; grid-template-columns: minmax(7.5rem,.72fr) minmax(0,1.55fr); gap: .72rem; }
.course-control-group, .scoring-control-group { display: grid; gap: .22rem; }
.course-control-group > span, .scoring-control-group > span { color: var(--ink-soft); font-size: .66rem; font-weight: 760; letter-spacing: .025em; text-transform: uppercase; }
.tee-segmented { grid-template-columns: repeat(2,minmax(0,1fr)); }
.round-segmented { grid-template-columns: repeat(3,minmax(0,1fr)); }
.course-control-row .segmented, .score-track-grid { border-color: var(--line-strong); background: var(--paper); }
.course-control-row .segmented label, .score-track-card { min-height: 2.75rem; font-size: .76rem; }
.course-control-row .segmented label:has(input:checked), .course-control-row .round-segmented label:has(input:checked) { background: var(--lime); color: var(--ink); }
.course-facts { min-height: 1.35rem; gap: .75rem; color: var(--ink-soft); font-size: .67rem; }
.course-facts span { display: inline-flex; align-items: center; gap: .28rem; white-space: nowrap; }
.course-facts span + span::before { display: none; }
.course-facts .ui-icon { width: 1rem; height: 1rem; }
.round-player-grid { position: relative; border-color: var(--line); border-radius: var(--r-xs); box-shadow: 0 .25rem .85rem rgba(15,22,18,.03); }
.round-player-card { grid-template-columns: 1.75rem minmax(0,1fr) 1.75rem; gap: .45rem; min-height: 2.75rem; background: var(--paper); padding: .3rem .5rem; }
.round-player-card:not(:has(input:checked)) { background: var(--paper-soft); opacity: .62; }
.round-player-avatar { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 999px; background: linear-gradient(145deg,#11a956,var(--green-dark)); color: #fff; font-size: .67rem; font-weight: 790; box-shadow: inset 0 0 0 1px rgba(255,255,255,.15); }
.round-player-copy strong { font-size: .83rem; font-weight: 730; }
.round-player-toggle { width: 1.55rem; height: 1.55rem; border-color: var(--line-strong); border-radius: 999px; background: var(--paper); color: var(--ink-soft); }
.round-player-toggle::before { content: none !important; }
.round-player-toggle .ui-icon { width: .92rem; height: .92rem; }
.round-player-card:has(input:checked) .unselected-icon, .round-player-card:not(:has(input:checked)) .selected-icon { display: none; }
.round-player-actions .ghost-button { display: flex; align-items: center; gap: .45rem; min-height: 2.75rem; border-color: rgba(29,106,69,.42); border-radius: var(--r-xs); padding: .4rem .75rem; font-size: .82rem; }
.round-player-actions .ui-icon { width: 1.05rem; height: 1.05rem; }
.round-scorekeeper-row { position: relative; overflow: hidden; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .62rem; min-height: 3.4rem; border-color: #d9e5e8; background: linear-gradient(105deg,#f8fbfa 0%,#f5f9fc 100%); padding: .5rem .65rem; }
.round-scorekeeper-row .round-player-avatar { width: 2rem; height: 2rem; background: var(--teal); box-shadow: none; }
.round-scorekeeper-copy { min-width: 0; }
.round-scorekeeper-copy strong, .round-scorekeeper-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.round-scorekeeper-copy strong { font-size: .86rem; font-weight: 740; }
.round-scorekeeper-copy small { margin-top: .08rem; color: var(--ink-soft); font-size: .64rem; }
.round-scorekeeper-row em { border: 1px solid rgba(11,143,138,.24); border-radius: 999px; background: var(--teal-soft); color: #087d7a; font-size: .64rem; font-style: normal; font-weight: 730; padding: .25rem .5rem; }
.scoring-control-group { gap: .25rem; }
.score-track-grid { min-height: 2.55rem; }
.score-track-card strong { font-size: .72rem; }
.score-track-card:has(input:checked) { background: var(--lime); color: var(--ink); }
.game-choice-grid { position: relative; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: visible; border: 0; border-radius: 0; background: transparent; }
.game-choice-grid legend { position: static; grid-column: 1/-1; width: auto; height: auto; clip: auto; margin: 0 0 .25rem; color: var(--ink-soft); font-size: .66rem; font-weight: 760; letter-spacing: .025em; text-transform: uppercase; }
.game-choice-card { align-content: center; gap: .12rem; min-height: 3.2rem; border: 1px solid var(--line-strong); border-right: 0; background: var(--paper); padding: .3rem .1rem; }
.game-choice-card:first-of-type { border-radius: var(--r-xs) 0 0 var(--r-xs); }
.game-choice-card:last-of-type { border-right: 1px solid var(--line-strong); border-radius: 0 var(--r-xs) var(--r-xs) 0; }
.game-choice-card .ui-icon { width: 1.3rem; height: 1.3rem; }
.game-choice-card strong { font-size: .69rem; font-weight: 700; }
.game-choice-card:has(input:checked) { z-index: 1; outline: 0; background: var(--ink); color: var(--paper); box-shadow: inset 0 0 0 1px var(--ink); }
.game-choice-card:has(input:checked) strong { color: #fff; }
.game-choice-stableford:has(input:checked), .game-choice-four_ball:has(input:checked) { outline: 0; background: var(--ink); color: var(--paper); }
.game-choice-match_play:has(input:checked) { outline: 0; background: linear-gradient(110deg,var(--red) 0 48%,var(--blue) 52% 100%); color: #fff; }
.game-choice-stableford:has(input:checked) strong, .game-choice-match_play:has(input:checked) strong, .game-choice-four_ball:has(input:checked) strong { color: #fff; }
.skins-choice-card:has(input:checked) { outline: 0; background: var(--amber-soft); color: var(--amber); box-shadow: inset 0 0 0 1px var(--amber); }
.skins-choice-card:has(input:checked) strong { color: var(--amber); }
.v10-round-launcher .advanced-game-settings { display: none; }
.v10-round-launcher > .primary-action { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3.25rem; border-radius: var(--r-sm); background: var(--lime); color: var(--ink); font-size: .94rem; }
.v10-round-launcher > .primary-action .ui-icon { width: 1.35rem; height: 1.35rem; }

/* Live round */
.is-round-setup .topbar { display: none; }
.is-round-setup .panel { padding-top: max(.75rem,env(safe-area-inset-top)); }
.is-live-play { min-height: 100dvh; background: var(--canvas); }
.is-live-play .topbar, .is-live-play .view-hero { display: none; }
.is-live-play .panel { padding: 0; }
.live-round-tracker { width: 100%; min-width: 0; min-height: 100dvh; overflow: hidden; background: var(--canvas); padding-bottom: calc(var(--tabbar-height) + .85rem + env(safe-area-inset-bottom)); }
.live-round-top { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; align-items: center; border-radius: 0 0 var(--r-md) var(--r-md); background: linear-gradient(125deg,#0d1511 0%,#112019 62%,#123126 100%); color: #fff; padding: max(.82rem,env(safe-area-inset-top)) var(--page-pad) .82rem; }
.live-back-button { display: grid; width: 2.45rem; min-width: 2.45rem; min-height: 2.45rem; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.06); color: #fff; font-size: 1.4rem; }
.live-round-title { min-width: 0; }
.live-round-title .eyebrow { color: #66dc98; }
.live-round-title .eyebrow span { display: inline-block; width: .45rem; height: .45rem; margin-right: .28rem; border-radius: 999px; background: var(--green-bright); box-shadow: 0 0 0 .25rem rgba(34,184,102,.1); }
.live-round-title h3 { overflow: hidden; margin-top: .12rem; color: #fff; font-size: 1rem; font-weight: 740; text-overflow: ellipsis; white-space: nowrap; }
.live-round-title > p:last-child { overflow: hidden; color: rgba(255,255,255,.62); font-size: .69rem; text-overflow: ellipsis; white-space: nowrap; }
.b3-live-state { display: flex; align-items: center; gap: .55rem; min-height: 2.75rem; margin: .5rem var(--page-pad) 0; border: 1px solid rgba(7,138,67,.22); border-radius: var(--r-xs); background: var(--green-soft); padding: .45rem .65rem; }
.b3-live-state p { min-width: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.35; }
.b3-live-state strong { color: var(--green); }
.state-badge { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 1.65rem; border-radius: 999px; background: var(--green); color: #fff; font-size: .62rem; font-weight: 760; padding: .3rem .55rem; white-space: nowrap; }
.state-badge.is-pending { background: var(--amber); color: var(--ink-deep); }
.live-review-button { min-width: 4.4rem; min-height: 2.45rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; font-size: .7rem; font-weight: 730; padding: .45rem .7rem; }
.live-review-button.needs-review { border-color: rgba(247,194,102,.32); background: rgba(238,148,0,.1); color: #ffd17a; }
.live-hole-bar { display: grid; grid-template-columns: 2.45rem minmax(0,1fr) 2.45rem; align-items: center; gap: .3rem; margin: .5rem var(--page-pad) .35rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--paper); box-shadow: var(--shadow-soft); padding: .2rem; }
.live-hole-bar button { min-height: 2.45rem; border: 0; border-radius: var(--r-xs); background: var(--paper-soft); color: var(--ink); font-size: 1.25rem; }
.live-hole-bar div { display: flex; align-items: baseline; justify-content: center; gap: .45rem; }
.live-hole-bar span { color: var(--ink-soft); font-size: .7rem; font-weight: 700; text-transform: none; }
.live-hole-bar strong { font-size: 1.05rem; }
.live-view-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .2rem; margin: .65rem var(--page-pad); border-radius: 999px; background: var(--green-soft); padding: .22rem; }
.live-view-switch button { min-height: 2.75rem; border-radius: 999px; background: transparent; color: var(--green-dark); font-size: .88rem; font-weight: 760; }
.live-view-switch button.is-active { background: var(--green-dark); color: #fff; }
.live-scoring-view, .live-leaderboard-view { display: grid; gap: .55rem; }
.live-score-entry-wrap { margin: .05rem var(--page-pad) 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; }
.live-score-entry-head, .live-leaderboard-intro { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.live-score-entry-head { border-bottom: 1px solid var(--line); padding: .75rem; }
.live-score-entry-head span, .live-score-entry-head strong, .live-leaderboard-intro span, .live-leaderboard-intro strong { display: block; }
.live-score-entry-head span, .live-leaderboard-intro span { color: var(--ink-soft); font-size: .76rem; }
.live-score-entry-head strong, .live-leaderboard-intro strong { margin-top: .08rem; color: var(--ink); font-size: 1rem; }
.live-score-entry-head button, .live-leaderboard-intro button { min-height: 2.75rem; border-radius: 999px; background: var(--lime); color: var(--green-dark); padding-inline: .9rem; font-size: .8rem; font-weight: 800; }
.live-score-entry-list { display: grid; }
.live-player-row.live-scoring-row { grid-template-columns: 2.65rem minmax(0,1fr) 4.8rem; gap: .65rem; min-height: 4.7rem; padding: .55rem .7rem; }
.live-scoring-avatar { display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: .78rem; font-weight: 820; }
.live-scoring-row.is-active .live-scoring-avatar { background: var(--green-dark); color: var(--lime); }
.live-scoring-value { min-width: 0; text-align: right; }
.live-scoring-value strong, .live-scoring-value small { display: block; }
.live-scoring-value strong { color: var(--ink); font-size: 1.75rem; line-height: 1; letter-spacing: -.05em; }
.live-scoring-value small { margin-top: .2rem; color: var(--ink-soft); font-size: .7rem; }
.live-leaderboard-intro { margin: 0 var(--page-pad); padding: .4rem 0 .15rem; }
.live-score-board-wrap { margin: .05rem var(--page-pad) 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--paper); box-shadow: var(--shadow-soft); }
.live-score-board-head, .live-player-row { display: grid; grid-template-columns: 2.15rem minmax(0,1fr) 3.8rem 3.6rem; align-items: center; gap: .35rem; }
.live-score-board-head { min-height: 2.25rem; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .62rem; font-weight: 700; padding: .4rem .7rem; text-transform: uppercase; }
.live-score-board-head span:nth-child(n+3) { text-align: center; }
.live-player-row { width: 100%; min-height: 3.45rem; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: var(--paper); color: var(--ink); box-shadow: none; padding: .35rem .7rem; text-align: left; }
.live-player-row:last-child { border-bottom: 0; }
.live-player-row.is-active { background: linear-gradient(90deg, var(--green-soft), var(--paper) 38%); box-shadow: inset .22rem 0 var(--green); }
.live-position { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 999px; background: #7c837f; color: #fff; font-size: .7rem; font-weight: 740; }
.live-player-row.is-active .live-position { background: var(--green); }
.live-player-name { min-width: 0; }
.live-player-name strong, .live-player-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-player-name strong { font-size: .88rem; }
.live-player-name small { color: var(--ink-soft); font-size: .7rem; }
.live-total { color: var(--ink); font-size: 1.05rem; font-weight: 750; text-align: center; }
.live-current-score { display: grid; width: 2.65rem; min-height: 2.65rem; place-items: center; justify-self: center; border: 1px solid var(--line-strong); border-radius: var(--r-xs); background: var(--paper-soft); color: var(--green); font-size: 1.05rem; font-weight: 760; }
.live-current-term { display: none; }
.live-open-score-sheet { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; width: calc(100% - (2 * var(--page-pad))); min-height: 3.35rem; margin: .5rem var(--page-pad); border-radius: var(--r-sm); background: var(--green); color: #fff; box-shadow: 0 .65rem 1.5rem rgba(7,138,67,.18); padding: .6rem .85rem; text-align: left; }
.live-open-score-sheet span, .live-open-score-sheet strong { color: #fff; }
.live-open-score-sheet strong { display: grid; min-width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 999px; background: rgba(255,255,255,.88); color: var(--green); font-size: .72rem; }
.live-game-shelf { display: grid; gap: .35rem; margin: 0 var(--page-pad) .45rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--paper); box-shadow: var(--shadow-soft); padding: .65rem .75rem; }
.live-game-panel-head, .skins-panel-head { display: flex; align-items: start; justify-content: space-between; gap: .6rem; }
.live-game-panel-head h4, .skins-panel-head h4 { font-size: 1.15rem; }
.live-game-panel-head p, .skins-panel-head p, .live-game-explainer, .live-game-storage-note { color: var(--ink-soft); font-size: .72rem; }
.live-game-panel-head > span, .skins-panel-head > span { flex: 0 0 auto; border: 1px solid rgba(7,138,67,.22); border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .68rem; font-weight: 720; padding: .35rem .55rem; white-space: nowrap; }
.live-game-panel-head > div { min-width: 0; }
.live-game-panel-head > div > p:last-child { display: none; }
.live-game-rank-list, .skins-leaderboard, .skins-pair-status-list { display: grid; }
.live-game-rank-list > div, .skins-leaderboard > div, .skins-pair-status-list > div { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .55rem; border-top: 1px solid var(--line); padding: .4rem 0; }
.live-game-rank-list span, .skins-leaderboard span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 999px; background: var(--blue); color: #fff; }
.live-game-rank-list > .match-side-1 .live-team-marker { background: var(--red); color: #fff; }
.live-game-rank-list > .match-side-2 .live-team-marker { background: var(--blue); color: #fff; }
.live-player-row.match-side-1 .live-player-name small { color: var(--red); }
.live-player-row.match-side-2 .live-player-name small { color: var(--blue-ink); }
.live-score-player-chip.match-side-1 { border-inline-start: .22rem solid var(--red); }
.live-score-player-chip.match-side-2 { border-inline-start: .22rem solid #6f9cff; }
.pair-skins-panel { gap: .5rem; }
.skins-current-hole { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr); align-items: center; gap: .5rem; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .55rem .65rem; }
.skins-current-hole > span { color: var(--ink-soft); font-size: .62rem; font-weight: 680; line-height: 1.25; text-transform: uppercase; }
.skins-current-hole > strong { font-size: .82rem; line-height: 1.2; }
.skins-current-hole > small { color: var(--ink-soft); font-size: .68rem; line-height: 1.25; }
.skins-leaderboard { overflow: hidden; border-block: 1px solid var(--line); }
.skins-leaderboard > div { grid-template-columns: minmax(0,1fr) auto; gap: .65rem; border-top: 0; border-bottom: 1px solid var(--line); padding: .48rem 0; }
.skins-leaderboard > div:last-child { border-bottom: 0; }
.skins-leaderboard > div > span { display: grid; grid-template-columns: 1.9rem minmax(0,1fr); gap: .55rem; width: auto; height: auto; min-width: 0; place-items: center start; border-radius: 0; background: transparent; color: var(--ink); }
.skins-leaderboard > div > span > b { display: grid; width: 1.9rem; height: 1.9rem; place-items: center; border-radius: 999px; background: var(--blue); color: #fff; font-size: .7rem; }
.skins-leaderboard > div > span > span { display: block; width: auto; height: auto; min-width: 0; border-radius: 0; background: transparent; color: var(--ink); }
.skins-leaderboard > div > span > span strong, .skins-leaderboard > div > span > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.skins-leaderboard > div > span > span strong { font-size: .76rem; }
.skins-leaderboard > div > span > span small { color: var(--ink-soft); font-size: .63rem; }
.skins-leaderboard > div > strong { font-size: .8rem; white-space: nowrap; }
.live-scorecard-strip { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); width: calc(100% - (2 * var(--page-pad))); min-height: 2.75rem; margin: 0 var(--page-pad) .5rem; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); color: var(--ink-soft); box-shadow: var(--shadow-soft); padding: 0; text-align: center; scrollbar-width: none; }
.live-scorecard-strip::-webkit-scrollbar { display: none; }
.live-scorecard-strip.hole-count-18 { grid-template-columns: repeat(18,minmax(2.35rem,1fr)); }
.live-card-hole { display: grid; min-width: 0; min-height: 2.7rem; place-items: center; align-content: center; border-right: 1px solid var(--line); color: var(--ink-soft); padding: .22rem .08rem; }
.live-card-hole:last-child { border-right: 0; }
.live-card-hole b, .live-card-hole strong { display: block; color: inherit; font-size: .65rem; line-height: 1; }
.live-card-hole b { font-weight: 720; }
.live-card-hole strong { margin-top: .18rem; font-weight: 780; }
.live-card-hole.is-complete:not(.is-active), .live-card-hole.is-won:not(.is-active) { color: var(--green); }
.live-card-hole.is-partial:not(.is-active), .live-card-hole.is-halved:not(.is-active) { background: var(--blue-soft); color: var(--blue); }
.live-card-hole.is-carry:not(.is-active) { background: var(--amber-soft); color: var(--amber); }
.live-card-hole.is-active { background: var(--blue); color: #fff; }
.skins-stat-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
.skins-stat-row > div { border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .65rem; text-align: center; }
.skins-stat-row span { display: block; color: var(--ink-soft); font-size: .62rem; text-transform: uppercase; }
.skins-stat-row strong { font-size: .9rem; }
.live-game-details { color: var(--ink-soft); font-size: .68rem; }
.live-game-details summary { min-height: 1.6rem; cursor: pointer; }
.live-correction-panel { display: none; margin: 0 var(--page-pad) .75rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--paper); }
.live-correction-trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .7rem; border: 0; border-radius: inherit; background: transparent; color: var(--ink); box-shadow: none; padding: .75rem; text-align: left; }
.live-correction-trigger span strong, .live-correction-trigger span small { display: block; }
.live-correction-trigger small { color: var(--ink-soft); font-size: .68rem; }
.live-correction-trigger em { color: var(--ink-soft); font-size: .72rem; font-style: normal; }
.live-correction-inline { display: none; border-top: 1px solid var(--line); padding: .75rem; }
.live-correction-panel.is-open .live-correction-inline { display: block; }
.live-correction-drawer-backdrop { display: none; }
.live-score-matrix { min-width: 38rem; }
.live-score-board-wrap, .live-correction-inline { overflow-x: auto; }
.live-finish-note {
  display: grid;
  gap: .75rem;
  margin: 1rem var(--page-pad) 1.25rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
  color: var(--ink-soft);
  font-size: .9rem;
  line-height: 1.4;
}
.live-finish-note button {
  width: 100%;
  min-height: 3rem;
  border: 0;
  border-radius: 1.25rem;
  background: var(--green);
  color: #fff;
  font: inherit;
  font-weight: 760;
}
@media (min-width: 768px) {
  .live-finish-note { grid-template-columns: minmax(0,1fr) auto; align-items: center; }
  .live-finish-note button { width: auto; min-width: 10rem; padding-inline: 1.5rem; }
}

/* One-handed full scorecard, opened from the single bottom hole navigator. */
.live-full-scorecard-backdrop { position: fixed; inset: 0; z-index: 108; display: flex; width: 100vw; max-width: 100vw; align-items: flex-end; justify-content: center; overflow: hidden; background: rgba(8,12,9,.56); padding: 0; backdrop-filter: blur(.65rem); -webkit-backdrop-filter: blur(.65rem); }
.live-full-scorecard-sheet { display: grid; gap: .75rem; width: 100%; min-width: 0; max-width: 100vw; max-height: 90dvh; overflow: hidden; border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--paper); box-shadow: 0 -1.2rem 3.5rem rgba(5,9,7,.25); padding: .9rem max(.9rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left)); }
.live-full-scorecard-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.live-full-scorecard-head > div { min-width: 0; }
.live-full-scorecard-head h3 { margin-top: .08rem; font-size: 1.25rem; }
.live-full-scorecard-head span { display: block; overflow: hidden; margin-top: .12rem; color: var(--ink-soft); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.live-full-scorecard-head > button { min-width: 3rem; min-height: 2.75rem; border: 0; border-radius: var(--r-xs); background: var(--green-soft); color: var(--green); font-weight: 740; padding: .45rem .7rem; }
.live-full-scorecard-players { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .38rem; }
.live-full-scorecard-players button { display: grid; grid-template-columns: 1.55rem minmax(0,1fr); align-items: center; gap: .42rem; min-width: 0; min-height: 2.75rem; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); color: var(--ink); box-shadow: none; padding: .36rem .5rem; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.live-full-scorecard-players button span { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .64rem; font-weight: 760; }
.live-full-scorecard-players button.is-active { border-color: rgba(35,111,199,.35); background: var(--blue-soft); color: var(--blue); }
.live-full-scorecard-players button.is-active span { background: var(--blue); color: #fff; }
.live-full-scorecard-scroll { min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
.live-full-scorecard-table { width: 100%; min-width: 31rem; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.live-full-scorecard-table.hole-count-18 { min-width: 54rem; }
.live-full-scorecard-table th, .live-full-scorecard-table td { min-width: 2.75rem; height: 2.75rem; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .18rem; color: var(--ink-soft); font-size: .7rem; font-weight: 690; text-align: center; vertical-align: middle; }
.live-full-scorecard-table tr:last-child th, .live-full-scorecard-table tr:last-child td { border-bottom: 0; }
.live-full-scorecard-table td:last-child { border-right: 0; }
.live-full-scorecard-table th { position: sticky; left: 0; z-index: 2; width: 3.35rem; min-width: 3.35rem; background: var(--paper-soft); color: var(--ink); font-size: .68rem; font-weight: 760; letter-spacing: .02em; text-transform: uppercase; }
.live-full-scorecard-table td.is-current:not(.is-total) { background: var(--blue-soft); color: var(--blue); }
.live-full-scorecard-table .scorecard-hole-row th, .live-full-scorecard-table .scorecard-hole-row td { border-color: rgba(255,255,255,.18); background: var(--green); color: #fff; }
.live-full-scorecard-table .scorecard-hole-row td.is-current { background: var(--blue); color: #fff; }
.live-full-scorecard-table td.is-total { width: 3.2rem; min-width: 3.2rem; background: var(--paper-soft); color: var(--ink); font-weight: 780; }
.live-full-scorecard-table button { display: grid; width: 100%; min-width: 2.25rem; min-height: 2.25rem; place-items: center; border: 0; border-radius: 999px; background: transparent; color: inherit; box-shadow: none; padding: 0; font-size: .72rem; font-weight: 780; }
.live-full-scorecard-table .scorecard-score-row button.is-under { background: var(--green); color: #fff; }
.live-full-scorecard-table .scorecard-score-row button.is-par { background: var(--blue); color: #fff; }
.live-full-scorecard-table .scorecard-score-row button.is-over { background: var(--amber); color: #fff; }
.live-full-scorecard-table .scorecard-score-row button.is-empty { border: 1px solid var(--line); background: var(--paper); color: var(--ink-soft); }
.live-full-scorecard-entry { display: flex; width: 100%; min-height: 3rem; align-items: center; justify-content: center; }

/* Score sheet — hard viewport containment for iPhone Safari. */
.live-score-sheet-backdrop { position: fixed; inset: 0; z-index: 100; display: flex; width: 100vw; max-width: 100vw; align-items: flex-end; justify-content: center; overflow: hidden; background: rgba(8,12,9,.56); padding: 0; backdrop-filter: blur(.65rem); -webkit-backdrop-filter: blur(.65rem); }
.live-score-sheet { width: 100%; min-width: 0; max-width: 100vw; overflow: hidden; }
.live-score-sheet-handle { display: none; }
.live-keypad-panel { display: grid; grid-template-rows: auto minmax(0,1fr); width: 100%; min-width: 0; max-width: 100%; max-height: 100dvh; overflow: hidden; border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--paper); box-shadow: 0 -1.2rem 3.5rem rgba(5,9,7,.25); }
.live-score-sheet-focus { display: grid; gap: .7rem; min-width: 0; background: radial-gradient(circle at 90% 0, rgba(34,184,102,.16), transparent 12rem), var(--night); color: #fff; padding: max(.9rem,env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) .8rem max(.9rem,env(safe-area-inset-left)); }
.live-score-sheet-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.live-score-sheet-toolbar div { min-width: 0; }
.live-score-sheet-toolbar span, .live-score-sheet-toolbar strong { display: block; }
.live-score-sheet-toolbar span { color: rgba(255,255,255,.62); font-size: .72rem; }
.live-score-sheet-toolbar strong { color: #fff; font-size: 1rem; }
.live-score-sheet-toolbar button { min-width: 3rem; min-height: 2.75rem; border: 0; background: transparent; color: #71dc9d; font-weight: 720; }
.live-score-player-rail { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; min-width: 0; }
.live-score-player-chip { display: grid; grid-template-columns: 1.65rem minmax(0,1fr); grid-template-rows: auto auto; column-gap: .45rem; min-width: 0; min-height: 3.25rem; border: 1px solid rgba(255,255,255,.13); border-radius: var(--r-xs); background: rgba(255,255,255,.06); color: rgba(255,255,255,.76); padding: .45rem; text-align: left; }
.live-score-player-chip i { display: grid; grid-row: 1/3; width: 1.65rem; height: 1.65rem; align-self: center; place-items: center; border-radius: 999px; background: rgba(255,255,255,.12); font-size: .7rem; font-style: normal; font-weight: 730; }
.live-score-player-chip strong, .live-score-player-chip span { overflow: hidden; color: inherit; text-overflow: ellipsis; white-space: nowrap; }
.live-score-player-chip strong { font-size: .78rem; }
.live-score-player-chip span { color: rgba(255,255,255,.55); font-size: .62rem; }
.live-score-player-chip.is-scored { border-color: rgba(34,184,102,.35); }
.live-score-player-chip.is-active { border-color: #65dd98; background: rgba(7,138,67,.65); color: #fff; }
.live-score-sheet-body { min-width: 0; overflow-y: auto; overscroll-behavior: contain; background: var(--paper); padding: .85rem max(.9rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left)); }
.live-score-entry-progress { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.live-score-entry-progress strong { color: var(--green); font-size: .76rem; }
.live-score-entry-progress span { color: var(--ink-soft); font-size: .72rem; }
.live-selected-player { position: relative; display: grid; grid-template-columns: minmax(0,1fr); gap: .15rem; margin: .55rem 0 .7rem; border: 0; padding: 0 5.8rem; text-align: center; }
.live-selected-player span { color: var(--ink-soft); font-size: .72rem; order: 2; }
.live-selected-player strong { font-size: 1.25rem; order: 1; }
.live-selected-player small { color: var(--green); font-size: .72rem; order: 3; }
.live-putt-stage-action {
  position: absolute;
  top: 50%;
  right: 0;
  min-width: 5.25rem;
  min-height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: #eef0ec;
  color: #163200;
  padding: .45rem .7rem;
  font-size: .72rem;
  font-weight: 760;
  transform: translateY(-50%);
}
.live-keypad { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; width: 100%; min-width: 0; }
.live-keypad button { display: grid; min-width: 0; min-height: clamp(3.8rem,8.4dvh,5.3rem); place-items: center; align-content: center; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); color: var(--ink); box-shadow: 0 .25rem .7rem rgba(15,22,18,.04); padding: .35rem; }
.live-keypad button strong { font-size: clamp(1.55rem,7vw,2.1rem); font-weight: 690; }
.live-keypad button span { color: var(--ink-soft); font-size: .62rem; font-weight: 650; text-transform: uppercase; }
.live-keypad button.is-par { border-color: rgba(7,138,67,.6); background: linear-gradient(145deg,var(--green-soft),#fff); }
.live-keypad button.is-par strong, .live-keypad button.is-par span { color: var(--green); }
.live-keypad button.is-clear { border-color: rgba(238,148,0,.3); background: var(--amber-soft); }

/* Results, register and group */
.post-round-result-card, .tally-board-card { display: grid; gap: .9rem; }
.post-round-result-head, .tally-board-head { display: flex; align-items: start; justify-content: space-between; gap: .7rem; border-bottom: 1px solid var(--line); padding-bottom: .8rem; }
.post-round-result-head span { color: var(--ink-soft); font-size: .75rem; }
.post-round-close { width: 2.75rem; min-width: 2.75rem; padding: 0; }
.post-round-winner, .tally-hero { overflow: hidden; border-radius: var(--r-sm); background: radial-gradient(circle at 92% 0,rgba(34,184,102,.25),transparent 13rem),var(--night); color: #fff; padding: 1rem; }
.post-round-winner span, .tally-hero span { color: #74dc9e; font-size: .7rem; text-transform: uppercase; }
.post-round-winner strong, .post-round-winner small, .tally-hero strong { display: block; color: #fff; }
.post-round-winner strong { margin-top: .15rem; font-size: 1.65rem; }
.b3-round-outcomes { display: grid; gap: .5rem; }
.b3-round-outcomes > div { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: .6rem; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .65rem; }
.b3-round-outcomes p { min-width: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.b3-round-outcomes p strong, .b3-round-outcomes p small { display: block; }
.b3-round-outcomes p strong { color: var(--ink); }
.b3-round-outcomes p small { margin-top: .14rem; }
.post-round-actions { display: grid; gap: .55rem; }
.post-round-mini-board, .tally-table, .tally-register, .tally-engine-list { display: grid; }
.post-round-mini-board > div { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .65rem; border-bottom: 1px solid var(--line); padding: .7rem 0; }
.post-round-mini-board > div span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 999px; background: var(--green); color: #fff; }
.whatsapp-box { min-height: 8rem; background: var(--paper-soft); color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.match-play-summary { display: grid; gap: .6rem; border-top: 1px solid var(--line); padding-top: .75rem; }
.match-play-summary > div:first-child > span { color: var(--ink-soft); font-size: .72rem; }
.match-play-summary .round-game-pills { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.match-play-summary .round-game-pills > .match-side { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: .1rem .5rem; align-items: center; min-width: 0; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .55rem; }
.match-play-summary .round-game-pills > .match-side-1 { border-color: rgba(163,58,53,.38); background: var(--red-soft); }
.match-play-summary .round-game-pills > .match-side-2 { border-color: rgba(55,110,216,.36); background: var(--blue-soft); }
.match-play-summary .live-team-marker { display: grid; grid-row: 1/3; width: 2rem; height: 2rem; place-items: center; border-radius: 999px; font-size: .72rem; font-style: normal; font-weight: 780; }
.match-play-summary .match-side-1 .live-team-marker { background: var(--red); color: #fff; }
.match-play-summary .match-side-2 .live-team-marker { background: var(--blue); color: #fff; }
.match-play-summary .round-game-pills span span { min-width: 0; }
.match-play-summary .round-game-pills b, .match-play-summary .round-game-pills small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.match-play-summary .round-game-pills small { color: var(--ink-soft); font-size: .62rem; }
.match-play-summary .round-game-pills > .match-side > strong { grid-column: 1/-1; font-size: .72rem; }
.tally-score-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-xs); }
.tally-score-grid article { min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .7rem; }
.tally-score-grid article:nth-child(2n) { border-right: 0; }
.tally-detail-card { border-top: 1px solid var(--line); padding: .75rem 0; }

/* Forms, capture, settings and onboarding */
.form-grid, .settings-form, .add-player, .onboarding-panel, .onboarding-options, .capture-grid, .capture-actions, .score-request-form, .submission-form, .manual-round-card, .round-form, .course-form, .cloud-config-form, .cloud-auth-form { display: grid; gap: .7rem; min-width: 0; }
.form-actions, .settings-actions, .notification-actions, .score-request-actions { display: grid; gap: .55rem; }
.inline-control { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; }
.historical-import-card, .historical-preview { display: grid; gap: .75rem; }
.historical-note { color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.historical-issues { display: grid; gap: .35rem; margin: 0; padding-left: 1.2rem; color: var(--red); font-size: .76rem; line-height: 1.4; }
.historical-preview { border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .75rem; }
.historical-preview.has-issues { border-color: rgba(182,68,61,.25); background: var(--red-soft); }
.historical-preview-head > div { min-width: 0; }
.historical-preview-head span, .historical-preview-head strong { display: block; overflow-wrap: anywhere; }
.historical-preview-head strong { margin-top: .15rem; font-size: .78rem; }
#historical-import-file { width: 100%; min-width: 0; }
.historical-table { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
.historical-table-row { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(3.6rem,.8fr) 2.8rem 2.8rem; align-items: center; gap: .35rem; min-width: 0; border-bottom: 1px solid var(--line); padding: .55rem; font-size: .7rem; }
.historical-table-row:last-child { border-bottom: 0; }
.historical-table-row > span { min-width: 0; overflow-wrap: anywhere; }
.historical-table-head { color: var(--ink-soft); font-size: .62rem; font-weight: 760; text-transform: uppercase; }
.onboarding-head, .capture-panel-head, .manual-round-head, .score-request-head, .score-request-card-head, .cloud-auth-head, .historical-preview-head { display: flex; align-items: start; justify-content: space-between; gap: .7rem; }
.onboarding-methods { display: grid; gap: .45rem; }
.onboarding-methods label, .onboarding-options label { display: grid; gap: .2rem; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .7rem; }
.onboarding-methods label:has(input:checked), .onboarding-options label:has(input:checked) { border-color: rgba(7,138,67,.45); background: var(--green-soft); }
.onboarding-note { color: var(--ink-soft); font-size: .78rem; }
.usual-score-grid, .ability-grid, .two-up { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.photo-picker { display: grid; min-height: 8rem; place-items: center; border: 1px dashed var(--line-strong); border-radius: var(--r-sm); background: var(--paper-soft); color: var(--green); text-align: center; }
.photo-picker input { width: auto; }
.capture-step-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
.capture-step-strip > div { min-width: 0; border-right: 1px solid var(--line); padding: .6rem; }
.capture-step-strip > div:last-child { border-right: 0; }
.capture-step-strip span { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .65rem; }
.capture-step-strip strong, .capture-step-strip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.capture-step-strip strong { margin-top: .25rem; font-size: .68rem; }
.capture-step-strip small { color: var(--ink-soft); font-size: .55rem; }
.capture-command-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: .8rem 0 0; }
.capture-command-stats div { border-right: 1px solid var(--line); padding: .5rem; }
.capture-command-stats div:last-child { border-right: 0; }
.score-entry-list, .handicap-entry-list, .submission-roster, .score-request-list, .player-admin-list { display: grid; }
.score-entry, .handicap-entry, .submission-roster > div, .score-request-card, .player-admin-row { border-bottom: 1px solid var(--line); padding: .7rem 0; }
.scorecard-workflow { width: min(100%,80rem); margin-inline: auto; }
.score-request-panel { display: grid; gap: .8rem; }
.score-request-head > div { min-width: 0; }
.score-request-head h3 { font-size: 1.08rem; }
.score-request-head p { max-width: 46rem; margin-top: .25rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.4; }
.score-request-form { align-items: end; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .72rem; }
.score-request-form > label { min-width: 0; color: var(--ink-soft); font-size: .7rem; font-weight: 720; }
.score-request-form select { margin-top: .25rem; }
.score-request-form .segmented { min-width: 0; background: var(--paper); }
.score-request-form > .primary-action { min-height: 2.9rem; white-space: nowrap; }
.score-request-list .empty-state { min-height: 4rem; display: grid; place-items: center; padding: 1rem; font-size: .78rem; }
.group-name-form { margin-top: .8rem; border-top: 1px solid var(--line); padding-top: .8rem; }
.score-entry { display: grid; grid-template-columns: minmax(0,1fr) 6rem; align-items: center; gap: .65rem; }
.table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper); }
table { width: 100%; min-width: 42rem; border-collapse: collapse; }
th, td { border-bottom: 1px solid var(--line); padding: .7rem; text-align: left; vertical-align: top; }
th { color: var(--ink-soft); font-size: .7rem; text-transform: uppercase; }
.form-error, .cloud-sync-error { border: 1px solid rgba(182,68,61,.25); border-radius: var(--r-xs); background: var(--red-soft); color: var(--red); padding: .7rem; }
.toast { position: fixed; top: max(.75rem,env(safe-area-inset-top)); right: 50%; z-index: 120; width: max-content; max-width: calc(100vw - 1.5rem); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; background: rgba(16,22,19,.94); color: #fff; box-shadow: 0 .8rem 2rem rgba(15,22,18,.18); padding: .58rem .8rem; font-size: .72rem; transform: translateX(50%); backdrop-filter: blur(.8rem); -webkit-backdrop-filter: blur(.8rem); }
body:has(.live-score-sheet) .toast, body:has(.live-full-scorecard-sheet) .toast { display: none; }

/* Dialogs and completion */
.live-finish-review-backdrop, .live-correction-drawer-backdrop.is-open { position: fixed; inset: 0; z-index: 110; display: flex; align-items: flex-end; background: rgba(8,12,9,.56); }
.live-finish-review, .live-correction-drawer { width: 100%; max-height: 92dvh; overflow-y: auto; border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--paper); box-shadow: var(--shadow-float); padding: 1rem var(--page-pad) max(1rem,env(safe-area-inset-bottom)); }
.live-finish-review-head, .live-correction-drawer-head { display: flex; align-items: center; gap: .7rem; border-bottom: 1px solid var(--line); padding-bottom: .8rem; }
.live-finish-review-head > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 999px; background: var(--green); color: #fff; font-weight: 740; }
.live-missing-callout, .live-finish-summary { display: grid; gap: .4rem; margin-top: .8rem; border: 1px solid var(--line); border-radius: var(--r-xs); background: var(--paper-soft); padding: .75rem; }
.live-missing-callout span, .live-finish-summary span, .live-finish-summary small { color: var(--ink-soft); font-size: .72rem; }
.live-finish-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; margin-top: .8rem; }
.live-processing-backdrop { position: fixed; inset: 0; z-index: 180; display: grid; place-items: center; padding: max(1.5rem,env(safe-area-inset-top)) 1.5rem max(1.5rem,env(safe-area-inset-bottom)); background: var(--paper); }
html:has(.live-processing-dialog), body:has(.live-processing-dialog) { overflow: hidden; overscroll-behavior: none; }
.live-processing-dialog { width: min(100%,20rem); border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; color: var(--ink); }
.live-processing-copy { display: flex; align-items: baseline; flex-wrap: wrap; gap: .75rem; }
.live-processing-copy h3 { margin: 0; color: var(--ink); font-size: 1.625rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.02em; line-height: 1.25; }
.live-processing-step-count { color: var(--ink-soft); font-size: .8125rem; line-height: 1.5; font-variant-numeric: tabular-nums; }
.live-processing-step { margin: 1rem 0 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.5; }

/* Opal's slim capsule treatment, using existing Four Irons tokens only.
   Fill length and number reflect real checkpoints; travel shows activity.
   Fill travels left-to-right; its independent shimmer travels right-to-left. */
.activity-indicator { width: 100%; min-width: 0; margin: 1.5rem 0 .25rem; }
.activity-track { width: 100%; height: .375rem; overflow: hidden; border-radius: 999px; background: var(--night-raised); }
.activity-fill { position: relative; display: block; width: 40%; height: 100%; border-radius: inherit; overflow: hidden; background: linear-gradient(90deg,var(--lime-strong),var(--lime)); }
.activity-fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 15%,var(--green-soft) 50%,transparent 85%); transform: translateX(100%); animation: activity-shimmer 1.8s linear infinite; }
.activity-indicator:not(.is-complete) .activity-fill { animation: activity-travel 2.4s linear infinite; }
.activity-indicator.is-complete .activity-fill { width: 100%; }
.activity-indicator.is-complete .activity-fill::after { animation: none; opacity: 0; }
@keyframes activity-shimmer { to { transform: translateX(-100%); } }
@keyframes activity-travel { from { transform: translateX(-100%); } to { transform: translateX(var(--activity-travel-end,250%)); } }
.authoritative-bootstrap-gate { min-height: 100dvh; padding: max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left)); background: var(--canvas); }
.results-check-brand { display: flex; align-items: center; gap: .875rem; max-width: 64rem; margin: 0 auto; color: var(--ink); font-size: 1.125rem; font-weight: 750; }
.results-check-brand img { width: 3.5rem; height: 3.5rem; object-fit: contain; }
.results-check-card { width: 100%; max-width: 20rem; margin: clamp(4rem,25vh,14rem) auto 2rem; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; }
.results-check-card h1 { color: var(--ink); font-size: 1.125rem; font-weight: 500; letter-spacing: 0; line-height: 1.5; margin: 0; }
.results-check-status { color: var(--ink-soft); font-size: 1rem; line-height: 1.5; margin-top: .75rem; }
.results-check-retry { margin-top: 1.5rem; min-height: 2.75rem; padding: .75rem 1.25rem; border-radius: 999px; background: var(--lime); color: var(--ink-deep); font-weight: 700; }
.activity-slow-hint { margin-top: 1rem; color: var(--ink-soft); font-size: .875rem; line-height: 1.5; visibility: hidden; animation: activity-slow-hint 0s 15s forwards; }
@keyframes activity-slow-hint { to { visibility: visible; } }
@media (prefers-reduced-motion: reduce) {
  .activity-fill, .activity-fill::after, .activity-indicator:not(.is-complete) .activity-fill { animation: none; transition: none; }
  .activity-fill::after { display: none; }
}
.live-final-hole-list, .live-missing-queue { display: grid; margin-top: .8rem; }
.live-final-hole-list button, .live-missing-queue button { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .5rem; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); box-shadow: none; text-align: left; }

/* Fixed mobile navigation */
.mobile-tabbar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 50; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; min-height: var(--tabbar-height); overflow: hidden; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.96); box-shadow: 0 -.4rem 1.6rem rgba(15,22,18,.06); padding: .35rem .55rem max(.3rem,env(safe-area-inset-bottom)); backdrop-filter: blur(1.2rem); -webkit-backdrop-filter: blur(1.2rem); }
.mobile-tab { display: grid; min-width: 0; min-height: 3.35rem; place-items: center; align-content: center; gap: .12rem; border: 0; border-radius: 0; background: transparent; color: var(--ink-soft); box-shadow: none; padding: .2rem .08rem; font-size: .66rem; font-weight: 650; }
.mobile-tab.is-active { background: transparent; color: var(--green); }
.nav-icon { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border: 0; border-radius: 0; opacity: 1; }
.nav-icon .ui-icon { width: 1.48rem; height: 1.48rem; stroke-width: 1.9; }

@media (max-width: 359px) {
  :root { --page-pad: .65rem; }
  .topbar-actions .add-action { display: none; }
  .live-launch-head h3 { font-size: 1.35rem; }
  .course-select-row select { font-size: .82rem; }
  .game-choice-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .score-track-grid, .play-scope-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .score-track-card strong, .play-scope-card strong { font-size: .68rem; }
  .live-score-board-head, .live-player-row { grid-template-columns: 1.9rem minmax(0,1fr) 3.15rem 3.15rem; padding-inline: .5rem; }
  .live-score-sheet-focus, .live-score-sheet-body { padding-inline: .58rem; }
  .live-keypad { gap: .34rem; }
  .live-keypad button { min-height: 3.55rem; }
}

/* Final compact paired-row guard: follows the broader phone typography rules so
   the two-date row stays the same one-row height at 320–390px. */
@media (max-width: 639px) {
  .paired-round-compact-row .report-identity strong,
  .paired-round-compact-row .report-identity small { overflow: visible; text-overflow: clip; white-space: normal; }
  .paired-round-connector > .paired-round-compact-row {
    grid-template-columns: 7rem minmax(0,1fr) 3.2rem;
    gap: .2rem;
    min-height: 5.4rem;
    padding: .38rem .28rem;
  }
  .paired-round-main { gap: .18rem; }
  .paired-round-compact-facts { gap: .12rem; }
  .paired-round-compact-facts > div { grid-template-columns: minmax(0,1fr) auto; gap: .12rem; }
  .paired-round-compact-facts dt { font-size: .46rem; line-height: 1.06; }
  .paired-round-compact-facts dd { font-size: .62rem; }
  .paired-round-gross .paired-round-context { font-size: .45rem; line-height: 1.05; }
  .paired-round-gross.score-result-primary { min-width: 0; }
  .paired-differential-row-card > .paired-differential-row { grid-template-columns: 7rem minmax(0,1fr) 3.35rem; gap: .2rem; min-height: 5.4rem; padding: .38rem .28rem; }
  .paired-differential-row .score-summary-title { overflow: visible; text-overflow: clip; white-space: normal; }
  .paired-differential-row .score-summary-description { overflow: visible; font-size: .65rem; line-height: 1.2; text-overflow: clip; white-space: normal; }
  .paired-differential-row .differential-use-pill { min-width: 3.35rem; min-height: 2.2rem; padding: .35rem .28rem; font-size: .59rem; }
}

/* Ordinary Handicap evidence rows share the Rounds summary grid. The status is
   constrained to the title column so it can never consume the fixed Gross or
   disclosure-chevron columns. */
.handicap-differential-identity { min-width: 0; }
.handicap-differential-title-line {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .45rem;
}
.handicap-differential-title-line .score-summary-title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.handicap-differential-summary .handicap-differential-subtitle {
  overflow: hidden;
  margin-top: .2rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.handicap-nine-source-list,
.handicap-paired-source-row-group { display: grid; gap: .65rem; margin-top: .45rem; }
.handicap-nine-source-subtitle {
  display: flex !important;
  min-width: 0;
  align-items: center;
  gap: .69rem;
  white-space: nowrap !important;
}
.handicap-nine-source-subtitle > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.round-history-status-subtitle {
  display: flex !important;
  min-width: 0;
  align-items: center;
  gap: .69rem;
  white-space: nowrap !important;
}
.round-history-status-subtitle > span:first-child {
  min-width: 0;
  overflow: hidden;
  color: var(--ink-soft);
  font-size: var(--score-row-description-size, .68rem);
  font-weight: 580;
  line-height: 1;
  letter-spacing: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.round-history-status-pill {
  display: inline-flex;
  flex: none;
  width: max-content;
  min-width: 3.65rem;
  height: 1.25rem;
  min-height: 0;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: .1rem .55rem;
  font-size: .75rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

.round-history-status-actions {
  display: inline-flex !important;
  flex: 0 0 auto;
  min-width: 0;
  align-items: center;
  gap: .4rem;
  overflow: visible;
}

.round-history-title-line {
  display: block;
  width: 100%;
  min-width: 0;
}

.round-history-title-line > .score-summary-title {
  width: 100%;
  min-width: 0;
}

.round-history-status-subtitle.has-info-action,
.handicap-nine-source-subtitle.has-info-action {
  overflow: visible !important;
}

@media (max-width: 639px) {
  .handicap-nine-source-list { gap: 0; border-top: 1px solid var(--line); }
  .handicap-differential-list > .handicap-paired-source-row-group {
    gap: 0;
    margin-top: 0;
    border-top: 0;
  }
  .player-round-card > summary.score-summary-row {
    grid-template-columns: 3.35rem minmax(0,1fr) 3.35rem 1rem;
    gap: .5rem;
  }
  .player-round-card > summary.score-summary-row .score-result-primary { min-width: 3.35rem; }
  .round-history-status-subtitle { gap: .69rem; font-size: .6rem !important; }
  .round-history-status-pill {
    min-width: 3.65rem;
    height: 1.25rem;
    padding: .1rem .5rem;
    font-size: .75rem;
  }
}

@media (max-height: 860px) and (max-width: 639px) {
  .v10-round-launcher { gap: .22rem; }
  .game-setup-step { padding-top: .22rem; }
  .round-player-card { min-height: 2.1rem; }
  .round-player-actions .ghost-button { min-height: 2.35rem; }
  .score-track-grid { min-height: 2.45rem; }
  .game-choice-card { min-height: 3.05rem; }
}

@media (min-width: 640px) {
  .app-shell { display: grid; grid-template-columns: 13rem minmax(0,1fr); gap: 1rem; min-height: 100dvh; padding: 1rem; }
  .sidebar { position: sticky; top: 1rem; display: grid; align-content: start; gap: 1rem; height: calc(100dvh - 2rem); overflow-y: auto; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); box-shadow: var(--shadow-soft); padding: 1rem; }
  .brand-lockup { display: flex; align-items: center; gap: .6rem; }
  .brand-mark { width: 2rem; height: 2rem; border-radius: .65rem; background: var(--green); }
  .brand-wordmark { font-size: 1.1rem; }
  .brand-wordmark strong { color: var(--green); }
  .sidebar-nav { display: grid; gap: .3rem; }
  .nav-item { display: grid; grid-template-columns: 1.4rem minmax(0,1fr); align-items: center; gap: .55rem; width: 100%; min-height: 2.8rem; border-radius: var(--r-xs); background: transparent; color: var(--ink-soft); padding: .55rem; text-align: left; }
  .nav-item.is-active { background: var(--blue); color: #fff; }
  .sidebar-divider { height: 1px; background: var(--line); }
  .sidebar-account { display: grid; gap: .6rem; }
  .sidebar-account label { color: var(--ink-soft); font-size: .7rem; }
  .workspace { border: 1px solid var(--line); border-radius: var(--r-md); background: rgba(255,255,255,.62); box-shadow: var(--shadow-soft); }
  .topbar { position: static; border-radius: var(--r-md) var(--r-md) 0 0; padding: 1rem 1.2rem; }
  .topbar-title-long { display: inline; }
  .topbar-title-short { display: none; }
  .topbar-actions .secondary-action, .notification-pill { display: inline-flex; }
  .panel { padding: 1.2rem; }
  .view-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(17rem,.9fr); gap: 1rem; margin: 1.2rem 1.2rem 0; overflow: hidden; border-radius: var(--r-md); background: radial-gradient(circle at 92% 0,rgba(34,184,102,.22),transparent 18rem),var(--night); color: #fff; padding: 1.4rem; }
  .view-hero h2, .view-hero strong { color: #fff; }
  .view-hero .eyebrow { color: #70dc9c; }
  .view-hero p { color: rgba(255,255,255,.64); }
  .hero-copy { display: grid; align-content: center; gap: .5rem; }
  .hero-actions { display: flex; gap: .5rem; margin-top: .4rem; }
  .hero-action:not(.is-primary) { border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.07); }
  .hero-group-overview, .hero-stat-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-xs); }
  .hero-group-overview > div, .hero-stat-panel > div { padding: .65rem; }
  .hero-group-overview span, .hero-stat-panel span { display: block; color: rgba(255,255,255,.5); font-size: .62rem; }
  .scorecard-art { display: none; }
  .hero-visual-shell { align-content: center; display: grid; }
  .mobile-tabbar { display: none; }
  .metric-row { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .dashboard-layout { grid-template-columns: minmax(0,1fr) 16rem; }
  .live-start-grid, .team-name-grid, .post-round-actions, .form-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .course-choice-grid, .round-player-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .round-player-card { border: 1px solid var(--line); }
  .game-choice-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .game-choice-card { border-bottom: 0; }
  .game-choice-card:last-child { border-right: 1px solid var(--line-strong); }
  .v10-round-launcher > .primary-action { position: static; }
  .v10-round-launcher .advanced-game-settings { display: block !important; }
  .live-onboarding-drawer, .live-finish-review, .live-correction-drawer { inset: 50% auto auto 50%; width: min(42rem,calc(100vw - 2rem)); border-radius: var(--r-lg); transform: translate(-50%,-50%); }
  .live-score-sheet { width: min(42rem,100%); }
  .live-keypad-panel { max-height: calc(100dvh - 2rem); border-radius: var(--r-lg); }
  .live-score-sheet-backdrop { align-items: center; padding: 1rem; }
  .live-full-scorecard-backdrop { align-items: center; padding: 1rem; }
  .live-full-scorecard-sheet { width: min(52rem,100%); max-height: calc(100dvh - 2rem); border-radius: var(--r-lg); }
  .live-full-scorecard-players { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
/* Card-only immutable scorecard. Result tokens are registered from the
   owner-provided final scorecard visual retained with the M3 evidence. */
.final-card-backdrop { align-items: center; padding: max(.75rem, env(safe-area-inset-top)) max(.55rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left)); }
.final-card-sheet { box-sizing: border-box; width: min(100%, 30rem); min-width: 0; max-height: min(90dvh, 48rem); margin: auto; overflow: auto; overscroll-behavior: contain; padding: clamp(.75rem, 3.2vw, 1.05rem); border-radius: 1.35rem; background: #fff; box-shadow: 0 1rem 3rem rgba(22,31,35,.18); color: var(--ink, #050805); }
.final-card-head { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: .7rem; align-items: start; padding-bottom: .8rem; border-bottom: 1px solid var(--line, #dddfda); }
.final-card-head h3, .final-card-head p { margin: 0; }
.final-card-head > div:nth-child(2) { min-width: 0; }
.final-card-head h3 { margin-top: .12rem; font-size: 1.15rem; line-height: 1.2; overflow-wrap: anywhere; }
.final-card-identity { display: block; min-width: 0; margin-top: .12rem; }
.final-card-identity h3 { margin-top: 0; }
.final-card-handicaps { display: flex; flex-wrap: wrap; align-items: baseline; gap: .18rem; margin-top: .16rem; color: #153403; line-height: 1.2; }
.final-card-handicaps span { display: inline; color: inherit; white-space: nowrap; }
.final-card-handicaps i { color: var(--muted, #444a44); font-style: normal; }
.final-card-handicaps b, .final-card-handicaps strong { color: inherit; font-size: .78rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.final-card-head p { font-size: .7rem; line-height: 1.4; overflow-wrap: anywhere; }
.final-card-head p + p { margin-top: .22rem; }
.final-card-head button { min-width: 44px; min-height: 44px; border: 1px solid var(--line, #dddfda); border-radius: 999px; background: var(--surface-warm, #fbfaf6); color: var(--control, #153403); padding: .45rem .65rem; }
.final-card-brand { width: 3rem; height: 3rem; display: grid; place-items: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; }
.final-card-brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
.final-card-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.5rem, 3vw, 1rem); margin: .9rem 0; padding: .15rem 0; }
.final-card-summary > div { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 0; text-align: center; }
.final-card-summary span { display: block; color: var(--muted, #444a44); font-size: clamp(.6rem, 2.2vw, .68rem); line-height: 1.2; white-space: nowrap; }
.final-card-summary strong { display: block; margin-top: .12rem; color: var(--ink, #050805); font-size: clamp(1.45rem, 6vw, 1.8rem); font-weight: 850; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.final-card-summary .is-net-to-par.is-under-par strong { color: var(--scorecard-net-to-par-negative); }
.final-card-summary .is-net-to-par:is(.is-even, .is-over-par) strong { color: var(--scorecard-net-to-par-nonnegative); }
.final-card-blocks { display: grid; gap: .85rem; }
.final-card-nine { min-width: 0; }
.final-card-nine table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: .1rem .16rem; table-layout: fixed; font-size: clamp(.625rem, 2.4vw, .7rem); font-variant-numeric: tabular-nums; }
.final-card-nine th, .final-card-nine td { padding: .23rem .04rem; text-align: center; border-radius: .25rem; }
.final-card-nine thead tr { background: #004d2c; border-radius: .32rem; }
.final-card-nine thead th { border: 0; border-radius: 0; background: transparent; color: #fff; white-space: nowrap; }
.final-card-nine thead th:first-child { border-radius: .32rem 0 0 .32rem; }
.final-card-nine thead th:last-child { border-radius: 0 .32rem .32rem 0; }
.final-card-nine th:first-child { width: 3.25rem; text-align: left; }
.final-card-nine th:last-child, .final-card-nine td:last-child { width: 2rem; font-weight: 800; }
.score-result strong { display: block; line-height: 1.45; }
.score-result.is-gross { color: var(--score-result-on-solid); }
.score-result.is-net { color: var(--score-result-on-pale); }
.score-result.is-gross.is-eagles { background: var(--score-eagle-plus-gross); }
.score-result.is-net.is-eagles { background: var(--score-eagle-plus-net); }
.score-result.is-gross.is-birdie { background: var(--score-birdie-gross); }
.score-result.is-net.is-birdie { background: var(--score-birdie-net); }
.score-result.is-gross.is-par,
.score-result.is-net.is-par { border: 1px solid var(--score-par-outline); background: var(--score-par); color: var(--score-result-on-solid); }
.score-result.is-gross.is-bogey { background: var(--score-bogey-gross); }
.score-result.is-net.is-bogey { background: var(--score-bogey-net); }
.score-result.is-gross.is-double_plus { background: var(--score-double-bogey-plus-gross); }
.score-result.is-net.is-double_plus { background: var(--score-double-bogey-plus-net); }
.score-result.is-gross.is-par,
.score-result.is-gross.is-bogey { color: var(--score-result-on-solid); }
.final-card-legend { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; column-gap: .1rem; align-items: end; margin-top: .8rem; border-top: 0; border-bottom: 0; padding-top: .65rem; color: var(--muted, #444a44); font-size: .62rem; line-height: 1.3; }
.final-card-legend-items { min-width: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: .45rem .75rem; }
.final-card-legend span { display: inline-flex; align-items: center; gap: .15rem; }
.final-card-legend-items > span:not(.final-card-putts-label) { font-size: clamp(.72rem, 2.8vw, .78rem); font-weight: 700; white-space: nowrap; }
.final-card-legend .final-card-putts-label { margin-inline-start: auto; white-space: nowrap; color: var(--ink, #050805); font-size: clamp(.625rem, 2.4vw, .7rem); font-weight: 800; }
.final-card-legend .final-card-putts-value { width: 2rem; color: var(--ink, #050805); font-size: clamp(.625rem, 2.4vw, .7rem); font-weight: 800; line-height: 1.3; text-align: center; font-variant-numeric: tabular-nums; }
.final-card-legend i { flex: 0 0 auto; width: .72rem; height: .72rem; border: 1px solid var(--score-par-outline, currentColor); border-radius: 50%; }
.final-card-legend .is-eagles i { border-color: var(--score-eagle-plus-gross); background: var(--score-eagle-plus-gross); }
.final-card-legend .is-birdie i { border-color: var(--score-birdie-gross); background: var(--score-birdie-gross); }
.final-card-legend .is-par i { border-color: var(--score-par-outline); background: var(--score-par-gross); }
.final-card-legend .is-bogey i { border-color: var(--score-bogey-gross); background: var(--score-bogey-gross); }
.final-card-legend .is-double_plus i { border-color: var(--score-double-bogey-plus-gross); background: var(--score-double-bogey-plus-gross); }
.final-card-reference { margin: .75rem 0 0; color: var(--muted, #444a44); font-size: .75rem; text-align: center; }
.final-card-unavailable { margin: 1rem 0; padding: 1rem; border-radius: .85rem; background: var(--surface-warm, #fbfaf6); }
.final-card-unavailable strong { font-size: 1.5rem; }
.final-card-unavailable p { margin-bottom: 0; }
@media (min-width: 48rem) {
  .final-card-backdrop { padding: 1rem; }
  .final-card-sheet { width: min(100%, 34rem); max-height: min(88dvh, 52rem); padding: 1.25rem; }
}

/* Fable-style golf guide modal. This clean component intentionally avoids the
   older analytical sheet and dashboard card selectors. */
.golf-guide-backdrop {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(24, 28, 26, .66);
  backdrop-filter: blur(.1rem);
  -webkit-backdrop-filter: blur(.1rem);
  padding: 3.5rem 1.75rem;
}

body:has(.golf-guide-backdrop) { overflow: hidden; }

.golf-guide-modal {
  --golf-guide-body-size: .7rem;
  --golf-guide-body-weight: 570;
  --golf-guide-body-leading: 1.25;
  --golf-guide-context-size: .63rem;
  --golf-guide-context-leading: 1.22;
  --golf-guide-bold-weight: 760;
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  width: min(100%, 20.25rem);
  height: min(38.75rem, calc(100dvh - 6.5rem));
  overflow: hidden;
  border: 1px solid rgba(27, 46, 33, .06);
  border-radius: 1.8rem;
  background: #fffefa;
  box-shadow: 0 1.5rem 4rem rgba(9, 15, 11, .3);
  padding: .9rem 1.35rem 1.25rem;
}

.golf-guide-close {
  position: absolute;
  top: .62rem;
  right: .62rem;
  z-index: 2;
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: transparent;
  color: #6d776f;
  padding: .62rem;
}

.golf-guide-close img,
.golf-guide-close svg { width: 1rem; height: 1rem; }

.golf-guide-hero {
  display: grid;
  width: 100%;
  height: 5.7rem;
  place-content: center;
  justify-items: center;
  margin: .25rem auto .5rem;
  border-radius: 1.35rem;
  background: var(--green-dark);
  box-shadow: 0 .75rem 1.7rem rgba(23, 79, 53, .15);
  text-align: center;
}

.golf-guide-hero span {
  color: rgba(255,255,255,.66);
  font-size: .62rem;
  font-weight: 690;
  letter-spacing: .02em;
}

.golf-guide-hero strong {
  margin-top: .12rem;
  color: var(--lime);
  font-size: 3.3rem;
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.07em;
  font-variant-numeric: tabular-nums;
}

.golf-guide-hero small {
  display: block;
  margin-top: .24rem;
  color: var(--lime);
  font-size: .72rem;
  font-weight: 760;
  line-height: 1.1;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;
}

.golf-guide-header { text-align: center; }

.golf-guide-header h3 {
  max-width: 14rem;
  margin: 0 auto;
  color: #182b1f;
  font-size: 1.75rem;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.golf-guide-header h3:focus,
.golf-guide-header h3:focus-visible {
  outline: 0;
  box-shadow: none;
}

.golf-guide-scroll {
  min-height: 0;
  margin-top: .8rem;
  overflow: hidden;
}

.golf-guide-list {
  counter-reset: guide-point;
  display: grid;
  gap: .38rem;
  margin: 0;
  padding: 0 .15rem .7rem 0;
  list-style: none;
}

.golf-guide-list > li {
  counter-increment: guide-point;
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: start;
  gap: .65rem;
  min-width: 0;
}

.golf-guide-list > li::before {
  content: counter(guide-point);
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border-radius: 50%;
  background: #edf5e9;
  color: #315c38;
  font-size: .72rem;
  font-weight: 760;
}

.golf-guide-item-copy {
  min-width: 0;
  color: #526158;
  font-size: var(--golf-guide-body-size);
  font-weight: var(--golf-guide-body-weight);
  line-height: var(--golf-guide-body-leading);
}

.golf-guide-item-copy p,
.golf-guide-item-copy small,
.golf-guide-item-copy strong { display: block; }

.golf-guide-item-copy small {
  margin-top: .12rem;
  color: #6b776f;
  font-size: var(--golf-guide-context-size);
  font-style: italic;
  font-weight: var(--golf-guide-body-weight);
  line-height: var(--golf-guide-context-leading);
}

.golf-guide-item-copy strong,
.golf-guide-item-copy .golf-guide-emphasis,
.golf-guide-item-copy .golf-guide-outcome {
  font-size: inherit;
  font-weight: var(--golf-guide-bold-weight);
  line-height: var(--golf-guide-body-leading);
}

.golf-guide-item-copy strong { color: #203428; }
.golf-guide-item-copy .golf-guide-emphasis {
  display: inline;
  color: #315c38;
}
.golf-guide-item-copy .golf-guide-outcome { margin-top: .12rem; color: #315c38; }

.golf-guide-done {
  width: 100%;
  min-height: 3rem;
  margin-top: .65rem;
  border-radius: 999px;
  background: #17470f;
  color: #fff;
  box-shadow: none;
  font-size: .9rem;
  font-weight: 750;
}

@media (max-width: 359px), (max-height: 720px) {
  .golf-guide-backdrop { padding: 2rem 1.25rem; }
  .golf-guide-modal {
    --golf-guide-body-size: .67rem;
    --golf-guide-body-leading: 1.26;
    --golf-guide-context-size: .62rem;
    width: min(100%, 19rem);
    height: min(34rem, calc(100dvh - 4rem));
    padding: .75rem 1.05rem 1rem;
  }
  .golf-guide-hero { width: 100%; height: 5.3rem; margin-bottom: .55rem; }
  .golf-guide-hero strong { font-size: 2.9rem; }
  .golf-guide-header h3 { font-size: 1.4rem; }
  .golf-guide-scroll { margin-top: .75rem; }
  .golf-guide-list { gap: .52rem; }
  .golf-guide-done { min-height: 2.75rem; margin-top: .5rem; }
}

@media (min-width: 1024px) {
  .app-shell { grid-template-columns: 15rem minmax(0,1fr); }
  .dashboard-layout { grid-template-columns: minmax(0,1fr) 18rem; }
  .settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .capture-route-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .score-request-form { grid-template-columns: minmax(16rem,1.35fr) minmax(18rem,1fr) auto; }
  .v10-round-launcher { width: min(100%,54rem); }
  .live-round-tracker { width: min(100%,64rem); margin-inline: auto; border-inline: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 10 August 2026 — iOS-quality companion redesign. Golf logic stays canonical; the
   visual language is an original Wise-clear, Mobbin-informed mobile experience. */
:root {
  --canvas: #ffffff;
  --paper: #ffffff;
  --paper-soft: #f1f8ed;
  --ink: #0d160f;
  --ink-deep: #071009;
  --ink-soft: #455b49;
  --ink-faint: #718075;
  --line: rgba(22, 50, 0, .11);
  --line-strong: rgba(22, 50, 0, .18);
  --lime: #9fe870;
  --green: #183b20;
  --green-dark: #102a16;
  --green-soft: #e9f7df;
  --yellow: #ffec6a;
  --shadow-soft: 0 .35rem 1.5rem rgba(21, 40, 25, .055);
  --shadow-float: 0 1.2rem 3.2rem rgba(10, 24, 14, .18);
  --r-sm: 1rem;
  --r-md: 1.35rem;
  --r-lg: 1.9rem;
  --tabbar-height: 5.15rem;
}

body { background: var(--canvas); }
.app-shell.sg-polish { background: #fff; }
.panel { width: 100%; max-width: 74rem; margin-inline: auto; padding-top: 1.05rem; }
.topbar {
  min-height: 4.7rem;
  border-bottom: 0;
  background: rgba(255, 255, 255, .92);
  padding-inline: max(1rem, env(safe-area-inset-left));
  backdrop-filter: saturate(160%) blur(1.4rem);
  -webkit-backdrop-filter: saturate(160%) blur(1.4rem);
}
.topbar h2 { font-size: 1.12rem; font-weight: 760; }
.topbar .eyebrow { color: var(--ink-faint); letter-spacing: .045em; }
.topbar-actions { gap: .5rem; }
.add-action {
  min-width: 2.75rem;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  box-shadow: none;
  padding-inline: .9rem;
}
.live-menu-action {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.75rem;
  border: 1px solid rgba(24, 59, 32, .11);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: var(--green-dark);
  padding: .55rem .82rem;
  font-size: .78rem;
  font-weight: 760;
  white-space: nowrap;
}
.live-menu-action > span, .live-status-label > span {
  width: .48rem;
  height: .48rem;
  border-radius: 999px;
  background: #45b831;
  box-shadow: 0 0 0 .25rem rgba(69, 184, 49, .13);
}
.avatar-pill { background: var(--green-soft); color: var(--green-dark); box-shadow: inset 0 0 0 1px rgba(24,59,32,.05); }

.mobile-tabbar {
  right: max(.65rem, env(safe-area-inset-right));
  bottom: max(.65rem, env(safe-area-inset-bottom));
  left: max(.65rem, env(safe-area-inset-left));
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .28rem;
  min-height: 4.5rem;
  border: 1px solid rgba(255, 255, 255, .78);
  border-radius: 1.55rem;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 .9rem 2.8rem rgba(12, 30, 17, .18);
  padding: .42rem;
  backdrop-filter: saturate(175%) blur(1.5rem);
  -webkit-backdrop-filter: saturate(175%) blur(1.5rem);
}
.mobile-tab {
  min-height: 3.55rem;
  border-radius: 1.15rem;
  color: #687169;
  font-size: .68rem;
  font-weight: 700;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.mobile-tab.is-active { background: var(--green-dark); color: #fff; box-shadow: 0 .45rem 1rem rgba(16,42,22,.2); }
.mobile-tab.is-active .nav-icon { color: var(--lime); }

.handicap-page, .reports-page { display: grid; gap: 1rem; width: min(100%, 56rem); margin-inline: auto; }
.handicap-profile-head, .reports-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .85rem;
  position: sticky;
  top: 0;
  z-index: 24;
  min-height: 3.65rem;
  border-bottom: 1px solid rgba(22,50,0,.1);
  background: #fff;
  padding: .35rem .1rem;
}
.reports-head { position: static; border-bottom: 0; }
.handicap-profile-avatar {
  display: grid;
  width: 3.35rem;
  height: 3.35rem;
  place-items: center;
  border-radius: 1.08rem;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 820;
}
.handicap-profile-head h3, .reports-head h3 { margin-top: .12rem; font-size: clamp(1.45rem, 6vw, 2rem); font-weight: 790; }
.handicap-profile-head h3 strong { color: var(--green-dark); font-size: inherit; font-variant-numeric: tabular-nums; }
.handicap-profile-head p:not(.eyebrow), .reports-head p:not(.eyebrow) { margin-top: .2rem; color: var(--ink-soft); font-size: .82rem; }
.workspace:has(.handicap-page) { overflow: visible; }
.handicap-updated { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink-soft); font-size: .74rem; font-weight: 700; }
.handicap-updated i { width: .55rem; height: .55rem; border-radius: 999px; background: #55ae30; }

.handicap-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem;
  overflow: hidden;
  border-radius: 1.65rem;
  background: radial-gradient(circle at 92% -20%, rgba(159,232,112,.26), transparent 14rem), var(--green-dark);
  color: #fff;
  box-shadow: none;
  padding: 1.35rem;
}
.handicap-index-hero span, .handicap-index-hero small, .handicap-index-hero dt { color: rgba(255,255,255,.66); }
.handicap-index-hero > div > span { display: block; font-size: .78rem; font-weight: 690; }
.handicap-index-hero > div > strong { display: block; margin: .08rem 0 .2rem; color: var(--lime); font-size: clamp(3.35rem, 16vw, 5rem); font-weight: 800; line-height: .96; letter-spacing: -.07em; }
.handicap-index-hero small { font-size: .75rem; }
.handicap-index-hero dl { display: grid; grid-template-columns: repeat(2, auto); gap: 1.25rem; margin: 0; }
.handicap-index-hero dl div { min-width: 4.4rem; }
.handicap-index-hero dt { font-size: .8rem; font-weight: 650; }
.handicap-index-hero dd { margin: .12rem 0 0; color: #fff; font-size: 1.8rem; font-weight: 800; line-height: 1; }

.handicap-trend-card, .handicap-evidence-card {
  min-width: 0;
  border: 1px solid rgba(24,59,32,.055);
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: var(--shadow-soft);
  padding: 1rem;
}
.handicap-section-title { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.handicap-section-title h3 { margin-top: .12rem; font-size: 1.18rem; }
.handicap-section-title > span { color: var(--ink-soft); font-size: .74rem; }
.handicap-graph-wrap { min-width: 0; margin-top: .8rem; }
.handicap-index-graph { display: block; width: 100%; height: auto; overflow: visible; }
.handicap-index-graph line { stroke: rgba(22,50,0,.1); stroke-width: 1; }
.handicap-index-graph .is-current-guide { stroke: rgba(24,59,32,.18); stroke-dasharray: 3 4; }
.handicap-index-graph text { fill: #7b847c; font-size: 8px; font-weight: 620; }
.handicap-index-graph text.is-current-label { fill: var(--green-dark); font-weight: 820; }
.handicap-graph-line { fill: none; stroke: var(--net-form-graph-green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.handicap-graph-point { cursor: pointer; }
.handicap-graph-point .point-halo { fill: var(--net-form-graph-green-halo); }
.handicap-graph-point .point-disc { fill: #fff; }
.handicap-graph-point .point-core { fill: var(--net-form-graph-green); }
.handicap-graph-point.is-current .point-core { fill: var(--yellow); }
.handicap-graph-point .point-target { fill: transparent; }
.handicap-graph-point:focus-visible .point-target { fill: transparent; stroke: #2867d4; stroke-width: 2; }
.handicap-graph-months { display: flex; justify-content: space-between; margin-top: .1rem; color: var(--ink-soft); font-size: 1rem; font-weight: 680; }
.handicap-graph-hint { margin-top: .55rem; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.handicap-graph-empty { display: grid; gap: .2rem; min-height: 10rem; place-content: center; color: var(--ink-soft); text-align: center; }
.handicap-graph-empty strong { color: var(--ink); }
.handicap-form-card { background: #fff; }
.handicap-graph-stack { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; min-width: 0; }
.handicap-graph-stack > * { min-width: 0; }
.gir-profile-card {
  display: grid;
  gap: 0;
  min-width: 0;
}
.gir-profile-head { margin-bottom: .8rem; }
.gir-trend {
  position: relative;
  min-width: 0;
}
.gir-trend-point { pointer-events: none; }
.gir-trend-months { gap: .5rem; }
.gir-trend-months span { min-width: 0; }
.gir-trend-months span:last-child { text-align: right; }
.gir-profile-empty-state { margin-top: 0; }
.metric-chart-empty {
  display: grid;
  gap: .45rem;
  min-width: 0;
  border-block: 1px solid rgba(24,59,32,.07);
  padding: .35rem 0 .65rem;
}
.metric-chart-empty svg { display: block; width: 100%; height: auto; opacity: .72; }
.metric-chart-empty-axis line { stroke: rgba(22,50,0,.09); stroke-width: 1; vector-effect: non-scaling-stroke; }
.metric-chart-empty-axis text { fill: rgba(74,91,77,.55); font-size: 9px; font-weight: 680; }
.metric-chart-empty-curve { fill: none; stroke: rgba(95,158,67,.24); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }
.metric-chart-empty-points circle { fill: #fff; stroke: rgba(95,158,67,.24); stroke-width: 2; vector-effect: non-scaling-stroke; }
.metric-chart-empty > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .55rem; padding-inline: .1rem; }
.metric-chart-empty strong { color: var(--ink); font-size: .82rem; }
.metric-chart-empty span { color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.gir-profile-empty { border-radius: 1rem; background: var(--green-soft); padding: 1rem; }
.gir-profile-empty strong { display: block; font-size: 1rem; }
.gir-profile-empty p { margin-top: .25rem; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.up-and-down-aggregate { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; margin-top: .9rem; }
.up-and-down-aggregate div { min-width: 0; border-radius: .9rem; background: var(--green-soft); padding: .75rem; }
.up-and-down-aggregate span, .up-and-down-aggregate strong { display: block; }
.up-and-down-aggregate span { color: var(--ink-soft); font-size: .65rem; font-weight: 700; }
.up-and-down-aggregate strong { margin-top: .2rem; overflow-wrap: anywhere; color: var(--green-dark); font-size: .78rem; line-height: 1.35; }
.up-and-down-quality-note { margin-top: .55rem; color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.fairway-profile-card { display: grid; gap: .85rem; }
.fairway-stat-hero { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .1rem .85rem; border-radius: 1.1rem; background: var(--green-dark); color: #fff; padding: 1rem; }
.fairway-stat-hero strong { grid-row: 1 / span 2; color: var(--lime); font-size: clamp(2.7rem,12vw,4rem); font-weight: 820; letter-spacing: -.06em; line-height: .95; }
.fairway-stat-hero span { align-self: end; font-size: .9rem; font-weight: 760; }
.fairway-stat-hero small { align-self: start; color: rgba(255,255,255,.72); font-size: .7rem; line-height: 1.35; }
.fairway-stat-breakdown { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; }
.fairway-stat-breakdown div { min-width: 0; border-radius: .85rem; background: var(--green-soft); padding: .65rem; }
.fairway-stat-breakdown span, .fairway-stat-breakdown strong { display: block; }
.fairway-stat-breakdown span { color: var(--ink-soft); font-size: .62rem; font-weight: 700; }
.fairway-stat-breakdown strong { margin-top: .12rem; color: var(--green-dark); font-size: 1.2rem; }
.gir-round-list-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-top: 1rem; border-top: 1px solid var(--line); padding: .85rem 0 .35rem; }
.gir-round-list-head strong { color: var(--ink); font-size: .82rem; }
.gir-round-list-head small { color: var(--ink-soft); font-size: .68rem; text-align: right; }
.gir-round-list { display: grid; }
.gir-round-row { display: grid; grid-template-columns: minmax(0,1fr) auto .8rem; align-items: center; gap: .7rem; width: 100%; min-height: 4.4rem; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); padding: .62rem 0; text-align: left; }
.gir-round-row > span, .gir-round-row small, .gir-round-row strong { display: block; min-width: 0; }
.gir-round-identity strong { font-size: .82rem; }
.gir-round-identity small { margin-top: .12rem; overflow: hidden; color: var(--ink-soft); font-size: .7rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.gir-round-values { display: grid; grid-template-columns: repeat(2,minmax(3.1rem,auto)); gap: .55rem; text-align: right; }
.gir-round-values span { min-width: 0; }
.gir-round-values small, .gir-round-preview small { color: var(--ink-soft); font-size: .62rem; font-weight: 700; }
.gir-round-values strong { margin-top: .08rem; color: var(--green-dark); font-size: .82rem; font-variant-numeric: tabular-nums; }
.gir-round-values .is-gross strong { color: #9b7914; }
.gir-round-values.has-pending-net { grid-template-columns: minmax(3.1rem,auto) minmax(6.8rem,auto); }
.gir-round-values .is-pending strong { color: var(--ink-soft); font-size: .66rem; font-weight: 680; }
.gir-round-preview { text-align: right; }
.gir-round-preview strong { margin-top: .08rem; color: var(--ink-soft); font-size: .74rem; }
.gir-round-row > i { color: var(--ink-soft); font-size: 1.15rem; font-style: normal; text-align: right; }
.gir-round-row:focus-visible { outline: 2px solid #2867d4; outline-offset: 2px; }
.physical-round-gir-note { border-radius: .85rem; background: #fff3d8; color: #6f5311; padding: .72rem .8rem; font-size: .78rem; font-weight: 700; }
.form-graph-canvas {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3.2rem;
  height: var(--form-graph-height);
  min-height: 10.25rem;
}
.form-graph-plot,
.form-graph-scale { position: relative; min-width: 0; height: 100%; }
.handicap-form-graph { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.handicap-form-graph line { stroke: rgba(22,50,0,.1); stroke-width: 1; vector-effect: non-scaling-stroke; }
.handicap-form-graph .is-current-guide { stroke: rgba(24,59,32,.18); stroke-dasharray: 3 4; }
.form-graph-line { stroke-width: 3.4; }
.form-graph-line.is-estimate { stroke: var(--chart-yellow); stroke-dasharray: 4 5; }
.form-graph-line.is-actual { stroke: var(--net-form-graph-green); }
.form-graph-line.is-confirmed-secondary { stroke: var(--net-form-graph-green); }
.gir-trend-line.is-gross { stroke: var(--chart-yellow); stroke-dasharray: 4 5; }
.form-graph-point,
.form-handicap-reference {
  position: absolute;
  z-index: 2;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  background: transparent;
  padding: 0;
  transform: translate(-50%, -50%);
}
.form-graph-point,
.form-handicap-reference { cursor: pointer; }
.form-graph-point .point-halo,
.form-graph-point .point-disc,
.form-graph-point .point-core,
.form-handicap-reference .point-halo,
.form-handicap-reference .point-disc,
.form-handicap-reference .point-core {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.form-graph-point .point-halo,
.form-handicap-reference .point-halo { width: 1.65rem; height: 1.65rem; }
.form-graph-point .point-disc,
.form-handicap-reference .point-disc { width: .9rem; height: .9rem; background: #fff; }
.form-graph-point .point-core,
.form-handicap-reference .point-core { width: .57rem; height: .57rem; }
.form-graph-point .point-halo { background: var(--net-form-graph-green-halo); }
.form-graph-point .point-core,
.form-graph-point.is-latest .point-core { background: var(--net-form-graph-green); }
.form-graph-point.is-estimate .point-halo { background: var(--chart-yellow-halo); }
.form-graph-point.is-estimate .point-core { background: var(--chart-yellow); box-shadow: inset 0 0 0 1px rgba(99,75,8,.12); }
.gir-trend-point.is-gross .point-halo { background: var(--chart-yellow-halo); }
.gir-trend-point.is-gross .point-core { background: var(--chart-yellow); box-shadow: inset 0 0 0 1px rgba(99,75,8,.12); }
.form-graph-point.is-actual .point-halo { background: var(--net-form-graph-green-halo); }
.form-graph-point.is-actual .point-core { background: var(--net-form-graph-green); }
.form-graph-point.is-confirmed-secondary .point-halo { background: var(--net-form-graph-green-halo); }
.form-graph-point.is-confirmed-secondary .point-core { background: var(--net-form-graph-green); }
.form-graph-point.is-current-reference .point-halo { background: rgba(255,236,106,.24); }
.form-graph-point.is-current-reference .point-core { background: var(--yellow); }
.form-graph-point:focus-visible,
.form-handicap-reference:focus-visible { outline: 2px solid #2867d4; outline-offset: 2px; border-radius: 50%; }
.form-handicap-reference .point-halo { background: rgba(255,236,106,.24); }
.form-handicap-reference .point-core { background: var(--yellow); }
.form-handicap-guide { stroke: rgba(24,59,32,.24) !important; }
/* T26 live-only graph point detail normalization start. */
.form-graph-point.is-selected .point-halo {
  box-shadow: 0 0 0 2px var(--green-dark);
  transform: translate(-50%, -50%) scale(1.08);
}
.graph-point-detail {
  min-width: 0;
  margin-top: .75rem;
  border-top: 1px solid var(--line);
  padding-top: .75rem;
}
.graph-point-detail > p {
  margin: 0 0 .55rem;
  color: var(--ink-soft);
  font-size: .72rem;
  font-weight: 760;
}
.graph-point-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem .85rem;
  margin: 0;
}
.graph-point-detail dl > div { min-width: 0; }
.graph-point-detail dt {
  color: var(--ink-faint);
  font-size: .65rem;
  line-height: 1.3;
}
.graph-point-detail dd {
  margin: .12rem 0 0;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 720;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
/* T26 live-only graph point detail normalization end. */
.form-graph-scale-label {
  position: absolute;
  left: .55rem;
  color: #7b847c;
  font-size: .75rem;
  font-weight: 650;
  line-height: 1;
  transform: translateY(-50%);
  white-space: nowrap;
}
.form-graph-scale-label.is-current { color: var(--green-dark); font-weight: 820; }
.form-scale-leader {
  position: absolute;
  left: .28rem;
  width: .3rem;
  border-left: 1px solid rgba(22,50,0,.22);
  border-block: 1px solid rgba(22,50,0,.22);
}
.form-graph-months { margin-right: 3.2rem; }
.form-graph-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem 1rem;
  margin-top: .65rem;
  color: var(--ink-soft);
  font-size: .72rem;
}
.form-graph-legend span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
.form-graph-legend b { color: var(--ink); font-size: inherit; }
.form-graph-legend small { color: var(--ink-soft); font-size: inherit; }
.form-graph-legend i { width: 1.2rem; height: .18rem; border-radius: 999px; }
.form-graph-legend i.is-estimate { background: repeating-linear-gradient(90deg,var(--chart-yellow) 0 .28rem,transparent .28rem .45rem); }
.form-graph-legend i.is-actual { background: var(--net-form-graph-green); }
.form-graph-legend i.is-confirmed-primary { background: repeating-linear-gradient(90deg,var(--chart-yellow) 0 .28rem,transparent .28rem .45rem); }
.form-graph-legend i.is-confirmed-secondary { background: var(--net-form-graph-green); }
.graph-caption-band { min-width: 0; background: #fff; }
.form-graph-empty {
  display: grid;
  gap: .2rem;
  margin-top: .65rem;
  border-top: 1px solid rgba(24,59,32,.08);
  padding: .75rem .05rem .15rem;
}
.form-graph-empty strong { color: var(--ink); font-size: .82rem; }
.form-graph-empty span { max-width: 52ch; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }

.handicap-segments {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .22rem;
  border-radius: .9rem;
  background: #edf7e8;
  padding: .22rem;
}
.handicap-segments button { min-height: 2.75rem; border-radius: .72rem; background: transparent; color: var(--ink-soft); font-size: .76rem; font-weight: 720; }
.handicap-segments button.is-active { background: #fff; color: var(--ink); box-shadow: 0 .18rem .55rem rgba(16,42,22,.08); }
.handicap-differential-list { display: grid; gap: .65rem; margin-top: .45rem; }
.handicap-differential-row {
  display: grid;
  grid-template-columns: 3.35rem minmax(0, 1fr) auto 1rem;
  align-items: center;
  gap: .8rem;
  width: 100%;
  min-height: 4.75rem;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  padding: .65rem .12rem;
  text-align: left;
}
.handicap-differential-row:last-child { border-bottom: 0; }
.differential-date { display: grid; width: 3.35rem; height: 3.35rem; place-content: center; place-items: center; border-radius: 999px; background: var(--green-soft); }
.differential-date strong, .differential-date small { line-height: 1; }
.differential-date strong { font-size: 1.15rem; }
.differential-date small { margin-top: .2rem; color: var(--ink-soft); font-size: .68rem; text-transform: uppercase; }
.differential-copy { min-width: 0; }
.differential-copy strong, .differential-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.differential-copy strong { font-size: .88rem; }
.differential-copy small { margin-top: .23rem; color: var(--ink-soft); font-size: .68rem; }
.differential-value { min-width: 3rem; text-align: right; }
.differential-value strong, .differential-value small { display: block; }
.differential-value strong { font-size: 1.18rem; letter-spacing: -.035em; }
.differential-value small { color: var(--ink-soft); font-size: .62rem; }
.differential-value .differential-use-pill { display: inline-flex; min-width: 4.5rem; min-height: 2.35rem; align-items: center; justify-content: center; border-radius: 999px; padding: .45rem .7rem; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.differential-use-pill.is-used { background: rgba(159,232,112,.2); color: #477f3e; }
.differential-use-pill.is-pending { background: rgba(255,236,106,.42); color: #65706a; }
.differential-chevron { color: var(--ink-faint); font-size: 1.35rem; }
.physical-round-value strong { color: var(--green-dark); }
.differential-performance-sequence,
.handicap-performance-sequence {
  display: flex;
  align-items: baseline;
  gap: .28rem;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.differential-performance-sequence {
  overflow: hidden;
  margin-top: .34rem;
  font-size: .65rem;
  text-overflow: ellipsis;
}
.differential-performance-sequence i,
.handicap-performance-sequence i { color: var(--ink-faint); font-style: normal; }
.differential-performance-sequence em,
.handicap-performance-sequence em { font-style: italic; }
.performance-sequence-score { color: var(--green-dark); font-weight: 820; }
.handicap-performance-sequence {
  flex-wrap: wrap;
  margin-top: 1rem;
  border-radius: 1rem;
  background: var(--green-dark);
  color: rgba(255,255,255,.82);
  padding: .85rem 1rem;
  font-size: .84rem;
  font-weight: 680;
}
.handicap-performance-sequence .performance-sequence-score {
  color: var(--lime);
  font-size: 1.5rem;
  letter-spacing: -.035em;
}
.handicap-performance-sequence i { color: rgba(255,255,255,.4); }

.handicap-sheet-backdrop {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(6, 14, 8, .46);
  padding-top: 3rem;
  backdrop-filter: blur(.25rem);
  -webkit-backdrop-filter: blur(.25rem);
}
.handicap-explanation-sheet {
  width: min(100%, 42rem);
  max-height: min(82dvh, 48rem);
  overflow-y: auto;
  border-radius: 1.9rem 1.9rem 0 0;
  background: #fbfff8;
  box-shadow: var(--shadow-float);
  padding: .55rem 1rem max(1.1rem, env(safe-area-inset-bottom));
}
.physical-round-detail-sheet { overflow-x: hidden; }
.sheet-handle { width: 2.5rem; height: .3rem; margin: 0 auto .7rem; border-radius: 999px; background: #c7cbc5; }
.handicap-explanation-sheet header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.handicap-explanation-sheet header > div { min-width: 0; }
.handicap-explanation-sheet header h3 { margin-top: .15rem; font-size: 1.35rem; }
.handicap-explanation-sheet header p:not(.eyebrow) { margin-top: .2rem; color: var(--ink-soft); font-size: .76rem; }
.handicap-explanation-sheet header button { width: 2.75rem; min-width: 2.75rem; border-radius: 999px; background: #e8eae5; color: var(--ink); font-size: 1.35rem; }
.handicap-explanation-sheet header .paired-nine-detail-subtitle {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
}
.paired-nine-detail-subtitle > span:first-child {
  flex: none;
  max-width: 100%;
  white-space: nowrap;
}
.paired-nine-detail-status-pill {
  display: inline-flex;
  flex: none;
  width: max-content;
  min-width: 4rem;
  height: .95rem;
  min-height: 0;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 .25rem;
  font-size: .5rem;
  font-weight: 550;
  line-height: 1;
  white-space: nowrap;
}
.paired-nine-total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 8.5rem; margin-top: 1.15rem; border-radius: 1.25rem; background: var(--green-dark); color: #fff; padding: 1rem 1.15rem; text-align: left; }
.paired-nine-total span, .paired-nine-total small, .paired-nine-total strong, .paired-nine-total em { display: block; }
.paired-nine-total small { color: rgba(255,255,255,.7); font-size: .8rem; font-style: normal; font-weight: 720; }
.paired-nine-total strong { margin-top: .1rem; color: var(--lime); font-size: clamp(3.9rem,18vw,5.4rem); font-weight: 820; line-height: .92; letter-spacing: -.065em; }
.paired-nine-total em { margin-top: .45rem; color: rgba(255,255,255,.72); font-size: .78rem; font-style: normal; }
.paired-nine-total > b { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 999px; background: var(--lime); color: var(--green-dark); font-size: 1.35rem; }
.paired-nine-total:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px; }
.handicap-sheet-summary { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); grid-auto-rows: 1fr; gap: .65rem; margin-top: 1.25rem; }
.handicap-sheet-summary.is-paired { grid-template-columns: repeat(3,minmax(0,1fr)); }
.handicap-sheet-summary div { border-radius: 1rem; background: #eff9e9; padding: .85rem; }
.handicap-sheet-summary span, .handicap-sheet-summary strong { display: block; }
.handicap-sheet-summary span { color: var(--ink-soft); font-size: .68rem; }
.handicap-sheet-summary strong { margin-top: .18rem; font-size: 1.12rem; }
.handicap-sheet-summary .physical-round-wide-stat { min-width: 0; }
.handicap-sheet-summary .physical-round-wide-stat strong { overflow-wrap: anywhere; font-size: .9rem; line-height: 1.35; }
.handicap-sheet-outcome { margin-top: 1.1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.handicap-sheet-outcome strong { font-size: 1rem; }
.handicap-sheet-outcome p { margin-top: .35rem; color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
.handicap-initial-note { border-left: .2rem solid var(--lime); padding-left: .7rem; }
.handicap-calculation-receipt { display: grid; gap: 0; margin: 1rem 0 0; border-block: 1px solid var(--line); }
.handicap-calculation-receipt div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .72rem .05rem; border-bottom: 1px solid var(--line); }
.handicap-calculation-receipt div:last-child { border-bottom: 0; }
.handicap-calculation-receipt dt { color: var(--ink-soft); font-size: .72rem; }
.handicap-calculation-receipt dd { margin: 0; color: var(--ink); font-size: .78rem; font-weight: 760; text-align: right; }
.handicap-current-use { margin-top: .85rem; border-radius: 999px; background: #f0f2ed; color: var(--ink-soft); padding: .62rem .8rem; font-size: .72rem; font-weight: 700; text-align: center; }
.handicap-current-use.is-used { background: var(--green-soft); color: var(--green-dark); }
.handicap-equation-hero { margin-top: 1rem; border-radius: 1.25rem; background: var(--green-dark); color: #fff; padding: 1rem 1.1rem 1.15rem; }
.handicap-equation-hero span,
.handicap-equation-hero strong,
.handicap-equation-hero code { display: block; }
.handicap-equation-hero span { color: rgba(255,255,255,.7); font-size: .78rem; font-weight: 720; }
.handicap-equation-hero strong { margin-top: .1rem; color: var(--lime); font-size: clamp(3.5rem,17vw,5rem); line-height: .95; letter-spacing: -.06em; }
.handicap-equation-hero code { overflow-wrap: anywhere; margin-top: .7rem; color: #fff; font-family: inherit; font-size: 1rem; font-weight: 760; line-height: 1.35; }
.handicap-equation-sources { margin-top: 1rem; }
.handicap-equation-sources > span { color: var(--ink-soft); font-size: .68rem; font-weight: 720; text-transform: uppercase; }
.handicap-equation-sources p { display: flex; justify-content: space-between; gap: .75rem; margin-top: .65rem; border-top: 1px solid var(--line); padding-top: .65rem; }
.handicap-equation-sources small { color: var(--ink-soft); text-align: right; }
.handicap-equation-pending { margin-top: 1rem; color: var(--ink-soft); line-height: 1.5; }
.paired-nine-sources { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: .85rem; }
.paired-nine-sources[hidden] { display: none; }
.paired-nine-sources > span { color: var(--ink-soft); font-size: .68rem; font-weight: 720; text-transform: uppercase; }
.paired-nine-source-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: .65rem; }
.paired-nine-source-card { display: flex; min-width: 0; min-height: 11rem; flex-direction: column; align-items: stretch; border: 1px solid rgba(91,111,123,.13); border-radius: 1.15rem; background: #fffefa; color: var(--ink); padding: 1rem; text-align: left; }
.paired-nine-source-card > span { color: #607681; font-size: .66rem; font-weight: 720; letter-spacing: .01em; }
.paired-nine-source-card > strong { margin-top: .35rem; font-size: .86rem; line-height: 1.2; }
.paired-nine-source-card > small { margin-top: .25rem; color: var(--ink-soft); font-size: .66rem; line-height: 1.35; }
.paired-nine-source-card dl { display: grid; gap: .3rem; margin: .75rem 0; }
.paired-nine-source-card dl div { display: flex; justify-content: space-between; gap: .35rem; }
.paired-nine-source-card dt { color: var(--ink-soft); font-size: .62rem; }
.paired-nine-source-card dd { margin: 0; font-size: .65rem; font-weight: 760; }
.paired-nine-source-card > b { display: flex; justify-content: space-between; gap: .25rem; margin-top: auto; color: #455f6c; font-size: .67rem; }
.paired-nine-source-card > b i { font-size: 1rem; font-style: normal; line-height: .8; }
.paired-nine-source-card:focus-visible { outline: 3px solid var(--lime); outline-offset: 2px; }
.paired-nine-round-hero { margin-top: 1rem; border-radius: 1.2rem; background: var(--green-dark); color: #fff; padding: 1rem 1.1rem; }
.paired-nine-round-hero span,
.paired-nine-round-hero strong,
.paired-nine-round-hero small { display: block; }
.paired-nine-round-hero span { color: rgba(255,255,255,.7); font-size: .75rem; font-weight: 720; }
.paired-nine-round-hero strong { margin-top: .1rem; color: var(--lime); font-size: clamp(3.5rem,17vw,5rem); line-height: .95; letter-spacing: -.06em; }
.paired-nine-round-hero small { margin-top: .45rem; color: rgba(255,255,255,.72); font-size: .73rem; line-height: 1.4; }
.paired-nine-hole-grid { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); overflow: hidden; margin-top: 1rem; border: 1px solid var(--line); border-radius: .8rem; }
.paired-nine-hole-grid div { display: grid; min-width: 0; place-items: center; border-right: 1px solid var(--line); padding: .4rem .1rem; }
.paired-nine-hole-grid div:last-child { border-right: 0; }
.paired-nine-hole-grid span { color: var(--ink-soft); font-size: .58rem; }
.paired-nine-hole-grid strong { margin-top: .15rem; font-size: .8rem; }
.paired-nine-detail-actions { display: grid; gap: .55rem; margin-top: 1rem; }
.paired-nine-detail-actions button { position: relative; display: grid; min-height: 4rem; align-content: center; border: 1px solid rgba(22,50,0,.1); border-radius: 1rem; background: #eff9e9; color: var(--ink); padding: .7rem 2.5rem .7rem .85rem; text-align: left; }
.paired-nine-detail-actions span,
.paired-nine-detail-actions strong { display: block; }
.paired-nine-detail-actions span { color: var(--ink-soft); font-size: .65rem; }
.paired-nine-detail-actions strong { margin-top: .15rem; font-size: .8rem; }
.paired-nine-detail-actions i { position: absolute; right: .9rem; top: 50%; color: var(--green-dark); font-size: 1.35rem; font-style: normal; transform: translateY(-50%); }
.sheet-back-action { width: 100%; margin-top: 1rem; border-radius: 999px; background: var(--green-dark); color: #fff; font-weight: 760; }
.physical-round-hero {
  margin-top: 1rem;
  border-radius: 1.2rem;
  background: var(--green-dark);
  color: #fff;
  padding: 1rem 1.1rem;
}
.physical-round-hero span,
.physical-round-hero strong,
.physical-round-hero small { display: block; }
.physical-round-hero span { color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 740; }
.physical-round-hero strong { margin-top: .12rem; color: var(--lime); font-size: clamp(3.25rem,16vw,4.75rem); line-height: .95; letter-spacing: -.06em; }
.physical-round-hero small { margin-top: .5rem; color: rgba(255,255,255,.8); font-size: .78rem; line-height: 1.45; }
.physical-round-note { margin-top: 1rem; border-left: .22rem solid var(--lime); color: var(--ink-soft); padding: .15rem 0 .15rem .75rem; font-size: .78rem; line-height: 1.5; }
.physical-round-provenance { margin-top: 1rem; border-block: 1px solid var(--line); }
.physical-round-provenance summary { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; color: var(--green-dark); font-size: .78rem; font-weight: 760; cursor: pointer; }
.physical-round-provenance summary::after { content: "+"; color: var(--ink-soft); font-size: 1rem; }
.physical-round-provenance[open] summary::after { content: "−"; }
.physical-round-provenance p, .physical-round-provenance small { display: block; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.physical-round-provenance p + p, .physical-round-provenance p + small { margin-top: .25rem; }
.physical-round-provenance small { padding-bottom: .75rem; overflow-wrap: anywhere; }
.physical-round-scorecards { display: grid; gap: .85rem; min-width: 0; margin-top: 1rem; }
.physical-round-nine { min-width: 0; }
.physical-round-nine h4 { margin: 0 0 .4rem; color: var(--green-dark); font-size: .8rem; }
.physical-round-scorecard { width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-collapse: separate; border-radius: .8rem; border-spacing: 0; table-layout: fixed; }
.physical-round-scorecard th,
.physical-round-scorecard td { height: 2.35rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: .12rem; font-size: .68rem; font-variant-numeric: tabular-nums; font-weight: 700; text-align: center; }
.physical-round-scorecard tr > :last-child { border-right: 0; }
.physical-round-scorecard tbody tr:last-child > * { border-bottom: 0; }
.physical-round-scorecard thead th { background: var(--green-dark); color: #fff; }
.physical-round-scorecard thead th:first-child,
.physical-round-scorecard tbody th { width: 4.15rem; }
.physical-round-scorecard tbody th { overflow-wrap: anywhere; background: #eff9e9; color: var(--green-dark); font-size: .55rem; line-height: 1.1; text-transform: uppercase; }
.physical-round-scorecard tbody td { background: #fff; color: var(--ink); }

.reports-head { grid-template-columns: minmax(0, 1fr) auto; padding-block: .45rem .8rem; }
.reports-score-action, .reports-empty button { border-radius: 999px; background: var(--green-dark); color: #fff; padding-inline: 1rem; font-size: .78rem; font-weight: 740; }
.reports-list { display: grid; gap: .65rem; }
.report-card { overflow: hidden; border: 1px solid rgba(24,59,32,.08); border-radius: 1.28rem; background: #fff; box-shadow: none; }
.report-card summary,
.handicap-differential-summary,
.handicap-nine-source-summary {
  display: grid;
  grid-template-columns: 3.35rem minmax(0,1fr) auto 1rem;
  align-items: center;
  gap: .7rem;
  min-height: 5rem;
  padding: .75rem .85rem;
  cursor: pointer;
  list-style: none;
}
.report-card summary::-webkit-details-marker { display: none; }
.handicap-differential-summary,
.handicap-nine-source-summary {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
.report-date { display: grid; place-content: center; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: .85rem; background: var(--green-soft); }
.report-date strong, .report-date small { line-height: 1; }
.report-date strong { font-size: 1.08rem; }
.report-date small { margin-top: .24rem; color: var(--green-dark); font-size: .58rem; text-transform: uppercase; }
.report-identity, .report-primary { min-width: 0; }
.report-identity strong, .report-identity small, .report-primary strong, .report-primary small { display: block; }
.report-identity strong, .report-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-identity strong { font-size: .9rem; }
.report-identity small, .report-primary small { margin-top: .2rem; color: var(--ink-soft); font-size: .66rem; }
.report-primary { text-align: right; }
.report-primary strong { font-size: 1.42rem; letter-spacing: -.045em; }
.report-group-summary strong { font-size: .82rem; letter-spacing: -.02em; white-space: nowrap; }
.score-summary-row {
  --score-row-title-size: .9rem;
  --score-row-description-size: .68rem;
  --score-row-detail-size: .65rem;
  --score-result-size: 1.42rem;
  --score-result-label-size: .66rem;
}
.score-summary-row .score-summary-title {
  font-size: var(--score-row-title-size);
  line-height: 1.22;
}
.score-summary-row .score-summary-description {
  font-size: var(--score-row-description-size);
  line-height: 1.35;
}
.score-summary-row .score-summary-detail {
  font-size: var(--score-row-detail-size);
  line-height: 1.35;
}
.score-summary-row .score-result-primary {
  min-width: 5.65rem;
  justify-self: end;
  text-align: right;
}
.score-summary-row .score-result-primary strong,
.paired-round-primary strong {
  display: block;
  font-size: var(--score-result-size, 1.42rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.045em;
}
.score-summary-row .score-result-label {
  display: block;
  color: var(--ink-soft);
  font-size: var(--score-result-label-size);
  font-weight: 720;
  line-height: 1.25;
  white-space: nowrap;
}
.report-chevron { color: var(--ink-faint); font-size: 1.35rem; transition: transform .2s ease; }
.report-card[open] .report-chevron { transform: rotate(90deg); }
.report-detail { border-top: 1px solid var(--line); padding: .85rem; }
.report-share-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 1.1rem; background: #fff; }
.report-share-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .85rem; }
.report-share-head > div { min-width: 0; }
.report-share-head span, .report-share-head strong { display: block; }
.report-share-head span { color: var(--ink-soft); font-size: .76rem; }
.report-share-head strong { margin-top: .12rem; color: var(--ink); font-size: 1rem; }
.report-copy-action { min-width: 7.4rem; min-height: 2.75rem; border-radius: 999px; background: var(--lime); color: var(--green-dark); padding-inline: .9rem; font-size: .82rem; font-weight: 800; }
.report-whatsapp-text { max-height: 22rem; overflow: auto; margin: 0; border-top: 1px solid var(--line); background: var(--green-soft); color: var(--ink); padding: 1rem; font-family: inherit; font-size: .9rem; line-height: 1.55; white-space: pre-wrap; word-break: break-word; user-select: text; -webkit-user-select: text; }
.report-whatsapp-text:focus-visible { outline: 2px solid var(--green-dark); outline-offset: -2px; }
.report-detail-label { margin: 1rem 0 .55rem; color: var(--ink-soft); font-size: .75rem; font-weight: 780; letter-spacing: .045em; text-transform: uppercase; }
.report-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .5rem; }
.report-metrics div { border-radius: .85rem; background: #eff9e9; padding: .68rem; }
.report-metrics span, .report-metrics strong { display: block; }
.report-metrics span { color: var(--ink-soft); font-size: .62rem; }
.report-metrics strong { margin-top: .15rem; font-size: 1.1rem; letter-spacing: -.025em; }
.report-processing { margin-top: .85rem; }
.report-processing > span { display: inline-flex; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); padding: .25rem .5rem; font-size: .64rem; font-weight: 720; }
.report-processing > strong, .report-processing > p { display: block; margin-top: .45rem; }
.report-processing > p { color: var(--ink-soft); font-size: .74rem; line-height: 1.45; }
.paired-round-connector { --result-card-value: #455f6c; --result-card-label: #607681; --result-card-support: #70828c; display: grid; gap: .9rem; min-width: 0; margin: .75rem .1rem; overflow: hidden; border: 1px solid rgba(91,111,123,.13); border-radius: 1.45rem; background: #fffefa; padding: 1rem; box-shadow: 0 .65rem 1.8rem rgba(36,52,61,.07); color: var(--result-card-value); font-variant-numeric: tabular-nums; }
.paired-round-connector.report-card { display: block; gap: 0; min-height: 0; padding: 0; }
.player-round-card > .paired-round-relationship-reveal {
  margin: .7rem 0 .25rem;
}
.paired-round-connector > .paired-round-compact-row {
  display: grid;
  grid-template-columns: 7rem minmax(0,1fr) 5.2rem;
  align-items: center;
  gap: .45rem;
  min-height: 5.4rem;
  padding: .48rem .65rem;
}
.paired-round-main { display: grid; min-width: 0; align-content: center; gap: .28rem; }
.paired-round-compact-row::-webkit-details-marker,
.paired-differential-row-card > summary::-webkit-details-marker { display: none; }
.paired-date-cluster { display: grid; grid-template-columns: 2.05rem .7rem 2.05rem; align-items: center; justify-content: start; min-width: 0; }
.paired-date-source { display: grid; justify-items: center; min-width: 0; }
.paired-date-source > small { margin-top: .1rem; color: var(--result-card-support); font-size: .5rem; font-weight: 620; line-height: 1.1; text-align: center; white-space: normal; }
.paired-date-cluster .paired-round-date { width: 2.05rem; height: 2.05rem; border-radius: 999px; }
.paired-date-cluster .paired-round-date strong { font-size: .76rem; }
.paired-date-cluster .paired-round-date small { margin-top: .12rem; font-size: .43rem; }
.paired-round-connector .paired-date-cluster { grid-template-columns: 3.25rem .5rem 3.25rem; align-items: start; }
.paired-round-connector .paired-date-cluster .paired-round-date { width: 3.25rem; height: 3.25rem; }
.paired-round-connector .paired-date-cluster .paired-round-date strong { font-size: 1.08rem; }
.paired-round-connector .paired-date-cluster .paired-round-date small { margin-top: .24rem; font-size: .58rem; }
.paired-date-plus { color: #8b721f; font-size: .76rem; font-weight: 760; line-height: 1; text-align: center; }
.paired-round-compact-facts { display: grid; gap: .22rem; min-width: 0; margin: 0; }
.paired-round-compact-facts > div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: baseline; gap: .25rem; min-width: 0; }
.paired-round-compact-facts dt,
.paired-round-compact-facts dd { margin: 0; }
.paired-round-compact-facts dt { color: var(--result-card-support); font-size: .56rem; font-weight: 610; line-height: 1.15; }
.paired-round-compact-facts dd { color: var(--result-card-value); font-size: .7rem; font-weight: 660; line-height: 1.15; white-space: nowrap; }
.paired-round-connector .paired-round-gross.score-result-primary { min-width: 0; }
.paired-round-gross .paired-round-context { margin: 0 0 .14rem; color: var(--result-card-support); font-size: .5rem; font-weight: 570; line-height: 1.12; white-space: normal; }
.paired-round-expanded-detail { display: grid; gap: .9rem; border-top: 2px dotted rgba(91,111,123,.16); padding: 1rem; }
.paired-round-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; }
.paired-round-heading strong { color: var(--result-card-value); font-size: .86rem; font-weight: 680; }
.paired-round-heading small { color: var(--result-card-support); font-size: .68rem; font-weight: 570; line-height: 1.3; text-align: right; }
.paired-round-sources { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: .55rem; }
.paired-round-date { background: #fff6cc; }
.paired-round-date small { color: var(--amber); }
.paired-round-source { display: grid; justify-items: center; min-width: 0; }
.paired-round-source > small { margin-top: .3rem; color: var(--result-card-label); font-size: .66rem; font-weight: 630; line-height: 1.15; text-align: center; }
.paired-round-link-copy { color: var(--result-card-support); font-size: .64rem; font-weight: 600; line-height: 1.2; text-align: center; }
.paired-round-summary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; border-top: 1px solid rgba(91,111,123,.13); padding-top: .8rem; }
.paired-round-summary-grid > div { min-width: 0; padding: .2rem 0 .3rem; border: 0; }
.paired-round-summary-grid > div:first-child { border-inline-start: 0; padding-inline-start: 0; }
.paired-round-summary-grid > div:last-child { padding-inline-end: 0; }
.paired-round-summary-grid dt,
.paired-round-summary-grid dd { margin: 0; }
.paired-round-summary-grid dt { color: var(--result-card-label); font-size: clamp(.61rem,2.2vw,.69rem); font-weight: 640; line-height: 1.25; }
.paired-round-summary-grid dd { margin-top: .35rem; color: var(--result-card-value); font-size: clamp(.9rem,3.2vw,1.08rem); font-weight: 660; line-height: 1.2; overflow-wrap: anywhere; }
.paired-round-summary-grid .paired-round-primary { font-size: var(--score-result-size, 1.42rem); font-weight: 670; line-height: 1.2; letter-spacing: -.035em; }
.paired-round-badge { display: inline-flex; width: max-content; margin-top: .3rem; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); padding: .18rem .42rem; font-size: .58rem; font-style: normal; font-weight: 760; letter-spacing: .02em; }
.player-round-card[open] { --result-card-value: #455f6c; --result-card-label: #607681; --result-card-support: #70828c; margin-block: .75rem; overflow: hidden; border: 1px solid rgba(91,111,123,.13); border-radius: 1.55rem; background: #fffefa; box-shadow: 0 .75rem 2rem rgba(36,52,61,.075); }
.form-player-round-card { min-width: 0; }
.form-player-round-card[open] { margin-inline: 0; }
.paired-differential-row-card { --result-card-value: #455f6c; --result-card-label: #607681; --result-card-support: #70828c; min-width: 0; border-bottom: 1px solid var(--line); color: var(--result-card-value); font-variant-numeric: tabular-nums; }
.paired-differential-row-card[open] { margin-block: .55rem; overflow: hidden; border: 1px solid rgba(91,111,123,.13); border-radius: 1.35rem; background: #fffefa; box-shadow: 0 .65rem 1.8rem rgba(36,52,61,.07); }
.paired-differential-row-card > .paired-differential-row { grid-template-columns: 7rem minmax(0,1fr) auto; gap: .45rem; min-height: 5.4rem; border: 0; padding: .48rem .65rem; }
.paired-differential-row .paired-date-cluster { grid-template-columns: 3.25rem .5rem 3.25rem; align-items: start; }
.paired-differential-row .paired-date-cluster .paired-round-date { width: 3.25rem; height: 3.25rem; }
.paired-differential-row .paired-date-cluster .paired-round-date strong { font-size: 1.08rem; }
.paired-differential-row .paired-date-cluster .paired-round-date small { margin-top: .24rem; font-size: .58rem; }
.paired-differential-row .paired-round-compact-facts dd { overflow-wrap: anywhere; white-space: normal; }
.paired-handicap-gross { display: grid; justify-items: end; gap: .18rem; min-width: 3.35rem; }
.paired-handicap-gross > strong { color: var(--ink); font-size: var(--score-result-size, 1.42rem); font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.paired-differential-row-card[open] > .paired-differential-row { border-bottom: 2px dotted rgba(91,111,123,.16); padding-inline: .75rem; }
.paired-differential-row-card[open] .report-chevron { transform: rotate(90deg); }
.paired-differential-expanded { display: grid; gap: .8rem; min-width: 0; padding: .9rem; }
.paired-inline-summary-card { display: grid; gap: .9rem; min-width: 0; border: 1px solid rgba(91,111,123,.11); border-radius: 1.2rem; background: #fffefa; padding: .9rem; }
.paired-inline-summary-card .paired-round-summary-grid { margin-top: .05rem; }
.paired-nine-source-stack { grid-template-columns: minmax(0,1fr); gap: .65rem; margin-top: 0; }
.paired-nine-source-stack .paired-nine-source-card { min-height: 9.5rem; border-color: rgba(91,111,123,.13); background: #fffefa; box-shadow: 0 .35rem 1rem rgba(36,52,61,.035); }
.player-round-card[open] > .score-summary-row { min-height: 5.8rem; border-bottom: 1px solid rgba(91,111,123,.13); background: transparent; padding: .95rem 1rem; }
.player-round-card[open] .report-identity strong,
.player-round-card[open] .report-primary strong { color: var(--ink); font-weight: 670; }
.player-round-card[open] .report-identity small,
.player-round-card[open] .report-primary small { color: var(--ink-soft); font-weight: 580; }
.player-round-detail { display: grid; overflow: hidden; gap: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--result-card-value); font-variant-numeric: tabular-nums; }
.player-round-stat-strip { display: grid; min-height: 5.8rem; margin: 0; padding-inline: 1rem; }
.player-round-outcome-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.round-score-three-up { grid-template-columns: repeat(3,minmax(0,1fr)); }
.form-round-score-priority-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.15rem; }
.form-round-score-priority-grid > div + div { border-inline-start: 1px solid rgba(91,111,123,.13); padding-inline-start: 1.15rem; }
.form-round-stableford-row { grid-template-columns: minmax(0,1fr); min-height: 0; border-top: 1px solid rgba(91,111,123,.13); }
.form-round-stableford-row > div { min-height: 4.55rem; padding-block: .8rem; }
.form-round-stableford-row dd { font-size: clamp(.94rem,3.45vw,1.08rem); }
.player-round-outcome-grid,
.player-round-stat-grid,
.net-scoring-distribution { column-gap: 1.15rem; }
.player-round-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(91,111,123,.13); }
.player-round-stat-grid > div:nth-child(2n+1) { border-inline-start: 0; }
.player-round-stat-grid > div:nth-child(n+3) { border-top: 1px solid rgba(91,111,123,.09); }
.player-round-stat-strip.player-round-stat-grid dd { overflow-wrap: anywhere; font-size: clamp(.88rem, 3vw, 1.02rem); letter-spacing: -.012em; line-height: 1.32; white-space: normal; }
.player-round-stat-grid .putting-benchmark-stat,
.player-round-stat-grid .round-differential-stat { min-width: 0; }
.player-round-gross-split { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; border-top: 1px solid rgba(91,111,123,.13); }
.net-scoring-distribution { grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(91,111,123,.13); background: transparent; }
.net-scoring-distribution > div:nth-child(2n+1) { border-inline-start: 0; }
.net-scoring-distribution > div:nth-child(n+3) { border-top: 1px solid rgba(91,111,123,.09); }
.net-scoring-distribution dt { font-size: clamp(.62rem, 2.25vw, .69rem); }
.net-scoring-distribution dd { font-size: clamp(.96rem, 3.4vw, 1.12rem); }
.net-scoring-unavailable { display: grid; gap: .18rem; border-top: 1px solid rgba(28,39,30,.09); padding: .75rem 0; }
.net-scoring-unavailable span { color: var(--ink-soft); font-size: .67rem; font-weight: 700; }
.net-scoring-unavailable strong { font-size: .78rem; line-height: 1.35; }
.player-round-stat-strip > div { display: grid; min-width: 0; min-height: 5.8rem; align-content: center; border-inline-start: 0; padding: clamp(.9rem, 3.7vw, 1.2rem) 0; }
.player-round-stat-strip > div:first-child { border-inline-start: 0; }
.player-round-stat-strip dt, .player-round-stat-strip dd { margin: 0; }
.player-round-stat-strip dt { color: var(--result-card-label); font-size: clamp(.65rem, 2.4vw, .73rem); font-weight: 640; line-height: 1.24; }
.player-round-stat-strip dd { margin-top: .38rem; color: var(--result-card-value); font-size: clamp(.96rem, 3.45vw, 1.16rem); font-weight: 650; line-height: 1.18; letter-spacing: -.018em; white-space: normal; overflow-wrap: anywhere; }
.player-round-stat-strip .score-stat-primary { min-height: 6.15rem; background: transparent; }
.player-round-stat-strip .score-stat-primary dd { font-size: clamp(1.05rem, 4vw, 1.34rem); font-weight: 670; letter-spacing: -.03em; }
.player-round-stat-strip .putting-benchmark-stat dd,
.player-round-stat-strip .round-differential-stat dd { font-size: clamp(.76rem, 2.8vw, .96rem); line-height: 1.3; }
.player-round-stat-strip .up-and-down-stat dd { font-size: clamp(.82rem, 3vw, .98rem); font-weight: 650; line-height: 1.32; }
.player-round-stat-strip .percentage-count-stat dd { font-size: clamp(.94rem, 3.55vw, 1.12rem); font-weight: 670; line-height: 1.28; }
.player-round-stat-strip .gir-hit-list-stat dt { overflow-wrap: anywhere; line-height: 1.34; }
.gir-stat-label { display: grid; gap: .14rem; }
.gir-stat-label small { color: var(--result-card-support); font-size: .92em; font-weight: 560; line-height: 1.35; }
.net-gir-conversion-stat .result-stat-help-stack > small,
.net-up-and-down-conversion-stat .result-stat-help-stack > small { font-size: 1em; }
.net-gir-conversion-stat .result-metric-help-trigger,
.net-up-and-down-conversion-stat .result-metric-help-trigger { margin-right: -.55rem; }
.player-round-stat-strip dd.is-unavailable { color: var(--result-card-support); font-weight: 570; }
.result-stat-label-with-help { display: inline-flex; align-items: center; gap: .08rem; max-width: 100%; }
.result-stat-label-with-help > span:first-child { min-width: 0; }
.result-metric-help-trigger { display: inline-grid; flex: 0 0 2.75rem; width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; margin: -1rem -.75rem -1rem -.35rem; place-items: center; border: 0; border-radius: 999px; background: transparent; color: var(--result-card-label); }
.result-metric-help-trigger > span { display: grid; width: 1rem; height: 1rem; place-items: center; border: 1px solid #9da6aa; border-radius: 999px; color: #5f686d; font-family: Georgia, "Times New Roman", serif; font-size: .62rem; font-style: normal; font-weight: 600; line-height: 1; }
.result-metric-help-trigger:focus-visible { outline: 2px solid #2867d4; outline-offset: -6px; }
.result-metric-help-tooltip {
  position: fixed;
  inset: auto;
  width: min(15rem, calc(100vw - 1.5rem));
  margin: 0;
  overflow: visible;
  border: 1px solid rgba(91,111,123,.25);
  border-radius: .55rem;
  background: #fff;
  box-shadow: 0 .45rem 1.15rem rgba(36,52,61,.12);
  padding: .72rem .8rem;
  color: #455f6c;
  font-size: .82rem;
  font-weight: 570;
  line-height: 1.45;
}
.result-metric-help-tooltip::before,
.result-metric-help-tooltip::after { position: absolute; left: var(--tooltip-pointer-left, calc(100% - 1.35rem)); width: 0; height: 0; border-style: solid; content: ""; transform: translateX(-50%); }
.result-metric-help-tooltip::before { top: -.48rem; border-width: 0 .46rem .48rem; border-color: transparent transparent rgba(91,111,123,.25); }
.result-metric-help-tooltip::after { top: -.4rem; border-width: 0 .4rem .42rem; border-color: transparent transparent #fff; }
.result-metric-help-tooltip.is-above::before { top: auto; bottom: -.48rem; border-width: .48rem .46rem 0; border-color: rgba(91,111,123,.25) transparent transparent; }
.result-metric-help-tooltip.is-above::after { top: auto; bottom: -.4rem; border-width: .42rem .4rem 0; border-color: #fff transparent transparent; }
.result-metric-help-tooltip:popover-open { display: block; }
.player-round-card-actions { border-top: 1px solid rgba(91,111,123,.13); padding: .85rem 1rem 1.05rem; }
.player-round-card-actions button { width: 100%; min-height: 2.75rem; border: 1px solid rgba(91,111,123,.18); border-radius: 999px; background: transparent; color: var(--result-card-value); font-size: .78rem; font-weight: 680; }
.player-round-card-actions button:focus-visible { outline: 2px solid #2867d4; outline-offset: 2px; }
.form-player-round-card .score-result-label,
.form-paired-round-summary .score-result-label { white-space: nowrap; }
.form-paired-round-summary .score-result-label {
  width: max-content;
  min-width: max-content;
  margin-left: auto;
}
.form-paired-round-summary {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
.paired-round-drill-summary {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}
@media (max-width: 639px) {
  .paired-round-relationship-reveal .form-paired-round-summary .paired-round-title {
    right: 5rem;
  }
  .paired-round-relationship-reveal .form-paired-round-summary .paired-round-title-line {
    width: 100%;
    flex-wrap: wrap;
    column-gap: .3rem;
    row-gap: .12rem;
  }
  .paired-round-relationship-reveal .handicap-paired-round-summary .paired-round-title {
    right: 5rem;
  }
  .paired-round-relationship-reveal .handicap-paired-round-summary .paired-round-title-line {
    width: 100%;
    flex-wrap: wrap;
    column-gap: .3rem;
    row-gap: .12rem;
  }
}
.gir-round-list .player-round-card { border-radius: 0; }
.gir-round-list .player-round-card[open] { border-radius: 1.45rem; }
.gir-paired-evidence-card > .score-summary-row { grid-template-columns: 5rem minmax(0,1fr) auto 1rem; }

.scorecard-sheet-backdrop { position: fixed; inset: 0; z-index: 150; display: flex; align-items: flex-end; justify-content: center; background: rgba(22,31,35,.35); padding-top: 2.5rem; backdrop-filter: blur(.22rem); -webkit-backdrop-filter: blur(.22rem); }
.gentle-scorecard-sheet { --scorecard-value: #455f6c; --scorecard-label: #607681; width: min(100%,44rem); max-height: min(88dvh,52rem); overflow: auto; border-radius: 1.7rem 1.7rem 0 0; background: #fffefa; box-shadow: 0 -1rem 3rem rgba(36,52,61,.14); padding: .55rem 1rem max(1rem,env(safe-area-inset-bottom)); }
.gentle-scorecard-sheet header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-bottom: .85rem; border-bottom: 2px dotted rgba(91,111,123,.16); }
.gentle-scorecard-sheet header h3 { margin-top: .12rem; color: var(--ink); font-size: 1.15rem; font-weight: 680; }
.gentle-scorecard-sheet header p:not(.eyebrow) { margin-top: .2rem; color: var(--ink-soft); font-size: .74rem; line-height: 1.35; }
.gentle-scorecard-sheet header button { width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; border-radius: 999px; background: #f1f2ef; color: var(--ink); font-size: 1.2rem; }
.gentle-scorecard-evidence { margin-top: .8rem; color: var(--scorecard-label); font-size: .72rem; font-weight: 580; line-height: 1.45; }
.gentle-scorecard-sheet .physical-round-scorecards { gap: 1rem; margin-top: .9rem; }
.gentle-scorecard-sheet .physical-round-nine h4 { color: var(--scorecard-label); font-size: .76rem; font-weight: 650; }
.gentle-scorecard-sheet .physical-round-scorecard { border-color: rgba(91,111,123,.15); border-radius: 1rem; background: #fffefa; }
.gentle-scorecard-sheet .physical-round-scorecard th,
.gentle-scorecard-sheet .physical-round-scorecard td { border-color: rgba(91,111,123,.12); color: var(--scorecard-value); font-weight: 620; }
.gentle-scorecard-sheet .physical-round-scorecard thead th { background: #f4f3ee; color: var(--scorecard-label); }
.gentle-scorecard-sheet .physical-round-scorecard tbody th { background: #faf8f2; color: var(--scorecard-label); }
.gentle-scorecard-sheet .physical-round-scorecard tbody td { background: #fffefa; color: var(--scorecard-value); }
.gentle-scorecard-sheet .sheet-back-action { width: 100%; min-height: 2.75rem; margin-top: 1rem; border: 1px solid rgba(91,111,123,.18); border-radius: 999px; background: transparent; color: var(--scorecard-value); }

@media (max-width: 639px) {
  .player-round-card > .paired-round-relationship-reveal { margin: .55rem 0 .2rem; }
  .paired-round-compact-row .report-identity strong,
  .paired-round-compact-row .report-identity small { overflow: visible; text-overflow: clip; white-space: normal; }
  .paired-round-connector > .paired-round-compact-row { min-height: 5.4rem; }
  .paired-differential-row-card > .paired-differential-row { grid-template-columns: 7rem minmax(0,1fr) 3.35rem; gap: .2rem; min-height: 5.4rem; padding: .38rem .28rem; }
  .paired-differential-row .score-summary-title { overflow: visible; text-overflow: clip; white-space: normal; }
  .paired-differential-row .score-summary-description { overflow: visible; font-size: .65rem; line-height: 1.2; text-overflow: clip; white-space: normal; }
  .paired-differential-row .differential-use-pill { min-width: 3.35rem; min-height: 2.2rem; padding: .35rem .28rem; font-size: .59rem; }
}

@media (max-width: 430px) {
  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row,
  .paired-round-relationship-reveal > .paired-round-compact-row {
    height: 8rem;
    min-height: 8rem;
  }

  .paired-round-relationship-reveal .paired-round-title {
    top: .95rem;
    left: 9.5625rem;
    width: auto;
    right: 4rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-title .paired-round-title-detail {
    overflow: visible;
    font-size: clamp(.455rem, 2.2vw, .82rem);
    letter-spacing: -.015em;
    text-overflow: clip;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-round-gross {
    top: auto;
    bottom: .35rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-gross strong {
    line-height: 1;
  }

  .paired-round-relationship-reveal .paired-round-gross small {
    margin-top: .1rem;
    line-height: 1.1;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts {
    top: 6.15rem;
    right: 4.95rem;
    left: 9.0625rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts > div {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: .25rem;
  }
}

@media (max-width: 639px) {
  .handicap-nine-source-summary .handicap-nine-source-subtitle {
    gap: .69rem;
    font-size: .72rem;
  }
}

@media (max-width: 359px) {
  .player-round-card[open] { border-radius: 1.3rem; }
  .player-round-card[open] > .score-summary-row {
    grid-template-columns: 2.8rem minmax(0,1fr) 3.2rem .65rem;
    gap: .45rem;
    padding-inline: .65rem;
  }
  .player-round-card[open] .report-date { width: 2.7rem; height: 2.7rem; }
  .player-round-card[open] .score-result-primary { min-width: 3rem; }
  .player-round-stat-strip > div { padding-inline: .58rem; }
  .player-round-stat-strip dt { font-size: .66rem; }
  .player-round-stat-strip dd,
  .player-round-stat-strip.player-round-stat-grid dd { font-size: .76rem; }
  .player-round-stat-strip .score-stat-primary dd { font-size: 1rem; }
  .form-round-score-priority-grid { column-gap: .7rem; }
  .form-round-score-priority-grid > div + div { padding-inline-start: .7rem; }
  .form-round-stableford-row > div { min-height: 4.25rem; }
  .player-round-stat-strip .putting-benchmark-stat dd,
  .player-round-stat-strip .round-differential-stat dd { font-size: .76rem; }
  .player-round-stat-strip .percentage-count-stat dd { font-size: .88rem; }
  .paired-round-connector { margin-inline: 0; padding-inline: .8rem; }
  .paired-round-summary-grid > div { padding-inline: .42rem; }
}
.report-player-results { display: grid; gap: .65rem; }
.report-player-result { border-radius: 1rem; background: var(--green-soft); padding: .8rem; }
.report-player-result header { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.report-player-result header strong { font-size: .9rem; }
.report-player-result header span { color: var(--ink-soft); font-size: .62rem; font-weight: 720; }
.report-player-result dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: .45rem; margin-top: .65rem; }
.report-player-result dl div { min-width: 0; }
.report-player-result dt { color: var(--ink-soft); font-size: .58rem; }
.report-player-result dd { margin: .15rem 0 0; font-size: .88rem; font-weight: 780; }
.report-player-result dl .report-wide-stat { min-width: 0; }
.report-player-result dl .report-wide-stat dd { overflow-wrap: anywhere; font-size: .75rem; line-height: 1.35; }

@media (max-width: 374px) {
  .up-and-down-aggregate { grid-template-columns: minmax(0,1fr); }
  .physical-round-scorecard thead th:first-child,
  .physical-round-scorecard tbody th { width: 3.5rem; }
  .physical-round-scorecard th,
  .physical-round-scorecard td { font-size: .62rem; }
}
.reports-empty { display: grid; min-height: 22rem; place-items: center; place-content: center; gap: .6rem; color: var(--ink-soft); text-align: center; }
.reports-empty > span { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 1.35rem; background: var(--green-soft); color: var(--green); font-size: 2rem; }
.reports-empty h3 { font-size: 1.25rem; }
.reports-empty p { max-width: 18rem; font-size: .82rem; }

.live-follower-card { width: min(100%, 42rem); margin-inline: auto; overflow: hidden; border-radius: 1.65rem; background: var(--green-dark); box-shadow: none; color: #fff; }
.live-follower-hero { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.2rem; }
.live-status-label { display: flex; align-items: center; gap: .5rem; color: var(--lime); font-size: .72rem; font-weight: 760; text-transform: uppercase; }
.live-follower-hero h3 { margin-top: .45rem; color: #fff; font-size: 1.45rem; }
.live-follower-hero p:not(.live-status-label) { margin-top: .25rem; color: rgba(255,255,255,.63); font-size: .78rem; }
.live-readonly-pill { border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.08); color: #fff; padding: .35rem .6rem; font-size: .66rem; }
.live-follower-actions { display: grid; justify-items: end; gap: .55rem; }
.live-take-over-button { min-height: 2.75rem; border: 0; border-radius: 999px; background: var(--lime); color: var(--green-dark); padding: .65rem .9rem; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.live-follower-scoreboard { margin: 0 .6rem; overflow: hidden; border-radius: 1.15rem; background: #fff; color: var(--ink); }
.live-follower-row { display: grid; grid-template-columns: 1.4rem minmax(0,1fr) 3rem 3rem; align-items: center; gap: .55rem; min-height: 4.4rem; border-bottom: 1px solid var(--line); padding: .55rem .7rem; }
.live-follower-row:last-child { border-bottom: 0; }
.live-follower-row.is-you { background: #f2fbe9; }
.live-follower-rank { color: var(--ink-soft); font-size: .72rem; }
.live-follower-player { display: grid; grid-template-columns: 2.3rem minmax(0,1fr); align-items: center; gap: .6rem; min-width: 0; }
.live-follower-player > i { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: .67rem; font-style: normal; font-weight: 780; }
.live-follower-player strong, .live-follower-player small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-follower-player strong { font-size: .83rem; }
.live-follower-player small { color: var(--ink-soft); font-size: .62rem; }
.live-follower-points, .live-follower-net { text-align: right; }
.live-follower-points strong, .live-follower-points small, .live-follower-net strong, .live-follower-net small { display: block; }
.live-follower-points strong, .live-follower-net strong { font-size: 1.15rem; letter-spacing: -.035em; }
.live-follower-points small, .live-follower-net small { color: var(--ink-soft); font-size: .58rem; }
.live-follower-meta { display: flex; justify-content: space-between; gap: .75rem; padding: .9rem 1rem 0; color: rgba(255,255,255,.65); font-size: .66rem; }
.live-follower-meta strong { color: #fff; }
.live-follower-note { padding: .6rem 1rem 1rem; color: rgba(255,255,255,.5); font-size: .65rem; }

/* Scoring setup: continuous iOS form rhythm rather than a dashboard. */
.v10-round-launcher { width: min(100%, 46rem); gap: .8rem; }
.live-launch-head h3 { font-size: clamp(1.7rem, 8vw, 2.35rem); }
.live-start-grid, .round-player-selector, .round-scorekeeper-row, .play-scope-grid, .scoring-control-group, .game-choice-grid, .advanced-game-settings {
  border: 1px solid rgba(24,59,32,.06);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: var(--shadow-soft);
  padding: .85rem;
}
.round-player-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
.round-player-card { min-height: 4.2rem; border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important; background: transparent !important; }
.round-player-card:last-child { border-bottom: 0 !important; }
.round-player-card:has(input:checked) .round-player-toggle { background: var(--green-dark); color: var(--lime); }
.round-player-toggle { border-radius: 999px; }
.v10-round-launcher > .primary-action { min-height: 3.35rem; border-radius: 1.05rem; background: var(--green-dark); color: #fff; box-shadow: 0 .7rem 1.5rem rgba(16,42,22,.15); }

@media (max-width: 460px) {
  .topbar-actions .add-action { display: none; }
  .live-menu-action { max-width: 8.2rem; overflow: hidden; text-overflow: ellipsis; }
  .handicap-profile-head { grid-template-columns: auto minmax(0,1fr); }
  .handicap-updated { display: none; }
  .handicap-index-hero { grid-template-columns: 1fr; }
  .handicap-index-hero dl { justify-self: stretch; border-top: 1px solid rgba(255,255,255,.1); padding-top: .8rem; }
  .paired-nine-sources p { display: grid; }
  .paired-nine-sources small { text-align: left; }
  .reports-head { align-items: end; }
  .reports-head p:not(.eyebrow) { display: none; }
}

@media (max-width: 719px) {
  .workspace {
    overflow: visible;
  }

  .handicap-profile-head {
    position: sticky;
    top: 4.25rem;
    z-index: 24;
    min-height: 3.65rem;
    margin-inline: -.35rem;
    border: 1px solid rgba(22,50,0,.09);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .45rem 1.35rem rgba(19,35,27,.08);
    padding: .45rem .65rem;
  }

  .handicap-profile-avatar {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: .82rem;
    font-size: .78rem;
  }

  .handicap-profile-head h3 {
    margin: 0;
    font-size: 1.15rem;
  }

  .handicap-profile-head p:not(.eyebrow) {
    overflow: hidden;
    margin-top: .08rem;
    font-size: .69rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* After a mid-width relationship receipt is visually verified, tighten the middle
   label measure while retaining the same fixed date, title and Gross anchors. */
@media (min-width: 360px) and (max-width: 639px) {
  .paired-round-compact-row .paired-round-compact-facts dt,
  .paired-differential-row .paired-round-compact-facts dt {
    font-size: .45rem;
    line-height: 1.03;
  }

  .paired-round-compact-row .paired-round-compact-facts dd,
  .paired-differential-row .paired-round-compact-facts dd {
    font-size: .7rem;
    line-height: 1.04;
  }
}

/* Opened Rounds relationship: an independent, normal-height card between both
   expanded physical source cards. Its vertical date stack is intentionally
   unique to Rounds; Used and Differentials retain their evidence-row layout. */
.paired-round-relationship-reveal {
  --paired-gross-right: 2.55rem;
  margin: .38rem .1rem;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #fffefa;
}

.paired-round-relationship-reveal > .paired-round-compact-row {
  position: relative;
  display: block;
  height: 5.8rem;
  min-height: 5.8rem;
  padding: 0;
}

.paired-round-relationship-reveal .paired-date-cluster {
  position: absolute;
  top: .24rem;
  left: 2.1rem;
  display: block;
  width: 1.85rem;
  height: 4.55rem;
}

.paired-round-relationship-reveal .paired-date-source {
  position: absolute;
  left: 0;
  display: grid;
  width: 1.85rem;
  justify-items: center;
}

.paired-round-relationship-reveal .paired-date-source:first-child,
.paired-round-relationship-reveal .paired-date-source:last-child {
  top: auto;
  left: auto;
}

.paired-round-relationship-reveal .paired-date-source:first-child { top: 0; }
.paired-round-relationship-reveal .paired-date-source:last-child { top: 2.55rem; }

.paired-round-relationship-reveal .paired-date-source > small {
  margin-top: .04rem;
  font-size: .39rem;
  font-weight: 630;
  line-height: 1;
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-date,
.paired-round-relationship-reveal .paired-date-cluster .paired-round-date {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
}

.paired-round-relationship-reveal .paired-round-date strong,
.paired-round-relationship-reveal .paired-date-cluster .paired-round-date strong { font-size: .72rem; }

.paired-round-relationship-reveal .paired-round-date small,
.paired-round-relationship-reveal .paired-date-cluster .paired-round-date small {
  margin-top: .1rem;
  font-size: .39rem;
}

.paired-round-relationship-reveal .paired-date-plus {
  position: absolute;
  top: 1.84rem;
  left: -1.6rem;
  width: 1rem;
  color: var(--result-card-support, var(--ink-soft));
  font-size: calc(var(--score-row-title-size, .9rem) + .14rem);
  line-height: 1.22;
  transform: none;
}

.paired-round-relationship-reveal .paired-round-title {
  position: absolute;
  top: 1.92rem;
  left: 4.65rem;
  margin: 0;
}

.paired-round-relationship-reveal .paired-round-title .score-summary-title {
  font-weight: 670;
}

.paired-round-relationship-reveal .paired-round-compact-facts {
  position: absolute;
  top: .62rem;
  right: 8rem;
  left: 13.8rem;
  display: grid;
  width: auto;
  max-width: 18rem;
  gap: .42rem;
}

.paired-round-relationship-reveal .paired-round-compact-facts > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .04rem;
}

.paired-round-relationship-reveal .paired-round-compact-facts dt {
  color: var(--result-card-support);
  font-size: .57rem;
  font-weight: 590;
  line-height: 1.08;
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-compact-facts dd {
  color: var(--result-card-value);
  font-size: .8rem;
  font-weight: 735;
  line-height: 1.08;
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-gross {
  position: absolute;
  top: 1.25rem;
  right: var(--paired-gross-right);
  display: block;
  width: 5.65rem;
  min-width: 5.65rem;
  text-align: right;
}

@media (max-width: 639px) {
  .paired-round-relationship-reveal {
    --paired-gross-right: 1.7rem;
    margin: .35rem .1rem;
  }

  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row,
  .paired-round-relationship-reveal > .paired-round-compact-row {
    height: 5.8rem;
    min-height: 5.8rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts {
    top: .58rem;
    right: 5rem;
    left: 9.15rem;
    gap: .34rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dt {
    font-size: .48rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dd {
    font-size: .74rem;
  }

  .paired-round-relationship-reveal .paired-round-gross {
    top: 1.45rem;
    right: var(--paired-gross-right);
    width: 3.2rem;
    min-width: 3.2rem;
  }
}

/* V12 Better Ball settings — flat, native mobile rows with one shared scorecard. */
.v10-round-launcher .advanced-game-settings {
  margin-top: 1rem;
  border-block: 1px solid #dfe3dc !important;
  background: #fff;
}
.v10-round-launcher .advanced-game-settings summary {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  color: #0e150e;
  padding: .8rem .1rem;
  list-style: none;
}
.v10-round-launcher .advanced-game-settings summary::-webkit-details-marker { display: none; }
.v10-round-launcher .advanced-game-settings summary::after {
  content: "⌄";
  margin-left: auto;
  color: #667066;
  font-size: 1.1rem;
  transform: rotate(0);
}
.v10-round-launcher .advanced-game-settings[open] summary::after { transform: rotate(180deg); }
.v10-round-launcher .advanced-game-settings summary span { display: grid; gap: .1rem; }
.v10-round-launcher .advanced-game-settings summary strong { font-size: .95rem; letter-spacing: -.01em; }
.v10-round-launcher .advanced-game-settings summary small { color: #667066; font-size: .72rem; font-weight: 560; }
.v10-round-launcher .team-setup-panel,
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] {
  gap: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: 0 0 .2rem;
}
.best-ball-settings-head { padding: 1rem .1rem .85rem; }
.best-ball-settings-head h5 { margin: 0; color: #0b120b; font-size: 1.05rem; letter-spacing: -.02em; }
.best-ball-settings-head p { margin: .35rem 0 0; color: #566056; font-size: .78rem; line-height: 1.45; }
.better-ball-view-list { display: grid; border-top: 1px solid #e4e7e1; }
.better-ball-view-list > span {
  display: grid;
  grid-template-columns: minmax(7rem,.8fr) minmax(0,1.2fr);
  align-items: center;
  gap: .75rem;
  min-height: 3.25rem;
  border-bottom: 1px solid #e4e7e1;
  padding: .6rem .1rem;
}
.better-ball-view-list b { color: #0b120b; font-size: .84rem; }
.better-ball-view-list small { color: #667066; font-size: .74rem; line-height: 1.35; text-align: right; }
.best-ball-points {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  min-height: 3.75rem;
  border: 0;
  border-bottom: 1px solid #e4e7e1;
  padding: .65rem .1rem;
}
.best-ball-points legend { position: static; width: auto; height: auto; overflow: visible; clip: auto; color: #0b120b; font-size: .82rem; font-weight: 700; }
.best-ball-points > div { display: grid; grid-template-columns: repeat(3,2.8rem); gap: .2rem; border-radius: .8rem; background: #eef0ec; padding: .2rem; }
.best-ball-points label { position: relative; }
.best-ball-points input { position: absolute; opacity: 0; pointer-events: none; }
.best-ball-points span { display: grid; min-height: 2.35rem; place-items: center; border-radius: .62rem; color: #596359; font-size: .76rem; font-weight: 720; }
.best-ball-points label:has(input:checked) span { background: #fff; color: #153500; box-shadow: 0 1px 4px rgba(8,16,8,.14); }
.best-ball-side-key { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; border-bottom: 1px solid #e4e7e1; padding: .8rem .1rem; }
.best-ball-side-key span { display: flex; align-items: center; gap: .45rem; color: #222922; font-size: .78rem; font-weight: 760; }
.best-ball-side-key i { width: .65rem; height: .65rem; border-radius: 999px; background: currentColor; }
.best-ball-side-key .is-red { color: #a33a35; }
.best-ball-side-key .is-blue { color: #376ed8; }
.v10-round-launcher .team-player-assignment { gap: 0; }
.v10-round-launcher .team-player-assignment > label {
  display: grid;
  grid-template-columns: minmax(0,1fr) 7.4rem;
  min-height: 3.75rem;
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid #e4e7e1;
  color: #0b120b;
  padding: .55rem .1rem;
}
.v10-round-launcher .team-player-assignment > label:last-child { border-bottom: 0; }
.v10-round-launcher .team-player-assignment > label > span strong { font-size: .86rem; }
.v10-round-launcher .team-assignment-select {
  min-height: 2.65rem;
  border: 1px solid #d8ddd5;
  border-left-width: .28rem;
  border-radius: .7rem;
  background-color: #fff !important;
  color: #1a211a;
  font-size: .8rem;
  font-weight: 760;
  padding: .35rem .55rem;
}
.v10-round-launcher .team-assignment-select[data-team-side="team_a"] { border-color: #d8ddd5 #d8ddd5 #d8ddd5 #a33a35; color: #8d2f2b; }
.v10-round-launcher .team-assignment-select[data-team-side="team_b"] { border-color: #d8ddd5 #d8ddd5 #d8ddd5 #376ed8; color: #285bbd; }
.v10-round-launcher .game-choice-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
.v10-round-launcher .game-choice-combined_better_ball:has(input:checked) { background: #fff; color: #163200; box-shadow: 0 1px 4px rgba(5,8,5,.12); }

.live-best-ball-panel { border-color: #dfe4dc; background: #fff; }
.best-ball-live-sides { display: grid; gap: .45rem; }
.best-ball-live-sides > div { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; align-items: center; gap: .6rem; min-height: 3.65rem; border: 1px solid #e0e4dd; border-radius: .9rem; padding: .55rem .65rem; }
.best-ball-live-sides > div > span { display: grid; min-width: 0; }
.best-ball-live-sides > div small { overflow: hidden; color: #667066; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.best-ball-live-sides > div > b { font-size: .7rem; text-align: right; }
.best-ball-score-evidence { display: grid; gap: .7rem; }
.best-ball-score-evidence section { border-top: 1px solid #e3e6e0; padding-top: .65rem; }
.best-ball-score-evidence h4 { display: flex; justify-content: space-between; gap: .75rem; margin: 0 0 .35rem; font-size: .82rem; }
.best-ball-score-evidence h4 span { color: #596359; font-size: .7rem; }
.best-ball-score-evidence p { display: flex; justify-content: space-between; gap: .75rem; margin: 0; padding: .3rem 0; color: #596359; font-size: .7rem; }
.best-ball-score-evidence p.is-best-ball { color: #163200; font-weight: 720; }

@media (max-width: 359px) {
  .better-ball-view-list > span { grid-template-columns: 1fr; gap: .15rem; }
  .better-ball-view-list small { text-align: left; }
  .best-ball-points { grid-template-columns: 1fr; }
  .best-ball-points > div { width: 100%; grid-template-columns: repeat(3,1fr); }
  .v10-round-launcher .team-player-assignment > label { grid-template-columns: minmax(0,1fr) 6.5rem; }
}

/* Wise iOS rhythm on phones: white canvas, hairline-separated rows, lime action,
   and content hierarchy carried by type rather than floating grey cards. */
@media (max-width: 639px) {
  .panel {
    padding: .65rem 1rem calc(var(--tabbar-height) + 1.45rem);
  }

  .topbar {
    min-height: 4.25rem;
    padding-inline: 1rem;
  }

  .handicap-page,
  .reports-page {
    gap: 1.15rem;
  }

  .handicap-segments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 1.15rem;
  }

  .handicap-index-hero {
    border-radius: 1.45rem;
    padding: 1.2rem;
  }

  .handicap-index-hero > div > strong {
    font-size: clamp(4.1rem, 21vw, 5.35rem);
  }

  .handicap-trend-card,
  .handicap-evidence-card,
  .gir-profile-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: .25rem 0 0;
  }

  .gir-profile-card {
    border-top: 1px solid var(--line);
    padding-top: 1.05rem;
  }

  .handicap-evidence-card {
    border-top: 1px solid var(--line);
    padding-top: 1.05rem;
  }

  .handicap-section-title h3 {
    font-size: 1.3rem;
  }

  .handicap-segments {
    border-radius: 999px;
    background: var(--green-soft);
  }

  .handicap-segments button,
  .handicap-segments button.is-active {
    border-radius: 999px;
    padding-inline: .4rem;
    font-size: .7rem;
  }

  .handicap-segments button.is-active {
    box-shadow: inset 0 0 0 1px rgba(22,50,0,.1);
  }

  .gir-round-list-head small { max-width: 11rem; }

  .differential-date,
  .report-date {
    border-radius: 999px;
  }

  .differential-value strong {
    font-size: 1.38rem;
  }

  .reports-list,
  .handicap-differential-list {
    gap: 0;
    border-top: 1px solid var(--line);
  }

  .report-card {
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
  }

  .report-card summary,
  .handicap-differential-summary,
  .handicap-nine-source-summary {
    min-height: 5.4rem;
    padding-inline: .1rem;
  }

  .paired-round-connector {
    min-height: 4.8rem;
    padding-inline: 1rem;
  }

  .report-primary strong {
    font-size: 1.65rem;
  }

  .score-summary-row {
    --score-row-title-size: 1rem;
    --score-row-description-size: .82rem;
    --score-row-detail-size: .78rem;
    --score-result-size: 1.65rem;
    --score-result-label-size: .75rem;
  }

  .score-summary-row .score-summary-title,
  .score-summary-row .score-summary-description {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .score-summary-row .score-summary-detail {
    flex-wrap: wrap;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .physical-round-row {
    grid-template-columns: 2.75rem minmax(0, 1fr) 5.65rem .75rem;
    grid-template-rows: 2.45rem 2.2rem 1.35rem;
    height: 7.25rem;
    min-height: 7.25rem;
    column-gap: .5rem;
    row-gap: .12rem;
    padding-block: .5rem;
  }

  .physical-round-row .differential-date {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    width: 2.75rem;
    height: 2.75rem;
  }

  .physical-round-row .differential-copy { display: contents; }

  .physical-round-row .score-summary-title {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }

  .physical-round-row .score-summary-description {
    grid-column: 2 / 4;
    grid-row: 2;
    align-self: center;
  }

  .physical-round-row .score-summary-detail {
    grid-column: 2 / 4;
    grid-row: 3;
    align-self: center;
  }

  .physical-round-row .score-result-primary {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }

  .physical-round-row .differential-chevron {
    grid-column: 4;
    grid-row: 1 / span 3;
    align-self: center;
  }

  .report-group-summary strong {
    font-size: var(--score-row-title-size);
    font-weight: 760;
    line-height: 1.2;
  }

  .report-group-summary small {
    margin-top: .18rem;
    font-size: var(--score-row-description-size);
    font-weight: 650;
    line-height: 1.25;
  }

  .report-player-result dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: .7rem;
  }

  .report-detail {
    border-top-color: var(--line);
    padding-inline: .1rem;
  }

  .report-share-panel {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .report-share-head {
    padding-inline: .1rem;
  }

  .report-whatsapp-text {
    margin-inline: -.1rem;
    padding: 1rem .85rem;
  }

  .report-metrics div,
  .handicap-sheet-summary div {
    background: var(--green-soft);
  }

  .live-follower-card {
    border-radius: 1.45rem;
  }

  .live-follower-points strong,
  .live-follower-net strong {
    font-size: 1.32rem;
  }

  .live-start-grid,
  .round-player-selector,
  .round-scorekeeper-row,
  .play-scope-grid,
  .scoring-control-group,
  .game-choice-grid,
  .advanced-game-settings {
    border-color: var(--line);
    box-shadow: none;
  }

  .v10-round-launcher > .primary-action {
    background: var(--lime);
    color: var(--green-dark);
    box-shadow: none;
    font-weight: 800;
  }
}

@media (min-width: 640px) {
  .app-shell.sg-polish { grid-template-columns: 13.5rem minmax(0,1fr); gap: .8rem; padding: .8rem; }
  .sidebar { top: .8rem; height: calc(100dvh - 1.6rem); border: 1px solid rgba(22,50,0,.08); border-radius: 1.45rem; background: #fff; box-shadow: none; }
  .brand-mark { border-radius: .8rem; background: var(--green-dark); }
  .sidebar-nav { gap: .45rem; }
  .nav-item { min-height: 3.25rem; border-radius: .95rem; font-weight: 720; }
  .nav-item.is-active { background: var(--green-dark); color: #fff; }
  .nav-item.is-active .nav-icon { color: var(--lime); }
  .workspace { border: 1px solid rgba(22,50,0,.07); border-radius: 1.45rem; background: #fff; box-shadow: none; }
  .topbar { border-radius: 1.45rem 1.45rem 0 0; }
  .panel { padding: 1.35rem; }
  .handicap-index-hero { padding: 1.7rem; }
  .handicap-trend-card, .handicap-evidence-card { padding: 1.25rem; }
  .handicap-explanation-sheet { margin-bottom: 1rem; border-radius: 1.9rem; }
  .handicap-sheet-backdrop { align-items: center; padding: 1rem; }
  .round-player-grid { grid-template-columns: 1fr !important; }
}

@media (min-width: 1024px) {
  .app-shell.sg-polish { grid-template-columns: 15.5rem minmax(0,1fr); }
  .handicap-page { grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .92fr); align-items: start; }
  .handicap-profile-head, .handicap-index-hero, .gir-profile-card { grid-column: 1 / -1; }
  .handicap-trend-card { position: sticky; top: 1rem; }
  .handicap-form-card { grid-column: 2; position: static; }
  .handicap-page:has(.handicap-form-card) .handicap-evidence-card { grid-column: 1 / -1; }
  .handicap-graph-stack { grid-column: 1 / -1; }
  .handicap-graph-stack .handicap-trend-card,
  .handicap-graph-stack .handicap-form-card { position: static; grid-column: auto; }
  .reports-page { width: min(100%, 62rem); }
}

/* 10 August 2026 — calm score-entry surface and separate player Rounds archive. */
.mobile-tabbar { right: 0; bottom: 0; left: 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; min-height: var(--tabbar-height); border: 0; border-top: 1px solid var(--line); border-radius: 0; background: rgba(255,255,255,.97); box-shadow: none; padding: .35rem .35rem max(.35rem,env(safe-area-inset-bottom)); }
.mobile-tab { min-height: 3.5rem; border-radius: 0; background: transparent; color: var(--ink-soft); box-shadow: none; }
.mobile-tab.is-active { background: transparent; color: var(--green-dark); box-shadow: none; }
.mobile-tab.is-active .nav-icon { color: var(--green-dark); }

.rounds-head h3 { margin-top: .12rem; font-size: clamp(2rem,9vw,3rem); letter-spacing: -.045em; }
.rounds-head p:not(.eyebrow) { margin-top: .25rem; color: var(--ink-soft); font-size: .92rem; }
.rounds-player-picker { display: grid; gap: .8rem; border-block: 1px solid var(--line); padding: .85rem 0 1rem; }
.rounds-player-picker-copy small, .rounds-player-picker-copy strong { display: block; }
.rounds-player-picker-copy small { color: var(--ink-soft); font-size: .875rem; }
.rounds-player-picker-copy strong { margin-top: .12rem; font-size: 1.15rem; }
.rounds-player-pill-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; width: 100%; }
.rounds-player-pill { min-width: 0; min-height: 3.25rem; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--green-soft); color: var(--green-dark); padding: .65rem .8rem; overflow: hidden; font-size: .9rem; font-weight: 760; text-overflow: ellipsis; white-space: nowrap; }
.rounds-player-pill.is-active { border-color: var(--green-dark); background: var(--green-dark); color: #fff; box-shadow: 0 .25rem .7rem rgba(16,42,22,.16); }
.player-rounds-list { margin-top: .2rem; }

.live-round-tracker { max-width: 56rem; margin-inline: auto; border: 0; background: #fff; }
.live-round-top { border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; color: var(--ink); padding: max(1rem,env(safe-area-inset-top)) var(--page-pad) .9rem; }
.live-back-button { border: 0; background: var(--green-soft); color: var(--green-dark); }
.live-round-title .eyebrow { color: var(--green-dark); font-size: .75rem; }
.live-round-title h3 { color: var(--ink); font-size: 1.35rem; letter-spacing: -.025em; }
.live-round-title > p:last-child { color: var(--ink-soft); font-size: .78rem; }
.live-review-button, .live-review-button.needs-review { border: 0; background: var(--lime); color: var(--green-dark); font-size: .78rem; }
.b3-live-state { min-height: auto; margin-top: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; padding-block: .65rem; }
.b3-live-state p { font-size: .76rem; }
.b3-live-state .state-badge { background: var(--green-soft); color: var(--green-dark); }
.live-view-switch { margin-block: .8rem .5rem; background: #eef3ec; }
.live-view-switch button { min-height: 2.75rem; }
.live-hole-bar { grid-template-columns: 2.75rem minmax(0,1fr) 2.75rem; margin-block: .15rem .35rem; border: 0; border-radius: 0; background: #fff; box-shadow: none; padding: .35rem 0 .7rem; }
.live-hole-bar button { min-height: 2.75rem; border-radius: 999px; background: #eef3ec; }
.live-hole-bar .live-hole-focus { display: grid; grid-template-columns: auto auto auto; align-items: baseline; justify-content: center; gap: .38rem; }
.live-hole-bar .live-hole-focus span { font-size: .82rem; }
.live-hole-bar .live-hole-focus strong { color: var(--green-dark); font-size: 3.15rem; line-height: .86; letter-spacing: -.07em; }
.live-hole-bar .live-hole-focus em { color: var(--ink-soft); font-size: .82rem; font-style: normal; font-weight: 680; }
.live-score-entry-wrap { margin-top: 0; overflow: visible; border: 0; border-radius: 0; }
.live-score-entry-head { border-bottom: 1px solid var(--line); padding: .65rem 0 .8rem; }
.live-score-entry-head span { font-size: .8rem; }
.live-score-entry-head strong { font-size: 1.12rem; }
.live-score-entry-head button { background: var(--lime); }
.live-player-row.live-scoring-row { grid-template-columns: 3rem minmax(0,1fr) 5.2rem; min-height: 5.15rem; gap: .8rem; padding-inline: 0; }
.live-scoring-avatar { width: 3rem; height: 3rem; }
.live-player-row.is-active { background: #f1f8ed; box-shadow: none; }
.live-player-row.live-scoring-row.is-active { margin-inline: -.65rem; width: calc(100% + 1.3rem); border-radius: 1rem; padding-inline: .65rem; }
.live-scoring-value strong { font-size: 2rem; }
.live-scorecard-strip { display: flex; gap: .45rem; width: calc(100% - (2 * var(--page-pad))); margin-top: .35rem; overflow-x: auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.live-scorecard-strip.hole-count-18 { display: flex; }
.live-card-hole { flex: 0 0 2.75rem; min-height: 2.75rem; border: 0; border-radius: 999px; background: #eef3ec; }
.live-card-hole.is-active { background: var(--green-dark); color: var(--lime); }
.live-card-hole b, .live-card-hole strong { font-size: .72rem; }

@media (min-width: 640px) {
  .is-live-play .workspace { border: 0; background: #fff; }
  .is-live-play .panel { padding-inline: 1.35rem; }
  .live-round-tracker { min-height: calc(100dvh - 1.6rem); }
}

@media (max-width: 359px) {
  .mobile-tab { font-size: .6rem; }
  .rounds-player-pill-grid { gap: .45rem; }
  .rounds-player-pill { min-height: 3rem; padding-inline: .55rem; font-size: .8rem; }
  .live-hole-bar .live-hole-focus strong { font-size: 2.65rem; }
  .live-player-row.live-scoring-row { grid-template-columns: 2.65rem minmax(0,1fr) 4.5rem; gap: .55rem; }
  .live-scoring-avatar { width: 2.65rem; height: 2.65rem; }
}

/* 10 August 2026 — roster-led score entry and missed-player protection. */
.live-score-sheet { position: relative; }
.live-score-player-rail {
  display: flex;
  gap: .5rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.live-score-player-rail::-webkit-scrollbar { display: none; }
.live-score-player-chip {
  flex: 0 0 min(10rem,72vw);
  scroll-snap-align: center;
}
.live-score-player-chip:disabled,
.live-keypad button:disabled,
.live-score-sheet-toolbar button:disabled { opacity: .7; cursor: wait; }
.live-selected-player.is-confirming {
  border-radius: 1rem;
  background: var(--green-soft);
  padding: .65rem;
  animation: live-score-confirm 425ms ease both;
}
.live-missed-player-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(5,8,5,.56);
  backdrop-filter: blur(.45rem);
  -webkit-backdrop-filter: blur(.45rem);
}
.live-missed-player-dialog {
  position: relative;
  display: grid;
  gap: .8rem;
  width: 100%;
  border-radius: 1.9rem 1.9rem 0 0;
  background: var(--paper);
  box-shadow: 0 -1rem 3rem rgba(19,32,20,.16);
  padding: 1.25rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
}
.live-missed-player-close {
  position: absolute;
  top: 1rem;
  right: max(1rem,env(safe-area-inset-right));
  display: grid;
  width: 3rem;
  min-width: 3rem;
  min-height: 3rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #eef0ec;
  color: #163200;
  font-size: 1.65rem;
  font-weight: 500;
  line-height: 1;
}
.live-missed-player-close:focus-visible {
  outline: 3px solid #163200;
  outline-offset: 2px;
}
.live-missed-player-dialog .state-badge { justify-self: start; background: var(--warning); color: var(--ink); }
.live-missed-player-dialog h3 { font-size: 1.45rem; letter-spacing: -.025em; }
.live-missed-player-dialog p { max-width: 34rem; color: var(--ink-soft); line-height: 1.45; }
.live-missed-player-list { display: grid; border-block: 1px solid var(--line); }
.live-missed-player-list span {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  font-weight: 750;
}
.live-missed-player-list span:last-child { border-bottom: 0; }
.live-missed-player-list strong { color: var(--ink-soft); font-size: .78rem; font-weight: 650; }
.live-missed-player-dialog .primary-action { min-height: 3.25rem; }
.live-hole-complete-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  background: rgba(5,8,5,.62);
  padding: 1rem;
  backdrop-filter: blur(.5rem);
  -webkit-backdrop-filter: blur(.5rem);
}
.live-hole-complete-dialog {
  display: grid;
  width: min(22rem,100%);
  min-height: 16rem;
  place-items: center;
  align-content: center;
  gap: .55rem;
  border-radius: 1.8rem;
  background: var(--paper);
  box-shadow: 0 1rem 3rem rgba(5,12,7,.28);
  padding: 1.6rem;
  text-align: center;
}
.live-hole-complete-dialog > span {
  display: grid;
  width: 4.25rem;
  height: 4.25rem;
  place-items: center;
  border-radius: 999px;
  background: #a4e974;
  color: #163200;
  font-size: 2.35rem;
  font-weight: 850;
}
.live-hole-complete-dialog p { color: var(--green); font-size: 1.55rem; font-weight: 850; letter-spacing: -.025em; }
.live-hole-complete-dialog strong { max-width: 18rem; color: var(--ink); font-size: 1rem; line-height: 1.35; }
.live-hole-complete-dialog small { color: var(--ink-soft); font-size: .84rem; font-weight: 700; }

@keyframes live-score-confirm {
  0% { transform: scale(.985); opacity: .72; }
  100% { transform: scale(1); opacity: 1; }
}

@media (min-width: 640px) {
  .live-missed-player-dialog { max-width: 30rem; margin-bottom: 1rem; border-radius: 1.9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .live-selected-player.is-confirming { animation-duration: .01ms; }
}

/* 10 August 2026 — all temporary-site player handicaps stay on one page. */
.handicap-player-roster { border-bottom: 1px solid var(--line); padding-bottom: 1rem; }
.handicap-player-roster header { margin-bottom: .55rem; }
.handicap-player-roster header h3 { margin-top: .08rem; font-size: 1.45rem; letter-spacing: -.03em; }
.handicap-player-roster > div { display: grid; }
.handicap-player-roster button {
  display: grid;
  grid-template-columns: 2.5rem minmax(0,1fr) auto;
  min-height: 4.25rem;
  align-items: center;
  gap: .75rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  box-shadow: none;
  padding: .55rem 0;
  text-align: left;
}
.handicap-player-roster button:last-child { border-bottom: 0; }
.handicap-player-roster button > span {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-size: .78rem;
  font-weight: 800;
}
.handicap-player-roster button strong { min-width: 0; overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.handicap-player-roster button b { font-size: 1.7rem; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.handicap-player-roster button.is-active { background: #f1f8ed; }
.handicap-player-roster button.is-active > span { background: var(--green-dark); color: var(--lime); }
.handicap-player-roster button.is-active b { color: var(--green-dark); }
.handicap-player-roster + .handicap-profile-head { margin-top: 1.1rem; }

/* 10 August 2026 — Wise-referenced light scoring proposal.
   Flat hierarchy, quiet controls and one lime action replace nested dashboard cards. */
.is-live-play { background: #f2f3f0; }
.is-live-play .workspace { background: transparent; }
.live-round-tracker {
  width: min(100%,30rem);
  min-height: 100dvh;
  margin-inline: auto;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(22,50,0,.05);
}
.live-round-top {
  gap: .8rem;
  border-bottom: 0;
  background: #fff;
  padding: max(1.1rem,env(safe-area-inset-top)) 1.1rem .9rem;
}
.live-back-button {
  width: 3rem;
  min-width: 3rem;
  min-height: 3rem;
  border: 0;
  background: #eef0ec;
  color: #163200;
  font-size: 1.75rem;
  font-weight: 420;
}
.live-round-title .eyebrow {
  color: #163200;
  font-size: .82rem;
  font-weight: 780;
  letter-spacing: .04em;
}
.live-round-title .eyebrow span {
  width: .55rem;
  height: .55rem;
  margin-right: .35rem;
  background: #a4e974;
  box-shadow: 0 0 0 .3rem #edf9e6;
}
.live-round-title h3 {
  margin-top: .22rem;
  color: #050805;
  font-size: 1.55rem;
  font-weight: 760;
  letter-spacing: -.045em;
}
.live-round-title > p:last-child {
  margin-top: .15rem;
  color: #566356;
  font-size: .88rem;
}
.live-review-button,
.live-review-button.needs-review {
  min-width: auto;
  min-height: 3rem;
  border: 0;
  background: #a4e974;
  color: #163200;
  padding-inline: 1rem;
  font-size: .88rem;
  font-weight: 780;
}
.b3-live-state {
  min-height: 3.55rem;
  margin: 0 1.1rem;
  border: 0;
  border-block: 1px solid #dddfda;
  border-radius: 0;
  background: #fff;
  padding: .7rem 0;
}
.b3-live-state .state-badge {
  min-height: 2rem;
  border-radius: 999px;
  background: #edf7e7;
  color: #163200;
  padding-inline: .7rem;
  font-size: .76rem;
}
.b3-live-state p { color: #566356; font-size: .82rem; line-height: 1.35; }
.b3-live-state strong { color: #163200; }
.live-view-switch {
  gap: 1.5rem;
  margin: .55rem 1.1rem 0;
  border-bottom: 1px solid #dddfda;
  border-radius: 0;
  background: #fff;
  padding: 0;
}
.live-view-switch button {
  position: relative;
  min-height: 3.25rem;
  border-radius: 0;
  background: transparent;
  color: #657065;
  font-size: .95rem;
  font-weight: 720;
}
.live-view-switch button.is-active {
  background: transparent;
  color: #163200;
}
.live-view-switch button.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: #163200;
  content: "";
}
.live-scoring-view,
.live-leaderboard-view { gap: 0; }
.live-hole-bar {
  grid-template-columns: 3rem minmax(0,1fr) 3rem;
  min-height: 8.5rem;
  margin: 0 1.1rem;
  padding: 1rem 0 .8rem;
}
.live-hole-bar button {
  width: 3rem;
  min-height: 3rem;
  border-radius: 999px;
  background: #eef0ec;
  color: #163200;
  font-size: 1.65rem;
}
.live-hole-bar button:disabled { opacity: .32; }
.live-hole-bar .live-hole-focus {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-content: center;
  justify-items: center;
  gap: .65rem;
  width: 100%;
  text-align: center;
}
.live-hole-number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .38rem;
}
.live-hole-bar .live-hole-number > span {
  color: #566356;
  font-size: .9rem;
  font-weight: 680;
}
.live-hole-bar .live-hole-number > strong {
  color: #163200;
  font-size: clamp(4.25rem,18vw,5rem);
  font-weight: 680;
  line-height: .82;
  letter-spacing: -.09em;
}
.live-hole-count { white-space: nowrap; }
.live-hole-bar .live-hole-count b {
  color: #163200;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}
.live-hole-bar .live-hole-facts {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .42rem;
}
.live-hole-bar .live-hole-facts > span {
  color: #354535;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.2;
  white-space: nowrap;
}
.live-hole-bar .live-hole-facts > span + span::before {
  margin-right: .42rem;
  color: #a5ada5;
  content: "·";
}
.live-score-entry-wrap { margin: 0 1.1rem; background: #fff; }
.live-score-entry-head { min-height: 4.4rem; padding: .55rem 0 .8rem; }
.live-score-entry-head span { color: #657065; font-size: .84rem; }
.live-score-entry-head strong { margin-top: .16rem; font-size: 1.08rem; letter-spacing: -.018em; }
.live-score-entry-head button {
  min-height: 2.75rem;
  border: 0;
  background: #eef0ec;
  color: #163200;
  padding-inline: .9rem;
  font-size: .82rem;
}
.live-score-entry-list,
.live-score-board { display: grid; }
.live-player-row.live-scoring-row {
  grid-template-columns: 2.75rem minmax(0,1fr) 4.75rem;
  min-height: 5rem;
  gap: .8rem;
  border-bottom: 1px solid #e3e5e0;
  border-radius: 0;
  background: #fff;
  padding: .65rem 0;
}
.live-player-row.live-scoring-row.is-active {
  width: 100%;
  margin-inline: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: inset 3px 0 #163200;
  padding-inline: .65rem 0;
}
.live-scoring-avatar {
  width: 2.75rem;
  height: 2.75rem;
  background: #eef0ec;
  color: #163200;
  font-size: .82rem;
}
.live-scoring-row.is-active .live-scoring-avatar { background: #163200; color: #a4e974; }
.live-player-name strong { color: #050805; font-size: 1rem; }
.live-player-name small { margin-top: .12rem; color: #657065; font-size: .82rem; }
.live-scoring-value strong { color: #050805; font-size: 2.15rem; font-weight: 650; }
.live-scoring-value small { color: #657065; font-size: .76rem; }
.live-scorecard-strip {
  width: calc(100% - 2.2rem);
  min-height: 3.25rem;
  margin: .65rem 1.1rem 0;
  gap: .15rem;
  overflow-x: auto;
  border: 0;
  border-radius: 1rem;
  background: #eef0ec;
  padding: .25rem 0;
}
.live-card-hole {
  flex: 1 0 2.75rem;
  min-height: 2.75rem;
  border: 0;
  border-radius: .78rem;
  background: transparent;
  color: #566356;
}
.live-card-hole.is-active {
  background: #fff;
  color: #163200;
  box-shadow: 0 1px 4px rgba(22,50,0,.14);
}
.live-card-hole b,
.live-card-hole strong { font-size: .75rem; }

.live-leaderboard-intro {
  min-height: 4.8rem;
  margin: 0 1.1rem;
  border-bottom: 1px solid #dddfda;
  padding: .65rem 0;
}
.live-leaderboard-intro span { color: #657065; font-size: .82rem; }
.live-leaderboard-intro strong { font-size: 1.25rem; letter-spacing: -.025em; }
.live-leaderboard-intro button {
  min-height: 2.85rem;
  background: #a4e974;
  padding-inline: 1rem;
  font-size: .82rem;
}
.live-score-board-wrap {
  margin: 0 1.1rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.live-score-board-head { display: none; }
.live-score-board-wrap .live-player-row {
  grid-template-columns: 1.75rem minmax(0,1fr) 3.5rem 3rem;
  min-height: 4.65rem;
  gap: .55rem;
  border-bottom: 1px solid #e3e5e0;
  background: #fff;
  padding: .55rem 0;
}
.live-score-board-wrap .live-player-row.is-active {
  background: #fff;
  box-shadow: inset 3px 0 #163200;
  padding-left: .55rem;
}
.live-position {
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: #788278;
  font-size: .88rem;
  font-weight: 650;
  text-align: center;
}
.live-player-row.is-active .live-position { background: transparent; color: #163200; }
.live-total { color: #163200; font-size: 1.35rem; font-weight: 720; }
.live-current-score {
  width: auto;
  min-height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #050805;
  font-size: 1.65rem;
  font-weight: 650;
}
.live-score-board-wrap .live-total strong,
.live-score-board-wrap .live-current-score {
  font-size: 1.35rem;
  font-weight: 720;
}
.live-game-shelf {
  gap: .45rem;
  margin: .8rem 1.1rem 0;
  border: 0;
  border-top: 1px solid #dddfda;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  padding: 1rem 0 0;
}
.live-game-panel-head > span,
.skins-panel-head > span {
  border: 0;
  background: #eef0ec;
  color: #163200;
}
.live-game-panel-head h3 { margin-top: .12rem; font-size: 1.3rem; letter-spacing: -.03em; }
.live-game-rank-list > div { min-height: 3.35rem; padding: .5rem 0; }
.live-game-rank-list span,
.skins-leaderboard span {
  width: 1.75rem;
  height: 1.75rem;
  background: #eef0ec;
  color: #163200;
  font-size: .8rem;
}
.live-game-rank-list strong { font-size: .95rem; }
.live-game-rank-list small { color: #566356; font-size: .9rem; }
.live-game-details summary { min-height: 3rem; color: #163200; font-weight: 720; }

.live-finish-review-head { position: relative; padding-right: 3.5rem; }
.live-finish-close {
  display: grid;
  width: 3rem;
  min-width: 3rem;
  min-height: 3rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #eef0ec;
  color: #163200;
  font-size: 1.55rem;
  line-height: 1;
}

@media (max-width: 359px) {
  .live-round-top { grid-template-columns: 2.75rem minmax(0,1fr) auto; gap: .55rem; padding-inline: .75rem; }
  .live-back-button { width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; }
  .live-round-title h3 { font-size: 1.3rem; }
  .live-review-button, .live-review-button.needs-review { min-height: 2.75rem; padding-inline: .75rem; }
  .b3-live-state, .live-view-switch, .live-hole-bar, .live-score-entry-wrap, .live-score-board-wrap, .live-leaderboard-intro, .live-game-shelf { margin-inline: .75rem; }
  .live-scorecard-strip { width: calc(100% - 1.5rem); margin-inline: .75rem; }
  .live-hole-bar .live-hole-facts { gap: .32rem; }
  .live-hole-bar .live-hole-facts > span { font-size: .92rem; }
  .live-hole-bar .live-hole-facts > span + span::before { margin-right: .32rem; }
  .live-score-entry-head strong { font-size: .98rem; }
  .live-player-row.live-scoring-row { grid-template-columns: 2.5rem minmax(0,1fr) 4.25rem; gap: .55rem; }
  .live-scoring-avatar { width: 2.5rem; height: 2.5rem; }
}

@media (min-width: 768px) {
  .is-live-play { padding-block: .8rem; }
  .live-round-tracker { min-height: calc(100dvh - 1.6rem); border-radius: 1.4rem; }
}

/* 10 August 2026 — live scoring facts and neutral full-card selection. */
.live-score-entry-head {
  display: grid;
  grid-template-columns: repeat(2,7.75rem);
  grid-template-rows: auto auto;
  align-items: center;
  justify-content: space-between;
  min-height: 5.25rem;
  gap: .55rem 1rem;
  padding: .85rem 0 1rem;
}
.live-score-entry-head span {
  font-size: .96rem;
  line-height: 1.25;
}
.live-score-entry-head strong {
  grid-column: 1 / -1;
  margin-top: .22rem;
  font-size: 1.28rem;
  line-height: 1.2;
}
.live-score-entry-head button {
  width: 7.75rem;
  min-width: 7.75rem;
  min-height: 3.25rem;
  border: 1px solid #163200;
  background: #163200;
  color: #fff;
  box-shadow: 0 .15rem .45rem rgba(22,50,0,.18);
  padding-inline: 1.1rem;
  font-size: .95rem;
}
.live-score-entry-head button:active {
  background: #28530d;
  transform: translateY(1px);
}
.live-score-entry-head button:focus-visible {
  outline: .18rem solid #a4e974;
  outline-offset: .14rem;
}
.live-player-row.live-scoring-row {
  grid-template-columns: 3.25rem minmax(0,1fr) 7rem;
  min-height: 6rem;
  gap: .9rem;
  padding-block: .85rem;
}
.live-player-row.live-scoring-row .live-scoring-avatar {
  width: 3.25rem;
  height: 3.25rem;
  font-size: 1rem;
}
.live-player-row.live-scoring-row .live-player-name strong { font-size: 1.15rem; }
.live-player-row.live-scoring-row .live-player-name small {
  margin-top: .2rem;
  font-size: .9rem;
}
.live-scoring-metrics {
  display: grid;
  grid-template-columns: 3.5rem 3.75rem;
  justify-content: end;
  align-items: start;
  gap: .6rem;
  min-width: 0;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.live-scoring-metrics > span {
  display: grid;
  grid-template-rows: 3.2rem 1rem;
  align-items: center;
  justify-items: center;
}
.live-scoring-metrics strong,
.live-scoring-metrics small { display: block; }
.live-scoring-metrics strong {
  color: #050805;
  font-size: 1.65rem;
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.035em;
}
.live-scoring-metrics small {
  width: 100%;
  margin-top: .2rem;
  color: #657065;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.live-player-name .live-player-gross-progress {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-player-name .live-player-gross-progress b {
  display: inline;
  color: inherit;
  font-size: inherit;
  font-weight: 800;
  letter-spacing: inherit;
  line-height: inherit;
}
.live-player-name > .live-hole-strokes {
  display: inline-flex;
  min-height: 1.7rem;
  align-items: center;
  margin-top: .35rem;
  border-radius: 999px;
  background: #edf7e7;
  color: #163200;
  padding: .16rem .55rem;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
}
.live-total strong,
.live-total small { display: block; text-align: center; }
.live-total small,
.live-current-term { color: #657065; font-size: .68rem; font-weight: 620; }
.live-current-score.is-under,
.live-scoring-metrics .is-under strong { color: #163200; }

/* Signed net position remains visible; colour is supplemental leaderboard meaning. */
.live-net-score-badge {
  display: inline-grid !important;
  width: 3.2rem;
  height: 3.2rem;
  margin-inline: auto;
  place-items: center;
  border-radius: 999px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.live-net-score-badge.is-under,
.live-net-metric.is-under .live-net-score-badge {
  background: #ffe5e7;
  color: #b42336;
}
.live-net-score-badge.is-even,
.live-net-score-badge.is-over,
.live-net-metric.is-even .live-net-score-badge,
.live-net-metric.is-over .live-net-score-badge {
  background: #e4f5da;
  color: #163200;
}
.live-scoring-metrics .live-net-score-badge { width: 3.75rem; height: 3.75rem; font-size: 1.65rem; font-weight: 720; }
.live-scoring-metrics > span:first-child strong { font-size: 2rem; }
.live-follower-net .live-net-score-badge { font-size: .95rem; }
.live-current-score.live-net-score-badge { width: 2.75rem; min-height: 2.75rem; }

.live-full-scorecard-head > button {
  display: inline-flex;
  width: auto;
  min-width: 8.5rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border: 1px solid #163200;
  background: #163200;
  color: #fff;
  box-shadow: 0 .15rem .45rem rgba(22,50,0,.18);
  padding-inline: .85rem;
  font-size: 1.1rem;
}
.live-full-scorecard-head > button span {
  color: inherit;
  font-size: .88rem;
  font-weight: 800;
}
.live-full-scorecard-head > button:active {
  background: #28530d;
  transform: translateY(1px);
}
.live-full-scorecard-head > button:focus-visible {
  outline: .18rem solid #a4e974;
  outline-offset: .14rem;
}
.live-full-scorecard-players button.is-active {
  border-color: #163200;
  background: #163200;
  color: #fff;
}
.live-full-scorecard-players button.is-active > span:first-child { background: #a4e974; color: #163200; }
.live-full-scorecard-players button {
  grid-template-columns: minmax(0,1fr);
  min-height: 3.65rem;
  white-space: normal;
}
.live-full-scorecard-players button > span:first-child {
  display: grid;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border-radius: 999px;
  background: #edf7e7;
  color: #163200;
  font-size: .68rem;
  font-weight: 780;
}
.live-full-scorecard-player-copy {
  display: grid !important;
  width: auto !important;
  height: auto !important;
  min-width: 0;
  align-content: center;
  justify-items: start;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
}
.live-full-scorecard-player-copy strong,
.live-full-scorecard-player-copy small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-full-scorecard-player-copy strong { font-size: .84rem; }
.live-full-scorecard-player-copy small {
  margin-top: .14rem;
  color: #657065;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.2;
}
.live-full-scorecard-players button.is-active .live-full-scorecard-player-copy strong { color: #fff; }
.live-full-scorecard-players button.is-active .live-full-scorecard-player-copy small { color: rgba(255,255,255,.72); }
.live-putt-keypad {
  grid-template-columns: repeat(2,minmax(0,1fr));
  grid-template-rows: repeat(3,minmax(0,1fr));
  min-height: clamp(16.55rem,35dvh,22.55rem);
}
.live-putt-keypad button { min-height: 0; }
.live-putt-keypad button.is-skip { background: #eef0ec; }
.live-full-scorecard-table td.is-current:not(.is-total) { background: #edf7e7; color: #163200; }
.live-full-scorecard-table .scorecard-hole-row td.is-current { background: #a4e974; color: #163200; }
.live-full-scorecard-table .scorecard-score-row button.is-par { background: #163200; color: #fff; }

/* T23 visual recovery — one all-player surface using the locked M3 formation. */
html:has(.combined-full-card-sheet),
body:has(.combined-full-card-sheet) { min-width: 0; }
.combined-full-card-sheet {
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: 0;
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  background: var(--paper);
  padding: max(.5rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
}
.combined-full-card-head {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: stretch;
  gap: 0;
  padding: 0;
}
.combined-full-card-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.75rem;
}
.combined-full-card-nav .eyebrow {
  display: flex;
  align-items: center;
  gap: .42rem;
  margin: 0;
  color: var(--ink-soft);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.combined-full-card-nav .eyebrow > span {
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  background: var(--green);
}
.combined-full-card-head h1 {
  margin: .5rem 0 0;
  color: var(--ink);
  font-size: 1.75rem;
  font-weight: 780;
  line-height: 2rem;
  letter-spacing: -.03em;
}
.combined-full-card-head #combined-full-card-instruction {
  margin: .25rem 0 0;
  color: var(--ink-soft);
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.25rem;
}
.combined-full-card-course-context {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 .5rem;
  min-width: 0;
  margin: .625rem 0 0;
  color: var(--ink-soft);
}
.combined-full-card-course-context strong {
  color: var(--ink);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.25rem;
}
.combined-full-card-course-context span {
  min-width: 0;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.25rem;
  overflow-wrap: anywhere;
}
.combined-back-to-scoring {
  width: 100%;
  min-height: 3.25rem;
  margin-top: .875rem;
  border: 0;
  border-radius: .625rem;
  background: var(--green-dark);
  color: #fff;
  box-shadow: none;
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: 820;
  touch-action: manipulation;
  transform: none;
}
.combined-back-to-scoring:active { background: #123f2b; transform: none; }
.combined-quit-round {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 0;
  border-radius: .375rem;
  background: transparent;
  color: var(--red);
  box-shadow: none;
  padding: .35rem .5rem;
  font-size: .875rem;
  font-weight: 800;
  white-space: nowrap;
  touch-action: manipulation;
  transform: none;
}
.combined-quit-round:active { background: var(--red-soft); transform: none; }
.combined-back-to-scoring:focus-visible,
.combined-quit-round:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 2px;
}
.combined-full-card-content {
  min-height: 0;
  margin-top: .875rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--line);
  padding: .625rem 0 .35rem;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.combined-card-status-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .35rem .75rem;
  margin: 0 0 .5rem;
  color: var(--ink-soft);
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.125rem;
}
.combined-card-status-row span:first-child::before {
  display: inline-block;
  width: .42rem;
  height: .42rem;
  margin-inline-end: .38rem;
  border-radius: 999px;
  background: #27814f;
  content: "";
}
.live-m3-all-player-surface { min-width: 0; }
.live-m3-card-track {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.live-m3-card-track::-webkit-scrollbar { display: none; }
.live-m3-player-card {
  flex: 0 0 100%;
  width: 100%;
  max-height: none;
  overflow: visible;
  scroll-snap-align: start;
  border: 1px solid rgba(18,72,45,.08);
  border-radius: 1.2rem;
  box-shadow: 0 .8rem 2rem rgba(20,42,29,.1);
  padding: .8rem;
}
.live-m3-player-card:focus { outline: none; }
.live-m3-player-card:focus-visible { box-shadow: 0 0 0 .2rem #a4e974,0 .8rem 2rem rgba(20,42,29,.1); }
.live-m3-card-head { grid-template-columns: 3rem minmax(0,1fr); }
.live-m3-card-head:has(.live-m3-review-state) { grid-template-columns: 3rem minmax(0,1fr) auto; }
.live-m3-review-state {
  align-self: start;
  color: #42614f;
  font-size: .68rem;
  font-weight: 800;
}
.live-m3-nine {
  max-width: 100%;
  overflow-x: clip;
}
.live-m3-nine table {
  width: 100%;
  min-width: 0;
}
.live-m3-nine tbody tr,
.live-m3-nine tbody th,
.live-m3-nine tbody td {
  height: 2.85rem;
}
.live-m3-nine tbody th,
.live-m3-nine tbody td {
  padding-block: 0;
  vertical-align: middle;
}
.live-m3-nine .live-m3-cell-action {
  display: grid;
  width: 100%;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 0;
  border-radius: .25rem;
  background: transparent;
  color: inherit;
  box-shadow: none;
  padding: 0;
  font: inherit;
  font-weight: 800;
  touch-action: manipulation;
}
.live-m3-nine .score-result .live-m3-cell-action { color: inherit; }
.live-m3-cell-action:focus-visible {
  outline: .2rem solid var(--lime);
  outline-offset: .15rem;
}
.live-m3-fairway-row td { color: #31523f; }
.live-m3-player-controls {
  display: block;
  margin-top: .75rem;
}
.live-m3-player-controls-label {
  display: block;
  margin-bottom: .375rem;
  color: var(--ink);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.125rem;
}
.live-m3-player-segments {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: .5rem;
  background: transparent;
}
.live-m3-player-controls.player-count-1 .live-m3-player-segments { grid-template-columns: minmax(0,1fr); }
.live-m3-player-controls button {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  min-width: 0;
  min-height: 3.25rem;
  align-items: center;
  gap: .45rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  padding: .5rem .55rem;
  text-align: left;
  touch-action: manipulation;
  transform: none;
}
.live-m3-player-controls button:nth-child(even) { border-inline-start: 1px solid var(--line-strong); }
.live-m3-player-controls button:nth-child(n+3) { border-top: 1px solid var(--line-strong); }
.live-m3-player-controls button > span {
  display: block;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: var(--ink-soft);
  font-size: .75rem;
  font-weight: 700;
  line-height: .875rem;
}
.live-m3-player-controls button strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
  font-size: .875rem;
  font-weight: 750;
  line-height: 1.0625rem;
}
.live-m3-player-controls button:active { background: var(--paper-soft); transform: none; }
.live-m3-player-controls button.is-selected {
  background: var(--green-dark);
  color: #fff;
  box-shadow: none;
}
.live-m3-player-controls button.is-selected > span { background: transparent; color: var(--lime); }
.live-m3-player-controls button.is-selected strong { color: #fff; }
.live-m3-player-controls button.is-selected:active { background: #123f2b; }
.live-m3-player-controls button:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: -3px;
}
.combined-review-player { width: calc(100% - 1rem); min-height: 2.75rem; margin: .5rem; border: 0; border-radius: .55rem; background: #e5f5dc; color: #123c27; font-weight: 780; }
.combined-review-player:disabled { background: #f0f2ef; color: #687068; }
.combined-full-card-review-actions { padding-top: .15rem; }

@media (max-width: 359px) {
  .combined-full-card-nav { flex-wrap: wrap; gap: .25rem; }
  .combined-full-card-course-context { display: grid; gap: .125rem; }
}

@media (min-width: 360px) {
  .live-m3-player-controls.player-count-3 .live-m3-player-segments { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .live-m3-player-controls.player-count-4 .live-m3-player-segments { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .live-m3-player-controls.player-count-3 button,
  .live-m3-player-controls.player-count-4 button { border-top: 0; }
  .live-m3-player-controls.player-count-3 button + button,
  .live-m3-player-controls.player-count-4 button + button { border-inline-start: 1px solid var(--line-strong); }
}

@media (prefers-reduced-motion: reduce) {
  .live-m3-card-track { scroll-behavior: auto; }
  .combined-back-to-scoring,
  .combined-quit-round,
  .live-m3-player-controls button,
  .live-m3-cell-action { transition: none; }
}
.combined-full-card-review-actions button { width: 100%; min-height: 3rem; }
.combined-card-editor-backdrop {
  position: fixed;
  inset: 0;
  z-index: 116;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(5,12,7,.58);
}
.combined-card-editor {
  display: grid;
  width: 100%;
  max-height: 82dvh;
  overflow-y: auto;
  gap: 1rem;
  border-radius: 1rem 1rem 0 0;
  background: #fff;
  padding: 1rem .9rem max(1rem,env(safe-area-inset-bottom));
}
.combined-card-editor > header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.combined-card-editor > header p { margin: 0; color: #5a645d; font-size: .76rem; }
.combined-card-editor > header h4 { margin: .15rem 0 0; color: #050805; font-size: 1.4rem; }
.combined-card-editor > header button { width: 2.75rem; min-width: 2.75rem; height: 2.75rem; border: 1px solid #ccd2cc; border-radius: 999px; background: #fff; color: #1d2820; box-shadow: none; }
.combined-card-stepper { display: grid; grid-template-columns: 3.5rem minmax(5rem,1fr) 3.5rem; align-items: center; gap: .7rem; }
.combined-card-stepper button { min-height: 3.5rem; border: 0; border-radius: .7rem; background: #153f2a; color: #fff; font-size: 1.7rem; }
.combined-card-stepper output { color: #061009; font-size: 3rem; font-weight: 820; text-align: center; }
.combined-card-fairway-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.combined-card-fairway-choices button { min-height: 3rem; border: 1px solid #bfc8c1; border-radius: .62rem; background: #fff; color: #173323; box-shadow: none; font-size: .82rem; font-weight: 720; }
.combined-card-fairway-choices button.is-selected { border-color: #123c27; background: #123c27; color: #fff; }
.combined-card-editor-status { margin: 0; border-radius: .55rem; background: #f2f5f1; padding: .65rem; color: #3c4940; font-size: .78rem; }
.combined-card-editor-status.is-conflict,
.combined-card-editor-status.is-error { background: #fff0f0; color: #8e1f25; }
.combined-card-editor > footer { display: grid; grid-template-columns: .8fr 1.2fr; gap: .55rem; }
.combined-card-editor > footer button { min-height: 3rem; border-radius: .62rem; box-shadow: none; font-weight: 780; }
.combined-card-cancel { border: 1px solid #cad0ca; background: #fff; color: #263128; }
.combined-card-save { border: 0; background: #123c27; color: #fff; }
.live-quit-round-backdrop { align-items: center; justify-content: center; padding: 1rem; }
.live-quit-round-dialog { width: min(100%,40rem); overflow: hidden; border-radius: 1rem; background: #f7f7f7; box-shadow: 0 1.4rem 4rem rgba(0,0,0,.3); }
.live-quit-round-copy { padding: 1.8rem 1.2rem 1.65rem; text-align: center; }
.live-quit-round-copy h3 { margin: 0; color: #030403; font-size: 1.55rem; letter-spacing: -.035em; }
.live-quit-round-copy p { margin: .65rem 0 0; color: #454b47; font-size: 1rem; line-height: 1.35; }
.live-quit-round-actions { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #cdd1cd; }
.live-quit-round-actions button { min-height: 4rem; border: 0; border-radius: 0; box-shadow: none; color: #fff; font-size: 1rem; font-weight: 800; }
.live-keep-round { background: #10472a; }
.live-quit-confirm { border-left: 1px solid rgba(255,255,255,.72) !important; background: #bf292f; }

@media (min-width: 48rem) {
  .combined-full-card-sheet { width: min(58rem,calc(100vw - 2rem)); height: min(62rem,calc(100dvh - 2rem)); border-radius: 1rem; padding: 1rem; }
  .combined-card-editor { width: min(28rem,calc(100vw - 2rem)); margin-bottom: 1rem; border-radius: 1rem; }
}

@media (max-width: 359px) {
  .live-score-entry-head {
    min-height: 4.8rem;
    gap: .55rem;
    padding-block: .7rem .85rem;
  }
  .live-score-entry-head span { font-size: .82rem; }
  .live-score-entry-head strong { font-size: 1.05rem; }
  .live-score-entry-head button {
    min-height: 3rem;
    padding-inline: .75rem;
    font-size: .82rem;
  }
  .live-player-row.live-scoring-row {
    grid-template-columns: 2.9rem minmax(0,1fr) 6.3rem;
    min-height: 5.4rem;
    gap: .5rem;
    padding-block: .7rem;
  }
  .live-player-row.live-scoring-row .live-scoring-avatar {
    width: 2.9rem;
    height: 2.9rem;
    font-size: .88rem;
  }
  .live-player-row.live-scoring-row .live-player-name strong { font-size: 1.05rem; }
  .live-player-row.live-scoring-row .live-player-name small { font-size: .78rem; }
  .live-scoring-metrics {
    grid-template-columns: 2.8rem 3.1rem;
    gap: .35rem;
  }
  .live-scoring-metrics > span { grid-template-rows: 2.8rem .9rem; }
  .live-scoring-metrics .live-net-score-badge {
    width: 3.1rem;
    height: 3.1rem;
    font-size: 1.45rem;
    font-weight: 720;
  }
  .live-scoring-metrics > span:first-child strong { font-size: 1.65rem; }
  .live-scoring-metrics small { font-size: .7rem; }
  .live-selected-player { padding-inline: 4.9rem; }
  .live-putt-stage-action { min-width: 4.6rem; padding-inline: .45rem; }
}

/* MyGolfComps player selection switch — keep the approved setup spacing. */
.round-player-card {
  grid-template-columns: 2rem minmax(0,1fr) 3rem;
}
.round-player-toggle {
  position: relative;
  display: block;
  width: 3rem;
  height: 1.75rem;
  border: 0;
  border-radius: 999px;
  background: #e5e7e6;
  box-shadow: inset 0 0 0 1px rgba(22,50,0,.05);
  transition: background-color 140ms ease;
}
.round-player-toggle .selected-icon,
.round-player-toggle .unselected-icon { display: none !important; }
.round-player-toggle::after {
  position: absolute;
  top: .1875rem;
  left: .1875rem;
  width: 1.375rem;
  height: 1.375rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(5,8,5,.2);
  content: "";
  transition: transform 140ms ease;
}
.round-player-card:has(input:checked) .round-player-toggle {
  background: #163200;
  color: #fff;
}
.round-player-card:has(input:checked) .round-player-toggle::after {
  transform: translateX(1.25rem);
}
.round-player-card:not(:has(input:checked)) {
  background: #fff;
  opacity: 1;
}
.round-player-card:not(:has(input:checked)) .round-player-avatar,
.round-player-card:not(:has(input:checked)) .round-player-copy { opacity: .48; }

@media (prefers-reduced-motion: reduce) {
  .round-player-toggle,
  .round-player-toggle::after { transition: none; }
}

/* Wise-native round setup: flat sections, quiet grey rows and inset selectors. */
.is-round-setup { background: #fff; }
.is-round-setup .panel { padding-inline: max(1rem,env(safe-area-inset-left)); }
.v10-round-launcher { gap: 0; width: min(100%,32rem); }
.game-setup-step {
  display: flex;
  min-height: auto;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1.35rem;
  border-top: 0;
  padding: 1.1rem 0 .65rem;
}
.game-setup-step:first-of-type { margin-top: .7rem; border-top: 0; padding-top: .5rem; }
.game-step-marker { display: none; }
.game-setup-step h4 {
  color: #163200;
  font-size: .86rem;
  font-weight: 780;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.game-setup-step .step-meta { color: #566356; font-size: .82rem; font-weight: 650; }
.live-start-grid,
.round-player-selector,
.round-scorekeeper-row,
.scoring-control-group,
.game-choice-grid,
.advanced-game-settings {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.live-start-grid { gap: .7rem; }
.course-select-row {
  min-height: 4rem;
  border: 0;
  border-radius: 1rem;
  background: #f1f2ef;
  box-shadow: none;
}
.course-select-row strong {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  color: #050805;
  font-size: 1rem;
  font-weight: 730;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.course-select-row .course-leading-icon { margin-left: 1rem; color: #163200; }
.course-select-row .course-trailing-icon { margin-right: .8rem; color: #566356; }
.course-control-row { gap: .75rem; }
.course-control-group > span,
.scoring-control-group > span {
  color: #566356;
  font-size: .76rem;
  letter-spacing: .045em;
}
.course-control-row .segmented,
.score-track-grid {
  gap: .25rem;
  overflow: visible;
  border: 0;
  border-radius: 999px;
  background: #eef0ec;
  padding: .25rem;
}
.course-control-row .segmented label,
.score-track-card {
  min-height: 2.85rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #566356;
  font-size: .82rem;
}
.course-control-row .segmented label:has(input:checked),
.course-control-row .round-segmented label:has(input:checked),
.score-track-card:has(input:checked) {
  background: #fff;
  color: #163200;
  box-shadow: 0 1px 4px rgba(5,8,5,.12);
}
.course-facts {
  justify-content: flex-start;
  min-height: 2.2rem;
  gap: .9rem;
  padding-inline: .2rem;
  color: #566356;
  font-size: .78rem;
}
.round-player-grid {
  gap: 0 !important;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.round-player-card,
.round-player-card:last-child {
  min-height: 4.15rem;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: .65rem .15rem;
}
.round-player-card:last-child { border-bottom: 0 !important; }
.round-player-avatar { width: 2.35rem; height: 2.35rem; background: #edf7e7; color: #163200; box-shadow: none; }
.round-player-copy strong { font-size: .95rem; }
.round-scorekeeper-row {
  grid-template-columns: 2.5rem minmax(0,1fr) auto;
  min-height: 4.15rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: .65rem .15rem;
}
.round-scorekeeper-row .round-player-avatar { width: 2.5rem; height: 2.5rem; background: #163200; color: #fff; }
.round-scorekeeper-row em { border: 0; background: #fff; color: #163200; padding: .45rem .7rem; }
.round-player-actions .ghost-button {
  min-height: 3.5rem;
  border: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #163200;
  padding-inline: .15rem;
}
.game-choice-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border: 0;
}
.game-choice-grid legend { margin: .1rem 0 .25rem; color: #566356; font-size: .76rem; }
.game-choice-card,
.game-choice-card:first-of-type,
.game-choice-card:last-of-type {
  display: grid;
  grid-template-columns: 1.5rem minmax(0,1fr) 1.5rem;
  min-height: 3.65rem;
  align-items: center;
  justify-items: start;
  gap: .75rem;
  border: 0;
  border-bottom: 0;
  border-radius: 0;
  background: #fff;
  color: #163200;
  padding: .55rem .15rem;
}
.game-choice-card:last-of-type { border-bottom: 0; }
.game-choice-card .ui-icon { grid-column: 1; grid-row: 1; width: 1.35rem; height: 1.35rem; }
.game-choice-card strong { grid-column: 2; grid-row: 1; color: #050805; font-size: .92rem; text-align: left; }
.game-choice-radio {
  position: static;
  grid-column: 3;
  grid-row: 1;
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border: 2px solid #9ba39b;
  border-radius: 999px;
}
.game-choice-radio::after {
  width: .65rem;
  height: .65rem;
  border-radius: 999px;
  background: transparent;
  content: "";
}
.game-choice-card:has(input:checked),
.game-choice-stableford:has(input:checked),
.game-choice-four_ball:has(input:checked) {
  background: #fff;
  color: #163200;
  box-shadow: none;
}
.game-choice-card:has(input:checked) strong { color: #050805; }
.game-choice-card:has(input:checked) .game-choice-radio { border-color: #163200; }
.game-choice-card:has(input:checked) .game-choice-radio::after { background: #163200; }
.v10-round-launcher > .primary-action {
  min-height: 3.6rem;
  margin-top: 1rem;
  border-radius: 999px;
  background: #a4e974;
  color: #163200;
  box-shadow: none;
}

.live-course-picker-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(5,8,5,.46);
  backdrop-filter: blur(.3rem);
  -webkit-backdrop-filter: blur(.3rem);
}
.live-course-picker {
  width: min(100%,32rem);
  max-height: 88dvh;
  overflow-y: auto;
  border-radius: 1.75rem 1.75rem 0 0;
  background: #fff;
  padding: 1.1rem 1rem max(1rem,env(safe-area-inset-bottom));
}
.live-course-picker header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .2rem 0 1rem;
}
.live-course-picker header h3 { margin-top: .15rem; font-size: 1.6rem; letter-spacing: -.04em; }
.live-course-picker header > button {
  display: grid;
  width: 3rem;
  min-width: 3rem;
  min-height: 3rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #eef0ec;
  color: #163200;
  font-size: 1.5rem;
}
.live-course-picker-list { display: grid; gap: .35rem; }
.live-course-picker-list > button {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border: 0;
  border-radius: 1rem;
  background: #fff;
  color: #050805;
  padding: .6rem .75rem;
  text-align: left;
}
.live-course-picker-list > button.is-selected { background: #edf7e7; }
.live-course-picker-list span { display: flex; min-width: 0; align-items: center; gap: .75rem; }
.live-course-picker-list .ui-icon { width: 1.3rem; height: 1.3rem; color: #163200; }
.live-course-picker-list strong { overflow: hidden; font-size: .96rem; text-overflow: ellipsis; white-space: nowrap; }
.live-course-picker-list em { color: #566356; font-size: .78rem; font-style: normal; font-weight: 680; }
.live-course-picker-list .is-selected em { color: #163200; }

@media (min-width: 640px) {
  .live-course-picker { margin-bottom: 1rem; border-radius: 1.75rem; }
}

/* One spacing grid for the temporary round setup. */
.v10-round-launcher {
  --setup-section-gap: 2rem;
  --setup-heading-gap: .75rem;
  --setup-control-gap: .75rem;
  gap: 0;
}
.v10-round-launcher > *,
.v10-round-launcher fieldset { min-width: 0; margin-inline: 0; }
.live-launch-head { margin: 0 0 1.25rem; padding: 0; }
.game-setup-step,
.game-setup-step:first-of-type {
  min-height: auto;
  margin: var(--setup-section-gap) 0 0;
  padding: 0 0 var(--setup-heading-gap);
}
.game-setup-step:first-of-type { margin-top: 0; }
.live-start-grid,
.round-player-selector,
.round-scorekeeper-row,
.scoring-control-group,
.game-choice-grid,
.advanced-game-settings,
.round-player-actions { margin: 0; }
.live-start-grid { gap: var(--setup-control-gap); }
.course-control-row { gap: var(--setup-control-gap); }
.course-control-group,
.scoring-control-group { gap: .5rem; }
.course-control-group > span,
.scoring-control-group > span,
.game-choice-grid legend {
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
.course-control-row .segmented,
.score-track-grid { margin: 0; }
.round-player-grid { margin: 0; padding: 0; }
.round-player-card { padding-inline: .15rem; }
.round-player-actions { margin-top: .5rem; }
.round-scorekeeper-row { padding-inline: .15rem; }
.scoring-control-group + .game-choice-grid { margin-top: 1.1rem; }
.game-choice-grid { padding: 0; }
.game-choice-grid legend { margin-bottom: .65rem; }
.game-choice-card { padding-inline: .15rem; }
.advanced-game-settings { margin-top: .75rem; }
.v10-round-launcher > .primary-action { margin-top: 1.25rem; }

@media (max-width: 379px) {
  .course-control-row { grid-template-columns: 1fr; }
  .course-facts { flex-wrap: wrap; row-gap: .4rem; }
}

/* Final round-setup contract: one rhythm, flat Wise rows, MyGolfComps controls. */
.v10-round-launcher { --setup-inline: .25rem; }
.course-select-row {
  grid-template-columns: 3.1rem minmax(0,1fr) 2.7rem;
  gap: 0;
  padding: 0;
}
.course-select-row .course-leading-icon,
.course-select-row .course-trailing-icon {
  display: grid;
  height: 100%;
  margin: 0;
  place-items: center;
}
.course-select-row .course-leading-icon { grid-column: 1; }
.course-select-row strong {
  grid-column: 2;
  padding-inline: .15rem .65rem;
}
.course-select-row .course-trailing-icon { grid-column: 3; }
.course-facts {
  width: 100%;
  justify-content: center;
  padding-inline: 0;
  text-align: center;
}
.round-player-grid,
.round-player-selector,
.round-scorekeeper-row,
.game-choice-grid,
.scoring-control-group,
.advanced-game-settings { border: 0 !important; box-shadow: none !important; }
.round-player-card {
  grid-template-columns: 2.5rem minmax(0,1fr) 3.25rem;
  gap: .75rem;
  padding: .55rem var(--setup-inline);
}
.round-player-toggle { justify-self: end; }
.round-scorekeeper-row {
  grid-template-columns: 2.5rem minmax(0,1fr) auto;
  gap: .75rem;
  padding: .55rem var(--setup-inline);
}
.scorekeeper-change {
  min-height: 2.75rem;
  border: 0;
  background: transparent;
  color: #163200;
  font-size: .82rem;
  font-weight: 760;
  padding: .45rem .25rem .45rem .75rem;
}
.scorekeeper-warning {
  margin: .15rem 0 0;
  border-radius: .75rem;
  background: #fff4e5;
  color: #6e4800;
  font-size: .76rem;
  line-height: 1.4;
  padding: .65rem .75rem;
}
.scorekeeper-warning[hidden] { display: none; }
.picker-player-avatar {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 999px;
  background: #edf7e7;
  color: #163200;
  font-size: .72rem;
  font-style: normal;
  font-weight: 800;
}
.picker-empty-state { color: #566356; padding: 1rem .25rem; }
.scoring-control-group,
.game-choice-grid { padding-inline: var(--setup-inline); }
.game-choice-card { padding-inline: 0; }
.v10-round-launcher .advanced-game-settings {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.v10-round-launcher .advanced-game-settings summary {
  min-height: 2.75rem;
  border: 0;
  color: #566356;
  padding: .6rem var(--setup-inline);
}
.v10-round-launcher .skins-setup-panel,
.v10-round-launcher .team-setup-panel {
  border: 0;
  border-radius: 1rem;
  background: #f1f6ed;
  padding: 1rem;
}
.v10-round-launcher .team-name-grid { gap: .75rem; }
.v10-round-launcher .team-name-grid label,
.v10-round-launcher .team-player-assignment > label {
  color: #050805;
  font-size: .84rem;
  font-weight: 680;
}
.v10-round-launcher .team-name-grid input,
.v10-round-launcher .team-player-assignment select {
  min-height: 3rem;
  border-radius: .75rem;
  font-size: .88rem;
}
.v10-round-launcher .team-player-assignment { gap: .65rem; }
.v10-round-launcher .team-player-assignment > label {
  grid-template-columns: minmax(0,1fr) minmax(7.5rem,42%);
}
.v10-round-launcher .team-setup-panel[data-team-identity="reds-blues"] .team-name-grid label:first-child input {
  border-color: rgba(163,58,53,.5);
  background: var(--red-soft);
}
.v10-round-launcher .team-setup-panel[data-team-identity="reds-blues"] .team-name-grid label:last-child input {
  border-color: #90b3ff;
  background: #e5edff;
}
.v10-round-launcher .team-assignment-select[data-team-side="team_a"] {
  border-color: rgba(163,58,53,.42);
  background: var(--red-soft);
  color: var(--red);
}
.v10-round-launcher .team-assignment-select[data-team-side="team_b"] {
  border-color: rgba(55,110,216,.4);
  background: var(--blue-soft);
  color: var(--blue-ink);
}

/* V12 game selector: use the same inset pill language as Scoring method. */
.v10-round-launcher .game-choice-options {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .3rem;
  width: 100%;
  border-radius: 1.5rem;
  background: #eef0ec;
  padding: .3rem;
}
.v10-round-launcher .game-choice-card,
.v10-round-launcher .game-choice-card:first-of-type,
.v10-round-launcher .game-choice-card:last-of-type {
  position: relative;
  display: grid;
  grid-template-columns: 1.3rem minmax(0,auto);
  min-height: 3.2rem;
  align-items: center;
  justify-content: center;
  justify-items: center;
  gap: .45rem;
  border: 0;
  border-radius: 1.2rem;
  background: transparent;
  color: #566356;
  padding: .55rem .7rem;
}
.v10-round-launcher .game-choice-card .ui-icon {
  grid-column: 1;
  grid-row: 1;
  width: 1.2rem;
  height: 1.2rem;
}
.v10-round-launcher .game-choice-card strong {
  grid-column: 2;
  grid-row: 1;
  color: inherit;
  font-size: .82rem;
  line-height: 1.1;
  text-align: center;
}
.v10-round-launcher .game-choice-radio {
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  border-radius: inherit;
}
.v10-round-launcher .game-choice-radio::after { display: none; }
.v10-round-launcher .game-choice-card:has(input:checked),
.v10-round-launcher .game-choice-stableford:has(input:checked),
.v10-round-launcher .game-choice-match_play:has(input:checked),
.v10-round-launcher .game-choice-four_ball:has(input:checked) {
  background: #fff;
  color: #163200;
  box-shadow: 0 1px 4px rgba(5,8,5,.12);
}
.v10-round-launcher .game-choice-card:has(input:checked) strong { color: #050805; }

@media (min-width: 640px) {
  .v10-round-launcher .game-choice-options { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

/* V12 focused live scoring: the phone opens on the working card, not its summary. */
.live-round-top {
  grid-template-columns: 3rem minmax(0,1fr);
}

@media (max-width: 639px) {
  .live-round-tracker.is-scoring-focus > .live-round-top,
  .live-round-tracker.is-scoring-focus > .b3-live-state:not(.is-starter-allowance) {
    display: none;
  }

  .live-round-tracker.is-scoring-focus > .b3-live-state.is-starter-allowance {
    margin-top: .35rem;
  }

  .live-round-tracker.is-scoring-focus > .live-view-switch {
    position: sticky;
    z-index: 12;
    top: 0;
    margin-top: 0;
    background: rgba(255,255,255,.98);
    padding-top: max(.35rem,env(safe-area-inset-top));
  }
}

/* Wise iOS segmented-button grammar for the persistent two-by-two player picker. */
.rounds-player-pill-grid {
  gap: .35rem;
  border-radius: 1.55rem;
  background: #eef0ec;
  padding: .3rem;
}

.rounds-player-pill,
.rounds-player-pill.is-active {
  min-height: 3.4rem;
  border: 0;
  border-radius: 1.25rem;
  background: transparent;
  color: #0e0f0c;
  box-shadow: none;
  padding: .65rem .75rem;
  font-size: 1rem;
  font-weight: 720;
  letter-spacing: -.01em;
}

.rounds-player-pill.is-active {
  background: #fff;
  box-shadow: 0 1px 4px rgba(14,15,12,.14);
}

.rounds-player-pill:focus-visible {
  outline: 3px solid #163200;
  outline-offset: 2px;
}

@media (max-width: 359px) {
  .rounds-player-pill,
  .rounds-player-pill.is-active {
    min-height: 3.15rem;
    padding-inline: .5rem;
    font-size: .88rem;
  }
}

/* Final cascade lock: Better Ball settings remain flat after legacy setup CSS. */
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] {
  gap: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: 0 0 .2rem !important;
}
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .team-player-assignment { gap: 0; }
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .team-player-assignment > label {
  grid-template-columns: minmax(0,1fr) 7.4rem;
  min-height: 3.75rem;
  gap: .75rem;
  border-bottom: 1px solid #e4e7e1;
  padding: .55rem .1rem;
}
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .team-assignment-select {
  min-height: 2.65rem;
  border-radius: .7rem;
  background: #fff !important;
  font-size: .8rem;
}
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .team-assignment-select[data-team-side="team_a"] {
  border: 1px solid #d8ddd5;
  border-left: .28rem solid #a33a35;
  color: #8d2f2b;
}
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .team-assignment-select[data-team-side="team_b"] {
  border: 1px solid #d8ddd5;
  border-left: .28rem solid #376ed8;
  color: #285bbd;
}
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .best-ball-settings-head,
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .better-ball-view-list,
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .best-ball-points,
.v10-round-launcher .team-setup-panel[data-team-identity="red-blue"] .best-ball-side-key { background: #fff; }

/* V13 round setup — compact iOS list rhythm with one scorecard and four results. */
.v10-round-launcher {
  gap: 0;
  width: min(100%, 32rem);
}

.round-section-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}

.round-section-heading > div { min-width: 0; }
.round-section-heading h4 { margin-top: .08rem; color: #0b120b; font-size: 1.02rem; font-weight: 780; letter-spacing: -.02em; }
.round-section-kicker { display: block; color: #687168; font-size: .68rem; font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.round-course-heading { margin-top: .75rem; padding-inline: .15rem; }

.round-scoring-summary,
.round-players-section,
.round-team-section,
.round-scorekeeper-section {
  display: grid;
  gap: .4rem;
  margin-top: 1.1rem;
  min-width: 0;
}

.round-setup-title-row {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-inline: .15rem;
}

.round-setup-title-row h4 {
  color: #0b120b;
  font-size: 1.25rem;
  font-weight: 780;
  letter-spacing: -.02em;
}

.round-player-count,
.round-team-count {
  flex: none;
  color: #5d675d;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}

.round-team-count:not(.is-valid) { color: #855a12; }

.round-info-disclosure {
  min-width: 3rem;
  min-height: 3rem;
  border-radius: 999px;
  background: transparent;
  color: #315f20;
  font-size: 1rem;
  font-weight: 760;
}

.round-info-disclosure:focus-visible {
  outline: .18rem solid #163200;
  outline-offset: .08rem;
}

.round-scoring-lines {
  display: grid;
  border-block: 1px solid #e2e6df;
}

.round-scoring-lines > div {
  display: grid;
  min-height: 4.5rem;
  align-content: center;
  gap: .28rem;
  border-bottom: 1px solid #e7eae4;
  padding: .55rem .15rem;
}

.round-scoring-lines > div:last-child { border-bottom: 0; }
.round-scoring-lines strong { color: #171d17; font-size: 1.0625rem; }
.round-scoring-lines span { color: #536053; font-size: 1rem; line-height: 1.4; text-align: left; }
.round-scoring-helper { margin: .45rem .15rem; color: #687168; font-size: 1rem; line-height: 1.45; }

.round-skins-inline { display: grid; gap: .55rem; min-width: 0; margin-top: .35rem; border: 0; padding: 0; }
.round-skins-inline legend { width: 100%; color: #5d675d; padding-inline: .15rem; font-size: 1rem; font-weight: 720; letter-spacing: 0; text-transform: none; }
.round-skins-inline-rows { display: grid; gap: .5rem; }
.round-skins-inline-row { display: grid; overflow: hidden; border-radius: .95rem; background: #edf0ea; padding: .16rem; }
.round-skins-inline-row.columns-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.round-skins-inline-row.columns-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.round-skins-inline label { position: relative; min-width: 0; }
.round-skins-inline input { position: absolute; inset: 0; opacity: 0; }
.round-skins-inline span { display: grid; min-width: 0; min-height: 3rem; place-items: center; border-radius: .72rem; color: #5e675e; font-size: 1rem; font-weight: 720; }
.round-skins-inline label:has(input:checked) span { background: #fff; color: #163200; box-shadow: 0 1px 3px rgba(16,25,16,.12); }
.round-skins-inline label:has(input:focus-visible) span { outline: .18rem solid #163200; outline-offset: -.18rem; }

.round-player-selection-list,
.round-team-list {
  display: grid;
  border-block: 1px solid #e2e6df;
}

.round-player-selection-row,
.round-team-player,
.round-add-player-row {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 4.75rem;
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid #e5e8e2;
  background: transparent;
  padding: .48rem .15rem;
}

.round-player-selection-row { position: relative; cursor: pointer; }
.round-player-selection-row > input { position: absolute; inset: 0; opacity: 0; }
.round-player-selection-row:has(input:focus-visible) { outline: .18rem solid #163200; outline-offset: -.18rem; }
.round-player-selection-row.is-out .round-team-avatar,
.round-player-selection-row.is-out .round-player-selection-copy { opacity: .52; }
.round-player-selection-copy,
.round-team-player-copy { display: grid; min-width: 0; gap: .08rem; }
.round-player-selection-copy strong,
.round-team-player-copy strong { overflow: hidden; color: #171d17; font-size: 1.0625rem; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.round-player-selection-copy small,
.round-team-player-copy small { color: #697169; font-size: 1rem; }

.round-playing-switch {
  position: relative;
  display: block;
  width: 3.25rem;
  height: 1.9rem;
  border-radius: 999px;
  background: #dfe3dc;
  transition: background .16s ease;
}

.round-playing-switch i {
  position: absolute;
  top: .18rem;
  left: .18rem;
  width: 1.54rem;
  height: 1.54rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(16,25,16,.2);
  transition: transform .16s ease;
}

.round-player-selection-row:has(input:checked) .round-playing-switch { background: #315f20; }
.round-player-selection-row:has(input:checked) .round-playing-switch i { transform: translateX(1.35rem); }

.round-team-player:last-child,
.round-player-selection-row:last-of-type { border-bottom: 0; }
.round-team-avatar {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 999px;
  background: #edf3e9;
  color: #21391b;
  font-size: 1rem;
  font-weight: 800;
}

.round-team-toggle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 8.5rem;
  gap: .08rem;
  background: transparent;
}

.round-team-toggle legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.round-team-toggle label { position: relative; min-width: 0; }
.round-team-toggle input { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.round-team-toggle span {
  display: flex;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: .3rem;
  border: 1px solid transparent;
  border-radius: .52rem;
  color: #646d64;
  font-size: 1rem;
  font-weight: 720;
}
.round-team-toggle span::before { width: .42rem; height: .42rem; flex: none; border-radius: 999px; background: #aeb5ad; content: ""; }
.round-team-toggle .is-red span::before { background: #b64840; }
.round-team-toggle .is-blue span::before { background: #3d6fcf; }
.round-team-toggle .is-red:has(input:checked) span { border-color: #efd0cc; background: #fbefed; color: #8f302c; }
.round-team-toggle .is-blue:has(input:checked) span { border-color: #d6e0f5; background: #eef3fd; color: #285bbd; }
.round-team-toggle label:has(input:focus-visible) span { outline: .18rem solid #163200; outline-offset: .12rem; }

.round-team-toggle { grid-column: 3; grid-row: 1; }
.round-team-empty { min-height: 4.75rem; margin: 0; color: #697169; padding: 1.25rem .15rem; font-size: 1rem; }
.round-add-player-row { grid-template-columns: 2.75rem minmax(0,1fr) 1.25rem; width: 100%; border-inline: 0; border-top: 0; border-radius: 0; color: #244518; text-align: left; }
.round-add-player-row > span { display: grid; gap: .05rem; }
.round-add-player-row strong { font-size: 1.0625rem; }
.round-add-player-row small { color: #6b746b; font-size: 1rem; font-weight: 560; }
.round-add-player-row .ui-icon { width: 1.25rem; height: 1.25rem; }
.round-add-player-row > .ui-icon:first-child { justify-self: center; }

.round-scorekeeper-section { gap: .2rem; }
.round-scorekeeper-section .round-scorekeeper-row {
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  min-height: 4.75rem;
  border: 0;
  border-block: 1px solid #e2e6df;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: .45rem .15rem;
}
.round-scorekeeper-section .round-player-avatar { width: 2.75rem; height: 2.75rem; background: #e8eee4; color: #24411b; font-size: 1rem; }
.round-scorekeeper-copy { min-width: 0; }
.round-scorekeeper-copy strong { font-size: 1.0625rem; }
.round-scorekeeper-copy small {
  overflow: visible;
  color: #697169;
  font-size: 1rem;
  line-height: 1.35;
  text-overflow: clip;
  white-space: normal;
}
.round-scorekeeper-section .scorekeeper-change { min-height: 3rem; font-size: 1rem; }
.round-scorekeeper-section .scorekeeper-warning { font-size: 1rem; }

.v10-round-launcher > .round-start-action {
  position: static;
  z-index: 14;
  min-height: 3.5rem;
  margin-top: 1rem;
  border-radius: 999px;
  background: #a4e974;
  color: #163200;
  box-shadow: 0 .65rem 1.5rem rgba(16,42,22,.2);
  font-size: 1.0625rem;
  font-weight: 780;
}

.round-start-gate {
  margin: .9rem .15rem -.35rem;
  color: #855a12;
  font-size: 1rem;
  font-weight: 680;
  line-height: 1.35;
  text-align: center;
}

.round-start-gate[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .round-playing-switch,
  .round-playing-switch i { transition: none; }
}

.round-scoring-info-sheet {
  width: min(calc(100% - 1rem), 26rem);
  max-width: 26rem;
  max-height: min(38rem, 82dvh);
  margin: auto auto 0;
  overflow: auto;
  border: 0;
  border-radius: 1.9rem 1.9rem 0 0;
  background: #fffdf9;
  color: #0b120b;
  box-shadow: 0 -1rem 3rem rgba(19,32,20,.16);
  padding: .65rem 1rem calc(1rem + env(safe-area-inset-bottom));
}
.round-scoring-info-sheet::backdrop { background: rgba(10,18,12,.42); backdrop-filter: blur(.15rem); }
.round-scoring-sheet-handle { width: 2.5rem; height: .28rem; margin: 0 auto .75rem; border-radius: 999px; background: #ced3cc; }
.round-scoring-info-sheet header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.round-scoring-info-sheet h3 { margin-top: .1rem; font-size: 1.5rem; }
.round-scoring-info-sheet .round-section-kicker { font-size: 1rem; }
.round-scoring-info-sheet header button { display: grid; flex: none; width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; margin-right: .18rem; place-items: center; border-radius: 999px; background: #eef0ec; color: #253025; }
.round-scoring-info-sheet header .ui-icon { width: 1.15rem; height: 1.15rem; }
.round-scoring-info-sheet > p { margin: .8rem 0 .65rem; color: #566056; font-size: 1rem; line-height: 1.5; }
.round-scoring-info-list { display: grid; overflow: hidden; border: 1px solid #e1e4de; border-radius: 1rem; background: #fff; }
.round-scoring-info-list section { display: grid; gap: .2rem; min-height: 4.75rem; border-bottom: 1px solid #e6e8e3; padding: .8rem .75rem; }
.round-scoring-info-list section:last-child { border-bottom: 0; }
.round-scoring-info-list section.is-emphasised { background: #eff7ea; }
.round-scoring-info-list strong { font-size: 1.0625rem; }
.round-scoring-info-list span { color: #5b655b; font-size: 1rem; line-height: 1.45; }
.round-scoring-sheet-done { width: 100%; min-height: 3rem; margin-top: .8rem; border-radius: 999px; background: #e9f6e1; color: #244518; font-size: 1rem; font-weight: 760; }
.round-press-info-sheet {
  width: min(calc(100% - 1.25rem), 24rem);
  max-height: min(48rem, calc(100dvh - 3rem));
  margin: auto;
  border: 0;
  border-radius: 1.45rem;
  background: #fffdfa;
  box-shadow: 0 -1rem 3rem rgba(36,45,49,.14);
  padding: .65rem 1.15rem calc(1rem + env(safe-area-inset-bottom));
}
.round-press-info-sheet::backdrop { background: rgba(32,39,42,.28); backdrop-filter: blur(.1rem); }
.round-press-info-sheet .round-scoring-sheet-handle { margin-bottom: .7rem; background: #d5d9d6; }
.round-press-info-sheet header { align-items: center; }
.round-press-info-sheet h3 { margin: 0; color: #34464f; font-size: 1.4rem; font-weight: 680; letter-spacing: -.014em; line-height: 1.28; }
.round-press-info-sheet h3:focus { outline: 0; }
.round-press-info-sheet header button {
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin: -.5rem -.5rem -.5rem 0;
  background: transparent;
  color: #78858c;
}
.round-press-info-sheet header button:hover { background: transparent; color: #36454d; }
.round-press-info-sheet header .ui-icon { width: 1rem; height: 1rem; }
.round-press-info-copy { display: grid; gap: 0; margin-top: .65rem; color: #53636c; }
.round-press-info-copy section { display: grid; gap: .48rem; border-top: 1px dotted #cbd1d2; padding: .75rem 0; }
.round-press-info-copy section:first-child { border-top: 0; padding-top: 0; }
.round-press-info-copy section:last-child { padding-bottom: 0; }
.round-press-info-copy section > strong { color: #41535c; font-size: 1rem; font-weight: 680; letter-spacing: .002em; }
.round-press-info-copy section > p { margin: 0; color: #63727a; font-size: 1.0625rem; line-height: 1.5; }
.round-press-points { display: grid; border-block: 1px dotted #cbd1d2; }
.round-press-points > div { display: flex; min-height: 2rem; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px dotted #d6dadb; }
.round-press-points > div:last-child { border-bottom: 0; }
.round-press-points span { color: #6a7880; font-size: 1rem; }
.round-press-points strong { color: #34464f; font-size: 1.1rem; font-weight: 680; white-space: nowrap; }
.round-press-info-copy section small { color: #78858c; font-size: .9rem; line-height: 1.45; }
.round-press-evidence { display: grid; border-block: 1px dotted #cbd1d2; }
.round-press-evidence p { margin: 0; border-bottom: 1px dotted #d6dadb; color: #64737b; font-size: 1rem; line-height: 1.5; padding: .65rem 0; }
.round-press-evidence p:last-child { border-bottom: 0; }
.round-press-evidence strong { color: #34464f; font-size: 1.1rem; font-weight: 700; }
.round-press-info-done { width: 100%; min-height: 2.75rem; margin-top: .85rem; border-radius: 999px; background: #edf1eb; color: #40524a; font-size: .88rem; font-weight: 680; }
.round-press-info-done:hover { background: #e5ebe2; }

.handicap-calculation-workflow {
  border-top: 1px solid #e1e5df;
  padding: .85rem 0 .4rem;
}
.handicap-calculation-launcher {
  display: flex;
  width: 100%;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border: 1px solid #d8ddd7;
  border-radius: 999px;
  background: #fff;
  color: #40545e;
  padding: .65rem 1rem;
  font-size: 1rem;
  font-weight: 680;
  text-align: left;
}
.handicap-calculation-launcher:hover { background: #f8faf7; }
.handicap-calculation-launcher:focus-visible { outline: .2rem solid rgba(119,198,75,.34); outline-offset: .15rem; }
.handicap-calculation-launcher > span:last-child { color: #75847b; font-size: 1.45rem; font-weight: 520; line-height: 1; }
.handicap-calculation-info-sheet {
  height: min(48rem, calc(100dvh - 3rem));
  max-height: min(48rem, calc(100dvh - 3rem));
  overflow: hidden;
}
.handicap-calculation-info-sheet[open] {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
}
.handicap-calculation-scroll-shell {
  display: grid;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) .4rem;
  gap: .45rem;
  margin-top: .65rem;
}
.handicap-calculation-info-copy {
  min-height: 0;
  margin-top: 0;
  overflow-y: scroll;
  overscroll-behavior: contain;
  padding-right: .15rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.handicap-calculation-info-copy::-webkit-scrollbar { display: none; }
.handicap-calculation-info-copy:focus { outline: 0; }
.handicap-calculation-info-copy b { color: #34464f; font-weight: 700; }
.handicap-calculation-scrollbar {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-radius: 999px;
  background: #e0e5e0;
}
.handicap-calculation-scrollbar span {
  position: absolute;
  inset: 0 0 auto;
  min-height: 2.75rem;
  border-radius: inherit;
  background: #84958c;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.34);
  will-change: transform;
}
.handicap-calculation-scrollbar.is-static span { background: #c4ccc6; }
.handicap-calculation-formula {
  display: grid;
  gap: .25rem;
  border-block: 1px dotted #cbd1d2;
  padding: .7rem 0;
}
.handicap-calculation-formula span { color: #34464f; font-size: 1.12rem; font-weight: 720; }
.handicap-calculation-formula small { color: #6b7980; font-size: .92rem; line-height: 1.42; }
.handicap-calculation-formula.is-differential b { font-size: 1rem; }
.handicap-calculation-definitions { display: grid; border-block: 1px dotted #cbd1d2; }
.handicap-calculation-definitions p { display: grid; gap: .16rem; margin: 0; border-bottom: 1px dotted #d6dadb; padding: .62rem 0; }
.handicap-calculation-definitions p:last-child { border-bottom: 0; }
.handicap-calculation-definitions b { font-size: 1rem; }
.handicap-calculation-definitions span { color: #6a7880; font-size: .96rem; line-height: 1.45; }
.handicap-selection-table { display: grid; border-block: 1px dotted #cbd1d2; }
.handicap-selection-table > div {
  display: grid;
  min-height: 2.35rem;
  grid-template-columns: minmax(4.5rem, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: .1rem .65rem;
  border-bottom: 1px dotted #d6dadb;
  padding: .38rem 0;
}
.handicap-selection-table > div:last-child { border-bottom: 0; }
.handicap-selection-table span { color: #6a7880; font-size: .9rem; }
.handicap-selection-table strong { color: #34464f; font-size: .94rem; font-weight: 680; }
.handicap-selection-table small { grid-column: 2; color: #78858c; font-size: .82rem; }

@media (min-width: 640px) {
  .handicap-calculation-workflow { padding-inline: .25rem; }
}

@media (max-width: 359px) {
  .round-press-option-title strong { font-size: 1rem; }
}

/* Add player — one calm decision at a time. */
.live-onboarding-backdrop { position: fixed; inset: 0; z-index: 125; display: flex; align-items: flex-end; background: rgba(10,18,12,.42); backdrop-filter: blur(.15rem); }
.live-onboarding-drawer { position: relative; inset: auto; width: 100%; max-height: min(92dvh, 48rem); overflow-y: auto; overscroll-behavior: contain; border-radius: 1.7rem 1.7rem 0 0; background: #fffdf9; box-shadow: 0 -1rem 3rem rgba(19,32,20,.18); padding: .9rem 1rem calc(1rem + env(safe-area-inset-bottom)); }
.live-onboarding-drawer-head { position: sticky; top: -.9rem; z-index: 2; min-height: 3.4rem; border-bottom: 1px solid #e6e9e3; background: rgba(255,253,249,.96); padding: .35rem 0 .55rem; backdrop-filter: blur(1rem); }
.live-onboarding-drawer-head h3 { margin: 0; font-size: 1.25rem; letter-spacing: -.025em; }
.live-onboarding-drawer-head .icon-button { width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; border-radius: 999px; background: #eef0ec; }
.player-onboarding.is-compact-live { gap: .85rem; padding-top: .85rem; }
.player-onboarding .onboarding-name { display: grid; gap: .35rem; color: #566056; font-size: .72rem; font-weight: 720; }
.player-onboarding .onboarding-name input,
.player-onboarding .onboarding-value-field input,
.player-onboarding .usual-score-grid select { min-height: 3.1rem; border: 1px solid #d8ddd5; border-radius: .82rem; background: #fff; padding: .68rem .78rem; font-size: 1rem; }
.player-onboarding .onboarding-name input:focus,
.player-onboarding .onboarding-value-field input:focus,
.player-onboarding .usual-score-grid select:focus { border-color: #43852f; outline: .18rem solid rgba(164,233,116,.4); outline-offset: 0; }
.player-onboarding .onboarding-methods { display: grid; gap: 0; overflow: hidden; border: 1px solid #e0e4dd; border-radius: 1rem; background: #fff; }
.player-onboarding .onboarding-methods legend { width: 100%; background: #f5f6f3; color: #596459; padding: .62rem .72rem; font-size: .68rem; font-weight: 760; letter-spacing: .02em; text-transform: none; }
.player-onboarding .onboarding-method-row { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 1.35rem; min-height: 3.65rem; align-items: center; gap: .7rem; border: 0; border-bottom: 1px solid #e6e9e3; border-radius: 0; background: #fff; padding: .58rem .72rem; }
.player-onboarding .onboarding-method-row:last-child { border-bottom: 0; }
.player-onboarding .onboarding-method-row > input { position: absolute; inset: 0; opacity: 0; }
.player-onboarding .onboarding-method-row > span { display: grid; gap: .12rem; }
.player-onboarding .onboarding-method-row strong { color: #111811; font-size: .8rem; line-height: 1.25; }
.player-onboarding .onboarding-method-row small { color: #687168; font-size: .67rem; font-weight: 540; line-height: 1.3; }
.player-onboarding .onboarding-method-row > i { display: grid; width: 1.2rem; height: 1.2rem; place-items: center; border: 1.5px solid #8c958c; border-radius: 999px; }
.player-onboarding .onboarding-method-row:has(input:checked) { background: #f3f8ef; }
.player-onboarding .onboarding-method-row:has(input:checked) > i::after { width: .66rem; height: .66rem; border-radius: 999px; background: #315f20; content: ""; }
.player-onboarding .onboarding-method-row:has(input:focus-visible) { outline: .18rem solid #163200; outline-offset: -.18rem; }
.player-onboarding .onboarding-method-row.is-disabled { background: #f6f7f5; opacity: .62; }
.player-onboarding .onboarding-panel { display: none; gap: .7rem; border: 0; border-radius: 0; background: transparent; padding: 0; }
.player-onboarding:has(input[name="onboarding_method"][value="known"]:checked) .method-known,
.player-onboarding:has(input[name="onboarding_method"][value="estimate"]:checked) .method-estimate,
.player-onboarding:has(input[name="onboarding_method"][value="match_group_highest_daily"]:checked) .method-match-group,
.player-onboarding:has(input[name="onboarding_method"][value="workout"]:checked) .method-workout { display: grid; }
.player-onboarding .onboarding-options { gap: .35rem; }
.player-onboarding .onboarding-options legend { margin-bottom: .1rem; color: #5f695f; font-size: .68rem; font-weight: 720; letter-spacing: 0; text-transform: none; }
.player-onboarding .compact-choice label { position: relative; display: grid; min-height: 2.75rem; place-items: center; border: 0; border-radius: .68rem; background: #eef0ec; padding: .4rem; text-align: center; }
.player-onboarding .compact-choice label:has(input:checked) { background: #e1efd9; color: #244b18; box-shadow: inset 0 0 0 1px #a9c99d; }
.player-onboarding .compact-choice input { position: absolute; inset: 0; opacity: 0; }
.player-onboarding .compact-choice label:has(input:focus-visible) { outline: .18rem solid #163200; outline-offset: .1rem; }
.player-onboarding .ability-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.player-onboarding .ability-grid small { display: block; color: #667066; font-size: .62rem; }
.player-onboarding .onboarding-value-field { display: grid; gap: .35rem; color: #566056; font-size: .72rem; font-weight: 720; }
.player-onboarding .estimate-override-field { display: none; }
.player-onboarding:has(input[name="estimate_change"][value="yes"]:checked) .estimate-override-field { display: grid; }
.player-onboarding .usual-score-grid { grid-template-columns: 1fr; }
.player-onboarding .usual-score-grid label { display: grid; gap: .32rem; color: #596359; font-size: .68rem; font-weight: 720; }
.group-match-preview { display: flex; min-height: 3.2rem; align-items: center; justify-content: space-between; gap: 1rem; border-radius: .9rem; background: #eef6e9; padding: .65rem .75rem; }
.group-match-preview span { color: #506050; font-size: .72rem; font-weight: 680; }
.group-match-preview strong { color: #244b18; font-size: 1.35rem; }
.method-match-group p { margin: 0; color: #5c665c; font-size: .72rem; line-height: 1.45; }
.player-onboarding .onboarding-submit { min-height: 3.2rem; border-radius: 999px; background: #a4e974; color: #163200; font-weight: 780; }

@media (max-width: 359px) {
  .round-team-player { grid-template-columns: 2.75rem minmax(0, 1fr); }
  .round-team-toggle { grid-column: 1 / -1; grid-row: 2; width: 100%; }
}

@media (max-width: 639px) {
  .v10-round-launcher .course-control-row { grid-template-columns: 1fr; }
}

@media (min-width: 640px) and (max-width: 899px) {
  .v10-round-launcher .course-control-row { grid-template-columns: 1fr; }
}

@media (min-width: 640px) {
  .round-scoring-info-sheet { margin: auto; border-radius: 1.5rem; }
  .live-onboarding-backdrop { align-items: center; justify-content: center; padding: 1rem; }
  .live-onboarding-drawer { width: min(100%, 30rem); max-height: min(46rem, calc(100dvh - 2rem)); border-radius: 1.5rem; }
}

@media (min-width: 900px) {
  .v10-round-launcher { width: min(100%, 42rem); }
}

/* Progressive scoring setup: individual always, team games by explicit choice. */
.round-scoring-fixed-row,
.round-scoring-option-row {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 4.75rem;
  align-items: center;
  border-bottom: 1px solid #e5e8e2;
  padding: .65rem .15rem;
}

.round-scoring-fixed-row { grid-template-columns: minmax(0,1fr); }
.round-scoring-fixed-row > span { display: grid; min-width: 0; gap: .16rem; }
.round-scoring-fixed-row strong,
.round-scoring-option-copy strong { color: #171d17; font-size: 1.0625rem; font-weight: 740; line-height: 1.3; }
.round-scoring-fixed-row small { color: #5f695f; font-size: 1rem; line-height: 1.4; }

.round-scoring-subheading {
  display: grid;
  min-height: 2.8rem;
  margin: 0;
  align-content: end;
  color: #5d675d;
  padding: .7rem .15rem .35rem;
  font-size: 1rem;
  font-weight: 720;
}

.round-scoring-option-row {
  grid-template-columns: minmax(0,1fr) 3rem;
  gap: 1rem;
  cursor: pointer;
}

.round-scoring-option-row:last-child { border-bottom: 0; }
.round-scoring-option-row > input { position: absolute; inset: 0; opacity: 0; }
.round-scoring-option-copy { display: grid; min-width: 0; gap: .15rem; }
.round-scoring-option-copy small {
  color: #5f695f;
  font-size: 1rem;
  line-height: 1.35;
  white-space: normal;
}
.round-press-option-title { display: flex; min-width: 0; align-items: center; gap: .15rem; }
.round-press-option-title strong { min-width: 0; }
.round-press-help {
  position: relative;
  z-index: 2;
  display: grid;
  flex: none;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #667166;
  padding: 0;
}
.round-press-help-glyph {
  display: grid;
  width: 1.125rem;
  height: 1.125rem;
  place-items: center;
  border: 1px solid #aeb7ad;
  border-radius: 999px;
  background: transparent;
  color: #5f686d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .6875rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}
.round-press-help:hover .round-press-help-glyph { border-color: #7e8a7d; color: #344234; }
.round-press-help:focus-visible { outline: 0; box-shadow: none; }
.round-press-help:focus-visible .round-press-help-glyph { outline: .14rem solid #315f20; outline-offset: .12rem; }
.round-scoring-option-row:has(input:focus-visible) { outline: .18rem solid #163200; outline-offset: -.18rem; }

.round-playing-switch {
  width: 3rem;
  height: 1.75rem;
  background: #dfe3dc;
}

.round-playing-switch i {
  top: .1875rem;
  left: .1875rem;
  width: 1.375rem;
  height: 1.375rem;
}

.round-player-selection-row:has(input:checked) .round-playing-switch,
.round-scoring-option-row:has(input:checked) .round-game-switch { background: #163200; }
.round-player-selection-row:has(input:checked) .round-playing-switch i,
.round-scoring-option-row:has(input:checked) .round-game-switch i { transform: translateX(1.25rem); }

.round-skins-inline {
  margin-top: 1.1rem;
  padding-top: .15rem;
}
.round-skins-inline legend {
  color: #0b120b;
  font-size: 1.25rem;
  font-weight: 780;
  letter-spacing: -.02em;
}

.v10-round-launcher > .round-start-action { box-shadow: none; }

.live-scorekeeper-picker { padding-inline: 1.15rem; }
.live-scorekeeper-picker header { padding-bottom: 1.15rem; }
.live-scorekeeper-picker header h3 { font-size: 1.75rem; line-height: 1.15; }
.live-scorekeeper-picker-list {
  gap: 0;
  border-block: 1px solid #e2e6df;
}
.live-scorekeeper-picker-list > button,
.live-scorekeeper-picker-list > button.is-selected {
  min-height: 5rem;
  border-bottom: 1px solid #e5e8e2;
  border-radius: 0;
  background: #fff;
  padding: .8rem .15rem;
}
.live-scorekeeper-picker-list > button:last-child { border-bottom: 0; }
.live-scorekeeper-picker-list > button.is-selected { background: #f4f8f1; }
.live-scorekeeper-picker-list span { gap: 0; }
.live-scorekeeper-picker-list strong { font-size: 1.25rem; font-weight: 750; letter-spacing: -.015em; }
.live-scorekeeper-picker-list em { font-size: 1rem; font-weight: 740; }
.live-scorekeeper-picker-list .is-selected em { color: #244b18; }

/* 12 August 2026 — completed-hole team status without growing compact score rows. */
.live-player-row.live-scoring-row {
  grid-template-areas:
    "avatar player metrics"
    "avatar status status";
  grid-template-rows: 4.45rem 1.5rem;
  height: 6.45rem;
  min-height: 6.45rem;
  align-content: center;
  row-gap: 0;
  column-gap: .9rem;
  padding-block: .25rem;
}

.live-player-row.live-scoring-row .live-scoring-avatar { grid-area: avatar; }
.live-player-row.live-scoring-row .live-player-name { grid-area: player; align-self: center; }
.live-player-row.live-scoring-row .live-scoring-metrics { grid-area: metrics; align-self: center; }
.live-player-row.live-scoring-row .live-scoring-metrics > span { grid-template-rows: 3.75rem; }
.live-player-row.live-scoring-row .live-scoring-metrics > span:first-child {
  grid-template-rows: 2.75rem .8rem;
  align-content: center;
}

.live-scoring-status-rail {
  display: flex;
  grid-area: status;
  min-width: 0;
  align-items: center;
  gap: .35rem;
  overflow: hidden;
  white-space: nowrap;
}

.live-scoring-status-rail > .live-hole-strokes,
.live-team-status-pill {
  display: inline-flex;
  min-width: 0;
  min-height: 1.5rem;
  align-items: center;
  margin: 0;
  overflow: hidden;
  border-radius: 999px;
  padding: .12rem .5rem;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-scoring-status-rail > .live-hole-strokes {
  flex: 0 0 auto;
  min-width: max-content;
  overflow: visible;
  background: #edf7e7;
  color: #163200;
  text-overflow: clip;
}

.live-team-status-pill { flex: 0 1 auto; }
.live-team-status-pill.match-side-1 { background: rgba(163,58,63,.13); color: #8c2f35; }
.live-team-status-pill.match-side-2 { background: rgba(36,106,159,.14); color: #1f5e8e; }
.live-team-status-pill.is-even { background: #e4f5da; color: #163200; }
.live-team-status-pill.is-press {
  flex-shrink: 0;
  overflow: visible;
  padding-inline: .4rem;
  font-size: .68rem;
  text-overflow: clip;
}

.round-countback-option {
  margin-top: .7rem;
  border-top: 1px solid #e5e8e2;
  border-bottom: 0;
}

.b3-live-state.is-starter-allowance {
  border-color: #d9b55f;
  background: #fff8e6;
}

.b3-live-state.is-starter-allowance .state-badge {
  background: #805b00;
  color: #fff;
}

.report-player-provisional-note {
  margin: .8rem 0 0;
  border-radius: .8rem;
  background: #f4f8f1;
  padding: .75rem;
  color: #334033;
  font-size: .78rem;
  line-height: 1.45;
}

/* The selected white hole tile is inset by the scorecard strip on every edge. */
.live-scorecard-strip {
  height: 3.25rem;
  min-height: 3.25rem;
  max-height: 3.25rem;
  align-items: stretch;
  overflow-y: hidden;
  padding: .25rem;
}

.live-scorecard-strip .live-card-hole {
  height: 100%;
  min-height: 0;
  align-self: stretch;
}

@media (max-width: 359px) {
  .live-player-row.live-scoring-row {
    grid-template-rows: 3.65rem 1.35rem;
    height: 5.7rem;
    min-height: 5.7rem;
    padding-block: .35rem;
    row-gap: 0;
    column-gap: .5rem;
  }

  .live-player-row.live-scoring-row .live-scoring-metrics > span { grid-template-rows: 3.1rem; }
  .live-player-row.live-scoring-row .live-scoring-metrics > span:first-child { grid-template-rows: 2.3rem .7rem; }
  .live-scoring-status-rail { gap: .25rem; }
  .live-scoring-status-rail > .live-hole-strokes,
  .live-team-status-pill {
    min-height: 1.35rem;
    padding-inline: .38rem;
    font-size: .66rem;
  }
}

/* 13 August 2026 — Breeze-inspired one-screen tee-shot capture. */
.live-score-entry-head .live-tee-trigger {
  border-color: var(--green-dark);
  background: var(--green-dark);
  color: #fff;
  box-shadow: 0 .15rem .45rem rgba(23,79,53,.2);
}

.live-score-entry-head .live-tee-trigger:active { background: var(--green); }
.live-score-entry-head .live-tee-trigger:focus-visible { outline-color: var(--lime); }

html:has(.live-tee-dialog),
body:has(.live-tee-dialog) {
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}

.live-tee-backdrop {
  position: fixed;
  z-index: 170;
  inset: 0;
  display: flex;
  width: 100vw;
  height: 100dvh;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: rgba(13,35,24,.52);
  padding: max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));
  backdrop-filter: blur(.35rem);
  -webkit-backdrop-filter: blur(.35rem);
}

.live-tee-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  gap: .5rem;
  width: min(100%,34rem);
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(29,106,69,.18);
  border-radius: 1.75rem;
  background: #f5f8f1;
  box-shadow: 0 1.5rem 4rem rgba(13,35,24,.3);
  padding: .75rem .85rem .85rem;
  color: var(--ink);
}

.live-tee-dialog.has-context-warning {
  grid-template-rows: auto auto auto minmax(0,1fr) auto;
}

.live-tee-header {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  padding-inline: .25rem;
}

.live-tee-header > div { min-width: 0; text-align: left; }
.live-tee-header p { margin: 0; color: #73769a; font-size: .72rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.live-tee-header h3 { margin: .12rem 0 0; color: #292b59; font-size: 1.25rem; line-height: 1.1; letter-spacing: -.025em; }
.live-tee-header > button {
  display: grid;
  flex: none;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: var(--paper);
  color: var(--green-dark);
  box-shadow: none;
  padding: 0;
  font-size: 1.35rem;
  line-height: 1;
}

.live-tee-hole-switch {
  display: grid;
  grid-template-columns: 2.75rem minmax(0,1fr) 2.75rem;
  align-items: center;
  gap: .5rem;
  border-radius: 1.15rem;
  background: var(--green-soft);
  padding: .2rem;
}

.live-tee-hole-switch > button {
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 0;
  border-radius: .95rem;
  background: var(--paper);
  color: var(--green-dark);
  box-shadow: 0 .1rem .35rem rgba(23,79,53,.08);
  padding: 0;
  font-size: 1.45rem;
}

.live-tee-hole-switch > button:disabled { opacity: .36; }
.live-tee-hole-switch p { display: flex; align-items: baseline; justify-content: center; gap: .35rem; margin: 0; }
.live-tee-hole-switch p span { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.live-tee-hole-switch p strong { color: var(--green-dark); font-size: 1.55rem; line-height: 1; }

.live-tee-context-warning {
  position: relative;
  display: flex;
  min-height: 2.35rem;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border-radius: .9rem;
  background: #fff6d9;
  color: #675211;
  padding: .35rem .65rem;
  font-size: .72rem;
  line-height: 1.15;
  text-align: center;
}

.live-tee-context-warning::before {
  position: absolute;
  top: -.32rem;
  left: 50%;
  width: .65rem;
  height: .65rem;
  background: #fff6d9;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.live-tee-context-warning strong,
.live-tee-context-warning span { position: relative; }

.live-tee-player-list {
  display: grid;
  min-height: 0;
  grid-auto-rows: minmax(0,1fr);
  gap: .45rem;
  overflow: hidden;
}

.live-tee-player-row {
  display: grid;
  min-height: 0;
  align-content: center;
  gap: .35rem;
  overflow: hidden;
  border: 1px solid rgba(29,106,69,.13);
  border-radius: 1rem;
  background: var(--paper);
  padding: .45rem .5rem;
}

.live-tee-player-row.has-entry { border-color: rgba(29,106,69,.28); background: #fffef9; }
.live-tee-player-row > header { display: flex; min-width: 0; min-height: 1.25rem; align-items: center; gap: 0; padding-inline: .15rem; }
.live-tee-player-row > header span {
  display: none;
}
.live-tee-player-row > header strong { overflow: hidden; color: var(--ink); font-size: .875rem; line-height: 1.05; text-overflow: ellipsis; white-space: nowrap; }

.live-tee-outcomes {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .38rem;
}

.live-tee-outcomes button,
.live-tee-secondary button {
  min-width: 0;
  border: 0;
  border-radius: 999px;
  background: var(--paper-soft);
  color: var(--ink-soft);
  box-shadow: 0 .08rem .24rem rgba(13,35,24,.06);
  padding: .2rem .3rem;
  font-weight: 680;
  line-height: 1.05;
}

.live-tee-outcomes button { min-height: 3.5rem; font-size: .925rem; font-weight: 760; }
.live-tee-outcomes button[data-tee-result="fairway"].is-selected { background: var(--green); color: #fff; box-shadow: 0 .2rem .55rem rgba(29,106,69,.22); }
.live-tee-outcomes button[data-tee-result="left"].is-selected,
.live-tee-outcomes button[data-tee-result="right"].is-selected { background: var(--red); color: #fff; box-shadow: 0 .2rem .55rem rgba(163,58,53,.2); }

.live-tee-secondary {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .38rem;
  padding-inline: 9%;
}

.live-tee-secondary button { min-height: 2.75rem; background: var(--paper-soft); font-size: .8125rem; }

/* Three-player cards use their spare vertical room for clearer separation;
   four-player cards retain the compact no-scroll spacing. */
.live-tee-player-list[data-player-count="3"] { gap: .45rem; }
.live-tee-player-list[data-player-count="3"] .live-tee-player-row { gap: .65rem; padding-block: .75rem; }
.live-tee-player-list[data-player-count="3"] .live-tee-outcomes,
.live-tee-player-list[data-player-count="3"] .live-tee-secondary { gap: .6rem; }
.live-tee-secondary button[data-tee-result="bunker"].is-selected { background: #f3cf57; color: #493900; box-shadow: inset 0 0 0 1px rgba(148,91,0,.2); }
.live-tee-secondary button[data-tee-result="penalty"].is-selected { background: var(--blue); color: #fff; box-shadow: 0 .2rem .5rem rgba(55,110,216,.18); }
.live-tee-outcomes button:focus-visible,
.live-tee-secondary button:focus-visible,
.live-tee-hole-switch button:focus-visible,
.live-tee-header button:focus-visible,
.live-tee-footer button:focus-visible { outline: .18rem solid var(--green-dark); outline-offset: .08rem; }

.live-tee-footer {
  position: relative;
  z-index: 1;
  min-height: 3.15rem;
  padding-top: .05rem;
}
.live-tee-footer button {
  width: 100%;
  min-height: 3.15rem;
  border: 0;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  box-shadow: 0 .3rem .85rem rgba(23,79,53,.2);
  font-size: .95rem;
  font-weight: 800;
}

/* 13 August 2026 — dark, outdoor-readable Fairway logger.
   Keep the 4 Irons Golf Club one-screen structure, but use Ladder-style repeated rows
   and Nike Run Club-level contrast for quick entry in full daylight. */
.live-tee-backdrop {
  background: rgba(3,10,7,.84);
  backdrop-filter: blur(.5rem) saturate(85%);
  -webkit-backdrop-filter: blur(.5rem) saturate(85%);
}

.live-tee-dialog {
  color-scheme: dark;
  border-color: #667b6e;
  background: #101d17;
  box-shadow: 0 1.5rem 4rem rgba(0,0,0,.58);
  color: #fffdf7;
}

.live-tee-header > button {
  border: 1px solid #718778;
  background: #273b30;
  color: #fffdf7;
}

.live-tee-hole-switch {
  border: 1px solid #667b6e;
  background: #1a2d23;
}

.live-tee-hole-switch > button {
  border: 1px solid #718778;
  background: #273b30;
  color: #a6f274;
  box-shadow: none;
}

.live-tee-hole-switch > button:disabled {
  border-color: #52655a;
  color: #a4b0a9;
  opacity: 1;
}

.live-tee-hole-switch p span { color: #c8d3cc; }
.live-tee-hole-switch p strong { color: #a6f274; }

.live-tee-context-warning {
  border: 1px solid #967616;
  background: #2b240c;
  color: #ffe58a;
}

.live-tee-context-warning::before {
  border-top: 1px solid #967616;
  border-left: 1px solid #967616;
  background: #2b240c;
}

.live-tee-context-warning strong,
.live-tee-context-warning span { color: #ffe58a; }

.live-tee-context-warning strong { color: #fff3bd; }

.live-tee-player-list { gap: .18rem; }

.live-tee-player-row,
.live-tee-player-row.has-entry {
  border: 0;
  border-bottom: 2px solid #667b6e;
  border-radius: .55rem;
  background: #1a2d23;
  padding-inline: .35rem;
}

.live-tee-player-row.has-entry { background: #203529; }
.live-tee-player-row:has([data-tee-result="fairway"].is-selected) { box-shadow: inset .24rem 0 #a6f274; }
.live-tee-player-row:has([data-tee-result="left"].is-selected),
.live-tee-player-row:has([data-tee-result="right"].is-selected) { box-shadow: inset .24rem 0 #f56b63; }
.live-tee-player-row:has([data-tee-result="bunker"].is-selected) { box-shadow: inset .24rem 0 #ffd247; }
.live-tee-player-row:has([data-tee-result="penalty"].is-selected) { box-shadow: inset .24rem 0 #75a7ff; }
.live-tee-player-row > header strong { color: #fffdf7; font-weight: 760; }

.live-tee-outcomes button,
.live-tee-secondary button {
  border: 1px solid #718778;
  background: #273b30;
  color: #fffdf7;
  box-shadow: none;
  font-weight: 760;
}

.live-tee-outcomes button[data-tee-result="fairway"].is-selected {
  border-color: #d4ffb5;
  background: #a6f274;
  color: #0d1712;
  box-shadow: inset 0 0 0 2px rgba(13,23,18,.18);
}

.live-tee-outcomes button[data-tee-result="left"].is-selected,
.live-tee-outcomes button[data-tee-result="right"].is-selected {
  border-color: #ffaaa5;
  background: #f56b63;
  color: #2a0806;
  box-shadow: inset 0 0 0 2px rgba(42,8,6,.18);
}

.live-tee-secondary button[data-tee-result="bunker"].is-selected {
  border-color: #ffe89b;
  background: #ffd247;
  color: #231900;
  box-shadow: inset 0 0 0 2px rgba(35,25,0,.16);
}

.live-tee-secondary button[data-tee-result="penalty"].is-selected {
  border-color: #b7d1ff;
  background: #75a7ff;
  color: #07162e;
  box-shadow: inset 0 0 0 2px rgba(7,22,46,.16);
}

.live-tee-outcomes button:focus-visible,
.live-tee-secondary button:focus-visible,
.live-tee-hole-switch button:focus-visible,
.live-tee-header button:focus-visible,
.live-tee-footer button:focus-visible {
  outline-color: #fffdf7;
  box-shadow: 0 0 0 .25rem #101d17;
}

.live-tee-footer { border-top: 1px solid #667b6e; padding-top: .2rem; }
.live-tee-footer button {
  border: 1px solid #d4ffb5;
  background: #a6f274;
  color: #0d1712;
  box-shadow: 0 .3rem .9rem rgba(0,0,0,.32);
}

@media (hover: hover) and (pointer: fine) {
  .live-tee-outcomes button:not(.is-selected):hover,
  .live-tee-secondary button:not(.is-selected):hover,
  .live-tee-header > button:hover,
  .live-tee-hole-switch > button:not(:disabled):hover {
    border-color: #a6b7ac;
    background: #31483b;
  }
}

@media (max-width: 359px) {
  .live-score-entry-head { grid-template-columns: repeat(2,6.4rem); gap: .45rem; }
  .live-score-entry-head button { width: 6.4rem; min-width: 6.4rem; min-height: 3rem; }
  .live-tee-dialog { gap: .32rem; border-radius: 1.5rem; padding: .55rem .6rem .65rem; }
  .live-tee-header { min-height: 2.85rem; }
  .live-tee-header h3 { font-size: 1.05rem; }
  .live-tee-player-list { gap: .28rem; }
  .live-tee-player-row { gap: .22rem; border-radius: .9rem; padding: .28rem .34rem; }
  .live-tee-outcomes,
  .live-tee-secondary { gap: .22rem; }
  .live-tee-outcomes button { font-size: .875rem; }
  .live-tee-secondary { padding-inline: 8%; }
}

/* At 390px, keep the owner-approved directional choices readable on one line
   without changing the three-choice layout or their touch target. */
@media (max-width: 430px) {
  .live-tee-outcomes button[data-tee-result="left"],
  .live-tee-outcomes button[data-tee-result="right"] {
    padding-inline: .15rem;
    font-size: .8125rem;
    letter-spacing: -.015em;
    white-space: nowrap;
  }
}

@media (max-height: 760px) {
  .live-tee-dialog { grid-template-rows: auto minmax(0,1fr) auto; height: 100%; gap: 0; padding-block: .22rem .18rem; }
  .live-tee-dialog.has-context-warning { grid-template-rows: auto minmax(0,1fr) auto; }
  .live-tee-header { position: absolute; z-index: 3; top: .22rem; right: .22rem; min-height: 2.75rem; padding: 0; }
  .live-tee-header p { font-size: .62rem; }
  .live-tee-header h3 { font-size: .96rem; }
  .live-tee-header > button,
  .live-tee-hole-switch > button { width: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; }
  .live-tee-hole-switch { grid-template-columns: 2.75rem minmax(0,1fr) 2.75rem; padding-right: 3.1rem; }
  .live-tee-context-warning {
    position: absolute;
    z-index: 2;
    top: .32rem;
    left: calc(50% - 1.55rem);
    min-height: 1rem;
    width: max-content;
    max-width: calc(100% - 9.5rem);
    gap: .18rem;
    padding: .06rem .3rem;
    font-size: .625rem;
    line-height: 1;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  .live-tee-context-warning::before { display: none; }
  .live-tee-player-list { gap: .06rem; }
  .live-tee-player-row { gap: 0; padding-block: .02rem; }
  .live-tee-player-row > header span { width: 1.3rem; height: 1.3rem; font-size: .5rem; }
  .live-tee-player-row > header strong { font-size: .875rem; }
  .live-tee-outcomes button { min-height: 3rem; font-size: .875rem; }
  .live-tee-secondary button { min-height: 2.75rem; font-size: .8125rem; }
  .live-tee-player-list[data-player-count="3"] { gap: .3rem; }
  .live-tee-player-list[data-player-count="3"] .live-tee-player-row { gap: .45rem; padding-block: .4rem; }
  .live-tee-player-list[data-player-count="3"] .live-tee-outcomes,
  .live-tee-player-list[data-player-count="3"] .live-tee-secondary { gap: .48rem; }
  .live-tee-footer { border-top: 0; padding-top: 0; }
  .live-tee-footer,
  .live-tee-footer button { min-height: 2.75rem; }
}

/* Compact paired receipts must retain normal row height after the broader
   phone list rules above have been applied. */
@media (max-width: 639px) {
  .paired-differential-row-card > .paired-differential-row {
    grid-template-columns: 7rem minmax(0, 1fr) 3.35rem;
    gap: .2rem;
    min-height: 5.4rem;
    padding: .38rem .28rem;
  }

  .paired-differential-row .score-summary-title,
  .paired-differential-row .score-summary-description,
  .paired-round-compact-row .report-identity strong,
  .paired-round-compact-row .report-identity small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .paired-round-compact-facts > div { grid-template-columns: minmax(0,1fr); gap: .02rem; }
}

/* Paired receipts use the same physical row anchors as their adjacent single-round
   rows. The relationship note is independently positioned so it never moves the
   fixed Gross score stack. */
.paired-round-connector > .paired-round-compact-row,
.paired-differential-row-card > .paired-differential-row {
  position: relative;
  display: grid;
  grid-template-columns: 7.7rem max-content minmax(0, 1fr) 5.65rem 1rem;
  grid-template-rows: .8rem minmax(0, 1fr);
  align-items: center;
  column-gap: .7rem;
  row-gap: 0;
  padding: .75rem .85rem;
}

.paired-round-connector > .paired-round-compact-row {
  height: 5rem;
  min-height: 5rem;
}

.paired-differential-row-card > .paired-differential-row {
  height: 4.75rem;
  min-height: 4.75rem;
  padding: .65rem .12rem;
}

.paired-round-compact-row .paired-date-cluster,
.paired-differential-row .paired-date-cluster {
  grid-column: 1;
  grid-row: 1 / 3;
  grid-template-columns: 3.25rem .7rem 3.25rem;
  column-gap: .25rem;
  align-items: start;
  justify-self: start;
  width: 7.7rem;
}

.paired-differential-row .paired-date-cluster {
  grid-template-columns: 3.35rem .5rem 3.35rem;
  width: 7.7rem;
}

.paired-differential-row .paired-date-cluster .paired-round-date {
  width: 3.35rem;
  height: 3.35rem;
}

.paired-date-plus {
  align-self: center;
  color: var(--result-card-support, var(--ink-soft));
  font-size: calc(var(--score-row-title-size, .9rem) + .14rem);
  font-weight: 650;
  line-height: 1.22;
  text-align: center;
  transform: translateY(-.3rem);
}

.paired-round-title {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  min-width: max-content;
}

.paired-round-title .score-summary-title { white-space: nowrap; }

.paired-round-compact-facts {
  grid-column: 3;
  grid-row: 2;
  align-self: center;
  justify-self: center;
  width: 100%;
  max-width: 17rem;
  gap: .18rem;
  font-variant-numeric: tabular-nums;
}

.paired-round-compact-facts > div {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .22rem;
}

.paired-round-compact-facts dt {
  color: var(--result-card-support);
  font-size: .58rem;
  font-weight: 590;
  line-height: 1.12;
}

.paired-round-compact-facts dd {
  color: var(--result-card-value);
  font-size: .78rem;
  font-weight: 735;
  line-height: 1.08;
}

.paired-row-context {
  grid-column: 3 / 5;
  grid-row: 1;
  align-self: start;
  justify-self: end;
  min-width: 0;
  color: var(--result-card-support);
  font-size: .5rem;
  font-weight: 570;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.paired-round-gross,
.paired-handicap-gross {
  grid-column: 4;
  grid-row: 2;
  align-self: center;
  justify-self: stretch;
  min-width: 5.65rem;
  text-align: right;
}

.paired-handicap-gross > strong {
  display: block;
  color: var(--ink);
  font-size: var(--score-result-size, 1.42rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.045em;
}

.paired-gross-meta {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: .24rem;
  min-height: .82rem;
}

.paired-gross-meta > small:first-child {
  color: var(--ink-soft);
  font-size: var(--score-result-label-size, .66rem);
  font-weight: 720;
  line-height: 1.25;
  white-space: nowrap;
}

.paired-gross-meta .differential-use-pill {
  min-width: 0;
  min-height: 0;
  padding: .1rem .28rem;
  font-size: .5rem;
  line-height: 1.1;
}

@media (max-width: 639px) {
  .paired-round-connector > .paired-round-compact-row {
    grid-template-columns: 7.7rem max-content minmax(0, 1fr) 3.2rem 1rem;
    height: 5.4rem;
    min-height: 5.4rem;
    column-gap: .28rem;
    padding: .38rem .1rem;
  }

  .paired-differential-row-card > .paired-differential-row {
    grid-template-columns: 7.7rem max-content minmax(0, 1fr) 3.35rem .01rem;
    height: 4.75rem;
    min-height: 4.75rem;
    column-gap: .22rem;
    padding: .65rem .12rem;
  }

  .paired-round-title { margin-left: .42rem; }
  .paired-differential-row .paired-round-title { margin-left: .48rem; }

  .paired-round-compact-facts { gap: .12rem; }
  .paired-round-compact-facts > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .paired-round-compact-facts dt { font-size: .5rem; line-height: 1.08; white-space: normal; }
  .paired-round-compact-facts dd { font-size: .72rem; font-weight: 735; line-height: 1.08; white-space: nowrap; }
  .paired-row-context { grid-column: 2 / 5; font-size: .43rem; }

  .paired-round-gross,
  .paired-handicap-gross { min-width: 0; }

  .paired-handicap-gross > strong { font-size: var(--score-result-size, 1.42rem); }
  .paired-gross-meta { gap: .12rem; }
  .paired-gross-meta .differential-use-pill { padding: .08rem .18rem; font-size: .43rem; }
}

@media (max-width: 639px) {
  /* At the narrowest supported width the fixed date and Gross anchors leave too
     little horizontal room for two auditable fact labels. Reuse the vertical
     middle space while preserving the one-row height and every fixed anchor. */
  .paired-round-connector > .paired-round-compact-row {
    grid-template-columns: 7.7rem minmax(0, 1fr) 3.2rem 1.42rem;
    grid-template-rows: .8rem 1.2rem minmax(0, 1fr);
    column-gap: .22rem;
  }

  .paired-round-compact-row .paired-date-cluster {
    grid-row: 1 / 4;
  }

  .paired-round-compact-row .paired-round-title {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin-left: 0;
  }

  .paired-round-compact-row .paired-round-compact-facts {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    justify-self: stretch;
    max-width: none;
    gap: .14rem;
  }

  .paired-round-compact-row .paired-round-compact-facts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: .02rem;
  }

  .paired-round-compact-row .paired-round-compact-facts dt {
    font-size: .48rem;
    line-height: 1.06;
    white-space: normal;
  }

  .paired-round-compact-row .paired-round-compact-facts dd {
    font-size: .7rem;
    font-weight: 735;
    line-height: 1.02;
    white-space: nowrap;
  }

  .paired-round-compact-row .paired-row-context {
    grid-column: 2 / 4;
    grid-row: 1;
    font-size: .41rem;
  }

  .paired-round-compact-row .paired-round-gross {
    grid-column: 3;
    grid-row: 2 / 4;
  }

  .paired-differential-row-card > .paired-differential-row {
    grid-template-columns: 7.7rem minmax(0, 1fr) 3.35rem .75rem;
    grid-template-rows: .7rem 1.1rem minmax(0, 1fr);
    column-gap: .24rem;
  }

  .paired-differential-row .paired-date-cluster {
    grid-column: 1;
    grid-row: 1 / 4;
  }

  .paired-differential-row .paired-round-title {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin-left: 0;
  }

  .paired-differential-row .paired-round-compact-facts {
    grid-column: 2;
    grid-row: 3;
    align-self: start;
    justify-self: stretch;
    width: 100%;
    max-width: none;
    gap: .12rem;
  }

  .paired-differential-row .paired-round-compact-facts > div {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .12rem;
  }

  .paired-differential-row .paired-round-compact-facts dt {
    font-size: .47rem;
    line-height: 1.05;
    white-space: normal;
  }

  .paired-differential-row .paired-round-compact-facts dd {
    font-size: .7rem;
    font-weight: 735;
    line-height: 1.04;
    white-space: normal;
  }

  .paired-differential-row .paired-row-context {
    grid-column: 2 / 4;
    grid-row: 1;
    font-size: .4rem;
  }

  .paired-differential-row .paired-handicap-gross {
    grid-column: 3;
    grid-row: 2 / 4;
  }

  .paired-differential-row .paired-gross-meta {
    display: grid;
    justify-items: end;
    gap: .03rem;
  }

  /* The in-round relationship receipt uses physical row anchors instead of a
     shrinking grid. This guarantees the source pair, full context sentence and
     Gross stack all stay inside the 320–390px content width. */
  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row {
    display: block;
    height: 5.4rem;
    min-height: 5.4rem;
    padding: 0;
  }

  .paired-round-relationship-reveal .paired-date-cluster {
    position: absolute;
    top: .5rem;
    left: .963rem;
    width: 7.7rem;
  }

  .paired-round-relationship-reveal .paired-round-title {
    position: absolute;
    top: 1.55rem;
    left: 8.5rem;
    margin: 0;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts {
    position: absolute;
    top: 2.75rem;
    right: 4.9rem;
    left: 8.5rem;
    display: grid;
    width: auto;
    max-width: none;
    gap: .1rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: .01rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dt {
    font-size: .46rem;
    line-height: 1.04;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dd {
    font-size: .72rem;
    font-weight: 735;
    line-height: 1.04;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-row-context {
    position: absolute;
    z-index: 2;
    top: .28rem;
    right: 1.7rem;
    left: 8.5rem;
    display: block;
    overflow: visible;
    color: var(--result-card-support);
    font-size: .43rem;
    line-height: 1;
    text-align: right;
    text-overflow: clip;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-round-gross {
    position: absolute;
    z-index: 2;
    top: 1.7rem;
    right: 1.7rem;
    display: block;
    width: 3.2rem;
    min-width: 3.2rem;
  }
}

@media (max-width: 359px) {
  .paired-differential-row .paired-round-compact-facts {
    gap: .09rem;
  }

  .paired-differential-row .paired-round-compact-facts > div {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .03rem;
  }

  .paired-differential-row .paired-round-compact-facts dt {
    font-size: .38rem;
    line-height: 1.02;
    white-space: nowrap;
  }

  .paired-differential-row .paired-round-compact-facts dd {
    font-size: .62rem;
    font-weight: 735;
    letter-spacing: -.025em;
    line-height: 1.02;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dt {
    font-size: .43rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dd {
    font-size: .7rem;
  }
}

/* Final cascade guard for the Rounds-only paired group disclosure. The summary
   reuses the physical row's date and Gross anchors so it reads as one compact
   sibling row, not a separate receipt card. */
.paired-round-relationship-reveal {
  margin: .38rem .1rem;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #fffefa;
}

.paired-round-relationship-reveal > .paired-round-compact-row {
  display: grid;
  grid-template-columns: 7.3rem minmax(7.5rem, 10rem) minmax(8rem, 1fr) 5.65rem 1rem;
  grid-template-rows: 1fr;
  align-items: center;
  column-gap: .7rem;
  height: 5.8rem;
  min-height: 5.8rem;
  padding: .45rem .85rem;
}

.paired-round-relationship-reveal .paired-date-cluster {
  position: static;
  display: grid;
  grid-template-columns: 3.25rem .8rem 3.25rem;
  grid-column: 1;
  grid-row: 1;
  width: 7.3rem;
  height: 3.25rem;
  align-items: center;
}

.paired-round-relationship-reveal .paired-date-source {
  position: relative;
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  justify-items: center;
}

.paired-round-relationship-reveal .paired-date-source:first-child,
.paired-round-relationship-reveal .paired-date-source:last-child {
  top: auto;
  left: auto;
}

.paired-round-relationship-reveal .paired-date-source > small {
  position: absolute;
  top: calc(100% + .1rem);
  left: 50%;
  margin: 0;
  color: var(--result-card-support);
  font-size: .5rem;
  font-weight: 620;
  line-height: 1.1;
  text-align: center;
  transform: translateX(-50%);
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-date,
.paired-round-relationship-reveal .paired-date-cluster .paired-round-date {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
}

.paired-round-relationship-reveal .paired-round-date strong,
.paired-round-relationship-reveal .paired-date-cluster .paired-round-date strong { font-size: 1.08rem; }
.paired-round-relationship-reveal .paired-round-date small,
.paired-round-relationship-reveal .paired-date-cluster .paired-round-date small {
  margin-top: .24rem;
  font-size: .58rem;
}

.paired-round-relationship-reveal .paired-date-plus {
  position: static;
  align-self: center;
  width: .8rem;
  margin-top: 0;
  color: var(--result-card-support, var(--ink-soft));
  font-size: var(--score-row-title-size, .9rem);
  font-weight: 670;
  line-height: 1.22;
  text-align: center;
  transform: none;
}

.paired-round-relationship-reveal .paired-round-title {
  position: static;
  grid-column: 2;
  grid-row: 1;
  display: block;
  min-width: 0;
  margin: 0;
}

.paired-round-relationship-reveal .paired-round-title .score-summary-title {
  font-weight: 670;
}

.paired-round-relationship-reveal .paired-round-title .paired-round-title-detail {
  margin-top: .2rem;
  color: var(--ink-soft);
  font-size: var(--score-row-description-size, .68rem);
  font-weight: 580;
  line-height: 1.35;
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-title-line {
  display: flex;
  width: max-content;
  align-items: center;
  gap: .7rem;
}

.paired-round-relationship-reveal .paired-round-title-line .score-summary-title {
  flex: none;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.ordinary-differential-compact > .paired-round-compact-row {
  width: 100%;
  grid-template-columns: 3.25rem minmax(0, 1fr) 5.65rem 1rem;
  background: transparent;
  color: inherit;
  text-align: left;
}

.ordinary-differential-compact .paired-round-title {
  grid-column: 2;
  margin-left: 0;
}

.ordinary-differential-compact .paired-round-gross {
  grid-column: 3;
}

.paired-round-relationship-reveal .paired-round-compact-facts {
  position: static;
  grid-column: 3;
  grid-row: 1;
  display: grid;
  width: 100%;
  max-width: 18rem;
  gap: .38rem;
}

.paired-round-relationship-reveal .paired-round-compact-facts > div {
  display: grid;
  justify-items: center;
  gap: .08rem;
}

.paired-round-relationship-reveal .paired-round-compact-facts dt {
  color: var(--result-card-support);
  font-size: .57rem;
  font-weight: 590;
  line-height: 1.08;
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-compact-facts dd {
  color: var(--result-card-value);
  font-size: .8rem;
  font-weight: 735;
  line-height: 1.08;
  white-space: nowrap;
}

.paired-round-relationship-reveal .paired-round-gross {
  position: static;
  grid-column: 4;
  grid-row: 1;
  display: block;
  width: 5.65rem;
  min-width: 5.65rem;
  text-align: right;
}

@media (max-width: 639px) {
  .paired-round-relationship-reveal { margin: .35rem .1rem; }

  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row,
  .paired-round-relationship-reveal > .paired-round-compact-row {
    position: relative;
    display: block;
    height: 5.8rem;
    min-height: 5.8rem;
    padding: 0;
  }

  .paired-round-relationship-reveal .paired-date-cluster {
    position: absolute;
    top: 50%;
    left: .963rem;
    transform: translateY(-50%);
  }

  .paired-round-relationship-reveal .paired-round-title {
    position: absolute;
    top: 50%;
    right: 4.5rem;
    left: 9.5625rem;
    width: auto;
    transform: translateY(-50%);
  }

  .paired-round-relationship-reveal .paired-round-compact-facts {
    position: absolute;
    top: 1.6rem;
    right: 4.95rem;
    left: 14.2rem;
    display: grid;
    width: auto;
    max-width: none;
    gap: .16rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts > div {
    display: grid;
    justify-items: center;
    gap: .02rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dt {
    font-size: .42rem;
    line-height: 1.04;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts dd {
    font-size: .67rem;
    font-weight: 735;
    line-height: 1.04;
    white-space: nowrap;
  }

  .paired-round-relationship-reveal .paired-round-gross {
    position: absolute;
    top: 50%;
    right: 1.7rem;
    display: block;
    width: 3.2rem;
    min-width: 3.2rem;
    transform: translateY(-50%);
  }

}

@media (min-width: 640px) {
  .paired-round-relationship-reveal .paired-round-title {
    margin-left: .6rem;
  }
}

@media (max-width: 359px) {
  .paired-round-relationship-reveal .paired-date-cluster {
    left: .61rem;
    grid-template-columns: 2.7rem .7rem 2.7rem;
    width: 6.1rem;
  }
  .paired-round-relationship-reveal .paired-date-source { width: 2.7rem; }
  .paired-round-relationship-reveal .paired-date-source { height: 2.7rem; }
  .paired-round-relationship-reveal .paired-round-date,
  .paired-round-relationship-reveal .paired-date-cluster .paired-round-date {
    width: 2.7rem;
    height: 2.7rem;
  }
  .paired-round-relationship-reveal .paired-round-date strong,
  .paired-round-relationship-reveal .paired-date-cluster .paired-round-date strong { font-size: 1rem; }
  .paired-round-relationship-reveal .paired-round-date small,
  .paired-round-relationship-reveal .paired-date-cluster .paired-round-date small {
    margin-top: .2rem;
    font-size: .52rem;
  }
  .paired-round-relationship-reveal .paired-date-plus { width: .7rem; }
  .paired-round-relationship-reveal .paired-round-title { width: 5.6rem; }
  .paired-round-relationship-reveal .paired-round-title { left: 7.26rem; }
  .paired-round-relationship-reveal .paired-round-compact-facts {
    top: 4.12rem;
    right: 5.4rem;
    left: 7.26rem;
    justify-items: start;
    transform: none;
  }
  .paired-round-relationship-reveal .paired-round-compact-facts > div { justify-content: flex-start; justify-items: start; }
  .paired-round-relationship-reveal .paired-round-compact-facts dt { font-size: .39rem; }
  .paired-round-relationship-reveal .paired-round-compact-facts dd { font-size: .62rem; }
}

/* Narrow-phone guard: preserve the normal title/subtitle band and place the
   secondary handicap fact below it without competing with Gross. */
@media (max-width: 430px) {
  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row,
  .paired-round-relationship-reveal > .paired-round-compact-row {
    height: 8rem;
    min-height: 8rem;
  }

  .paired-round-relationship-reveal .paired-round-title {
    top: .95rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-title .paired-round-title-detail {
    overflow: visible;
    width: max-content;
    font-size: var(--score-row-description-size, .68rem);
    letter-spacing: normal;
    text-overflow: clip;
    transform: scaleX(.68);
    transform-origin: left center;
  }

  .paired-round-relationship-reveal .paired-round-gross {
    top: auto;
    bottom: .35rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-gross strong {
    line-height: 1;
  }

  .paired-round-relationship-reveal .paired-round-gross small {
    margin-top: .1rem;
    line-height: 1.1;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts {
    top: 6.15rem;
    right: 4.95rem;
    left: 9.0625rem;
    transform: none;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts > div {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: .25rem;
  }
}

@media (max-width: 359px) {
  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row,
  .paired-round-relationship-reveal > .paired-round-compact-row {
    height: 6.8rem;
    min-height: 6.8rem;
  }

  .paired-round-relationship-reveal .paired-round-compact-facts {
    top: 5.1rem;
    right: 5.4rem;
    left: 7.26rem;
  }

  .paired-round-relationship-reveal .paired-round-gross {
    right: 0;
  }

  .paired-round-relationship-reveal .paired-round-title {
    left: 7.76rem;
    right: 3.4rem;
  }

  .paired-round-relationship-reveal .paired-round-title .paired-round-title-detail {
    transform: scaleX(.59);
  }
}

/* The opened Rounds connector is a normal summary row, not an expanded receipt. */
.paired-round-relationship-reveal > .paired-round-compact-row {
  height: 5rem;
  min-height: 5rem;
}

.paired-round-relationship-reveal .paired-round-title .paired-round-title-detail {
  overflow: visible;
  width: max-content;
  font-size: var(--score-row-description-size, .68rem);
  letter-spacing: normal;
  text-overflow: clip;
  transform: none;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .player-round-card > .paired-round-relationship-reveal > .paired-round-compact-row,
  .paired-round-relationship-reveal > .paired-round-compact-row {
    height: 5.4rem;
    min-height: 5.4rem;
  }

  .paired-round-relationship-reveal .paired-round-title {
    top: 50%;
    transform: translateY(-50%);
  }

  .paired-round-relationship-reveal .paired-round-gross {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }

  .paired-round-relationship-reveal .handicap-paired-round-summary .paired-round-title-detail {
    display: block;
    overflow: visible;
    width: 100%;
    max-width: 100%;
    font-size: .58rem;
    line-height: 1.15;
    white-space: normal;
  }
}

/* Keep the Handicap variants on the final shared Rounds-row geometry after all
   responsive typography overrides. */
.handicap-differential-summary .handicap-differential-title-line .score-summary-title,
.handicap-nine-source-summary .score-summary-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.handicap-differential-summary .handicap-differential-subtitle,
.handicap-nine-source-summary .handicap-nine-source-subtitle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap !important;
}

/* Shared Paired 18 information action. The row drill-in sits behind the visual
   content, while the information control remains an independent 44px target. */
.paired-round-compact-row > :not(.paired-round-row-action) {
  z-index: 2;
  pointer-events: none;
}

.paired-round-row-action {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: inherit;
  padding: 0;
}

.paired-round-row-action:focus-visible {
  outline: 2px solid #2867d4;
  outline-offset: -3px;
}

.paired-round-info-button {
  position: relative;
  z-index: 4;
  display: inline-grid;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  margin: -.82rem -.875rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #69766d;
  padding: 0;
  pointer-events: auto;
}

.paired-round-info-button img {
  display: block;
  width: 1rem;
  height: 1rem;
}

.paired-round-info-button:focus-visible {
  outline: 2px solid #2867d4;
  outline-offset: -6px;
}

.round-row-info-button {
  justify-self: center;
  margin: -.75rem 0;
}

.round-row-info-button img {
  width: 1.25rem;
  height: 1.25rem;
}

.player-round-card .round-history-title-line > .score-summary-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-round-card .report-identity:has(.round-history-title-line) {
  width: 100%;
}

.form-net-par-primary .score-result-comparison {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-top: -.08rem;
  margin-left: auto;
  color: var(--ink);
  font-size: clamp(.68rem, 2.9vw, .75rem);
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
}

.paired-round-info-copy span {
  display: block;
  margin-top: .18rem;
  color: #4e5d54;
  font-weight: 650;
}

.paired-round-info-backdrop {
  position: fixed;
  z-index: 240;
  inset: 0;
  display: flex;
  width: 100vw;
  height: 100dvh;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  background: rgba(24, 34, 28, .48);
  backdrop-filter: blur(.2rem);
  -webkit-backdrop-filter: blur(.2rem);
}

.paired-round-info-sheet {
  width: min(100%, 28rem);
  max-height: calc(100dvh - .5rem);
  overflow: hidden;
  border-radius: 1.65rem 1.65rem 0 0;
  background: #fffdf9;
  box-shadow: 0 -1rem 3rem rgba(24, 34, 28, .18);
  color: var(--ink);
  padding: .48rem 1rem max(1rem, env(safe-area-inset-bottom));
}

.paired-round-info-handle {
  width: 2.5rem;
  height: .28rem;
  margin: 0 auto .52rem;
  border-radius: 999px;
  background: #ccd1cb;
}

.paired-round-info-sheet header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .65rem;
}

.paired-round-info-sheet h3 {
  max-width: 18rem;
  margin: .15rem 0 0;
  color: #1d2b20;
  font-size: 1.28rem;
  font-weight: 720;
  letter-spacing: -.025em;
  line-height: 1.15;
}

.paired-round-info-sheet h3:focus { outline: 0; }

.paired-round-info-close {
  display: grid;
  flex: 0 0 2.75rem;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin: -.3rem -.45rem 0 0;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #eef0ec;
  color: #526057;
  padding: 0;
}

.paired-round-info-close .ui-icon { width: 1rem; height: 1rem; }

.paired-round-info-copy {
  display: grid;
  gap: .42rem;
  margin-top: .65rem;
}

.paired-round-info-copy p,
.paired-round-info-result p {
  margin: 0;
  color: #58645c;
  font-size: .82rem;
  line-height: 1.38;
}

.paired-round-info-fact-list {
  display: grid;
  gap: .28rem;
  max-width: 24rem;
  margin: 0 auto;
  color: #5d685f;
  padding-left: 1.25rem;
  font-size: .78rem;
  line-height: 1.32;
  text-align: left;
}

.paired-round-info-fact-list li::marker {
  color: #477a42;
  font-weight: 760;
}

.paired-round-info-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin: .7rem 0 0;
}

.paired-round-info-facts div {
  min-width: 0;
  border-radius: .85rem;
  background: #f1f6ed;
  padding: .58rem .65rem;
}

.paired-round-info-facts dt,
.paired-round-info-facts dd { margin: 0; }
.paired-round-info-facts dt { color: #6b766e; font-size: .66rem; line-height: 1.2; }
.paired-round-info-facts dd { margin-top: .12rem; color: #26362a; font-size: .9rem; font-weight: 720; line-height: 1.2; }

.paired-round-info-counting {
  margin: .6rem 0 0;
  color: #4f5d53;
  font-size: .78rem;
  font-weight: 620;
  line-height: 1.38;
}
.paired-round-info-counting em,
.handicap-sheet-outcome em { color: #6d786f; font-weight: 540; }
.paired-round-info-counting span,
.handicap-counting-progress span { display: block; }
.paired-round-info-counting span + span,
.handicap-counting-progress span + span { margin-top: .18rem; }

.paired-round-info-projection {
  margin-top: .55rem;
  border-left: .18rem solid #9fe870;
  border-radius: .3rem .72rem .72rem .3rem;
  background: #f1f8ed;
  padding: .48rem .58rem;
}
.paired-round-info-projection strong { display: block; color: #345e31; font-size: .7rem; line-height: 1.15; }
.paired-round-info-projection p { margin: .12rem 0 0; color: #4f5d53; font-size: .76rem; line-height: 1.32; }
.paired-round-info-projection em { color: #6d786f; font-size: .7rem; font-weight: 540; }
.paired-round-targets { margin-top: .45rem; }
.paired-round-targets > header { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; margin-bottom: .3rem; }
.paired-round-targets > header strong { color: #203a27; font-size: .76rem; }
.paired-round-targets > header small { overflow: hidden; color: #68746b; font-size: .65rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.paired-round-target-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .38rem; }
.paired-round-target-grid article { min-width: 0; padding: .44rem .5rem; border: 1px solid rgba(74, 122, 76, .13); border-radius: .72rem; background: #f5f9f1; }
.paired-round-target-grid article small,
.paired-round-target-grid article i,
.paired-round-target-grid article span,
.paired-round-target-grid article b { display: block; }
.paired-round-target-grid article small { color: #66736a; font-size: .62rem; line-height: 1.18; }
.paired-round-target-grid article i { display: -webkit-box; overflow: hidden; margin-top: .08rem; color: #788279; font-size: .57rem; font-style: italic; line-height: 1.18; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.paired-round-target-grid article strong { display: block; margin-top: .1rem; color: #1d3423; font-size: .88rem; line-height: 1.15; }
.paired-round-target-grid article span { margin-top: .12rem; color: #66736a; font-size: .62rem; line-height: 1.22; }
.paired-round-target-grid article b { margin-top: .16rem; color: #315b38; font-size: .69rem; line-height: 1.18; }
.paired-round-target-grid article .target-inline-score { display: inline !important; margin: 0; color: #1d3423; font-size: inherit; line-height: inherit; }
.paired-round-targets > p,
.paired-round-targets > em { display: block; margin: .18rem 0 0; color: #778178; font-size: .59rem; line-height: 1.22; }
.paired-round-targets > em { font-style: italic; }

.paired-round-info-result {
  margin-top: .62rem;
  border-top: 1px solid #e3e7e1;
  padding-top: .58rem;
}

.paired-round-info-result strong {
  display: block;
  margin-bottom: .2rem;
  color: #345e31;
  font-size: .84rem;
  font-weight: 740;
  line-height: 1.25;
}

.paired-round-info-done {
  width: 100%;
  min-height: 3rem;
  margin-top: .7rem;
  border: 0;
  border-radius: 999px;
  background: #9fe870;
  color: #173414;
  font-size: .92rem;
  font-weight: 780;
}

.paired-round-info-close:focus-visible,
.paired-round-info-done:focus-visible {
  outline: 2px solid #2867d4;
  outline-offset: 2px;
}

@media (max-width: 359px) {
  .paired-round-info-sheet { padding-inline: .85rem; }
  .paired-round-info-sheet h3 { font-size: 1.12rem; }
  .paired-round-info-copy { gap: .32rem; margin-top: .48rem; }
  .paired-round-info-copy p,
  .paired-round-info-result p { font-size: .75rem; line-height: 1.32; }
  .paired-round-info-facts { margin-top: .52rem; }
  .paired-round-info-counting { margin-top: .48rem; font-size: .72rem; line-height: 1.3; }
  .paired-round-info-projection { margin-top: .4rem; padding: .4rem .5rem; }
  .paired-round-info-projection p { font-size: .7rem; line-height: 1.26; }
  .paired-round-targets { margin-top: .34rem; }
  .paired-round-target-grid article { padding: .34rem .4rem; }
  .paired-round-target-grid article strong { font-size: .78rem; }
  .paired-round-target-grid article small,
  .paired-round-target-grid article i,
  .paired-round-target-grid article span { font-size: .57rem; }
  .paired-round-target-grid article b { font-size: .62rem; }
  .paired-round-targets > p,
  .paired-round-targets > em { font-size: .54rem; }
  .paired-round-info-result { margin-top: .5rem; padding-top: .5rem; }
  .paired-round-info-done { margin-top: .55rem; }
}

/* Premium result explainer: a quiet floating card with the real golf result
   breaking across its top edge. The row trigger and calculation semantics are
   unchanged; this layer only reshapes the shared information presentation. */
.paired-round-info-backdrop {
  align-items: center;
  overflow: hidden;
  background: rgba(19, 31, 23, .62);
  backdrop-filter: blur(.12rem);
  -webkit-backdrop-filter: blur(.12rem);
}

.paired-round-info-sheet {
  position: relative;
  display: flex;
  flex-direction: column;
  width: calc(100% - 3.5rem);
  max-width: 20.75rem;
  height: min(38rem, calc(100dvh - 7rem));
  max-height: none;
  overflow: visible;
  margin: .75rem;
  border: 1px solid rgba(36, 61, 42, .08);
  border-radius: 1.75rem;
  background: #fffefa;
  box-shadow: 0 1.5rem 4rem rgba(10, 23, 14, .28);
  padding: 0 1.5rem 1.4rem;
  transform: none;
}

.paired-round-info-breakout {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 0 0 min(8.6rem, 21dvh);
  justify-items: center;
  align-content: center;
  grid-template-columns: 1fr;
  align-items: center;
  margin: .8rem 1rem 0;
  border-radius: 1.25rem;
  background: radial-gradient(circle at 92% -20%, rgba(159,232,112,.26), transparent 14rem), var(--green-dark);
  padding: .85rem 1rem;
  text-align: center;
  pointer-events: none;
}

.paired-round-info-breakout strong {
  color: var(--lime);
  font-size: clamp(3.6rem, 18vw, 4.7rem);
  font-weight: 760;
  line-height: .84;
  letter-spacing: -.075em;
  text-shadow: none;
}

.paired-round-info-breakout span {
  color: rgba(255,255,255,.66);
  font-size: .78rem;
  font-weight: 690;
  line-height: 1.2;
}

.paired-round-info-sheet > header {
  position: relative;
  display: block;
  min-height: auto;
  padding-inline: .25rem;
  text-align: center;
}

.paired-round-info-sheet h3 {
  max-width: 17rem;
  margin: 0 auto;
  color: #1b2e20;
  font-size: 1.45rem;
  font-weight: 740;
  letter-spacing: -.025em;
  line-height: 1.12;
}

.paired-round-info-close {
  position: absolute;
  top: .85rem;
  right: .85rem;
  z-index: 3;
  margin: 0;
  background: #f0f2ee;
  color: #506056;
}

.paired-round-info-target-list {
  counter-reset: golf-info-point;
  display: grid;
  flex: 1 1 auto;
  gap: .56rem;
  min-height: 0;
  margin: 1.1rem 0 0;
  padding: 0 .15rem .8rem 0;
  list-style: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.paired-round-info-target-list > li {
  counter-increment: golf-info-point;
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: .78rem;
  color: #536159;
  font-size: .76rem;
  font-weight: 580;
  line-height: 1.34;
}

.paired-round-info-target-list > li::before {
  content: counter(golf-info-point);
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: #edf5e9;
  color: #315c38;
  font-size: .82rem;
  font-weight: 760;
}

.paired-round-info-target-list > li strong,
.paired-round-info-target-list > li b {
  color: #1d3423;
  font-weight: 720;
}

.paired-round-info-target-list > li em {
  color: #405447;
  font-style: italic;
  font-weight: 650;
}

.paired-round-info-target-list > li.is-score-target { color: #405148; }

.paired-round-info-item-copy,
.paired-round-info-score-target {
  min-width: 0;
}

.paired-round-info-item-copy > span,
.paired-round-info-item-copy > em,
.paired-round-info-score-target > span,
.paired-round-info-score-target > strong,
.paired-round-info-score-target > em,
.paired-round-info-score-target > b {
  display: block;
}

.paired-round-info-item-copy > em { margin-top: .16rem; }

.paired-round-info-score-target {
  display: grid;
  gap: .12rem;
}

.paired-round-info-score-target > span {
  color: #68766d;
  font-style: italic;
}

.paired-round-info-round-context {
  margin: 1.35rem auto 0;
  color: #5d685f;
  font-size: .86rem;
  line-height: 1.4;
  text-align: center;
}

.paired-round-info-done {
  min-height: 3.15rem;
  margin-top: auto;
  border-radius: .95rem;
  background: #17470f;
  color: #fff;
  box-shadow: 0 .55rem 1.2rem rgba(23, 71, 15, .17);
  font-size: .94rem;
}

@media (max-width: 359px), (max-height: 740px) {
  .paired-round-info-sheet {
    width: calc(100% - 2.5rem);
    height: min(35rem, calc(100dvh - 5rem));
    margin-inline: 1.25rem;
    margin-block: .5rem;
    padding: 0 1.15rem 1rem;
    transform: none;
  }
  .paired-round-info-breakout { flex-basis: min(7.6rem, 19dvh); margin: .65rem .7rem 0; padding: .65rem .8rem; }
  .paired-round-info-breakout strong { font-size: 3.55rem; }
  .paired-round-info-breakout span { font-size: .7rem; }
  .paired-round-info-sheet h3 { font-size: 1.38rem; }
  .paired-round-info-target-list { gap: .52rem; margin-top: 1rem; }
  .paired-round-info-target-list > li { grid-template-columns: 1.75rem minmax(0, 1fr); gap: .6rem; font-size: .69rem; line-height: 1.27; }
  .paired-round-info-target-list > li::before { width: 1.75rem; height: 1.75rem; font-size: .74rem; }
  .paired-round-info-done { min-height: 2.75rem; }
}

@media (min-width: 640px) {
  .paired-round-info-sheet {
    max-width: 21.5rem;
    margin: 1rem;
    padding-inline: 1.6rem;
  }
  .paired-round-info-breakout strong { font-size: 6rem; }
  .paired-round-info-sheet h3 { font-size: 1.7rem; }
}
/* Approved round-data presentation: one shared compact result summary followed by
   a calm two-column card system on Rounds, Form, Handicap, GIR and Reports. */
.player-round-detail {
  --round-stat-blue: #274b68;
  --round-stat-ink: var(--ink);
  --round-stat-support: #64747f;
  --round-stat-line: #dce3e7;
  background: #f5f7f8;
}

.round-result-summary {
  border-bottom: 1px solid var(--round-stat-line);
  background: #fff;
  padding: .72rem 1rem;
}

.round-result-summary .player-round-stat-strip {
  min-height: 0;
  gap: .7rem;
  border: 0;
  padding: 0;
}

.round-result-summary .round-stat-card {
  min-height: 3.8rem;
  border: 0;
  background: transparent;
  padding: .4rem 0;
}

.round-result-summary .round-stat-card + .round-stat-card {
  border-inline-start: 1px solid var(--round-stat-line);
  padding-inline-start: .7rem;
}

.round-result-summary .round-score-three-up dt {
  color: var(--round-stat-blue);
  font-size: clamp(.68rem, 2.7vw, .78rem);
  font-weight: 700;
}

.round-result-summary .round-score-three-up dd,
.round-result-summary .round-score-three-up .score-stat-primary dd {
  margin-top: .45rem;
  color: var(--round-stat-blue);
  font-size: clamp(1.28rem, 5.6vw, 1.65rem);
  font-weight: 760;
  letter-spacing: -.025em;
  line-height: 1.08;
  white-space: nowrap;
}

.round-result-summary .form-round-stableford-row {
  margin-top: .4rem;
  border-top: 1px solid var(--round-stat-line);
  padding-top: .4rem;
}

.round-statistics-section {
  display: grid;
  gap: .62rem;
  min-width: 0;
  padding: .9rem 1rem 1rem;
}

.round-statistics-section > h4 {
  margin: 0 0 .05rem;
  color: var(--round-stat-blue);
  font-size: .9rem;
  font-weight: 780;
  letter-spacing: -.01em;
  line-height: 1.2;
}

.round-statistics-section .player-round-stat-strip {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 7rem;
  gap: .62rem;
  min-height: 0;
  border: 0;
  background: transparent;
  padding: 0;
}

.round-statistics-section .round-stat-card {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  align-content: stretch;
  min-width: 0;
  min-height: 0;
  height: 100%;
  border: 1px solid var(--round-stat-line);
  border-radius: .9rem;
  background: #fff;
  box-shadow: 0 1px 1px rgba(27, 49, 62, .025);
  padding: .8rem;
}

.round-statistics-section .round-stat-card dt,
.round-statistics-section .round-stat-card dd {
  margin: 0;
}

.round-statistics-section .round-stat-card dt {
  color: var(--round-stat-blue);
  font-size: .72rem;
  font-weight: 760;
  line-height: 1.25;
}

.round-statistics-section .round-stat-card dd,
.round-statistics-section .player-round-stat-grid .round-stat-card dd,
.round-statistics-section .net-scoring-distribution .round-stat-card dd {
  align-self: end;
  margin-top: 0;
  padding-top: .65rem;
  color: var(--round-stat-blue);
  font-size: clamp(1.7rem, 7.4vw, 2rem);
  font-weight: 760;
  letter-spacing: -.025em;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.round-statistics-section .round-stat-card dd.is-unavailable {
  color: var(--round-stat-blue);
  font-weight: 720;
}

.round-statistics-section .gir-stat-label {
  gap: .18rem;
}

.round-statistics-section .gir-stat-label small {
  display: -webkit-box;
  overflow: hidden;
  color: var(--round-stat-support);
  font-size: .62rem;
  font-weight: 570;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.round-statistics-section .round-differential-stat dd,
.round-statistics-section .up-and-down-stat dd {
  font-size: clamp(1.12rem, 4.8vw, 1.32rem);
  line-height: 1.25;
}

.round-statistics-section .result-stat-label-with-help {
  display: block;
  padding-right: 1.85rem;
}

.round-statistics-section .result-metric-help-trigger {
  position: absolute;
  top: .25rem;
  right: .25rem;
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
}

.round-statistics-section .result-metric-help-trigger:focus-visible {
  outline-offset: -7px;
}

.round-statistics-section + .player-round-card-actions,
.player-round-detail > .player-round-card-actions {
  border-top-color: var(--round-stat-line);
  background: #fff;
}

.report-player-result {
  overflow: hidden;
  border: 1px solid #dce3e7;
  border-radius: 1rem;
  background: #f5f7f8;
  padding: .75rem;
}

.report-player-result > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .15rem .1rem .7rem;
}

.report-player-identity,
.round-report-score {
  display: grid;
  min-width: 0;
}

.report-player-identity strong {
  color: #17232b;
  font-size: .9rem;
}

.report-player-identity small {
  margin-top: .15rem;
  color: #64747f;
  font-size: .65rem;
  line-height: 1.25;
}

.round-report-score {
  justify-items: end;
}

.round-report-score strong {
  color: #17232b;
  font-size: 1.45rem;
  font-weight: 720;
  letter-spacing: -.04em;
  line-height: 1;
}

.round-report-score small {
  margin-top: .18rem;
  color: #64747f;
  font-size: .65rem;
  font-weight: 680;
}

.report-player-result .player-round-detail {
  border: 1px solid #dce3e7;
  border-radius: .9rem;
}

@media (max-width: 359px) {
  .round-result-summary,
  .round-statistics-section {
    padding-inline: .7rem;
  }

  .round-statistics-section,
  .round-statistics-section .player-round-stat-strip {
    gap: .48rem;
  }

  .round-statistics-section .round-stat-card {
    min-height: 6.55rem;
    padding: .68rem;
  }

  .round-statistics-section .round-stat-card dt {
    font-size: .68rem;
  }
}

/* Owner-approved joined-18 list row. This final scoped layer changes only the
   selected yellow joined row; source-nine cards, ordinary rows and expanded
   result content continue to use their existing geometry. */
.paired-round-relationship-reveal.approved-joined-row {
  display: block;
  width: 100%;
  min-height: 0;
  margin: 0;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

.approved-joined-row > .paired-round-compact-row,
.player-round-card > .approved-joined-row > .paired-round-compact-row {
  position: relative;
  display: block;
  height: 5.4rem;
  min-height: 5.4rem;
  padding: 0;
}

.approved-joined-row .paired-date-cluster {
  position: absolute;
  top: 50%;
  left: .1rem;
  display: grid;
  grid-template-columns: 3.25rem .75rem 3.25rem;
  gap: 0;
  width: 7.25rem;
  height: 3.25rem;
  align-items: center;
  transform: translateY(-50%);
}

.approved-joined-row .paired-date-source,
.approved-joined-row .paired-date-source:first-child,
.approved-joined-row .paired-date-source:last-child {
  position: relative;
  top: auto;
  left: auto;
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  justify-items: center;
}

.approved-joined-row .paired-round-date,
.approved-joined-row .paired-date-cluster .paired-round-date {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
}

.approved-joined-row .paired-round-date strong,
.approved-joined-row .paired-date-cluster .paired-round-date strong {
  font-size: 1.08rem;
}

.approved-joined-row .paired-round-date small,
.approved-joined-row .paired-date-cluster .paired-round-date small {
  margin-top: .24rem;
  font-size: .58rem;
}

.approved-joined-row .paired-date-source > small {
  position: absolute;
  top: calc(100% + .1rem);
  left: 50%;
  margin: 0;
  color: var(--result-card-support);
  font-size: .5rem;
  font-weight: 620;
  line-height: 1.1;
  text-align: center;
  transform: translateX(-50%);
  white-space: nowrap;
}

.approved-joined-row .paired-date-plus {
  position: static;
  align-self: center;
  width: .75rem;
  margin: 0;
  color: var(--result-card-support, var(--ink-soft));
  font-size: var(--score-row-title-size, 1rem);
  font-weight: 670;
  line-height: 1.22;
  text-align: center;
  transform: none;
}

.approved-joined-row .paired-round-title {
  position: absolute;
  top: 50%;
  right: 4.95rem;
  left: 7.5rem;
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  transform: translateY(-50%);
}

.approved-joined-row .paired-round-compact-row .paired-round-title-line {
  position: relative;
  display: flex;
  width: max-content;
  align-items: center;
  flex-wrap: nowrap;
  gap: .5rem;
}

.approved-joined-row .paired-round-title-line .score-summary-title,
.approved-joined-row .paired-round-title .score-summary-title {
  flex: none;
  overflow: visible;
  color: var(--ink);
  font-size: var(--score-row-title-size, 1rem);
  font-weight: 700;
  line-height: 1.22;
  text-overflow: clip;
  transform: translateX(.25rem);
  white-space: nowrap;
}

.approved-joined-row .paired-round-title .paired-round-title-detail,
.approved-joined-row .handicap-paired-round-summary .paired-round-title-detail {
  display: block;
  overflow: visible;
  width: max-content;
  max-width: none;
  margin-top: .2rem;
  color: var(--ink-soft);
  font-size: var(--score-row-description-size, .82rem);
  font-weight: 580;
  line-height: 1.35;
  letter-spacing: normal;
  text-overflow: clip;
  transform: translateX(.25rem);
  white-space: nowrap;
}

.approved-joined-row .paired-round-status-pill {
  display: inline-flex;
  flex: none;
  width: max-content;
  min-width: 3.65rem;
  height: 1.25rem;
  min-height: 0;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: .1rem .5rem;
  font-size: .75rem;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

.approved-joined-row .paired-round-info-button {
  position: absolute;
  z-index: 4;
  top: .72rem;
  right: -.725rem;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  margin: 0;
}

.approved-joined-row .paired-round-info-button img {
  width: 1rem;
  height: 1rem;
}

.approved-joined-row .paired-round-gross {
  position: absolute;
  top: 50%;
  right: 1.1rem;
  display: block;
  width: 3.35rem;
  min-width: 3.35rem;
  text-align: right;
  transform: translateY(-50%);
}

.approved-joined-row .paired-round-chevron {
  position: absolute;
  top: 50%;
  right: .1rem;
  display: block;
  width: 1rem;
  text-align: right;
  transform: translateY(-50%);
}

.approved-joined-row .paired-round-gross.form-net-par-primary {
  width: 3.75rem;
  min-width: 3.75rem;
}

@media (max-width: 379px) {
  .approved-joined-row .paired-round-title {
    top: .4rem;
    right: .15rem;
    left: 7.5rem;
    transform: none;
  }

  .approved-joined-row .paired-round-compact-row .paired-round-title-line {
    gap: .25rem;
  }

  .approved-joined-row .paired-round-gross {
    top: auto;
    right: 1rem;
    bottom: .05rem;
    width: 3.2rem;
    min-width: 3.2rem;
    transform: none;
  }

  .approved-joined-row .paired-round-chevron {
    right: 0;
  }
}

@media (min-width: 640px) {
  .approved-joined-row > .paired-round-compact-row,
  .player-round-card > .approved-joined-row > .paired-round-compact-row {
    height: 5rem;
    min-height: 5rem;
  }

  .approved-joined-row .paired-date-cluster {
    left: .85rem;
  }

  .approved-joined-row .paired-round-title {
    right: 7.5rem;
    left: 7.85rem;
  }

  .approved-joined-row .paired-round-gross {
    right: 1.85rem;
    width: 5.65rem;
    min-width: 5.65rem;
  }

  .approved-joined-row .paired-round-chevron {
    right: .85rem;
  }
}

/* Owner-bounded rehearsal notice and Rounds divider fix — 26 August 2026. */
.rehearsal-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: start;
  gap: .65rem;
  min-width: 0;
  margin: .75rem max(var(--page-pad), env(safe-area-inset-right)) 0 max(var(--page-pad), env(safe-area-inset-left));
  border: 1px solid #f0d8a8;
  border-radius: .75rem;
  background: #fff4e5;
  color: #6e4800;
  padding: .75rem .65rem .75rem .85rem;
}

.rehearsal-notice-copy {
  min-width: 0;
}

.rehearsal-notice-copy strong,
.rehearsal-notice-copy span {
  display: block;
  overflow-wrap: anywhere;
}

.rehearsal-notice-copy strong {
  color: #5e3f00;
  font-size: .875rem;
  line-height: 1.3;
}

.rehearsal-notice-copy span {
  margin-top: .2rem;
  color: inherit;
  font-size: .875rem;
  line-height: 1.45;
}

.rehearsal-notice-close {
  display: grid;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  min-height: 2.75rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #6e4800;
  padding: 0;
  font-size: 1.35rem;
  line-height: 1;
}

.rehearsal-notice-close:active {
  background: rgba(110, 72, 0, .09);
}

.rehearsal-notice-close:focus-visible {
  outline: .18rem solid #6e4800;
  outline-offset: .1rem;
  box-shadow: none;
}

@media (max-width: 639px) {
  .player-rounds-list {
    border-top: 0;
  }
}
/* End owner-bounded rehearsal notice and Rounds divider fix. */

/* Phone recovery: a compact scoring surface, not a full-page error alert. */
/* In-context feedback: only explicitly confirmed local saves receive a tick. */
.app-notice { display: flex; align-items: flex-start; gap: .65rem; min-width: 0; margin: 0 0 1rem; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--paper-soft); color: var(--ink); font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.app-notice.is-success { background: #edf6ef; border-color: #cee2d4; color: #174f35; }
.app-notice-icon { display: grid; place-items: center; flex: 0 0 1.25rem; height: 1.25rem; margin-top: .05rem; border: 1px solid currentColor; border-radius: 50%; font-size: .875rem; font-weight: 700; }
.app-notice.is-success .app-notice-icon { background: #216e39; border-color: #216e39; color: #fff; }
.app-notice.is-floating { position: fixed; top: max(.75rem,env(safe-area-inset-top)); left: 50%; z-index: 170; width: calc(100% - 2rem); max-width: 30rem; margin: 0; transform: translateX(-50%); box-shadow: 0 .35rem 1.2rem rgb(15 35 23 / 12%); pointer-events: none; }
/* Keep the real page underneath. Blur belongs to the veil, never the indicator. */
.live-processing-backdrop { background: rgb(255 255 255 / 55%); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.live-processing-dialog h3 { font-size: 1.625rem; line-height: 1.25; letter-spacing: -.02em; }
.live-processing-dialog:focus-visible { outline: none; box-shadow: none; }
@supports not ((backdrop-filter: blur(5px)) or (-webkit-backdrop-filter: blur(5px))) {
  .live-processing-backdrop { background: rgb(255 255 255 / 94%); }
}
@media (prefers-reduced-transparency: reduce) {
  .live-processing-backdrop { background: var(--paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
.phone-recovery-page { width: 100%; max-width: 30rem; margin: 0 auto; padding: 1rem .25rem; }
.phone-recovery-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.phone-recovery-heading img { width: 3rem; height: 3.5rem; object-fit: contain; flex-shrink: 0; }
.phone-recovery-heading p { color: var(--ink-soft); font-size: .875rem; margin-bottom: .3rem; }
.phone-recovery-heading h3 { color: var(--ink); font-size: 1.75rem; font-weight: 760; letter-spacing: -.035em; }
.phone-recovery-card { overflow: hidden; border: 1px solid var(--line); border-radius: 1.25rem; background: var(--paper); }
.phone-recovery-message { padding: 1.5rem 1.25rem 1.25rem; background: var(--paper-soft); border-bottom: 1px solid var(--line); }
.phone-recovery-message .phone-recovery-label { margin-bottom: .75rem; color: var(--green-dark); font-size: .875rem; font-weight: 650; }
.phone-recovery-message h4 { margin-bottom: .65rem; font-size: 1.25rem; line-height: 1.25; }
.phone-recovery-message p:last-child { color: var(--ink-soft); font-size: 1rem; line-height: 1.5; }
.phone-recovery-actions { display: grid; gap: .75rem; padding: 1.25rem; }
.phone-recovery-actions .primary-action { min-height: 3rem; padding: .75rem 1rem; border-radius: .75rem; background: var(--green-dark); color: #fff; box-shadow: none; font-size: 1rem; line-height: 1.4; font-weight: 650; }
.phone-recovery-actions p { margin: 0; color: var(--ink-soft); font-size: .875rem; line-height: 1.45; text-align: center; }
.phone-recovery-actions .ghost-button { min-height: 2.75rem; border: 0; padding: .6rem .25rem; background: transparent; color: var(--green-dark); font-size: .875rem; line-height: 1.4; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
.phone-recovery-actions button:focus-visible { outline: .18rem solid var(--blue-ink); outline-offset: .2rem; }
.saved-phone-copies { display: block; }
.bootstrap-layout-slots { display: grid; gap: 1.5rem; max-width: 36rem; margin: 3rem auto; }
.bootstrap-layout-slots span { display: block; min-height: 5rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); }
.bootstrap-nav { position: fixed; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-around; padding: 1.5rem 1rem max(1.5rem,env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--paper); color: var(--green-dark); }
.end-round-overlay .review-hint[role="status"] { padding: .75rem; border-radius: .65rem; background: #f5f1e5; color: #5b4614; font-size: .875rem; line-height: 1.45; }
@media (min-width: 768px) {
  .phone-recovery-page { padding-top: 2rem; }
  .phone-recovery-message, .phone-recovery-actions { padding: 1.5rem; }
}
