:root {
  --wise-lime: #a4e974;
  --wise-green: #163200;
  --wise-control: #153403;
  --surface: #fffdfE;
  --surface-muted: #efefed;
  --surface-soft: #f6f6f3;
  --surface-warm: #fbfaf6;
  --ink: #050805;
  --muted: #444a44;
  --subtle: #555c55;
  --supporting: #333933;
  --line: #dddfda;
  --outlined-action-border: 1px dashed #cfd3cb;
  --amber: #fff0c9;
  --amber-line: #e3a325;
  --pink: #d849a2;
  --stroke-gold: #f2c45d;
  --stroke-gold-soft: #f7d98d;
  --blue: #4aa3d9;
  --shadow: 0 -1rem 3rem rgb(19 32 20 / 10%);
  --field-height: 3.75rem;
  --field-radius: .9rem;
  --field-padding-inline: 1rem;
  --field-border: #cfd2cc;
  --app-visual-height: 100dvh;
  --keyboard-lift: 0px;
}

/* Historical-round date selection: compact Daylight bottom sheet. */
.history-date-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 5.75rem;
  padding: 1rem 1.125rem;
  border: 1.5px solid var(--line);
  border-radius: 1.5rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
}

.history-date-trigger:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--wise-lime) 52%, transparent);
  outline-offset: 3px;
}

.history-date-trigger[aria-invalid="true"] { border-color: #b33a3a; }
.history-date-copy { display: grid; gap: .25rem; }
.history-date-copy strong { font-size: 1.15rem; }
.history-date-copy small { color: var(--muted); font-size: .9rem; }

.history-date-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--surface-muted);
}

.history-date-icon svg { width: 1.5rem; height: 1.5rem; }

.history-calendar-layer {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  align-items: end;
  justify-items: center;
}

.history-calendar-layer[hidden] { display: none; }

.history-calendar-scrim {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgb(16 19 15 / 38%);
}

.history-calendar-sheet {
  position: relative;
  width: min(100%, 430px);
  max-height: calc(100dvh - 1.5rem);
  overflow-y: auto;
  padding: .75rem 1.375rem calc(1.375rem + env(safe-area-inset-bottom));
  border-radius: 2.25rem 2.25rem 0 0;
  background: var(--surface);
  box-shadow: 0 -1.125rem 3rem rgb(16 19 15 / 15%);
}

.history-calendar-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem 0 1.375rem;
}

.history-calendar-header h2 { margin: .25rem 0 0; font-size: 1.8rem; }
.history-calendar-header p { margin: 0; color: var(--muted); }

.history-calendar-close,
.history-calendar-month-actions button {
  display: grid;
  place-items: center;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  border: 0;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--ink);
}

.history-calendar-close { font-size: 1.75rem; }

.history-calendar-month-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.history-calendar-month-row strong { font-size: 1.15rem; }
.history-calendar-month-actions { display: flex; gap: .5rem; }
.history-calendar-month-actions button { font-size: 1.5rem; }
.history-calendar-month-actions button:last-child { background: color-mix(in srgb, var(--wise-lime) 24%, white); }

.history-calendar-weekdays,
.history-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  text-align: center;
}

.history-calendar-weekdays span {
  padding: .5rem 0;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.history-calendar-day {
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
}

.history-calendar-day.is-outside { color: var(--muted); font-weight: 500; }
.history-calendar-day.is-today { box-shadow: inset 0 0 0 1px var(--line); }
.history-calendar-day.is-selected {
  background: color-mix(in srgb, var(--wise-lime) 24%, white);
  color: var(--wise-green);
  box-shadow: inset 0 0 0 2px var(--wise-lime);
}
.history-calendar-day:disabled { opacity: .28; }
.history-calendar-selection { margin: 1.125rem 0 .75rem; color: var(--muted); text-align: center; }

.history-calendar-confirm {
  width: 100%;
  min-height: 3.5rem;
  border: 0;
  border-radius: 999px;
  background: var(--wise-lime);
  color: var(--wise-green);
  font-size: 1.05rem;
  font-weight: 800;
}

.history-calendar-confirm:disabled {
  opacity: .48;
  cursor: not-allowed;
}

body.has-history-calendar { overflow: hidden; }

@media (max-width: 340px) {
  .history-calendar-sheet { padding-inline: .875rem; }
  .history-calendar-day { min-height: 2.5rem; }
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

button, input, select, textarea { font: inherit; }

button { -webkit-tap-highlight-color: transparent; }

body {
  background: #e9ebe6;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Helvetica, sans-serif;
}

body[data-direction="club"] {
  --wise-lime: #b6f24e;
  --wise-green: #183807;
  --wise-control: #183807;
  --surface: #fffef9;
  --surface-muted: #e9eee6;
  --surface-soft: #f1f5ee;
  --surface-warm: #faf8f1;
  --line: #d4dad1;
  --stroke-gold: #f4c854;
  --stroke-gold-soft: #f8dc8d;
  background: #e5eadf;
}

body[data-direction="floodlit"] {
  --wise-lime: #b6f24e;
  --wise-green: #f1ffe8;
  --wise-control: #f1ffe8;
  --surface: #101710;
  --surface-muted: #202820;
  --surface-soft: #182119;
  --surface-warm: #1c241c;
  --ink: #f8fbf5;
  --muted: #a9b2a5;
  --subtle: #939d90;
  --supporting: #c0c8bd;
  --line: #344035;
  --amber: #3b3020;
  --amber-line: #d99b36;
  --shadow: 0 -1rem 3rem rgb(0 0 0 / 35%);
  background: #080c08;
}

.product-stage,
.review-stage {
  min-height: 100dvh;
  display: grid;
  place-items: start center;
  padding: 1.5rem;
}

.direction-picker {
  position: fixed;
  z-index: 30;
  top: 1.5rem;
  left: calc(50% + 13rem);
  width: 10.5rem;
  display: grid;
  gap: .45rem;
  padding: 1rem;
  border: 1px solid rgb(20 38 22 / 10%);
  border-radius: 1.35rem;
  background: rgb(255 255 255 / 92%);
  color: #162114;
  box-shadow: 0 1rem 3rem rgb(16 31 18 / 12%);
  backdrop-filter: blur(1rem);
}

.direction-picker p,
.direction-picker h2,
.direction-picker span,
.direction-picker em { margin: 0; }
.direction-picker p { color: #667064; font-size: .7rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.direction-picker h2 { font-size: 1.15rem; letter-spacing: -.025em; }
.direction-picker span { min-height: 3.2rem; color: #5e665c; font-size: .76rem; line-height: 1.4; }
.direction-picker em { color: #747b72; font-size: .68rem; font-style: normal; line-height: 1.35; }
.direction-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; }
.direction-options button {
  min-height: 3.4rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .1rem;
  border: 0;
  border-radius: .85rem;
  background: #eef0ec;
  color: #172116;
  cursor: pointer;
}
.direction-options button.is-selected { background: #a4e974; box-shadow: inset 0 0 0 1px #80bf52; }
.direction-options strong { font-size: 1rem; }
.direction-options small { font-size: .62rem; }

.mobile-prototype {
  position: relative;
  width: 390px;
  height: 844px;
  max-width: 100%;
  overflow: clip;
  background: var(--surface);
  border-radius: 2.25rem;
  box-shadow: 0 1.5rem 5rem rgb(14 31 18 / 18%);
  isolation: isolate;
}

.status-row {
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .6rem 1.25rem 0;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: -.01em;
}

.status-brand { letter-spacing: .12em; color: var(--wise-green); }

body[data-direction="floodlit"] .icon-button img,
body[data-direction="floodlit"] .row-icon,
body[data-direction="floodlit"] .secondary-standing-links img { filter: invert(1); }

body[data-direction="club"] .mobile-prototype {
  box-shadow: 0 1.7rem 5rem rgb(34 69 23 / 22%);
}

body[data-direction="club"] .round-title h1 {
  text-decoration: underline;
  text-decoration-color: var(--wise-lime);
  text-decoration-thickness: .24rem;
  text-underline-offset: .28rem;
}

.app-surface {
  position: relative;
  height: calc(100% - 2.5rem);
  overflow: clip;
}

.app-view {
  position: absolute;
  inset: 0;
  min-height: 0;
  display: none;
  background: var(--surface);
}

.app-view.is-active { display: flex; }

.auth-view,
.form-view,
.invite-view,
.home-view { flex-direction: column; }

.eyebrow {
  margin: 0;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.access-hero {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 1.15rem 1.25rem 0;
}

.private-access-pill {
  align-self: flex-start;
  min-height: 2rem;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 .75rem;
  background: var(--surface-muted);
  color: var(--wise-control);
  font-size: .72rem;
  font-weight: 760;
}

.brand-mark {
  width: 4.8rem;
  height: 4.8rem;
  display: grid;
  place-items: center;
  margin-top: clamp(2.25rem, 10vh, 5rem);
  border-radius: 1.55rem;
  background: var(--wise-lime);
  color: var(--wise-control);
  font-size: 1.2rem;
  font-weight: 850;
  letter-spacing: .12em;
}

.access-title-block { margin-top: 1.65rem; }

.access-title-block h1,
.form-heading h1,
.invite-identity h1,
.home-header h1 {
  margin: .48rem 0 0;
  color: var(--ink);
  font-size: 2.2rem;
  line-height: 1.02;
  letter-spacing: -.052em;
}

.access-title-block > p:last-child,
.form-heading > p:last-child,
.invite-identity > p:last-child {
  margin: .85rem 0 0;
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.45;
}

.auth-actions,
.page-sticky-actions {
  flex: 0 0 auto;
  display: grid;
  gap: .55rem;
  padding: 1rem 1.25rem max(1.15rem, env(safe-area-inset-bottom));
  background: linear-gradient(to bottom, rgb(255 253 254 / 0%), var(--surface) 18%);
}

.action-pill {
  width: 100%;
  min-height: 3.45rem;
  border: 0;
  border-radius: 999px;
  padding: 0 1.25rem;
  color: var(--wise-control);
  font-weight: 780;
  cursor: pointer;
}

.action-pill.is-primary { background: var(--wise-lime); }
.action-pill.is-secondary { background: var(--surface-muted); }
.action-pill:disabled { opacity: .5; cursor: not-allowed; }

.text-action {
  min-height: 2.75rem;
  border: 0;
  padding: .25rem .5rem;
  background: transparent;
  color: var(--wise-control);
  font-size: .84rem;
  font-weight: 740;
  text-decoration: underline;
  text-underline-offset: .16rem;
  cursor: pointer;
}

.text-action.is-inline { align-self: flex-start; padding-inline: 0; }

.mobile-page-header {
  flex: 0 0 auto;
  min-height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .22rem 1rem .12rem;
}

.step-label { color: var(--muted); font-size: .78rem; font-weight: 700; }

.progress-track {
  height: .22rem;
  margin: 0 1.25rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-muted);
}

.progress-track span {
  display: block;
  width: 33.333%;
  height: 100%;
  border-radius: inherit;
  background: var(--wise-lime);
  transition: width 220ms ease;
}

.mobile-form {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1.45rem 1.25rem 1rem;
}

.form-step { display: grid; gap: 1.35rem; }
.form-step[hidden] { display: none; }
.form-heading { margin-bottom: .15rem; }

.form-heading h1 { font-size: 1.95rem; }

.field-control {
  position: relative;
  display: grid;
  gap: .42rem;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 740;
}

.field-control input,
.field-control select,
.field-control textarea {
  width: 100%;
  min-height: var(--field-height);
  border: 1px solid var(--field-border);
  border-radius: var(--field-radius);
  padding: 0 var(--field-padding-inline);
  outline: 0;
  background: var(--surface);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 520;
}

.field-control textarea { min-height: 7rem; resize: vertical; line-height: 1.42; }
.field-control select { appearance: none; }
.field-control > small { color: var(--muted); font-size: .67rem; font-weight: 520; line-height: 1.35; }
.field-control > .field-hint { margin-top: -.12rem; }
.field-control input:focus,
.field-control select:focus,
.field-control textarea:focus { border-color: #6a9d42; outline: 0; box-shadow: 0 0 0 .18rem rgb(164 233 116 / 35%); }
.field-control.has-error input { border-color: #a83131; }

.password-field input { padding-right: 4.9rem; }
.password-field > button {
  position: absolute;
  right: .6rem;
  top: 1.88rem;
  min-width: 3.55rem;
  min-height: 2.3rem;
  border: 0;
  border-radius: 999px;
  padding: 0 .75rem;
  background: var(--surface-muted);
  color: var(--wise-control);
  font-size: .76rem;
  font-weight: 760;
  cursor: pointer;
}
.password-field > button:focus-visible { outline: .14rem solid var(--wise-lime); outline-offset: .08rem; }

.field-error { min-height: 1rem; color: #8f2929; font-size: .7rem; font-weight: 650; }

.form-action-band {
  position: relative;
  z-index: 8;
  flex: 0 0 auto;
  display: grid;
  gap: .4rem;
  padding: .75rem 1.25rem max(.85rem, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  box-shadow: 0 -.7rem 1.6rem rgb(19 32 20 / 6%);
  backdrop-filter: blur(1rem);
}

.form-action-error {
  margin: 0 0 .12rem;
  color: #8f2929;
  font-size: .78rem;
  font-weight: 720;
  line-height: 1.35;
  text-align: center;
}

.form-action-guide {
  margin: 0 0 .12rem;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 620;
  line-height: 1.3;
  text-align: center;
}

.form-action-band:has(.form-action-error:not([hidden])) .form-action-guide { display: none; }
.form-action-error[hidden] { display: none; }

#loginView .form-action-band {
  border-top: 0;
  background: var(--surface);
  box-shadow: none;
  backdrop-filter: none;
}

body.is-keyboard-open .form-action-band {
  position: absolute;
  right: 0;
  bottom: var(--keyboard-lift);
  left: 0;
  gap: 0;
  padding: .28rem .75rem max(.3rem, env(safe-area-inset-bottom));
  box-shadow: 0 -.45rem 1.25rem rgb(19 32 20 / 10%);
}

body.is-keyboard-open .form-action-error { margin-bottom: .35rem; }
body.is-keyboard-open .form-action-guide { display: none; }

body.is-keyboard-open .form-action-band .text-action { display: none; }
body.is-keyboard-open .form-action-band .action-pill { min-height: 2.75rem; }

body.is-keyboard-open .mobile-form {
  padding-top: .85rem;
  padding-bottom: 7rem;
  scroll-padding-block: .75rem;
}

body.is-keyboard-open .form-heading h1 { font-size: 1.5rem; }
body.is-keyboard-open .form-heading > p:last-child { margin-top: .45rem; font-size: .78rem; }

.invite-context-strip,
.secure-note {
  display: grid;
  grid-template-columns: 1rem 1fr;
  align-items: start;
  gap: .65rem;
  border-radius: 1rem;
  padding: .8rem;
  background: #eef7e6;
}

.invite-context-strip > span:last-child { display: grid; gap: .1rem; }
.invite-context-strip strong { font-size: .8rem; }
.invite-context-strip small { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.context-dot { width: .7rem; height: .7rem; margin-top: .15rem; border: .16rem solid var(--wise-control); border-radius: 50%; background: var(--wise-lime); }

.review-card {
  display: grid;
  gap: .6rem;
  border-radius: 1.15rem;
  padding: 1rem;
  background: var(--surface-soft);
}

.review-card div { display: flex; justify-content: space-between; gap: 1rem; font-size: .82rem; }
.review-card span { color: var(--muted); }

.choice-row {
  display: grid;
  grid-template-columns: 1.35rem 1fr;
  align-items: center;
  gap: .75rem;
  min-height: 4rem;
  border-radius: 1rem;
  padding: .75rem;
  background: var(--surface-soft);
  cursor: pointer;
}

.choice-row input {
  appearance: auto;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: var(--wise-control);
  cursor: pointer;
}

.choice-row:has(input:checked) { background: #eef7e6; }
.choice-row input:focus-visible { outline: .16rem solid var(--wise-lime); outline-offset: .16rem; }
.choice-row span { display: grid; gap: .15rem; }
.choice-row strong { font-size: .82rem; line-height: 1.3; }
.choice-row small { color: var(--muted); font-size: .72rem; line-height: 1.35; }

.invite-content {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: .75rem 1.25rem 0;
}

.invite-source-switch {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: .25rem;
  border-radius: 999px;
  background: var(--surface-muted);
}

.invite-source-switch button {
  min-height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--wise-control);
  font-size: .78rem;
  font-weight: 750;
  cursor: pointer;
}

.invite-source-switch button.is-selected { background: var(--surface); box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%); }

.invite-identity { display: grid; justify-items: center; padding: 1.55rem 0 1.25rem; text-align: center; }
.invite-avatar { width: 4.6rem; height: 4.6rem; display: grid; place-items: center; margin-bottom: 1rem; border-radius: 50%; background: var(--wise-lime); color: var(--wise-control); font-size: 1.18rem; font-weight: 850; }
.invite-identity h1 { font-size: 2rem; }

.invite-facts { margin: 0; border-top: 1px solid var(--line); }
.invite-facts div { min-height: 3.4rem; display: grid; grid-template-columns: 1fr 1.5fr; align-items: center; gap: .75rem; border-bottom: 1px solid var(--line); }
.invite-facts dt { color: var(--muted); font-size: .78rem; }
.invite-facts dd { margin: 0; font-size: .82rem; font-weight: 730; text-align: right; }
.secure-note { margin-top: 1rem; }
.secure-note p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.4; }

.home-scroll {
  /* Route-owned scrolling: the shell and fixed navigation intentionally stay put. */
  min-height: 0;
  flex: 1 1 auto;
  height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
  padding: 0 1rem 1.25rem;
}

.home-header { position: sticky; z-index: 4; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: 0 -1rem .9rem; padding: .85rem 1.15rem .75rem; border-bottom: 1px solid rgb(221 223 218 / 78%); background: rgb(255 253 254 / 94%); backdrop-filter: blur(1rem); }
.home-header h1 { max-width: 16rem; font-size: 1.65rem; }
.profile-button { width: 2.75rem; height: 2.75rem; flex: 0 0 auto; border: 0; border-radius: 50%; background: var(--surface-muted); color: var(--wise-control); font-size: .72rem; font-weight: 800; cursor: pointer; }

.home-stack { display: grid; gap: .8rem; }
.home-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: .7rem .15rem .1rem; }
.home-section-heading h2 { margin: 0; font-size: 1.05rem; letter-spacing: -.025em; }
.home-section-heading span { color: var(--muted); font-size: .72rem; }
.home-section-heading .home-active-round-meta { color: var(--supporting); }
.home-section-action { min-height: 2.75rem; border: 0; padding: 0 .25rem; background: transparent; color: var(--wise-control); font-size: .72rem; font-weight: 760; cursor: pointer; }
.home-delete-round {
  display: inline;
  border: 0;
  padding: 0;
  background: transparent;
  color: #7a2424;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
}
.home-delete-round:hover,
.home-delete-round:focus-visible { text-decoration: underline; text-underline-offset: .16rem; }

.resume-card,
.home-card,
.empty-home-card {
  width: 100%;
  border: 0;
  border-radius: 1.3rem;
  padding: 1rem;
  background: var(--surface-soft);
  color: var(--ink);
  text-align: left;
}

button.resume-card,
button.home-card { cursor: pointer; }

.resume-card { position: relative; overflow: hidden; background: var(--wise-lime); color: var(--wise-control); }
.resume-card::after { content: ""; position: absolute; width: 7rem; height: 7rem; right: -2.5rem; bottom: -3.5rem; border: 1.4rem solid rgb(22 50 0 / 9%); border-radius: 50%; }
.card-kicker { display: block; margin-bottom: .45rem; font-size: .7rem; font-weight: 780; letter-spacing: .065em; text-transform: uppercase; }
.resume-card strong { display: block; max-width: 15rem; font-size: 1.35rem; line-height: 1.05; letter-spacing: -.035em; }
.resume-card p { margin: .48rem 0 1.05rem; font-size: .78rem; line-height: 1.4; }
.card-action { display: inline-flex; min-height: 2.65rem; align-items: center; border-radius: 999px; padding: 0 .9rem; background: var(--wise-control); color: var(--surface); font-size: .78rem; font-weight: 760; }

.home-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; }
.home-card-copy { display: grid; gap: .15rem; }
.home-card strong { font-size: .9rem; }
.home-card small { color: var(--muted); font-size: .73rem; line-height: 1.35; }
.home-card img { width: 1.15rem; }
.home-status { display: inline-flex; min-height: 1.8rem; align-items: center; border-radius: 999px; padding: 0 .65rem; background: #eef7e6; color: var(--wise-control); font-size: .65rem; font-weight: 760; }

.home-handicap-card { width: 100%; min-height: 7rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; border: 0; border-radius: 1.3rem; padding: 1rem; background: var(--wise-lime); color: var(--wise-control); text-align: left; cursor: pointer; }
.home-handicap-card > span:first-child { display: grid; gap: .18rem; }
.home-handicap-card strong { font-size: 1.25rem; }
.home-handicap-card small { font-size: .73rem; line-height: 1.35; }
.home-handicap-value { min-width: 3.3rem; height: 3.3rem; display: grid; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 62%); font-size: 1rem; font-weight: 820; }
.home-handicap-card.is-empty { background: #eef7e6; }

.home-group-start-card { width: 100%; display: grid; justify-items: start; gap: .52rem; overflow: hidden; border: 0; border-radius: 1.35rem; padding: 1rem; background: var(--wise-lime); color: var(--wise-control); text-align: left; cursor: pointer; }
.home-group-start-card strong { max-width: 16rem; font-size: 1.25rem; line-height: 1.08; letter-spacing: -.035em; }
.home-group-start-card small { max-width: 18rem; font-size: .74rem; line-height: 1.4; }
.home-group-start-card .card-action { margin-top: .22rem; }

.home-leaderboard-card { width: 100%; display: grid; gap: .15rem; border: 0; border-radius: 1.3rem; padding: .9rem; background: var(--surface-soft); color: var(--ink); text-align: left; cursor: pointer; }
.home-leaderboard-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; padding-bottom: .35rem; }
.home-leaderboard-heading > span:first-child { display: grid; gap: .1rem; }
.home-leaderboard-heading strong { font-size: 1rem; }
.home-leaderboard-heading > span:last-child { color: var(--muted); font-size: .7rem; }
.home-standing-row { min-height: 2.45rem; display: grid; grid-template-columns: 1.5rem 1fr auto; align-items: center; gap: .5rem; border-top: 1px solid var(--line); font-size: .8rem; }
.home-standing-row small { color: var(--muted); }
.home-standing-row.is-you { color: var(--wise-control); font-weight: 760; }

.empty-home-card { display: grid; justify-items: start; gap: .65rem; border: 1px dashed #aab1a6; background: var(--surface); }
.empty-home-card strong { font-size: 1.1rem; }
.empty-home-card p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.4; }

.independent-group-cta {
  width: 100%;
  min-height: 6.75rem;
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .85rem;
  border: var(--outlined-action-border);
  border-radius: 1.2rem;
  padding: .9rem 1.05rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.independent-group-cta-icon {
  width: 3.2rem;
  height: 3.2rem;
  display: grid;
  place-items: center;
  border: 1px solid #d5dad2;
  border-radius: 50%;
}
.independent-group-cta-icon img { width: 1.45rem; height: 1.45rem; }
.independent-group-cta-copy { display: grid; gap: .22rem; }
.independent-group-cta-copy strong { font-size: 1.02rem; letter-spacing: -.025em; }
.independent-group-cta-copy small { color: var(--muted); font-size: .8rem; line-height: 1.35; }
.independent-group-cta-chevron { width: .72rem; justify-self: end; }
.independent-group-cta:hover { border-color: #9ea79b; background: #fdfefd; }
.independent-group-cta:focus-visible { outline: .16rem solid var(--wise-control); outline-offset: .16rem; }

.first-group-onboarding { gap: .9rem; }
.first-group-hero,
.handicap-onboarding-card,
.history-onboarding-card { border-radius: 1.35rem; padding: 1rem; }
.first-group-hero { display: grid; gap: .72rem; overflow: hidden; background: var(--wise-lime); color: var(--wise-control); }
.first-group-hero-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.first-group-hero h2,
.handicap-onboarding-card h2,
.history-onboarding-card h2 { margin: 0; font-size: 1.2rem; line-height: 1.08; letter-spacing: -.035em; }
.first-group-hero > p,
.handicap-onboarding-card > p,
.history-onboarding-card > p { margin: 0; color: color-mix(in srgb, currentColor 72%, transparent); font-size: .78rem; line-height: 1.42; }
.invite-method-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: .38rem; }
.invite-method-summary button { min-height: 2.75rem; display: grid; place-items: center; border: 1px solid transparent; border-radius: .85rem; padding: .35rem; background: rgb(255 255 255 / 58%); color: var(--wise-control); font-size: .67rem; font-weight: 760; text-align: center; cursor: pointer; }
.invite-method-summary button.is-selected { border-color: var(--wise-control); background: var(--surface); box-shadow: 0 .15rem .55rem rgb(40 68 22 / 12%); }
.invite-method-explainer { min-height: 3rem; border-radius: .85rem; padding: .65rem .72rem; background: rgb(255 255 255 / 45%); font-size: .7rem !important; line-height: 1.4 !important; }
.handicap-onboarding-card { display: grid; gap: .62rem; background: #eef7e6; color: var(--wise-control); }
.playing-level-purpose { border-left: .2rem solid var(--wise-lime); padding-left: .65rem; color: #4c6043 !important; }
.first-game-callout { width: 100%; display: grid; grid-template-columns: 2.5rem 1fr 1rem; align-items: center; gap: .68rem; border: 1px solid transparent; border-radius: 1rem; padding: .7rem; background: var(--surface); color: var(--wise-control); text-align: left; cursor: pointer; }
.first-game-callout:focus-visible { outline: .18rem solid var(--wise-control); outline-offset: .12rem; }
.first-game-callout > img { width: 1rem; }
.first-game-number { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); font-size: 1rem; font-weight: 850; }
.first-game-callout > span:last-child { display: grid; gap: .12rem; }
.first-game-callout strong { font-size: .78rem; }
.first-game-callout small { color: var(--muted); font-size: .67rem; line-height: 1.35; }
.starting-level-options { display: grid; gap: .45rem; }
.starting-level-options > div { display: grid; gap: .12rem; border-radius: .9rem; padding: .65rem .72rem; background: rgb(255 255 255 / 62%); }
.starting-level-options strong { font-size: .76rem; }
.starting-level-options small { color: var(--muted); font-size: .67rem; line-height: 1.35; }
.history-onboarding-card { display: grid; gap: .62rem; border: 1px solid var(--line); background: var(--surface); }
.history-onboarding-cta { width: 100%; min-height: 3.4rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; border: 0; border-radius: 1rem; padding: .65rem .75rem; background: var(--surface-soft); color: var(--wise-control); text-align: left; cursor: pointer; }
.history-onboarding-cta > span { display: grid; gap: .08rem; }
.history-onboarding-cta strong { font-size: .8rem; }
.history-onboarding-cta small { color: var(--muted); font-size: .67rem; }
.history-onboarding-cta img { width: 1rem; }

.historical-back-link { width: fit-content; min-height: 2.75rem; display: inline-flex; align-items: center; gap: .35rem; border: 0; padding: 0 .25rem 0 0; background: transparent; color: var(--wise-control); font-size: .74rem; font-weight: 760; cursor: pointer; }
.historical-back-link img { width: 1.15rem; }

.journey-sticky.is-compact-choice { padding: .34rem .7rem .38rem; }
.compact-journey-actions { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(7.2rem, 1fr); align-items: center; gap: .45rem; }
.compact-journey-actions .action-pill,
.compact-journey-actions .text-action { min-height: 2.75rem; padding-inline: .68rem; font-size: .875rem; line-height: 1.1; }
.compact-journey-actions .text-action { border-radius: 999px; background: var(--surface-muted); text-decoration: none; }

.create-group-flow { gap: 1.1rem; }
.profile-question { display: grid; gap: .45rem; margin: 0; border: 0; padding: 0; }
.profile-question legend { margin-bottom: .18rem; font-size: .78rem; font-weight: 760; }
.profile-question > p { margin: 0; color: var(--muted); font-size: .69rem; line-height: 1.35; }
.hole-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.hole-route-grid button { min-height: 3.15rem; border: 1px solid var(--line); border-radius: 1rem; padding: .55rem; background: var(--surface-soft); color: var(--wise-control); font-weight: 740; cursor: pointer; }
.hole-route-grid button.is-selected { border-color: #78ae50; background: #e9f6dd; box-shadow: inset 0 0 0 1px #78ae50; }
.group-start-summary { display: grid; grid-template-columns: 3rem 1fr; align-items: start; gap: .85rem; }
.group-start-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); color: var(--wise-control); font-size: .72rem; font-weight: 820; }
.group-start-summary h2 { margin: 0; font-size: 1.05rem; }
.group-start-summary p { margin: .35rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }

.invite-name-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.invite-delivery-picker { display: grid; gap: .55rem; }
.invite-method-summary-inline button { background: var(--surface-soft); }
.invite-method-summary-inline button.is-selected { border-color: #79ad50; background: #eef7e6; box-shadow: inset 0 0 0 1px #79ad50; }
.invite-handicap-note { padding-block: .75rem; }
.invite-ready-card { display: grid; gap: .48rem; border-radius: 1.35rem; padding: 1rem; background: var(--wise-lime); color: var(--wise-control); }
.invite-ready-card h2 { margin: 0; font-size: 1.5rem; letter-spacing: -.04em; }
.invite-ready-card p { margin: 0; font-size: .78rem; line-height: 1.42; }
.invite-ready-top { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.invite-ready-avatar { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 68%); font-size: .82rem; font-weight: 850; }
.invite-share-panel { display: grid; gap: .68rem; border-radius: 1.35rem; padding: 1rem; background: var(--wise-control); color: var(--surface); }
.invite-share-panel .card-kicker { color: rgb(255 253 254 / 76%); }
.invite-share-panel h3 { margin: 0; font-size: 1.18rem; letter-spacing: -.035em; }
.invite-share-panel > p { margin: 0; color: rgb(255 253 254 / 78%); font-size: .8rem; line-height: 1.45; }
.invite-share-link { min-height: 4.15rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .6rem; border: 1px solid rgb(255 253 254 / 38%); border-radius: 1rem; padding: .58rem .58rem .58rem .78rem; }
.invite-share-link > span { min-width: 0; display: grid; gap: .12rem; }
.invite-share-link small { color: rgb(255 253 254 / 68%); font-size: .7rem; }
.invite-share-link strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.invite-share-link button { min-width: 4rem; min-height: 2.9rem; border: 0; border-radius: 999px; padding: 0 .85rem; background: var(--wise-lime); color: var(--wise-control); font-weight: 780; cursor: pointer; }
.invite-share-action { min-height: 3.25rem; background: var(--wise-lime); }
.invite-delivery-list { border: 1px solid var(--line); background: var(--surface); }
.invite-delivery-list .row-action { min-height: 4.25rem; color: var(--wise-control); text-decoration: none; }
.guest-player-card { display: grid; justify-items: start; gap: .45rem; }
.guest-player-card .state-badge { margin-bottom: .15rem; }

.invite-qr-sheet { height: min(88%, 42rem); }
.invite-qr-content { min-height: 0; flex: 1 1 auto; display: grid; align-content: start; justify-items: center; gap: .8rem; overflow-y: auto; padding: .2rem 0 .9rem; text-align: center; }
.invite-qr-frame { width: min(14rem, 68vw); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 1.3rem; padding: .8rem; background: white; }
.invite-qr-frame img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.invite-qr-content h3 { margin: .55rem 0 .2rem; font-size: 1.3rem; letter-spacing: -.035em; }
.invite-qr-content p { max-width: 28rem; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.42; }
.invite-qr-link { width: 100%; display: grid; gap: .12rem; border-radius: 1rem; padding: .75rem; background: var(--surface-soft); text-align: left; }
.invite-qr-link small { color: var(--muted); font-size: .67rem; }
.invite-qr-link strong { overflow: hidden; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }

.quick-add-person-row { border: 1px dashed #c9cdc6; background: var(--surface); box-shadow: none; }
.quick-add-person-row:hover { border-color: #aeb5aa; background: #fcfcfa; }
.quick-add-person-row:focus-visible { outline: .16rem solid #98bf7e; outline-offset: .12rem; }
.quick-add-person-marker { background: var(--surface); }
.quick-add-person-marker img { width: 1.18rem; height: 1.18rem; opacity: .78; }
.quick-add-person-chevron { width: 1rem; height: 1rem; opacity: .64; filter: invert(24%) sepia(18%) saturate(1075%) hue-rotate(52deg) brightness(82%) contrast(89%); }
.quick-player-switch {
  width: 3rem;
  height: 1.8rem;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  border: 1px solid #dfdee2;
  border-radius: 999px;
  padding: .12rem;
  background: #e7e6ea;
  transition: background 150ms ease, border-color 150ms ease;
}
.quick-player-switch > span {
  width: 1.44rem;
  height: 1.44rem;
  border: 1px solid rgb(18 31 16 / 8%);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 .08rem .16rem rgb(25 35 22 / 18%);
  transition: transform 150ms ease;
}
.quick-player-switch.is-on { background: var(--wise-control); }
.quick-player-switch.is-on { border-color: var(--wise-control); }
.quick-player-switch.is-on > span { transform: translateX(1.18rem); }
.quick-player-selection-screen .wise-choice-row:focus-visible { outline: .16rem solid #98bf7e; outline-offset: .12rem; }
.quick-member-invite-sheet { height: min(90%, 44rem); }
.quick-member-invite-content { min-height: 0; flex: 1 1 auto; display: grid; align-content: start; gap: .75rem; overflow-y: auto; padding: .2rem 0 .8rem; }
.quick-add-person-stub { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .42rem; }
.quick-add-person-stub button { min-height: 3.4rem; display: grid; align-content: center; gap: .08rem; border: 1px solid var(--line); border-radius: .9rem; padding: .5rem .65rem; background: var(--surface); color: var(--wise-control); text-align: left; cursor: pointer; }
.quick-add-person-stub button.is-selected { border-color: #91b87a; background: #edf6e7; }
.quick-add-person-stub strong { font-size: .75rem; }
.quick-add-person-stub small { color: var(--muted); font-size: .62rem; line-height: 1.3; }
.quick-member-invite-methods { display: grid; gap: .42rem; }
.quick-member-invite-methods button { min-height: 3.7rem; display: grid; gap: .08rem; border: 1px solid var(--line); border-radius: 1rem; padding: .62rem .75rem; background: var(--surface); color: var(--wise-control); text-align: left; cursor: pointer; }
.quick-member-invite-methods button.is-selected { border-color: #79ad50; background: #eef7e6; box-shadow: inset 0 0 0 1px #79ad50; }
.quick-member-invite-methods strong { font-size: .78rem; }
.quick-member-invite-methods small { color: var(--muted); font-size: .68rem; }
.quick-member-invite-preview { display: grid; justify-items: start; gap: .62rem; border-radius: 1.2rem; padding: .85rem; background: var(--surface-soft); }
.quick-member-invite-preview h3 { margin: .16rem 0 .2rem; font-size: 1.18rem; letter-spacing: -.035em; }
.quick-member-invite-preview p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.42; }
.quick-member-invite-qr { width: min(9rem, 44vw); aspect-ratio: 1; border: 1px solid var(--line); border-radius: 1rem; padding: .55rem; background: white; }
.quick-member-invite-qr[hidden] { display: none; }
.quick-member-invite-qr img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.quick-member-lineup-note { margin: 0; border-left: .2rem solid var(--wise-lime); padding: .7rem .75rem; background: #f4f8f0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.quick-member-lineup-note strong { color: var(--wise-control); }

.bottom-nav {
  --bottom-nav-divider: #dde3d9;
  position: absolute;
  z-index: 6;
  inset: auto 0 0;
  min-height: 3.85rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: stretch;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--bottom-nav-divider);
  border-radius: 0;
  padding: .18rem .35rem max(.18rem, env(safe-area-inset-bottom));
  background-color: #fff;
  background-image:
    linear-gradient(to right, transparent calc(20% - .5px), var(--bottom-nav-divider) calc(20% - .5px), var(--bottom-nav-divider) calc(20% + .5px), transparent calc(20% + .5px)),
    linear-gradient(to right, transparent calc(40% - .5px), var(--bottom-nav-divider) calc(40% - .5px), var(--bottom-nav-divider) calc(40% + .5px), transparent calc(40% + .5px)),
    linear-gradient(to right, transparent calc(60% - .5px), var(--bottom-nav-divider) calc(60% - .5px), var(--bottom-nav-divider) calc(60% + .5px), transparent calc(60% + .5px)),
    linear-gradient(to right, transparent calc(80% - .5px), var(--bottom-nav-divider) calc(80% - .5px), var(--bottom-nav-divider) calc(80% + .5px), transparent calc(80% + .5px));
  background-repeat: no-repeat;
  background-position: .35rem 0;
  background-size: calc(100% - .7rem) 100%;
  box-shadow: none;
}

.bottom-nav button {
  position: relative;
  min-width: 2.75rem;
  min-height: 3.5rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .14rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: var(--muted);
  font-size: .61rem;
  font-weight: 650;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.bottom-nav button::before {
  content: "";
  position: absolute;
  inset: auto 22% 0;
  height: 2px;
  border-radius: 999px;
  background: #285f28;
  opacity: 0;
  transform: scale(.86);
  transition: opacity 150ms ease, transform 150ms ease;
}

.bottom-nav button:active::before { opacity: .7; transform: scale(1); }
.bottom-nav .nav-icon,
.bottom-nav .nav-label { position: relative; z-index: 1; }
.bottom-nav .nav-icon { width: 1.16rem; height: 1.16rem; display: block; background: currentColor; opacity: .72; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.bottom-nav [data-nav="home"] .nav-icon { -webkit-mask-image: url("assets/nav-home.svg"); mask-image: url("assets/nav-home.svg"); }
.bottom-nav [data-nav="groups"] .nav-icon { -webkit-mask-image: url("assets/nav-groups.svg"); mask-image: url("assets/nav-groups.svg"); }
.bottom-nav [data-nav="play"] .nav-icon { -webkit-mask-image: url("assets/nav-play.svg"); mask-image: url("assets/nav-play.svg"); }
.bottom-nav [data-nav="rounds"] .nav-icon { -webkit-mask-image: url("assets/nav-rounds.svg"); mask-image: url("assets/nav-rounds.svg"); }
.bottom-nav [data-nav="profile"] .nav-icon { -webkit-mask-image: url("assets/nav-profile.svg"); mask-image: url("assets/nav-profile.svg"); }
.bottom-nav .nav-play { align-self: stretch; min-height: 3.5rem; margin-top: 0; color: var(--muted); font-weight: 650; }
.bottom-nav .nav-play-orb { position: relative; z-index: 1; width: auto; height: auto; display: grid; place-items: center; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: none; }
.bottom-nav .nav-play .nav-icon { width: 1.16rem; height: 1.16rem; opacity: .72; transform: none; }
.bottom-nav button.is-active {
  min-height: 3.26rem;
  margin: -.18rem 0 calc(-1 * max(.18rem, env(safe-area-inset-bottom)));
  border-radius: 0;
  background: #f6f6f3;
  color: #153403;
  font-weight: 820;
}
.bottom-nav button:first-child.is-active { margin-left: -.35rem; }
.bottom-nav button:last-child.is-active { margin-right: -.35rem; }
.bottom-nav button.is-active::before { content: none; display: none; }
.bottom-nav button.is-active .nav-icon { opacity: 1; }
.bottom-nav .nav-label { line-height: 1; }

@media (prefers-reduced-motion: reduce) {
  .bottom-nav button::before,
  .bottom-nav .nav-play-orb { transition: none; }
}

.home-view,
.journey-view {
  min-height: 0;
  padding-bottom: calc(4rem + env(safe-area-inset-bottom));
}

.journey-view { flex-direction: column; }
.journey-header { min-height: 3rem; border-bottom: 1px solid transparent; }

.journey-scroll {
  /* Match Home: route content, not the fixed app shell, owns vertical touch scroll. */
  min-height: 0;
  flex: 1 1 auto;
  height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
  padding: .35rem 1rem 1.15rem;
}

.journey-sticky {
  flex: 0 0 auto;
  display: grid;
  gap: .45rem;
  padding: .75rem 1rem max(.8rem, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: rgb(255 253 254 / 96%);
  backdrop-filter: blur(1rem);
}

.journey-sticky[hidden] { display: none; }
.journey-bottom-nav,
.scoring-bottom-nav { position: absolute; z-index: 6; inset: auto 0 0; }
.journey-stack { display: grid; gap: .75rem; }
.journey-heading { padding: .1rem .15rem .55rem; }
.journey-heading h1 { margin: .42rem 0 0; font-size: 2rem; line-height: 1.03; letter-spacing: -.05em; }
.journey-heading p:last-child { margin: .65rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.42; }
.profile-heading-name { display: flex; flex-wrap: wrap; align-items: center; gap: .48rem .65rem; margin-top: .42rem; }
.profile-heading-name h1 { min-width: 0; margin: 0; }

.journey-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: .5rem .15rem 0; }
.journey-section-title h2 { margin: 0; font-size: 1rem; letter-spacing: -.025em; }
.journey-section-title span { color: var(--muted); font-size: .72rem; }

.journey-card,
.selection-card,
.settings-group,
.result-summary {
  border-radius: 1.2rem;
  background: var(--surface-soft);
}

.journey-card { padding: .9rem; }
.journey-card.is-accent { background: #eef7e6; }
.journey-card.is-warning { background: var(--amber); }
.journey-card h2,
.journey-card h3 { margin: 0; letter-spacing: -.025em; }
.journey-card h2 { font-size: 1.15rem; }
.journey-card h3 { font-size: .92rem; }
.journey-card > p { margin: .4rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }

.detail-hero { width: 100%; display: grid; gap: .7rem; justify-items: start; border: 0; padding: 1rem; border-radius: 1.3rem; background: var(--wise-lime); color: var(--wise-control); text-align: left; }
.detail-hero.season-hero { background: #abeff0; }
button.detail-hero { cursor: pointer; }
.detail-hero-action { display: inline-flex; min-height: 2.25rem; align-items: center; margin-top: .15rem; border-radius: 999px; padding: 0 .8rem; background: rgb(255 255 255 / 64%); color: var(--ink); font-size: .72rem; font-weight: 760; }
.detail-hero-top { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.detail-hero h2 { margin: 0; font-size: 1.4rem; letter-spacing: -.035em; }
.detail-hero p { margin: 0; font-size: .78rem; line-height: 1.4; }
.profile-handicap-hero { gap: .38rem; padding: .68rem .82rem; border-radius: 1.08rem; }
.profile-handicap-hero h2 { font-size: 1.22rem; }
.profile-handicap-hero p { font-size: .72rem; }
.avatar-stack { display: flex; }
.mini-avatar { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; margin-left: -.35rem; border: .15rem solid var(--wise-lime); border-radius: 50%; background: var(--surface); color: var(--wise-control); font-size: .66rem; font-weight: 800; }
.mini-avatar:first-child { margin-left: 0; }

.row-list,
.settings-group { overflow: hidden; }
.row-list { display: grid; border-radius: 1.15rem; background: var(--surface-soft); }
.row-action,
.info-row,
.setting-row {
  min-height: 3.85rem;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .85rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: .7rem .9rem;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.row-action:last-child,
.info-row:last-child,
.setting-row:last-child { border-bottom: 0; }
button.row-action,
button.setting-row { cursor: pointer; }
.row-copy { display: grid; gap: .12rem; }
.row-copy strong { font-size: .85rem; }
.row-copy small { color: var(--muted); font-size: .7rem; line-height: 1.35; }
.row-action > img,
.setting-row > img { width: 1.15rem; }

.groups-unboxed-list { background: transparent; }
.groups-unboxed-list .row-action {
  width: 100%;
  border-bottom: 1px solid var(--line);
  padding-inline: 0;
}
.group-disclosure-chevron {
  transform: rotate(0deg);
  transition: transform 180ms ease;
}
.groups-unboxed-list.is-expanded .group-disclosure-trigger { border-bottom: 0; }
.groups-unboxed-list.is-expanded .group-disclosure-chevron { transform: rotate(90deg); }
.group-inline-details {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  padding: 0 0 .85rem;
}
.group-inline-details[hidden] { display: none; }
.group-inline-details p { display: grid; gap: .15rem; margin: 0; }
.group-inline-details strong { font-size: .76rem; }
.group-inline-details span { color: var(--muted); font-size: .7rem; line-height: 1.35; }

.state-badge {
  min-height: 1.8rem;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 .62rem;
  background: #e8f4df;
  color: var(--wise-control);
  font-size: .64rem;
  font-weight: 780;
  white-space: nowrap;
}
.state-badge.is-pending { background: var(--amber); color: #6d4a05; }
.state-badge.is-muted { background: var(--surface-muted); color: var(--muted); }
.state-badge.is-blue { background: #dcedf8; color: #216a98; }
.profile-verification-badge,
.state-badge.is-calculation-action {
  width: 6.75rem;
  justify-content: center;
}
.state-badge.is-calculation-action {
  background: var(--wise-control);
  color: #fff;
}

.inline-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.mini-pill { min-height: 2.75rem; border: 0; border-radius: 999px; padding: 0 .85rem; background: var(--surface-muted); color: var(--wise-control); font-size: .73rem; font-weight: 750; cursor: pointer; }
.mini-pill.is-primary { background: var(--wise-lime); }
.mini-pill.is-danger { background: #f6e7e7; color: #7a2424; }

.journey-segmented { display: grid; grid-template-columns: repeat(2, 1fr); padding: .25rem; border-radius: 999px; background: var(--surface-muted); }
.journey-segmented.is-three { grid-template-columns: repeat(3, 1fr); }
.journey-segmented button { min-height: 2.8rem; border: 0; border-radius: 999px; background: transparent; color: var(--wise-control); font-size: .75rem; font-weight: 750; cursor: pointer; }
.journey-segmented button.is-selected { background: var(--surface); box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%); }
.tee-selector button { display: inline-flex; align-items: center; justify-content: center; gap: .34rem; box-shadow: none; }
.tee-selector [data-tee="white"] { color: #263126; }
.tee-selector [data-tee="blue"] { color: #1d6f9e; }
.tee-selector [data-tee="red"] { color: #ae363d; }
.tee-selector [data-tee].is-selected { background: var(--surface); color: var(--wise-control); box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%); }
.tee-selected-mark { font-size: .72rem; font-weight: 900; }


.search-control { position: relative; display: grid; gap: .35rem; }
.search-control span { font-size: .72rem; font-weight: 740; }
.search-control input { min-height: var(--field-height); border: 1px solid var(--field-border); border-radius: var(--field-radius); padding: 0 var(--field-padding-inline); outline: 0; background: var(--surface); color: var(--ink); font-size: 1rem; font-weight: 520; }
.search-control input:focus { border-color: #6a9d42; box-shadow: 0 0 0 .18rem rgb(164 233 116 / 35%); }

.wise-setup-screen { gap: 1.45rem; }
.wise-setup-screen .journey-heading { margin-bottom: .1rem; }
.quick-screen-step {
  margin: .05rem 0 -.1rem;
  color: #7a8079;
  font-size: .64rem;
  font-weight: 720;
  letter-spacing: .045em;
  text-align: center;
  text-transform: uppercase;
}
.quick-approved-heading { padding-bottom: .15rem; }
.quick-approved-heading .eyebrow { color: #4b633b; }
.quick-player-selection-screen { gap: .7rem; }
.quick-player-selection-screen .journey-heading + .wise-list-section { margin-top: .15rem; }
.quick-player-selection-screen .wise-list-section { gap: .15rem; }
.quick-player-selection-screen .wise-choice-list { gap: 0; }
.quick-player-selection-screen .wise-choice-row:not(.quick-add-person-row) {
  min-height: 4.1rem;
  border-bottom: 1px solid #e8e9e5;
  border-radius: 0;
  padding: .55rem 0;
  background: transparent;
  box-shadow: none;
}
.quick-player-selection-screen .wise-choice-row:not(.quick-add-person-row):last-of-type { border-bottom: 0; }
.quick-player-selection-screen .wise-choice-row.is-selected:not(.quick-add-person-row) { background: transparent; box-shadow: none; }
.quick-player-selection-screen .wise-choice-row.is-selected .wise-choice-avatar {
  border-color: #d6d9d2;
  background: var(--surface-soft);
}
.quick-player-selection-screen .wise-choice-copy strong { font-size: .91rem; font-weight: 760; }
.quick-player-selection-screen .wise-choice-copy small { font-size: .73rem; }
.quick-player-continue:disabled {
  background: #e4e6e1;
  border-color: #e4e6e1;
  color: #7c827a;
}
.quick-player-selection-screen .quick-add-person-row {
  min-height: 4.8rem;
  margin-top: .75rem;
  border-radius: 1.35rem;
  padding: .7rem .9rem;
}

.journey-progress-track { flex: 0 0 auto; }
.round-progress-labels { flex: 0 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: .28rem 1.25rem 0; color:#7b8378; }
.round-progress-labels[hidden] { display: none; }
.round-progress-labels span { overflow: hidden; color: #8a9087; font-size: clamp(.52rem, 1.9vw, .61rem); font-weight: 620; line-height: 1; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.round-progress-labels span.is-complete { color: #4e6247; }
.round-progress-labels span.is-current { color: var(--wise-control); font-weight: 820; }

.quick-preferences-flow { gap: .45rem; }
.quick-round-flow { gap: 1rem; }
.quick-flow-rail { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.35rem; margin:0; padding:0; list-style:none; }
.quick-flow-rail li { min-width:0; display:flex; align-items:center; gap:.3rem; overflow:hidden; border-radius:999px; padding:.42rem .5rem; background:var(--surface-muted); color:var(--muted); font-size:.62rem; font-weight:720; text-overflow:ellipsis; white-space:nowrap; }
.quick-flow-rail li span { width:1.35rem; height:1.35rem; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:var(--surface); color:var(--muted); font-size:.58rem; font-weight:850; }
.quick-flow-rail li.is-complete { color:#4e6247; }
.quick-flow-rail li.is-current { background:#eef7e9; color:var(--wise-control); box-shadow:inset 0 0 0 1px #a7c797; }
.quick-flow-rail li.is-current span,
.quick-flow-rail li.is-complete span { background:var(--wise-lime); color:var(--wise-control); }
.quick-preferences-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; align-items:start; }
.quick-preferences-heading .journey-heading { min-width:0; padding-bottom:.2rem; }
.quick-help-button { width:2.75rem; height:2.75rem; display:grid; place-items:center; border:0; border-radius:50%; background:var(--wise-lime); color:var(--wise-control); font-size:.75rem; font-weight:850; cursor:pointer; }
.quick-preferences-list { display: grid; margin-top: .55rem; }
.quick-preference-row {
  width: 100%;
  min-height: 5.15rem;
  display: grid;
  grid-template-columns: 2.65rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  border: 0;
  border-bottom: 1px solid #e8e9e5;
  padding: .72rem .05rem;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.quick-preference-row:focus-visible,
.quick-preference-option:focus-visible,
.quick-preference-search input:focus-visible {
  outline: .16rem solid #98bf7e;
  outline-offset: .12rem;
}
.quick-preference-icon {
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  border: 1px solid #d1d4cf;
  border-radius: 50%;
  background: var(--surface);
  color: var(--wise-control);
}
.quick-preference-icon img { width: 1.2rem; height: 1.2rem; }
.quick-preference-copy { min-width: 0; display: grid; gap: .16rem; }
.quick-preference-copy strong { font-size: .9rem; font-weight: 760; letter-spacing: -.018em; line-height: 1.2; }
.quick-preference-copy small { color: var(--subtle); font-size: .72rem; line-height: 1.35; }
.quick-preference-trailing {
  display: grid;
  grid-template-columns: minmax(0, auto) 1rem;
  align-items: center;
  justify-items: end;
  gap: .35rem;
  max-width: 6.9rem;
}
.quick-preference-trailing > span {
  overflow-wrap: anywhere;
  color: #475143;
  font-size: .69rem;
  font-weight: 740;
  line-height: 1.25;
  text-align: right;
}
.quick-preference-trailing img {
  width: 1rem;
  height: 1rem;
  opacity: .76;
  transition: transform 150ms ease;
}
.quick-preference-row[aria-expanded="true"] .quick-preference-trailing img { transform: rotate(90deg); }
.quick-preference-panel {
  display: grid;
  gap: .65rem;
  border-bottom: 1px solid #e8e9e5;
  padding: .2rem 0 .9rem 3.45rem;
}
.quick-preference-panel[hidden] { display: none; }
.quick-preference-panel-note { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.4; }
.quick-preference-search { display: grid; gap: .35rem; }
.quick-preference-search span { color: var(--muted); font-size: .7rem; font-weight: 760; }
.quick-preference-search input {
  width: 100%;
  min-height: 2.9rem;
  border: 1px solid var(--field-border);
  border-radius: .9rem;
  padding: 0 .8rem;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}
.quick-preference-options { display: grid; }
.quick-preference-option {
  width: 100%;
  min-height: 3.45rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.2rem;
  align-items: center;
  gap: .7rem;
  border: 0;
  border-bottom: 1px solid #eceeeb;
  padding: .55rem .05rem;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.quick-preference-option:last-child { border-bottom: 0; }
.quick-preference-option > span:first-child { min-width: 0; display: grid; gap: .12rem; }
.quick-preference-option strong { font-size: .79rem; }
.quick-preference-option small { color: var(--muted); font-size: .68rem; line-height: 1.35; }
.quick-preference-option img,
.quick-preference-option-space { width: 1rem; height: 1rem; justify-self: end; }
.quick-preference-option.is-selected strong { color: var(--wise-control); }
.quick-round-only-note {
  margin: 1rem .05rem .3rem;
  border-left: .18rem solid #c8d2c1;
  padding: .1rem 0 .1rem .75rem;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.45;
}
.quick-round-only-note strong { color: var(--supporting); }
.quick-info-panel { display:grid; grid-template-columns:1.75rem minmax(0,1fr) auto; gap:.65rem; align-items:start; border:1px solid #c9dfbd; border-radius:1rem; padding:.75rem; background:#eef7e9; }
.quick-info-panel > span { width:1.75rem; height:1.75rem; display:grid; place-items:center; border-radius:50%; background:var(--wise-lime); color:var(--wise-control); font-size:.68rem; font-weight:850; }
.quick-info-panel p { min-width:0; display:grid; gap:.2rem; margin:0; }
.quick-info-panel strong { color:var(--wise-control); font-size:.76rem; }
.quick-info-panel small { color:#53634e; font-size:.66rem; line-height:1.42; }
.quick-info-panel button { min-height:2.75rem; border:0; padding:0 .35rem; background:transparent; color:var(--wise-control); font-size:.68rem; font-weight:820; cursor:pointer; }
.quick-preference-section { display:grid; gap:.45rem; }
.quick-preference-help { margin:0; color:var(--muted); font-size:.67rem; line-height:1.42; }
.quick-home-summary { width:100%; min-height:4.5rem; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.7rem; align-items:center; border:1px solid #8fad7e; border-radius:1rem; padding:.65rem .75rem; background:#eef7e9; color:var(--ink); text-align:left; cursor:pointer; }
.quick-home-summary > span:first-child { min-width:0; display:grid; gap:.15rem; }
.quick-home-summary strong { color:var(--wise-control); font-size:.78rem; }
.quick-home-summary small { color:var(--muted); font-size:.63rem; }
.quick-home-summary > span:last-child { color:var(--wise-control); font-size:.64rem; font-weight:820; }
.quick-toggle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem; }
.quick-toggle-grid button { min-height:2.75rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface-soft); color:var(--muted); font-size:.7rem; font-weight:720; cursor:pointer; }
.quick-toggle-grid button.is-selected { border-color:#85ad72; background:#eef7e9; color:var(--wise-control); box-shadow:inset 0 0 0 1px #85ad72; }
.quick-lineup-entry { display:grid; gap:.55rem; border:1px solid var(--line); border-radius:1rem; padding:.7rem; background:var(--surface-soft); }
.quick-lineup-chips { display:flex; flex-wrap:wrap; gap:.35rem; }
.quick-lineup-chips span { border-radius:999px; padding:.34rem .55rem; background:var(--surface); color:var(--wise-control); font-size:.64rem; font-weight:760; box-shadow:inset 0 0 0 1px #c8d4c3; }
.quick-lineup-chips em { color:var(--muted); font-size:.67rem; font-style:normal; }
.quick-lineup-entry > button { min-height:2.75rem; border:1px solid #91a98a; border-radius:999px; background:var(--surface); color:var(--wise-control); font-size:.69rem; font-weight:820; cursor:pointer; }
.quick-lineup-entry > button:disabled { opacity:.65; cursor:default; }
.quick-round-summary { display:grid; border-radius:1.1rem; padding:.25rem .8rem; background:var(--surface-soft); }
.quick-round-summary > div { min-height:3.2rem; display:grid; grid-template-columns:minmax(5rem,.75fr) minmax(0,1.25fr); gap:.7rem; align-items:center; border-bottom:1px solid var(--line); }
.quick-round-summary > div:last-child { border-bottom:0; }
.quick-round-summary span { color:var(--muted); font-size:.65rem; }
.quick-round-summary strong { overflow-wrap:anywhere; color:var(--wise-control); font-size:.68rem; text-align:right; }
.quick-secondary-action,
.quick-edit-preferences { width:100%; min-height:2.9rem; border-radius:999px; font-size:.7rem; font-weight:820; cursor:pointer; }
.quick-secondary-action { border:1px solid #9eac99; background:var(--surface); color:var(--wise-control); }
.quick-edit-preferences { border:1px solid var(--wise-control); background:var(--wise-control); color:var(--surface); }

.wise-selection-summary {
  min-height: 4rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .9rem;
  border-radius: 1.15rem;
  padding: .7rem .85rem;
  background: var(--surface-muted);
}
.wise-selection-summary > span { min-width: 3.5rem; min-height: 2.65rem; display: grid; place-content: center; justify-items: center; border-radius: 999px; background: var(--surface); }
.wise-selection-summary strong { color: var(--wise-green); font-size: 1.55rem; line-height: 1; }
.wise-selection-summary small { margin-top: .18rem; color: var(--muted); font-size: .66rem; font-weight: 700; }
.wise-selection-summary p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }

.wise-filter-pills { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: -.8rem; }
.wise-filter-pills span { min-height: 2rem; display: inline-flex; align-items: center; border-radius: 999px; padding: 0 .78rem; background: var(--surface-muted); color: var(--muted); font-size: .68rem; font-weight: 720; }
.wise-filter-pills span.is-selected { background: #e7f5db; color: var(--wise-control); }

.wise-list-section { display: grid; gap: .45rem; }
.wise-section-label { min-height: 1.8rem; display: flex; align-items: end; justify-content: space-between; gap: .75rem; padding: 0 .05rem; }
.wise-section-label h2 { margin: 0; font-size: 1rem; letter-spacing: -.025em; }
.wise-section-label span { color: var(--muted); font-size: .68rem; }

.wise-choice-list,
.wise-radio-list { display: grid; gap: .55rem; }
.wise-choice-row {
  width: 100%;
  min-height: 4.15rem;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  border: 0;
  border-radius: 1.15rem;
  padding: .65rem .75rem;
  background: var(--surface-muted);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.wise-choice-row.is-plain { grid-template-columns: minmax(0, 1fr) auto; padding-left: .9rem; }
.wise-choice-row.is-selected { background: #edf8e4; box-shadow: inset 0 0 0 1px #b8dd99; }
.season-setup-entry { min-height: 4.8rem; margin: 0; border-radius: 1.35rem; padding: .7rem .9rem; background: var(--surface-muted); }
.season-setup-entry .wise-choice-avatar { width: 2.7rem; height: 2.7rem; background: var(--surface); }
.season-setup-entry .wise-choice-avatar img { width: 1.25rem; height: 1.25rem; opacity: .78; }
.season-setup-entry .wise-choice-copy strong { font-size: .98rem; }
.season-setup-entry .wise-choice-copy small { font-size: .78rem; }
.season-setup-chevron { width: 1rem; height: 1rem; opacity: .64; filter: invert(24%) sepia(18%) saturate(1075%) hue-rotate(52deg) brightness(82%) contrast(89%); }
.season-setup-entry:focus-visible { outline: .16rem solid #98bf7e; outline-offset: .12rem; }
.season-tile-list { display: grid; gap: .95rem; }
.season-entry { display: grid; gap: .35rem; }
.season-entry-heading { margin: 0 .15rem; }
.season-entry-heading h3 { margin: 0; font-size: 1.05rem; letter-spacing: -.025em; }
.season-tile { position: relative; overflow: hidden; display: grid; gap: .36rem; border-radius: 1.35rem; padding: 1rem; background: #e6f7f7; color: var(--ink); }
.season-tile.is-active { background: #abeff0; color: var(--wise-control); }
.season-trophy { position: absolute; z-index: 0; width: 6.828rem; height: 6.828rem; left: 90%; top: 66%; fill: none; stroke: #7fccdd; stroke-width: 5.5; stroke-linecap: round; stroke-linejoin: round; transform: translate(-50%, -50%) rotate(-35deg); transform-origin: center; pointer-events: none; }
.season-tile-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.season-tile-kicker { color: #527044; font-size: .7rem; font-weight: 820; letter-spacing: .075em; text-transform: uppercase; }
.season-tile.is-active .season-tile-kicker { color: currentColor; }
.season-tile h3 { position: relative; z-index: 1; margin: 0; font-size: 1.35rem; line-height: 1.05; letter-spacing: -.035em; }
.season-tile p, .season-tile small { position: relative; z-index: 1; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.38; }
.season-tile.is-active :is(p, small) { color: color-mix(in srgb, currentColor 76%, transparent); }
.season-tile small { font-size: .69rem; }
.season-delete-button { position: relative; z-index: 2; min-height: 2.75rem; border: 0; padding: 0; background: transparent; color: #7a2424; font-size: .76rem; font-weight: 780; cursor: pointer; }
.season-delete-button:focus-visible { outline: .16rem solid #7a2424; outline-offset: .12rem; }
.wise-choice-avatar,
.wise-course-icon,
.wise-game-icon {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 1px solid #d6dcd2;
  border-radius: 50%;
  background: var(--surface-soft);
  color: var(--wise-control);
  font-size: .68rem;
  font-weight: 820;
}
.wise-choice-row.is-selected :is(.wise-choice-avatar, .wise-course-icon, .wise-game-icon) { border-color: #9acc76; background: #e6f5da; }
.wise-choice-copy { min-width: 0; display: grid; gap: .12rem; }
.wise-choice-copy strong { font-size: .84rem; letter-spacing: -.012em; }
.wise-choice-copy small { color: var(--muted); font-size: .7rem; line-height: 1.35; }
.wise-choice-pill {
  min-width: 3.9rem;
  min-height: 2.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 .72rem;
  background: var(--surface);
  color: var(--wise-control);
  font-size: .66rem;
  font-weight: 800;
  white-space: nowrap;
}
.wise-choice-row.is-selected .wise-choice-pill,
.wise-radio-row.is-selected .wise-choice-pill { background: var(--wise-lime); }

.wise-search-control { display: grid; gap: .38rem; }
.wise-search-control span { font-size: .72rem; font-weight: 760; }
.wise-search-control input {
  min-height: 3.25rem;
  border: 1px solid var(--field-border);
  border-radius: 1rem;
  padding: 0 1rem;
  outline: 0;
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}
.wise-search-control input:focus { border-color: #6a9d42; box-shadow: 0 0 0 .18rem rgb(164 233 116 / 35%); }

.scorecard-import-entry {
  width: 100%;
  min-height: 6.6rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .8rem;
  border: 1px solid #c9dfb6;
  border-radius: 1.2rem;
  padding: .8rem;
  background: #f0f8e9;
  color: var(--ink);
  text-align: left;
}
.scorecard-import-entry > img { width: 1rem; opacity: .7; }
.scorecard-import-entry > span:nth-child(2) { min-width: 0; display: grid; gap: .18rem; }
.scorecard-import-entry strong { color: var(--wise-control); font-size: .9rem; }
.scorecard-import-entry small { color: var(--muted); font-size: .7rem; line-height: 1.38; }
.scorecard-import-entry em { color: #4f672f; font-size: .64rem; font-style: normal; font-weight: 760; }
.scorecard-import-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); }
.scorecard-import-icon svg { width: 1.45rem; fill: none; stroke: var(--wise-control); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }

.scorecard-import-flow { gap: 1.15rem; }
.scorecard-photo-guide { display: grid; grid-template-columns: 5.25rem 1fr; align-items: center; gap: 1rem; padding: 1rem; border-radius: 1.25rem; background: var(--surface-soft); }
.scorecard-photo-guide > div { display: grid; gap: .28rem; }
.scorecard-photo-guide strong { font-size: .88rem; }
.scorecard-photo-guide small { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.scorecard-photo-frame { min-height: 6.4rem; display: grid; align-content: center; gap: .34rem; padding: .65rem; border: 1px solid #cfd5ca; border-radius: .45rem; background: var(--surface); box-shadow: 0 .35rem 1rem rgb(18 34 17 / 8%); transform: rotate(-2deg); }
.scorecard-photo-frame span { height: .32rem; border-radius: 999px; background: #d9ddd5; }
.scorecard-photo-frame span:first-child { width: 70%; height: .42rem; background: #829477; }
.scorecard-source-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.scorecard-source-actions button { min-height: 7.25rem; display: grid; justify-items: start; align-content: center; gap: .16rem; border: 0; border-radius: 1.15rem; padding: .9rem; background: var(--surface-muted); color: var(--ink); text-align: left; }
.scorecard-source-actions button > span { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; margin-bottom: .22rem; border-radius: 50%; background: var(--surface); color: var(--wise-control); font-size: 1.25rem; }
.scorecard-source-actions strong { font-size: .8rem; }
.scorecard-source-actions small { color: var(--muted); font-size: .68rem; }

.extraction-state { padding-top: .3rem; }
.scorecard-scan-preview { position: relative; min-height: 13rem; display: grid; place-items: center; overflow: hidden; border-radius: 1.35rem; background: #e8ede4; }
.scan-card { width: 72%; min-height: 9.2rem; display: grid; align-content: center; gap: .65rem; padding: 1rem; border-radius: .45rem; background: var(--surface); box-shadow: 0 .7rem 2rem rgb(17 31 15 / 13%); transform: rotate(-1.5deg); }
.scan-card strong { font-size: .67rem; letter-spacing: .04em; }
.scan-card span { height: .42rem; border-radius: .2rem; background: linear-gradient(90deg, #cdd3c9 62%, #e7eae4 62%); opacity: 0; animation: scan-row .45s ease forwards; animation-delay: calc(var(--scan-delay) * .14s); }
.scan-line { position: absolute; z-index: 2; left: 10%; right: 10%; height: 2px; background: var(--wise-lime); box-shadow: 0 0 1rem .22rem rgb(164 233 116 / 55%); animation: scan-move 1.25s ease-in-out infinite alternate; }
.extraction-steps { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.extraction-steps li { display: grid; grid-template-columns: 2rem 1fr; align-items: center; gap: .7rem; color: var(--muted); }
.extraction-steps li > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--surface-muted); font-size: .75rem; font-weight: 850; }
.extraction-steps li > div { display: grid; gap: .08rem; }
.extraction-steps strong { color: inherit; font-size: .78rem; }
.extraction-steps small { font-size: .66rem; }
.extraction-steps .is-done { color: var(--wise-control); }
.extraction-steps .is-done > span { background: var(--wise-lime); }
.extraction-steps .is-active { color: var(--ink); }
.extraction-steps .is-active > span { border: .2rem solid #dce9d4; border-top-color: var(--wise-green); background: transparent; animation: spin .8s linear infinite; }

.extracted-course-card { display: grid; gap: .85rem; border-radius: 1.2rem; padding: .9rem; background: var(--surface-soft); }
.extracted-course-card label { display: grid; gap: .35rem; }
.extracted-course-card label span,
.extracted-tee-heading small { color: var(--muted); font-size: .68rem; font-weight: 730; }
.extracted-course-card input { min-height: 3rem; border: 1px solid var(--field-border); border-radius: .85rem; padding: 0 .8rem; background: var(--surface); color: var(--ink); font: inherit; font-weight: 720; }
.extracted-tee-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.extracted-tee-heading > span:first-child { display: grid; gap: .12rem; }
.extracted-tee-heading strong { font-size: .9rem; }
.import-tee-selector [data-import-tee].is-selected { background: var(--surface); color: var(--wise-control); box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%); }
.parsed-hole-section { display: grid; gap: .5rem; }
.parsed-hole-table { overflow: hidden; border-radius: 1.05rem; background: var(--surface-soft); }
.parsed-hole-row { min-height: 3.1rem; display: grid; grid-template-columns: .75fr repeat(3, 1fr); align-items: center; gap: .35rem; border-bottom: 1px solid var(--line); padding: .35rem .55rem; }
.parsed-hole-row:last-child { border-bottom: 0; }
.parsed-hole-row.is-header { min-height: 2.2rem; color: var(--muted); font-size: .62rem; font-weight: 760; }
.parsed-hole-row strong { padding-left: .35rem; font-size: .78rem; }
.parsed-hole-row input { width: 100%; min-height: 2.3rem; border: 1px solid transparent; border-radius: .65rem; background: var(--surface); color: var(--ink); font: inherit; font-size: .75rem; font-weight: 720; text-align: center; }
.parsed-hole-row input:focus { border-color: #6a9d42; outline: 0; }
.review-trust-check { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; align-items: start; padding: .9rem; border-radius: 1.1rem; background: #eef7e6; }
.review-trust-check > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); font-weight: 850; }
.review-trust-check p { display: grid; gap: .14rem; margin: 0; }
.review-trust-check strong { font-size: .78rem; }
.review-trust-check small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.course-ready-state { align-content: start; padding-top: .8rem; }
.course-ready-mark { width: 4.25rem; height: 4.25rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); color: var(--wise-control); font-size: 2rem; font-weight: 850; }
.ready-course-summary { display: grid; overflow: hidden; border-radius: 1.15rem; background: var(--surface-soft); }
.ready-course-summary > span { min-height: 3.7rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .75rem; border-bottom: 1px solid var(--line); padding: .65rem .9rem; }
.ready-course-summary > span:last-child { border-bottom: 0; }
.ready-course-summary small { color: var(--muted); font-size: .68rem; }
.ready-course-summary strong { font-size: .78rem; text-align: right; }

@keyframes scan-row { to { opacity: 1; } }
@keyframes scan-move { from { transform: translateY(-4.6rem); } to { transform: translateY(4.6rem); } }
@keyframes spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .scan-line, .scan-card span, .extraction-steps .is-active > span { animation: none; }
  .scan-card span { opacity: 1; }
}

.wise-radio-row {
  width: 100%;
  min-height: 3.75rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  border: 0;
  border-radius: 1.1rem;
  padding: .55rem .75rem .55rem .9rem;
  background: var(--surface-muted);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.wise-radio-row.is-selected { background: #edf8e4; box-shadow: inset 0 0 0 1px #b8dd99; }
.wise-radio-row > span:first-child { display: grid; gap: .08rem; }
.wise-radio-row strong { font-size: .84rem; letter-spacing: -.012em; }
.wise-radio-row small { color: var(--muted); font-size: .68rem; }

.wise-inline-note { display: grid; gap: .16rem; border-left: .18rem solid var(--wise-lime); padding: .25rem 0 .25rem .75rem; }
.wise-inline-note.is-warning { border-left-color: var(--amber-line); }
.wise-inline-note strong { font-size: .8rem; }
.wise-inline-note span { color: var(--muted); font-size: .7rem; line-height: 1.4; }

.wise-review-summary { position: relative; display: grid; gap: .22rem; border-radius: 1.2rem; padding: .9rem 5rem .9rem 1rem; background: #edf8e4; }
.wise-review-summary strong { font-size: 1.25rem; letter-spacing: -.035em; }
.wise-review-summary small { color: var(--muted); font-size: .72rem; }
.wise-summary-status { position: absolute; top: .85rem; right: .85rem; min-height: 2rem; display: inline-flex; align-items: center; border-radius: 999px; padding: 0 .75rem; background: var(--surface); color: var(--wise-control); font-size: .68rem; font-weight: 800; }
.wise-summary-status.is-attention { background: #fff2d8; color: #6d4c13; }
.wise-review-path { display: grid; }
.wise-review-step {
  position: relative;
  width: 100%;
  min-height: 4.35rem;
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr) 1rem;
  align-items: start;
  gap: .7rem;
  border: 0;
  padding: .45rem 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.wise-review-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: .58rem;
  top: 1.65rem;
  bottom: -.18rem;
  width: 1px;
  background: #d9ddd6;
}
.wise-path-node { position: relative; z-index: 1; width: 1.2rem; height: 1.2rem; display: grid; place-items: center; background: var(--surface); }
.wise-path-node img { width: .9rem; height: .9rem; }
.wise-review-copy { display: grid; gap: .13rem; padding-top: .02rem; }
.wise-review-copy strong { color: var(--wise-control); font-size: .82rem; }
.wise-review-copy small { color: var(--muted); font-size: .7rem; line-height: 1.35; }
.wise-review-step.is-incomplete .wise-review-copy strong { color: #6d4c13; }
.wise-review-step > img { width: 1rem; height: 1rem; margin-top: .08rem; opacity: .7; }

.player-picker { display: grid; gap: .45rem; }
.picker-row { min-height: 4.1rem; display: grid; grid-template-columns: 2.6rem 1fr auto; align-items: center; gap: .7rem; border-bottom: 1px solid var(--line); }
.picker-row:last-child { border-bottom: 0; }
.picker-avatar { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--surface-muted); color: var(--wise-control); font-size: .72rem; font-weight: 800; }
.picker-copy { display: grid; gap: .12rem; }
.picker-copy strong { font-size: .83rem; }
.picker-copy small { color: var(--muted); font-size: .7rem; }
.picker-toggle { min-width: 4.1rem; min-height: 2.55rem; border: 0; border-radius: 999px; background: var(--surface-muted); color: var(--wise-control); font-size: .7rem; font-weight: 760; cursor: pointer; }
.picker-toggle.is-selected { background: var(--wise-lime); }

.timeline { display: grid; }
.timeline-row { display: grid; grid-template-columns: 4.6rem 1fr auto; align-items: center; gap: .6rem; min-height: 3.35rem; border-bottom: 1px solid var(--line); }
.timeline-row:last-child { border-bottom: 0; }
.timeline-row time { color: var(--subtle); font-size: .68rem; }
.timeline-row span { font-size: .78rem; }
.timeline-row strong { font-size: .82rem; font-variant-numeric: tabular-nums; }
.timeline-round-button {
  width: 100%;
  grid-template-columns: 4rem minmax(0, 1fr) auto 1rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.timeline-round-button > img { width: 1rem; opacity: .62; }
.timeline-round-button:active { background: #eef7e6; }

.handicap-next-out {
  width: 100%;
  min-height: 5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .75rem;
  border: 0;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.handicap-next-out > span { display: grid; gap: .18rem; }
.handicap-next-out strong { font-size: .9rem; }
.handicap-next-out small { color: #66551f; font-size: .7rem; line-height: 1.35; }
.handicap-next-out > img { width: 1rem; }

.round-detail-receipt { gap: .7rem; }
.round-detail-hero {
  min-height: 7.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-radius: 1.35rem;
  padding: 1rem;
  background: var(--wise-lime);
  color: var(--wise-control);
}
.round-detail-hero > span:first-child { display: grid; gap: .2rem; }
.round-detail-hero > span:first-child > strong { font-size: 2.3rem; line-height: 1; letter-spacing: -.06em; }
.round-detail-facts { margin: 0; overflow: hidden; border-radius: 1.2rem; background: var(--surface-soft); }
.round-detail-facts > div { min-height: 3.2rem; display: grid; grid-template-columns: minmax(6.5rem, .8fr) 1.2fr; align-items: center; gap: .8rem; padding: .55rem .85rem; border-bottom: 1px solid var(--line); }
.round-detail-facts > div:last-child { border-bottom: 0; }
.round-detail-facts dt { color: var(--muted); font-size: .7rem; }
.round-detail-facts dd { margin: 0; font-size: .76rem; font-weight: 730; text-align: right; }

.selection-grid { display: grid; gap: .55rem; }
.selection-card { width: 100%; min-height: 4.6rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .8rem; border: 1px solid transparent; padding: .9rem; color: var(--ink); text-align: left; cursor: pointer; }
.selection-card.is-selected { border-color: #8aca59; background: #eef7e6; }
.selection-card-copy { display: grid; gap: .15rem; }
.selection-card strong { font-size: .88rem; }
.selection-card small { color: var(--muted); font-size: .7rem; line-height: 1.35; }
.selection-indicator { min-width: 4.35rem; min-height: 2.15rem; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; padding: 0 .7rem; background: var(--surface-muted); color: var(--muted); font-size: .64rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.selection-card.is-selected .selection-indicator { background: var(--wise-lime); color: var(--wise-control); box-shadow: inset 0 0 0 1px #6b9f3d; }

.group-lanes { display: grid; gap: .7rem; }
.group-lane { padding: .85rem; border-radius: 1.15rem; background: var(--surface-soft); }
.group-lane header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.group-lane h3 { margin: 0; font-size: .9rem; }
.group-lane header span { color: var(--muted); font-size: .68rem; }
.player-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.player-chip { min-height: 2.35rem; display: inline-flex; align-items: center; border-radius: 999px; padding: 0 .7rem; background: var(--surface); color: var(--wise-control); font-size: .72rem; font-weight: 720; }
.player-chip.is-scorekeeper { box-shadow: inset 0 0 0 1px #79a951; }

.check-list { display: grid; }
.check-row { min-height: 3.5rem; display: grid; grid-template-columns: 1.35rem 1fr auto; align-items: center; gap: .65rem; border-bottom: 1px solid var(--line); }
.check-row:last-child { border-bottom: 0; }
.check-mark { width: 1.15rem; height: 1.15rem; border: .25rem solid var(--surface); border-radius: 50%; background: var(--wise-lime); box-shadow: 0 0 0 1px #78a952; }
.check-copy { display: grid; gap: .1rem; }
.check-copy strong { font-size: .82rem; }
.check-copy small { color: var(--muted); font-size: .68rem; }

.metric-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem; }
.metric-card { min-height: 5.3rem; display: grid; align-content: space-between; border-radius: 1rem; padding: .8rem; background: var(--surface-soft); }
.metric-card span { color: var(--supporting); font-size: .7rem; }
.metric-card strong { font-size: 1.45rem; letter-spacing: -.04em; }
.metric-card small { color: var(--supporting); font-size: .66rem; }

.setting-row { width: 100%; }
.setting-value { color: var(--muted); font-size: .72rem; text-align: right; }
.switch-control { width: 2.8rem; height: 1.65rem; display: flex; align-items: center; justify-content: flex-start; border: 0; border-radius: 999px; padding: .18rem; background: #cdd1ca; cursor: pointer; }
.switch-control::after { content: ""; width: 1.28rem; height: 1.28rem; border-radius: 50%; background: var(--surface); box-shadow: 0 .08rem .25rem rgb(0 0 0 / 18%); }
.switch-control.is-on { justify-content: flex-end; background: var(--wise-lime); box-shadow: inset 0 0 0 1px #79ad4e; }

.result-hero { display: grid; gap: .4rem; padding: 1.1rem; border-radius: 1.3rem; background: var(--wise-lime); color: var(--wise-control); }
.result-hero.is-live-status { border: 1px solid var(--line); background: var(--surface-muted); color: var(--ink); }
.result-hero.is-live-status .card-kicker { color: var(--subtle); }
.result-hero strong { font-size: 1.65rem; letter-spacing: -.045em; }
.result-hero p { margin: 0; font-size: .78rem; }
.result-summary { padding: .9rem; }
.podium-row { min-height: 3.25rem; display: grid; grid-template-columns: 1.6rem 1fr auto; align-items: center; gap: .55rem; border-bottom: 1px solid var(--line); }
.podium-row:last-child { border-bottom: 0; }
.podium-row span:first-child { color: var(--muted); font-size: .75rem; }
.podium-row strong { font-size: .84rem; }
.podium-row span:last-child { font-size: .82rem; font-weight: 760; }

.admin-shell { min-width: 0; max-width: 100%; display: grid; gap: 1rem; }
.admin-heading { min-width: 0; max-width: 100%; }
.admin-heading h1,
.admin-heading p { max-width: 100%; overflow-wrap: anywhere; }
.admin-metrics { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.admin-grid { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem; align-items: start; }
.admin-panel { min-width: 0; max-width: 100%; overflow: hidden; padding: .85rem; border-radius: 1.25rem; background: var(--surface-soft); }
.admin-panel .journey-section-title { margin: 0 0 .65rem; }
.admin-audit { grid-column: auto; }
.admin-table { min-width: 0; width: 100%; display: grid; overflow: visible; }
.admin-table-row { min-width: 0; width: 100%; min-height: 3.6rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "player status" "role handicap" "action action"; align-items: center; gap: .35rem .6rem; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .76rem; }
.admin-table-row:last-child { border-bottom: 0; }
.admin-table-row.is-header { display: none; }
.admin-player { min-width: 0; grid-area: player; overflow-wrap: anywhere; }
.admin-status { grid-area: status; justify-self: end; }
.admin-role { grid-area: role; min-width: 0; color: var(--muted); overflow-wrap: anywhere; }
.admin-handicap { grid-area: handicap; justify-self: end; text-align: right; font-weight: 720; }
.admin-handicap::before { content: attr(data-label) " "; color: var(--muted); font-weight: 540; }
.admin-row-action { grid-area: action; min-height: 2.75rem; justify-self: start; margin-top: .2rem; }

.scoring-view { flex-direction: column; overflow: hidden; }

.round-header {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  padding: .35rem 1rem .55rem;
}

.icon-button {
  width: 2.75rem;
  height: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--wise-control);
  cursor: pointer;
}

.icon-button img { width: 1.35rem; height: 1.35rem; }

.round-title h1 {
  margin: 0;
  color: var(--wise-green);
  font-size: 1.95rem;
  line-height: 1;
  letter-spacing: -.045em;
}

.round-title h1 .muted { color: #778075; font-weight: 580; }

.round-title p {
  margin: .32rem 0 0;
  color: var(--muted);
  font-size: 1rem;
  font-weight: 540;
  line-height: 1.3;
}

.round-actions {
  display: grid;
  gap: 0;
  margin: 0 1rem .55rem;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: var(--surface-soft);
}
.round-actions[hidden] { display: none; }
.resting-dashboard .round-actions { margin: .65rem 0 0; }
.round-actions.is-single-group { grid-template-columns: 1fr; }
.round-actions button[hidden] { display: none; }

.sync-status {
  width: auto;
  height: 2.75rem;
  min-width: 4.6rem;
  min-height: 2.75rem;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid var(--line);
  grid-template-columns: auto 1fr;
  gap: .32rem;
  border-radius: 999px;
  padding: 0 .62rem;
  background: var(--surface-soft);
  color: var(--wise-control);
  cursor: pointer;
}

.sync-status-icon { font-size: .9rem; font-weight: 900; line-height: 1; }
.sync-status-copy { display: grid; gap: 0; text-align: left; white-space: nowrap; }
.sync-status-copy strong { font-size: .66rem; line-height: 1.05; }
.sync-status-copy small { display: none; }
.sync-status.is-offline,
.sync-status.is-pending { border-color: var(--amber-line); background: #fff9e8; }
.sync-status.is-reconnecting { border-color: #9aa899; background: var(--surface-muted); }
.sync-status.is-conflict { border-color: #b95a4e; background: #fff2ef; color: #7d211b; }

.wise-pill,
.primary-pill {
  min-height: 2.75rem;
  border: 0;
  border-radius: 999px;
  padding: 0 1rem;
  font-weight: 720;
  color: var(--wise-control);
  background: var(--surface-muted);
  cursor: pointer;
}

.round-actions .wise-pill {
  min-height: 3.45rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  border-radius: 0;
  padding: .65rem .8rem;
  background: transparent;
  text-align: left;
}
.round-actions .wise-pill + .wise-pill { border-top: 1px solid var(--line); }
.round-actions .wise-pill > span { display: grid; gap: .08rem; }
.round-actions .wise-pill strong { font-size: .82rem; }
.round-actions .wise-pill small { color: var(--muted); font-size: .66rem; font-weight: 560; }
.round-actions .wise-pill img { width: 1rem; height: 1rem; }

.primary-pill { background: var(--wise-lime); }

.game-lenses {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0 1rem .5rem;
  padding: .25rem;
  border-radius: 999px;
  background: var(--surface-muted);
}

.game-lenses::-webkit-scrollbar { display: none; }

.game-lens {
  min-width: 0;
  min-height: 2.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: .4rem .65rem;
  background: transparent;
  color: var(--wise-control);
  text-align: center;
  cursor: pointer;
}

.game-lens span { color: var(--wise-control); font-size: .88rem; font-weight: 780; }

.game-lens.is-selected {
  background: var(--surface);
  color: var(--wise-control);
  box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%);
}

.game-lens.is-selected span { color: var(--wise-control); }

.game-lens[data-game="match"].is-selected {
  background: var(--surface);
  color: var(--wise-control);
}

.game-lens:focus:not(:focus-visible) { outline: 0; }
.game-lens:focus-visible { outline: 0; box-shadow: 0 0 0 .18rem rgb(164 233 116 / 72%); }

.game-lens[data-game="match"].is-selected span { color: var(--wise-control); }

.live-lens {
  min-height: 0;
  margin: 0 1rem .5rem;
  border-radius: 1.1rem;
  padding: .55rem .75rem;
  background: var(--surface-soft);
}

.match-line {
  min-height: 2.35rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: baseline;
  gap: .5rem;
  font-size: .9rem;
}

.match-line span:last-child { text-align: right; }
.match-line strong { font-size: 1rem; color: var(--wise-control); }
.match-line strong.is-blue { color: #2778a9; }
.match-line strong.is-pink { color: #a82f7e; }
.match-line strong.is-neutral { color: var(--wise-control); }
.match-line small { display: block; color: var(--muted); font-size: .68rem; font-weight: 560; text-align: center; }
.winning-player { font-weight: 800; }
.winning-player.is-blue-side { color: #2778a9; }
.winning-player.is-pink-side { color: #a82f7e; }

.lens-summary {
  min-height: 2.85rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 .2rem;
}

.lens-summary span { color: var(--muted); font-size: .86rem; }
.lens-summary strong { font-size: 1.15rem; color: var(--wise-green); }

.leverage-row {
  width: calc(100% - 2rem);
  min-height: 3.25rem;
  margin: 0 1rem .45rem;
  display: grid;
  grid-template-columns: 2rem 1fr auto;
  align-items: center;
  gap: .7rem;
  border: 0;
  border-radius: 1.6rem;
  padding: .35rem .7rem .35rem .4rem;
  background: var(--surface-muted);
  color: var(--ink);
  text-align: left;
  cursor: default;
}

.leverage-row[hidden] { display: none; }

.wise-colour-swatch,
.leverage-marker {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  border-radius: 50%;
}
.wise-colour-swatch { background: var(--stroke-gold-soft); }
.leverage-marker { background: var(--stroke-gold); }

.wise-colour-swatch.is-large { width: 3.25rem; height: 3.25rem; }

.leverage-copy { display: grid; gap: .08rem; }
.leverage-copy strong { font-size: .88rem; }
.leverage-copy small { color: var(--muted); font-size: .86rem; font-weight: 540; line-height: 1.25; }
.leverage-actions { display: flex; align-items: center; gap: .12rem; }
.leverage-learn,
.leverage-dismiss {
  min-height: 2.75rem;
  border: 0;
  background: transparent;
  color: var(--wise-control);
  cursor: pointer;
}
.leverage-learn { padding: 0 .4rem; font-size: .76rem; font-weight: 780; white-space: nowrap; }
.leverage-dismiss { min-width: 2.75rem; display: grid; place-items: center; border-radius: 50%; }
.leverage-dismiss img { width: 1rem; height: 1rem; }
.leverage-learn:focus-visible,
.leverage-dismiss:focus-visible { outline: 3px solid var(--wise-lime); outline-offset: 1px; }
.row-icon { width: 1.2rem; height: 1.2rem; }

.player-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .2rem;
  margin: 0 1rem .45rem;
  padding: .22rem;
  border-radius: 1.25rem;
  background: var(--surface-soft);
}

.player-button {
  position: relative;
  min-height: 5.35rem;
  display: grid;
  grid-template-rows: 3rem 1.05rem 1.65rem .78rem;
  place-items: center;
  align-content: center;
  gap: .08rem;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  border-radius: 1rem;
}

.player-button.is-active {
  border-color: #9bd875;
  background: #eef8e7;
  box-shadow: 0 .12rem .45rem rgb(40 75 20 / 8%);
}
.player-button.is-active .player-marker {
  background: var(--surface);
  box-shadow: inset 0 0 0 1px #bdc9b7;
}
.player-button strong { align-self: end; font-size: .84rem; line-height: 1; }
.player-button .gross { font-size: 1.4rem; line-height: 1; font-variant-numeric: tabular-nums; }
.player-button .player-sync-state { min-height: .78rem; color: var(--muted); font-size: .56rem; font-weight: 720; line-height: 1; }
.player-button .player-sync-state.is-pending { color: #7a5900; }
.player-button .player-sync-state.is-conflict { color: #8d2e2e; }
.player-button.is-active .player-sync-state:empty::after { content: "Selected"; color: var(--wise-control); font-weight: 800; }

.player-marker {
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--wise-control);
  font-size: .88rem;
  font-weight: 800;
}

.player-marker.has-leverage {
  background: var(--stroke-gold);
  color: #102114;
  text-shadow: 0 1px rgb(255 255 255 / 65%);
  font-size: 1.08rem;
}

.resting-dashboard {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .1rem 1rem 5.9rem;
  scroll-padding-bottom: 5.9rem;
  scrollbar-width: none;
}

.resting-dashboard::-webkit-scrollbar { display: none; }

.hole-alert {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .7rem;
  margin-bottom: .85rem;
  padding: .85rem;
  border-radius: 1.2rem;
  background: var(--surface-muted);
}
.hole-alert-copy { display: grid; gap: .12rem; }
.hole-alert-copy strong { font-size: .92rem; }
.hole-alert-copy span { color: var(--muted); font-size: .78rem; }
.hole-alert-actions { display: flex; align-items: center; gap: .35rem; }
.hole-alert-actions button { min-height: 2.75rem; border: 0; border-radius: 999px; padding: 0 .8rem; font-weight: 760; cursor: pointer; }
.continue-score { background: var(--wise-lime); color: var(--wise-control); }
.skip-hole { background: transparent; color: var(--muted); text-decoration: underline; }

.live-board {
  display: grid;
  gap: .65rem;
}

.board-section {
  padding: .85rem;
  border-radius: 1.25rem;
  background: var(--surface-soft);
}

.board-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .55rem;
}

.board-heading h3 { margin: 0; font-size: 1rem; letter-spacing: -.02em; }
.board-heading span { color: var(--muted); font-size: .82rem; font-weight: 560; }

.match-board-list { display: grid; }
.match-board-row {
  min-height: 3.2rem;
  display: grid;
  grid-template-columns: 1fr 5.8rem 1fr;
  align-items: center;
  gap: .4rem;
  border-top: 1px solid var(--line);
}
.match-board-row:first-child { border-top: 0; }
.match-board-row > span:last-child { text-align: right; }
.match-board-row .winning-player { font-weight: 800; }
.match-board-result {
  display: grid;
  place-items: center;
  min-height: 2.15rem;
  border-radius: 999px;
  color: var(--wise-control);
  font-size: .9rem;
  font-weight: 820;
  text-align: center;
}
.match-board-result.is-blue { background: #dcedf8; color: #216a98; }
.match-board-result.is-pink { background: #f8e1f0; color: #a82f7e; }
.match-board-result.is-neutral { background: transparent; color: var(--wise-control); }
.match-board-result small { display: block; color: inherit; font-size: .72rem; font-weight: 800; }

.compact-standing { display: grid; }
.compact-standing-row {
  min-height: 2.35rem;
  display: grid;
  grid-template-columns: 1.5rem 1fr auto;
  align-items: center;
  gap: .55rem;
  border-top: 1px solid var(--line);
  font-size: .82rem;
}
.compact-standing-row:first-child { border-top: 0; }
.compact-standing-row .position { color: var(--muted); font-variant-numeric: tabular-nums; }
.compact-standing-row strong { font-variant-numeric: tabular-nums; }

.gross-score-board { padding: .8rem; background: #f4f5f2; }
.gross-score-board .board-heading { align-items: end; margin-bottom: .65rem; }
.gross-score-board .board-heading > div { display: grid; gap: .1rem; }
.gross-score-board .board-heading .card-kicker { color: var(--muted); font-size: .58rem; }
.gross-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .48rem; }
.gross-score-card {
  min-width: 0;
  min-height: 4.45rem;
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .45rem;
  border: 1px solid #dde1da;
  border-radius: 1rem;
  padding: .58rem .62rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.gross-score-card.is-leading { border-color: #8ac65b; background: #eef7e6; }
.gross-score-rank { width: 1.45rem; height: 1.45rem; display: grid; place-items: center; border-radius: 999px; background: var(--surface-muted); color: var(--muted); font-size: .64rem; font-weight: 800; }
.gross-score-card.is-leading .gross-score-rank { background: var(--wise-control); color: var(--surface); }
.gross-score-copy { min-width: 0; display: grid; gap: .08rem; }
.gross-score-copy strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.gross-score-copy small { color: var(--muted); font-size: .62rem; }
.gross-score-total { color: var(--wise-control); font-size: 1.22rem; font-weight: 850; font-variant-numeric: tabular-nums; }

.classic-scoring-surface {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.classic-scoring-surface[hidden],
.wise-score-surface[hidden] { display: none; }

.scoring-view-toggle {
  min-height: 1.7rem;
  display: grid;
  grid-template-columns: repeat(2, auto);
  align-items: center;
  gap: .12rem;
  border: 0;
  border-radius: 999px;
  padding: .12rem;
  background: var(--surface-muted);
  color: var(--wise-control);
  cursor: pointer;
}

.scoring-view-toggle[hidden] { display: none; }

.scoring-view-toggle span {
  min-height: 1.46rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 .55rem;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 760;
}

.scoring-view-toggle span.is-selected {
  background: var(--surface);
  color: var(--wise-control);
  box-shadow: 0 .08rem .28rem rgb(24 46 12 / 12%);
}

.wise-score-surface {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .2rem .85rem calc(5.6rem + env(safe-area-inset-bottom));
  background: var(--surface);
  scrollbar-width: none;
}

.wise-score-surface::-webkit-scrollbar { display: none; }

.wise-score-header {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
}

.wise-score-header .icon-button {
  width: 2.6rem;
  height: 2.6rem;
  min-width: 2.6rem;
  min-height: 2.6rem;
}

.wise-score-round-copy {
  min-width: 0;
  display: grid;
  gap: .04rem;
}

.wise-score-round-copy > span {
  overflow: hidden;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.wise-score-round-copy h1 {
  margin: 0;
  color: var(--wise-green);
  font-size: 1.55rem;
  line-height: 1;
  letter-spacing: -.05em;
}

.wise-score-round-copy h1 em {
  color: #778075;
  font-style: normal;
  font-weight: 560;
}

.wise-score-round-copy p {
  margin: .16rem 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: .66rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wise-sync-pill {
  min-height: 2.35rem;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: .05rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 .65rem;
  background: var(--surface-soft);
  color: var(--wise-control);
  text-align: left;
  cursor: pointer;
}

.wise-sync-pill strong { max-width: 5.5rem; overflow: hidden; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.wise-sync-pill span { color: var(--muted); font-size: .5rem; }
.wise-sync-pill.is-pending,
.wise-sync-pill.is-offline { border-color: var(--amber-line); background: #fff9e8; }
.wise-sync-pill.is-conflict { border-color: #b95a4e; background: #fff2ef; color: #7d211b; }

.wise-hole-context {
  min-height: 3.1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
  align-items: stretch;
  border-radius: 1.15rem;
  background: var(--surface-muted);
}

.wise-hole-context-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .55rem;
  border: 0;
  padding: .45rem 0 .45rem .5rem;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.wise-hole-context-main > span:nth-child(2) { min-width: 0; display: grid; gap: .05rem; }
.wise-hole-context-main strong { font-size: .72rem; }
.wise-hole-context-main small { overflow: hidden; color: var(--muted); font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.wise-hole-context-main > img { width: .9rem; }
.wise-hole-context-dismiss {
  min-width: 2.75rem;
  min-height: 2.75rem;
  display: grid;
  place-items: center;
  align-self: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.wise-hole-context-dismiss img { width: .9rem; height: .9rem; }

.wise-score-player-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .18rem;
  border-radius: 1.15rem;
  padding: .2rem;
  background: var(--surface-soft);
}

.wise-score-player-strip button {
  min-width: 0;
  min-height: 3.85rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .08rem;
  border: 0;
  border-radius: .95rem;
  padding: .28rem .1rem;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}

.wise-score-player-strip button.is-selected {
  background: #ebf8e2;
  box-shadow: inset 0 0 0 1px #acd98a;
}

.wise-score-player-strip button > span {
  width: 1.65rem;
  height: 1.65rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--wise-control);
  font-size: .63rem;
  font-weight: 820;
}

.wise-score-player-strip button.is-selected > span { background: var(--wise-lime); }
.wise-score-player-strip strong { max-width: 100%; overflow: hidden; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.wise-score-player-strip small { color: var(--muted); font-size: .58rem; font-variant-numeric: tabular-nums; }

.wise-gross-entry {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  grid-template-areas:
    "heading value"
    "derived derived";
  gap: .45rem .75rem;
  border-radius: 1.25rem;
  padding: .65rem;
  background: #f3f5f0;
}

.wise-gross-heading {
  grid-area: heading;
  align-self: center;
  display: grid;
  gap: .12rem;
}

.wise-gross-heading span { color: var(--muted); font-size: .58rem; }
.wise-gross-heading strong { font-size: 1rem; letter-spacing: -.025em; }

.wise-gross-value {
  grid-area: value;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
  color: var(--wise-control);
  text-align: right;
}

.wise-gross-value span { color: var(--muted); font-size: .62rem; font-weight: 680; }
.wise-gross-value strong { font-size: 2.25rem; line-height: .9; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.wise-gross-value.is-empty strong { color: #9aa097; }

.wise-derived-grid {
  grid-area: derived;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
}

.wise-derived-grid button {
  min-width: 0;
  min-height: 3.25rem;
  display: grid;
  align-content: center;
  gap: .04rem;
  border: 0;
  border-radius: .9rem;
  padding: .38rem .48rem;
  background: #e7eae4;
  color: var(--muted);
  text-align: left;
  cursor: pointer;
}

.wise-derived-grid button.is-active { background: var(--surface); color: var(--wise-control); }
.wise-derived-grid button:disabled { cursor: default; opacity: .62; }
.wise-derived-grid span { font-size: .56rem; font-weight: 720; }
.wise-derived-grid strong { overflow: hidden; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.wise-derived-grid small { overflow: hidden; color: var(--muted); font-size: .48rem; text-overflow: ellipsis; white-space: nowrap; }

.wise-score-keypad {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .32rem;
}

.wise-score-key {
  min-width: 0;
  min-height: 3rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .02rem;
  border: 0;
  border-radius: .95rem;
  padding: .22rem;
  background: var(--surface-muted);
  color: var(--wise-control);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.wise-score-key strong { font-size: 1.05rem; line-height: 1; font-variant-numeric: tabular-nums; }
.wise-score-key small { color: var(--muted); font-size: .51rem; line-height: 1; }
.wise-score-key.is-saved { background: #e7f5db; box-shadow: inset 0 0 0 1px #a6d181; }
.wise-score-key.is-confirmed { background: var(--wise-lime); transform: scale(.96); }
.wise-score-key.is-utility { background: var(--surface-soft); }
.wise-score-key.is-utility img { width: 1.05rem; height: 1.05rem; }

.wise-score-tools {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .3rem;
}

.wise-score-tools button {
  min-width: 0;
  min-height: 2.4rem;
  border: 0;
  border-radius: 999px;
  padding: 0 .25rem;
  background: var(--surface-soft);
  color: var(--muted);
  font-size: .58rem;
  font-weight: 730;
  cursor: pointer;
}

.wise-score-tools button.is-saved { background: #e7f5db; color: var(--wise-control); }

.wise-score-footer { display: grid; gap: .45rem; }

.wise-score-shortcuts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem;
}

.wise-score-shortcuts button {
  min-width: 0;
  min-height: 3.25rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) .9rem;
  align-items: center;
  gap: .35rem;
  border: 0;
  border-radius: 1rem;
  padding: .48rem .6rem;
  background: var(--surface-soft);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.wise-score-shortcuts button[hidden] { display: none; }
.wise-score-shortcuts button > span { min-width: 0; display: grid; gap: .05rem; }
.wise-score-shortcuts strong { font-size: .68rem; }
.wise-score-shortcuts small { overflow: hidden; color: var(--muted); font-size: .54rem; text-overflow: ellipsis; white-space: nowrap; }
.wise-score-shortcuts img { width: .9rem; }

.wise-score-progress {
  min-height: 3.65rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  border-radius: 1.05rem;
  padding: .55rem .65rem;
  background: #f3f5f0;
}

.wise-score-progress p { min-width: 0; display: grid; gap: .08rem; margin: 0; }
.wise-score-progress p strong { font-size: .72rem; }
.wise-score-progress p span { overflow: hidden; color: var(--muted); font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.wise-score-progress > div { display: flex; gap: .25rem; }
.wise-score-progress button {
  min-height: 2.55rem;
  border: 0;
  border-radius: 999px;
  padding: 0 .7rem;
  background: var(--wise-lime);
  color: var(--wise-control);
  font-size: .61rem;
  font-weight: 780;
  cursor: pointer;
}
.wise-score-progress button + button { background: var(--surface); color: var(--muted); }
.wise-score-progress.is-complete { background: #e9f7df; }
.wise-score-progress.is-complete .wise-next-hole { min-width: 6rem; }

.local-player-link,
button.standing-row {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
}

.pair-row .local-player-link:last-child,
.match-board-row .local-player-link:last-child { text-align: right; }
button.standing-row { width: 100%; }

.score-sheet {
  position: absolute;
  z-index: 7;
  inset: auto 0 0;
  height: min(29rem, 78%);
  padding: .4rem .9rem max(.65rem, env(safe-area-inset-bottom));
  border-radius: 1.8rem 1.8rem 0 0;
  background: var(--surface);
  box-shadow: var(--shadow);
  transform: translateY(105%);
  transition: transform 260ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}

.score-sheet.is-open {
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}

.sheet-handle {
  width: 2.75rem;
  height: .28rem;
  margin: .15rem auto .35rem;
  border-radius: 999px;
  background: #c9cbc7;
}

.score-sheet-header,
.detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.score-sheet-header { min-height: 3.65rem; padding: 0 .15rem .45rem; }
.score-sheet-header p,
.detail-header p { margin: 0; color: var(--muted); font-size: .78rem; }
.score-sheet-header h2 { margin: .08rem 0 0; font-size: 1.45rem; letter-spacing: -.035em; }

.sheet-close { background: transparent; }

.score-grid {
  height: min(15.2rem, calc(100% - 10.25rem));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(4, 1fr);
  gap: .45rem;
}

.score-key {
  min-height: 3.6rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .12rem;
  border: 1px solid #dedfd9;
  border-radius: 1.05rem;
  background: var(--surface-warm);
  color: var(--ink);
  cursor: pointer;
}

.score-key strong { font-size: 1.9rem; line-height: .95; font-variant-numeric: tabular-nums; }
.score-key span { color: #535953; font-size: .68rem; font-weight: 680; text-transform: uppercase; }
.score-key.is-par { border-color: #9acb39; background: #edf8df; }
.score-key.is-clear { border-color: var(--line); background: var(--surface-muted); }
.score-key.is-saved { border-color: var(--amber-line); background: var(--amber); box-shadow: inset 0 0 0 .12rem var(--amber-line); }
.score-key.is-confirmed { border-color: var(--amber-line); background: var(--amber); box-shadow: inset 0 0 0 .12rem var(--amber-line); transform: scale(.97); }
.score-sheet.is-confirming .score-key,
.score-sheet.is-confirming .score-navigation,
.score-sheet.is-confirming .score-exceptions { pointer-events: none; }

.score-navigation { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; padding-top: .45rem; }
.score-navigation button { min-height: 2.75rem; border: 0; border-radius: .85rem; background: var(--surface-muted); color: var(--wise-control); font-size: .68rem; font-weight: 740; cursor: pointer; }
.score-exceptions { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; padding-top: .5rem; }
.score-exceptions button { min-height: 2.75rem; border: 1px solid var(--line); border-radius: .85rem; padding: .25rem; background: var(--surface); color: var(--wise-control); font-size: .66rem; font-weight: 720; cursor: pointer; }
.score-exceptions button.is-saved { border-color: var(--amber-line); background: var(--amber); }

.round-complete {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin: .25rem 1rem 5.9rem;
  padding: .9rem;
  border-radius: 1.2rem;
  background: var(--surface-muted);
}

.round-complete[hidden] { display: none; }
.round-complete div { display: grid; gap: .12rem; }
.round-complete span { color: var(--muted); font-size: .78rem; }

.full-card-dock {
  margin: .65rem 0 .2rem;
  padding: .3rem;
  border-radius: 1.35rem;
  background: var(--surface);
}
.full-card-dock { display: grid; gap: .38rem; }
.full-card-dock button[hidden] { display: none; }
.full-card-dock button {
  width: 100%;
  min-height: 3.55rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border: 1px solid #b7da9d;
  border-radius: 1.15rem;
  padding: .62rem .85rem;
  background: #e5f5d9;
  color: var(--wise-control);
  text-align: left;
  cursor: pointer;
}
.full-card-dock button > span { display: grid; gap: .06rem; }
.full-card-dock strong { font-size: .86rem; }
.full-card-dock small { color: #52664a; font-size: .8rem; font-weight: 540; line-height: 1.25; }
.full-card-dock img { width: 1rem; height: 1rem; }
.full-card-dock .live-leaderboard-dock { border-color: #b7da9d; background: #e5f5d9; color: var(--wise-control); }
.full-card-dock .live-leaderboard-dock small { color: #52664a; }

.scrim {
  position: absolute;
  z-index: 8;
  inset: 0;
  background: rgb(10 19 11 / 28%);
}
.scrim.is-delete-round {
  background: rgb(0 0 0 / 52%);
  backdrop-filter: blur(1px);
}

.detail-sheet {
  position: absolute;
  z-index: 9;
  inset: auto 0 0;
  height: min(92%, calc(100% - 1rem));
  display: flex;
  flex-direction: column;
  padding: .45rem 1rem max(.8rem, env(safe-area-inset-bottom));
  border-radius: 1.9rem 1.9rem 0 0;
  background: var(--surface);
  transform: translateY(105%);
  transition: transform 280ms cubic-bezier(.2,.8,.2,1);
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
}

.detail-sheet.is-open {
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}

.confirmation-sheet { height: auto; min-height: 20rem; max-height: 70%; }
.confirmation-copy { padding: .4rem 0 1.1rem; }
.confirmation-copy p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.confirmation-copy .confirmation-note {
  margin-top: .85rem;
  padding: .8rem .9rem;
  border-radius: 1rem;
  background: var(--surface-soft);
  color: var(--wise-green);
  font-size: .78rem;
  font-weight: 750;
}
.confirmation-actions { display: grid; gap: .55rem; margin-top: auto; padding-bottom: .2rem; }
.action-pill.is-danger { background: #8d2e2e; color: var(--surface); }

.cancel-round-sheet {
  right: .65rem;
  bottom: .65rem;
  left: .65rem;
  min-height: 0;
  max-height: none;
  padding: 1rem 1rem max(1rem, env(safe-area-inset-bottom));
  border: 1px solid rgb(25 32 25 / 8%);
  border-radius: 1.75rem;
  background: #fff;
  box-shadow: 0 1.5rem 4rem rgb(4 11 5 / 30%);
}
.cancel-round-sheet .sheet-handle { display: none; }
.cancel-round-sheet .detail-header {
  min-height: 3.25rem;
  align-items: flex-start;
  gap: 1rem;
}
.cancel-round-sheet .detail-header h2 {
  max-width: 16rem;
  margin: .2rem 0 0;
  font-size: 1.65rem;
  line-height: 1.08;
}
.cancel-round-sheet .cancel-round-close {
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  background: #f1f2ef;
}
.cancel-round-sheet .cancel-round-close img { width: 1.1rem; height: 1.1rem; }
.cancel-round-sheet .confirmation-copy { padding: .75rem 0 1.25rem; }
.cancel-round-sheet .confirmation-copy p { color: #62685f; font-size: .88rem; }
.cancel-round-sheet .confirmation-actions { gap: .65rem; }
.cancel-round-sheet .action-pill.is-danger {
  background: #b43a3a;
  box-shadow: none;
  color: #fff;
}
.cancel-round-sheet .cancel-round-secondary {
  min-height: 3.6rem;
  border: 1px solid #c9cdc5;
  background: #fff;
  color: var(--wise-control);
}

.detail-header { min-height: 4.5rem; }
.detail-header h2 { margin: .12rem 0 0; font-size: 1.75rem; letter-spacing: -.045em; }

.segmented-control,
.standings-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: .4rem 0 .6rem;
  padding: .25rem;
  border-radius: 999px;
  background: var(--surface-muted);
}

.standings-tabs { grid-template-columns: repeat(3, 1fr); }

.segmented-control button,
.standings-tabs button {
  min-height: 2.75rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--wise-control);
  font-weight: 720;
  cursor: pointer;
}

.segmented-control button.is-selected,
.standings-tabs button.is-selected { background: var(--surface); box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%); }

.card-swipe-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2rem;
  margin: -.15rem 0 .05rem;
  color: #52664a;
  font-size: .875rem;
  font-weight: 650;
  text-align: center;
}

.card-swipe-hint span {
  color: var(--wise-control);
  font-size: 1.05rem;
  line-height: 1;
}

.sheet-intro { margin: .2rem 0 .7rem; color: var(--muted); font-size: .82rem; }

.card-table-wrap {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior-x: contain;
  touch-action: pan-y;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.card-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .78rem; }
.card-table th { position: sticky; top: 0; z-index: 1; padding: .65rem .2rem; background: var(--surface); color: var(--muted); font-size: .68rem; }
.card-table td { height: 2.85rem; padding: .2rem; text-align: center; font-variant-numeric: tabular-nums; }
.card-table tbody tr:nth-child(even) { background: #f6f6f3; }
.card-table tbody tr.is-current { background: #eef7e6; }

.card-score {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid #c9cec5;
  border-radius: .75rem;
  background: var(--surface);
  color: var(--ink);
  font-weight: 720;
  cursor: pointer;
}

.card-score.is-missing { border-style: dashed; border-color: #91a087; background: transparent; color: var(--muted); }
.card-score.is-view-only { display: inline-grid; place-items: center; cursor: default; background: var(--surface-soft); }
.card-structure span { min-width: 2.1rem; min-height: 2.1rem; display: inline-grid; place-items: center; border-radius: .7rem; font-weight: 720; }
.card-hole span { background: var(--wise-control); color: var(--surface); }
.card-par span { background: #e9f6dd; color: var(--wise-control); }
.stroke-assignment-detail { display: grid; gap: .35rem; border-radius: 1rem; padding: .8rem; background: #eef7e6; color: var(--wise-control); }
.stroke-assignment-detail[hidden] { display: none; }
.stroke-assignment-detail strong { font-size: .82rem; }
.stroke-assignment-detail p { margin: 0; color: #50634a; font-size: .74rem; line-height: 1.45; }
.card-score.is-pending { outline: .12rem solid var(--amber-line); background: var(--amber); }
.card-score.is-conflict { outline: .12rem solid #b95a4e; background: #fff2ef; color: #7d211b; }

.sheet-footer { flex: 0 0 auto; display: grid; gap: .55rem; padding-top: .75rem; }
.sheet-footer p { margin: 0; color: var(--muted); text-align: center; font-size: .78rem; }

.return-button {
  min-height: 3.35rem;
  border: 0;
  border-radius: 999px;
  background: #e9f6dd;
  color: var(--wise-control);
  font-weight: 760;
  cursor: pointer;
}

.team-total {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .6rem;
  padding: 1.15rem .25rem .9rem;
}

.team-total div { display: grid; gap: .08rem; }
.team-total div:last-child { text-align: right; }
.team-total span { color: var(--muted); font-size: .8rem; }
.team-total strong { font-size: 1.65rem; font-variant-numeric: tabular-nums; }
.team-total-swatch { width: 2.9rem; height: .55rem; border-radius: 999px; background: linear-gradient(90deg, var(--pink) 0 50%, var(--blue) 50% 100%); }
.team-total.is-live strong { font-size: 1rem; }
.team-total-note { margin: -.3rem 0 .85rem; color: var(--muted); font-size: .7rem; line-height: 1.4; text-align: center; }

.pair-list,
.standing-list { border-top: 1px solid var(--line); }

.pair-row,
.standing-row {
  min-height: 4.4rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .5rem;
  border-bottom: 1px solid var(--line);
}

.pair-row > span:last-child { text-align: right; }
.pair-row .winning-player { font-weight: 800; }
.pair-row strong { text-align: center; color: var(--wise-control); }
.pair-row strong.is-blue { color: #2778a9; }
.pair-row strong.is-pink { color: #a82f7e; }
.pair-row strong.is-neutral { color: var(--wise-control); }
.pair-row small { display: block; color: var(--muted); font-weight: 520; }

.standing-row { grid-template-columns: 1fr auto; }
.standing-row strong { font-variant-numeric: tabular-nums; }
.standing-row span { color: var(--muted); font-size: .8rem; }

.secondary-standing-links { display: grid; margin-top: .85rem; border: 1px solid var(--line); border-radius: 1.2rem; overflow: hidden; }
.secondary-standing-links button { min-height: 3.65rem; display: flex; align-items: center; justify-content: space-between; border: 0; border-bottom: 1px solid var(--line); padding: 0 .9rem; background: var(--surface); color: var(--ink); font-weight: 720; cursor: pointer; }
.secondary-standing-links button:last-child { border-bottom: 0; }
.secondary-standing-links img { width: 1.2rem; }

.leverage-hero { display: flex; align-items: center; gap: .85rem; padding: .7rem 0 1rem; }
.leverage-hero div { display: grid; gap: .18rem; }
.leverage-hero span { color: var(--muted); font-size: .82rem; }
.leverage-list { flex: 1 1 auto; overflow: auto; border-top: 1px solid var(--line); }
.leverage-player { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.leverage-player-title { display: flex; align-items: center; gap: .7rem; }
.leverage-player-title h3 { margin: 0; font-size: 1.25rem; }
.leverage-marker { color: #102114; font-weight: 850; text-shadow: 0 1px rgb(255 255 255 / 70%); }
.leverage-player dl { display: grid; gap: .6rem; margin: .8rem 0 0; }
.leverage-player dl div { display: grid; grid-template-columns: 5.3rem 1fr; gap: .5rem; }
.leverage-player dt { font-weight: 760; }
.leverage-player dd { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.35; }
.text-link { min-height: 2.75rem; border: 0; background: transparent; color: var(--wise-control); font-weight: 720; text-decoration: underline; cursor: pointer; }

.sync-sheet { height: min(88%, 42rem); }
.sync-sheet-content { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: .8rem; overflow-y: auto; padding: .2rem 0 .1rem; }
.round-summary-sheet {
  inset: auto 0 0;
  width: 100%;
  height: min(75dvh, 39rem);
  max-height: calc(100dvh - .75rem);
  padding: .4rem 1.1rem max(.8rem, env(safe-area-inset-bottom));
  border: 0;
  border-radius: 1.9rem 1.9rem 0 0;
  background: var(--surface-warm);
  box-shadow: var(--shadow);
}
.round-summary-header { flex: 0 0 auto; gap: .8rem; }
.round-summary-header > div { min-width: 0; }
.round-summary-header p,
.round-summary-header h2 { overflow-wrap: anywhere; }
.round-summary-header .icon-button { flex: none; background: transparent; }
.round-summary-close:focus-visible { outline: .12rem solid #75906b; outline-offset: .08rem; }
.round-summary-content {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding: .2rem .05rem .15rem;
  scrollbar-gutter: stable;
}
.round-explanation-summary {
  display: grid;
  grid-template-columns: minmax(5.2rem, .72fr) minmax(0, 1.28fr);
  align-items: end;
  gap: 1.35rem;
  padding: 1.35rem 0 1.05rem;
}
.round-explanation-score { min-width: 0; display: grid; gap: .28rem; margin: 0; }
.round-explanation-score .card-kicker { color: var(--subtle); font-size: .68rem; letter-spacing: .045em; white-space: nowrap; }
.round-explanation-score > strong { color: var(--ink); font-size: 2.85rem; font-weight: 680; line-height: .92; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.round-explanation-index { min-width: 0; display: grid; gap: .4rem; padding-bottom: .05rem; }
.round-explanation-index > span { max-width: 17rem; color: var(--subtle); font-size: .78rem; line-height: 1.35; }
.round-explanation-index > strong { display: flex; flex-wrap: wrap; align-items: baseline; gap: .38rem; color: var(--wise-control); font-size: 1.45rem; font-weight: 720; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.round-explanation-index > strong > span[aria-hidden] { color: #75906b; font-size: .95rem; }
.round-explanation-status {
  display: grid;
  gap: .28rem;
  max-width: 32rem;
  margin: 0;
  padding: .35rem 0 1.55rem;
}
.round-explanation-status > strong {
  display: flex;
  align-items: center;
  gap: .48rem;
  color: var(--wise-control);
  font-size: .72rem;
  line-height: 1;
}
.round-explanation-status > strong::before { content: ""; width: 1.5rem; height: .16rem; border-radius: 999px; background: var(--wise-lime); }
.round-explanation-status > span { max-width: 33ch; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.round-explanation-details {
  border-top: 1px solid rgb(21 52 3 / 11%);
}
.round-explanation-details summary {
  min-height: 3.8rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.25rem;
  align-items: center;
  gap: .75rem;
  padding: .65rem 0;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.round-explanation-details summary::-webkit-details-marker { display: none; }
.round-explanation-details summary:focus-visible { outline: none; box-shadow: inset .18rem 0 0 var(--wise-lime); }
.round-explanation-details summary > span { min-width: 0; display: grid; gap: .12rem; }
.round-explanation-details summary strong { font-size: .8rem; font-weight: 700; }
.round-explanation-details summary small { color: var(--muted); font-size: .7rem; line-height: 1.35; }
.round-explanation-details summary img { width: 1.05rem; opacity: .72; transition: transform 180ms ease; }
.round-explanation-details[open] summary img { transform: rotate(90deg); }
.round-explanation-facts { display: grid; gap: .7rem; margin: 0; padding: .35rem 0 1.1rem; }
.round-explanation-facts > div {
  display: grid;
  grid-template-columns: minmax(7rem, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: .65rem;
}
.round-explanation-facts dt { color: var(--muted); font-size: .74rem; }
.round-explanation-facts dd { margin: 0; overflow-wrap: anywhere; color: var(--supporting); font-size: .76rem; font-weight: 700; text-align: right; }
.round-summary-back {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: .38rem;
  margin-top: auto;
  border: 0;
  padding: .45rem .15rem 0;
  background: transparent;
  color: var(--wise-control);
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}
.round-summary-back img { width: 1rem; height: 1rem; opacity: .78; }
.round-summary-empty { margin: 0; color: var(--muted); font-size: .69rem; line-height: 1.42; }
.sync-hero { display: grid; gap: .3rem; border-radius: 1.35rem; padding: 1rem; background: var(--surface-muted); }
.sync-hero.is-offline,
.sync-hero.is-pending { background: #fff7dd; }
.sync-hero.is-reconnecting { background: #eef1ed; }
.sync-hero.is-conflict { background: #fff0ed; }
.sync-hero .state-badge { justify-self: start; }
.sync-hero h3 { margin: 0; font-size: 1.35rem; letter-spacing: -.035em; }
.sync-hero p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.42; }
.sync-proof-list { display: grid; border: 1px solid var(--line); border-radius: 1.2rem; overflow: hidden; }
.sync-proof-row { min-height: 3.5rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .65rem; padding: .72rem .85rem; border-bottom: 1px solid var(--line); }
.sync-proof-row:last-child { border-bottom: 0; }
.sync-proof-row > span:first-child { display: grid; gap: .08rem; }
.sync-proof-row strong { font-size: .8rem; }
.sync-proof-row small { color: var(--muted); font-size: .68rem; line-height: 1.3; }
.sync-proof-row > strong { font-variant-numeric: tabular-nums; }
.sync-actions { display: grid; gap: .5rem; margin-top: auto; padding-top: .25rem; }
.sync-actions .text-action { min-height: 2.75rem; }
.sync-boundary { margin: 0; color: var(--muted); text-align: center; font-size: .67rem; line-height: 1.4; }
.conflict-compare { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.conflict-value { display: grid; gap: .15rem; border: 1px solid var(--line); border-radius: 1rem; padding: .85rem; background: var(--surface); }
.conflict-value.is-local { border-color: var(--amber-line); background: #fff9e8; }
.conflict-value span { color: var(--muted); font-size: .67rem; }
.conflict-value strong { font-size: 1.35rem; }

.toast {
  position: absolute;
  z-index: 20;
  left: 1rem;
  right: 1rem;
  bottom: 6.35rem;
  padding: .9rem 1rem;
  border-radius: 1rem;
  border: 1px solid #cbd8c2;
  background: #f4faee;
  color: var(--wise-control);
  font-size: .85rem;
  box-shadow: 0 .5rem 1.5rem rgb(0 0 0 / 16%);
}

.review-note { margin-top: 1rem; display: grid; gap: .15rem; color: #3e463e; text-align: center; font-size: .82rem; }
.review-note span { color: #6a7169; }

.calculation-strip { display: grid; gap: .45rem; border-radius: 1.1rem; padding: .9rem; background: #eef7e6; color: var(--wise-control); }
.calculation-strip span { font-size: .76rem; line-height: 1.45; }
.calculation-strip strong { font-size: 1rem; }
.handicap-trend { width: 100%; min-width: 0; margin: .1rem 0 .05rem; padding: 0 .25rem; }
.handicap-trend svg { width: 100%; height: auto; display: block; overflow: visible; }
.handicap-trend-grid line { stroke: #f1eeef; stroke-width: 1; vector-effect: non-scaling-stroke; }
.handicap-trend-scale { fill: #575557; font-size: .67rem; font-weight: 430; font-variant-numeric: tabular-nums; text-anchor: start; dominant-baseline: central; alignment-baseline: central; }
.handicap-trend-line { fill: none; stroke: #9fe870; stroke-width: 2.17; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; pointer-events: none; }
.handicap-trend-point { outline: none; cursor: pointer; }
.handicap-trend-marker-halo { fill: rgb(159 232 112 / 18.6%); stroke: none; pointer-events: none; }
.handicap-trend-marker-ring { fill: #fff; stroke: none; pointer-events: none; }
.handicap-trend-marker-core { fill: #9fe870; stroke: none; pointer-events: none; }
.handicap-trend-marker-core.is-current { fill: #ffec6a; }
.handicap-trend-hit { fill: transparent; stroke: transparent; vector-effect: non-scaling-stroke; pointer-events: all; cursor: pointer; }
.handicap-trend-focus-tick { opacity: 0; stroke: #153403; stroke-width: 1.5; stroke-linecap: round; vector-effect: non-scaling-stroke; pointer-events: none; }
.handicap-trend-point:focus-visible .handicap-trend-focus-tick { opacity: 1; }
.handicap-trend-scale .handicap-trend-scale-current { fill: #153403; font-weight: 700; }
.handicap-trend-timeline {
  box-sizing: border-box;
  min-height: 1rem;
  display: grid;
  grid-template-columns: 1.25% 89.375% 9.375%;
  align-items: center;
  padding: .05rem 0 0;
  overflow: visible;
  color: #6a7169;
  font-size: .75rem;
  font-weight: 450;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .01em;
}
.handicap-trend-timeline span { grid-row: 1; white-space: nowrap; }
.handicap-trend-affordance {
  min-height: 3.25rem;
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  align-items: center;
  gap: .6rem;
  margin-top: .7rem;
  border-radius: 1rem;
  padding: .58rem .72rem;
  background: #f2f7ed;
  color: #52664a;
}
.handicap-trend-affordance img { width: 1.2rem; height: 1.2rem; }
.handicap-trend-affordance span { display: grid; gap: .08rem; font-size: .69rem; line-height: 1.35; }
.handicap-trend-affordance strong { color: var(--wise-control); font-size: .72rem; }
.handicap-trend-timeline span:first-child { grid-column: 2; }
.handicap-trend-timeline span:last-child { grid-column: 3; }
.handicap-trend figcaption { margin: .72rem 0 0; color: var(--muted); font-size: clamp(.64rem, 2.5vw, .7rem); line-height: 1.45; }
.handicap-round-list { padding-block: .2rem; }
.handicap-round { min-height: 3.65rem; display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; gap: .65rem; border-bottom: 1px solid var(--line); }
.handicap-round:last-child { border-bottom: 0; }
.handicap-round-button { width: 100%; border-top: 0; border-right: 0; border-left: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.handicap-round-button:focus-visible { position: relative; z-index: 1; outline: .16rem solid var(--wise-control); outline-offset: -.08rem; }
.handicap-round-end { display: flex; align-items: center; gap: .4rem; }
.handicap-round-end > img { width: 1rem; height: 1rem; }
.handicap-round time { color: var(--subtle); font-size: .74rem; }
.handicap-round > span:nth-child(2) { display: grid; gap: .1rem; }
.handicap-round > span:nth-child(2) strong { font-size: .82rem; }
.handicap-round > span:nth-child(2) small { color: var(--muted); font-size: .68rem; line-height: 1.3; }
.handicap-round.is-departing { margin-inline: -.9rem; padding-inline: .9rem; background: #fff7df; }
.leaderboard-panel { padding-block: .75rem; }
.leaderboard-panel .compact-standing-row.is-you { color: var(--wise-control); font-weight: 760; }

.club-chooser { gap: .8rem; }
.club-picker-card { min-height: 6.55rem; }
.club-picker-card .detail-hero-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.club-picker-card .detail-hero-top > span:first-child { min-width: 0; }
.club-picker-card h2 { overflow-wrap: anywhere; }
.club-picker-card .avatar-stack { flex: 0 0 auto; }
.club-picker-card:focus-visible { outline: .16rem solid var(--wise-control); outline-offset: .16rem; }
.club-choice-card { width: 100%; display: grid; gap: .52rem; border: 1px solid var(--line); border-radius: 1.35rem; padding: 1rem; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.club-choice-card.is-live { border-color: #89cc59; background: #f2faec; }
.club-choice-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.club-monogram { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); color: var(--wise-control); font-size: .72rem; font-weight: 850; }
.club-choice-card > strong { font-size: 1.18rem; letter-spacing: -.03em; }
.club-choice-card > small { color: var(--muted); font-size: .74rem; }
.club-choice-action { min-height: 2.65rem; display: flex; align-items: center; justify-content: space-between; margin-top: .1rem; border-top: 1px solid var(--line); padding-top: .6rem; color: var(--wise-control); font-size: .74rem; font-weight: 760; }
.club-choice-action img { width: 1rem; }
.play-chooser-compact { gap: .6rem; }
.play-chooser-compact .journey-heading { padding-bottom: .2rem; }
.play-chooser-compact .journey-heading h1 { font-size: 1.8rem; }
.play-chooser-compact .journey-heading p:last-child { margin-top: .45rem; font-size: .76rem; }
.play-choice-section { display: grid; gap: .45rem; }
.play-choice-section .wise-section-label { padding-inline: .1rem; }
.play-choice-stack { display: grid; gap: .48rem; }
.play-route-card {
  width: 100%;
  min-height: 5rem;
  display: grid;
  grid-template-columns: 3.1rem minmax(0, 1fr) auto 1rem;
  align-items: center;
  gap: .7rem;
  border: 1px solid transparent;
  border-radius: 1.2rem;
  padding: .65rem .75rem;
  background: var(--surface-soft);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.play-route-card.is-live { border-color: #89cc59; background: #eef7e6; }
.play-route-card.is-solo { grid-template-columns: 3.1rem minmax(0, 1fr) 1rem; border: var(--outlined-action-border); background: var(--surface); }
.play-route-date { width: 3.1rem; min-height: 3.1rem; display: grid; place-content: center; justify-items: center; gap: .02rem; border-radius: .9rem; background: var(--surface); color: var(--wise-control); }
.play-route-card.is-live .play-route-date { background: var(--wise-lime); }
.play-route-date strong { font-size: .72rem; letter-spacing: .03em; }
.play-route-date small { color: var(--muted); font-size: .54rem; }
.play-route-copy { min-width: 0; display: grid; gap: .16rem; }
.play-route-copy strong { overflow: hidden; font-size: .9rem; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.play-route-copy small { color: var(--muted); font-size: .66rem; line-height: 1.3; }
.play-route-card > img { width: 1rem; opacity: .72; }
.play-solo-section { margin-top: .15rem; }
.club-leaderboard-heading { position: relative; padding-right: 5.4rem; }
.club-change { position: absolute; top: .15rem; right: .1rem; min-height: 2.75rem; border: 0; padding: 0 .2rem; background: transparent; color: var(--wise-control); font-size: .7rem; font-weight: 760; text-decoration: underline; text-underline-offset: .14rem; cursor: pointer; }
.club-season-hero { min-height: 7.4rem; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .8rem; overflow: hidden; border-radius: 1.35rem; padding: 1rem; background: var(--wise-lime); color: var(--wise-control); }
.club-season-hero > span:first-child { display: grid; gap: .16rem; }
.club-season-hero strong { font-size: 1.35rem; letter-spacing: -.04em; }
.club-season-hero small { font-size: .7rem; line-height: 1.35; }
.season-roundel { width: 4.2rem; height: 4.2rem; display: grid; place-items: center; align-content: center; border-radius: 50%; background: rgb(255 255 255 / 65%); font-size: 1.55rem; font-weight: 850; }
.season-roundel small { font-size: .52rem; font-weight: 760; text-transform: uppercase; }
.season-leaderboard { overflow: hidden; border-radius: 1.35rem; background: var(--surface-soft); }
.season-podium { min-height: 9rem; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: .35rem; padding: .9rem .75rem 0; }
.podium-place { min-width: 0; display: grid; justify-items: center; align-content: start; gap: .14rem; border-radius: .95rem .95rem 0 0; padding: .55rem .25rem; background: #e6ebe3; text-align: center; }
.podium-place.first { min-height: 7.35rem; background: var(--wise-lime); }
.podium-place.second { min-height: 5.85rem; }
.podium-place.third { min-height: 4.95rem; }
.podium-place > span { width: 1.75rem; height: 1.75rem; display: grid; place-items: center; border-radius: 50%; background: var(--surface); color: var(--wise-control); font-size: .66rem; font-weight: 850; }
.podium-place strong { max-width: 100%; overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.podium-place small { color: var(--muted); font-size: .64rem; font-weight: 760; }
.season-table { padding: .2rem .9rem .65rem; background: var(--surface); }
.season-row { min-height: 3.15rem; display: grid; grid-template-columns: 1.5rem 1fr auto; align-items: center; gap: .55rem; border-bottom: 1px solid var(--line); font-size: .76rem; }
.season-row:last-child { border-bottom: 0; }
.season-row > span:first-child { color: var(--muted); }
.season-row.is-you { color: var(--wise-control); font-weight: 780; }
.round-winner-list,
.game-board-grid { display: grid; gap: .6rem; }
.round-winner-card { min-height: 5rem; display: grid; grid-template-columns: 3.4rem 1fr auto; align-items: center; gap: .7rem; border: 0; border-radius: 1.2rem; padding: .8rem; background: var(--surface-soft); color: var(--ink); text-align: left; cursor: pointer; }
.round-date { color: var(--subtle); font-size: .7rem; }
.round-winner-card > span:nth-child(2) { display: grid; gap: .15rem; }
.round-winner-card strong { font-size: .82rem; }
.round-winner-card small { color: var(--muted); font-size: .67rem; }
.round-winner-card img { width: 1rem; }
.winner-mark { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 50%; background: var(--wise-lime); color: var(--wise-control); font-weight: 850; }
.game-board-card { min-height: 5.25rem; display: grid; grid-template-columns: .42rem 1fr; gap: .8rem; overflow: hidden; border: 0; border-radius: 1.2rem; padding: 0 .9rem 0 0; background: var(--surface-soft); color: var(--ink); text-align: left; cursor: pointer; }
.game-board-accent { position: relative; display: block; height: 100%; background: var(--wise-lime); }
.game-board-accent.blue { background: var(--blue); }
.game-board-accent.split { background: var(--pink); }
.game-board-accent.split::after { content: ""; position: absolute; inset: 50% 0 0; background: var(--blue); }
.game-board-card > span:last-child { display: grid; align-content: center; gap: .12rem; }
.game-board-card small { color: var(--muted); font-size: .68rem; }
.game-board-card strong { font-size: .88rem; }
.game-board-card em { color: var(--muted); font-size: .65rem; font-style: normal; }

.leaderboard-view-toggle-row { display: flex; align-items: center; justify-content: flex-end; }

.leaderboard-proposal { gap: .85rem; }
.leaderboard-proposal .club-leaderboard-heading { padding-bottom: .35rem; }
.leaderboard-proposal-summary {
  min-height: 8.75rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .85rem;
  border-radius: 1.35rem;
  padding: 1rem;
  background: var(--wise-lime);
  color: var(--wise-control);
}
.leaderboard-proposal-summary-copy { min-width: 0; display: grid; gap: .18rem; }
.leaderboard-proposal-summary-copy > strong { font-size: 1rem; line-height: 1.25; }
.leaderboard-proposal-summary-copy > b { font-size: 1.18rem; line-height: 1.16; letter-spacing: -.025em; }
.leaderboard-proposal-summary-copy > small { margin-top: .25rem; font-size: .875rem; line-height: 1.35; }
.leaderboard-proposal-place { display: grid; justify-items: end; gap: .15rem; text-align: right; }
.leaderboard-proposal-place strong { font-size: 2.5rem; line-height: .95; letter-spacing: -.06em; }
.leaderboard-proposal-place small { font-size: .875rem; font-weight: 720; }

.leaderboard-proposal-primary-tabs,
.leaderboard-proposal-measure-tabs,
.leaderboard-ledger-scope { margin: 0; }
.leaderboard-proposal-primary-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.leaderboard-proposal :is(.leaderboard-proposal-primary-tabs, .leaderboard-proposal-measure-tabs) button {
  min-height: 2.9rem;
  font-size: .875rem;
}
.leaderboard-proposal-disclosure {
  width: 100%;
  min-height: 3.75rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .75rem;
  border: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: .55rem .1rem;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.leaderboard-proposal-disclosure > span { min-width: 0; display: grid; gap: .12rem; }
.leaderboard-proposal-disclosure small { color: var(--muted); font-size: .875rem; line-height: 1.3; }
.leaderboard-proposal-disclosure strong { font-size: .95rem; line-height: 1.3; }
.leaderboard-proposal-disclosure img { width: 1rem; opacity: .72; }
.leaderboard-form-selector { min-height: 4rem; padding-block: .65rem; }
.leaderboard-proposal-overview { display: grid; gap: .35rem; }
.leaderboard-overall-method { margin-bottom: .1rem; }
.leaderboard-overall-method strong { font-size: .9rem; }
.leaderboard-overview-neutral {
  display: grid;
  gap: .35rem;
  border-radius: 1.1rem;
  padding: 1rem;
  background: var(--surface-soft);
}
.leaderboard-overview-neutral strong { font-size: 1rem; }
.leaderboard-overview-neutral p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.leaderboard-overview-signals { display: grid; gap: .25rem; }
.leaderboard-overview-signals > div { border-top: 1px solid var(--line); }
.leaderboard-overview-signals button {
  width: 100%;
  min-height: 5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) .9rem;
  align-items: center;
  gap: .7rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: .72rem .1rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.leaderboard-overview-signals button > span { min-width: 0; display: grid; gap: .12rem; }
.leaderboard-overview-signals small { color: var(--muted); font-size: .875rem; }
.leaderboard-overview-signals strong { font-size: .95rem; line-height: 1.3; }
.leaderboard-overview-signals em { color: var(--muted); font-size: .875rem; font-style: normal; line-height: 1.38; }
.leaderboard-overview-signals img { width: .9rem; opacity: .62; }
.leaderboard-overview-loop {
  margin: .05rem .1rem .5rem;
  border-left: .2rem solid var(--wise-lime);
  padding: .35rem 0 .35rem .7rem;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}

.leaderboard-proposal-formula {
  margin: -.15rem 0 0;
  border-left: .2rem solid var(--wise-lime);
  padding: .45rem 0 .45rem .75rem;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.42;
}
.leaderboard-proposal-formula strong { color: var(--wise-control); }
.leaderboard-net-points-unavailable {
  display: grid;
  gap: .3rem;
  border: 1px solid var(--line);
  border-radius: 1.1rem;
  padding: .85rem 1rem;
  background: var(--surface-soft);
}
.leaderboard-net-points-unavailable strong { font-size: .95rem; line-height: 1.3; }
.leaderboard-net-points-unavailable p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.leaderboard-proposal-standings { display: grid; gap: .25rem; }
.leaderboard-proposal-section-heading {
  min-height: 2.8rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: .75rem;
  padding: 0 .1rem .35rem;
}
.leaderboard-proposal-section-heading h2 { margin: 0; font-size: 1.1rem; letter-spacing: -.025em; }
.leaderboard-proposal-section-heading span { color: var(--muted); font-size: .875rem; text-align: right; }
.leaderboard-proposal-list { border-top: 1px solid var(--line); }
.leaderboard-proposal-row {
  width: 100%;
  min-height: 5rem;
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr) minmax(5.4rem, auto) .9rem;
  align-items: center;
  gap: .55rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: .7rem .1rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.leaderboard-proposal-row.is-you {
  margin-inline: -.35rem;
  width: calc(100% + .7rem);
  border-radius: .85rem;
  padding-inline: .45rem;
  background: color-mix(in srgb, var(--wise-lime) 18%, var(--surface));
}
.leaderboard-proposal-rank {
  align-self: start;
  padding-top: .18rem;
  color: var(--muted);
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.leaderboard-proposal-player,
.leaderboard-proposal-value { min-width: 0; display: grid; gap: .18rem; }
.leaderboard-proposal-player strong {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
  font-size: .95rem;
  line-height: 1.24;
}
.leaderboard-proposal-player small,
.leaderboard-proposal-value small {
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.32;
  overflow-wrap: anywhere;
}
.leaderboard-you-label {
  min-height: 1.55rem;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 .5rem;
  background: var(--wise-control);
  color: var(--surface);
  font-size: .7rem;
  font-weight: 800;
}
.leaderboard-proposal-value { justify-items: end; text-align: right; }
.leaderboard-proposal-value strong { font-size: 1rem; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.leaderboard-proposal-row > img { width: .9rem; opacity: .62; }
.leaderboard-proposal-boundary {
  margin: .05rem .1rem .5rem;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}

.leaderboard-proposal-sheet {
  overscroll-behavior: contain;
}
.leaderboard-proposal-sheet .detail-header {
  flex: 0 0 auto;
}
.leaderboard-proposal-sheet .detail-header > div {
  min-width: 0;
}
.leaderboard-proposal-sheet .detail-header h2 {
  overflow-wrap: anywhere;
}
.leaderboard-proposal-sheet .detail-header .icon-button {
  flex: none;
}
.leaderboard-proposal-sheet-content {
  overscroll-behavior: contain;
  touch-action: pan-y;
  scrollbar-gutter: stable;
}
.leaderboard-proposal-sheet-content > * {
  flex: 0 0 auto;
}
.leaderboard-sheet-intro {
  margin: 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}
.leaderboard-sheet-callout,
.leaderboard-ledger-proof,
.leaderboard-ledger-summary {
  display: grid;
  gap: .35rem;
  border-radius: 1.35rem;
  padding: 1rem;
  background: var(--surface-muted);
}
.leaderboard-ledger-proof { border: 1px solid var(--line); background: var(--surface); }
.leaderboard-sheet-callout strong,
.leaderboard-ledger-proof strong { font-size: 1rem; line-height: 1.35; }
.leaderboard-sheet-callout p,
.leaderboard-ledger-proof p,
.leaderboard-ledger-summary p {
  margin: 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}
.leaderboard-rule-list {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
}
.leaderboard-rule-list > div {
  min-height: 3.5rem;
  display: grid;
  grid-template-columns: minmax(6.5rem, .78fr) minmax(0, 1.22fr);
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  padding: .72rem .85rem;
}
.leaderboard-rule-list > div:last-child { border-bottom: 0; }
.leaderboard-rule-list dt { color: var(--muted); font-size: .875rem; line-height: 1.35; }
.leaderboard-rule-list dd { margin: 0; font-size: .875rem; font-weight: 700; line-height: 1.4; text-align: right; overflow-wrap: anywhere; }
.leaderboard-status-sequence {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
}
.leaderboard-status-sequence h3 { margin: 0; padding: .8rem .85rem .45rem; font-size: 1rem; }
.leaderboard-status-sequence > div {
  min-height: 3.5rem;
  display: grid;
  gap: .16rem;
  align-content: center;
  border-bottom: 1px solid var(--line);
  padding: .72rem .85rem;
}
.leaderboard-status-sequence > div:last-child { border-bottom: 0; }
.leaderboard-status-sequence strong { font-size: .9rem; }
.leaderboard-status-sequence span { color: var(--muted); font-size: .875rem; line-height: 1.4; }
.leaderboard-overall-calculations {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
}
.leaderboard-overall-calculations h3 { margin: 0; padding: .8rem .85rem .35rem; font-size: 1rem; }
.leaderboard-overall-calculations > article {
  min-height: 4.35rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  padding: .65rem .85rem;
}
.leaderboard-overall-calculations > article:last-child { border-bottom: 0; }
.leaderboard-overall-calculations article > span {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: .12rem .5rem;
}
.leaderboard-overall-calculations article b {
  grid-row: 1 / 3;
  color: var(--muted);
  font-size: .875rem;
  font-weight: 520;
  font-variant-numeric: tabular-nums;
}
.leaderboard-overall-calculations article strong { font-size: .95rem; }
.leaderboard-overall-calculations article small { color: var(--muted); font-size: .875rem; line-height: 1.38; overflow-wrap: anywhere; }
.leaderboard-overall-calculations article > em { font-size: .95rem; font-style: normal; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.leaderboard-overall-calculations > p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.45; }
.leaderboard-sheet-deep-link {
  width: 100%;
  min-height: 4.3rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .75rem;
  border: 0;
  border-radius: 1.1rem;
  padding: .72rem .85rem;
  background: color-mix(in srgb, var(--wise-lime) 22%, var(--surface));
  color: var(--wise-control);
  text-align: left;
  cursor: pointer;
}
.leaderboard-sheet-deep-link > span { display: grid; gap: .12rem; }
.leaderboard-sheet-deep-link strong { font-size: .95rem; }
.leaderboard-sheet-deep-link small { color: var(--muted); font-size: .875rem; }
.leaderboard-sheet-deep-link img { width: 1rem; }

.leaderboard-form-options {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
}
.leaderboard-form-options button {
  min-height: 4.35rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: .72rem .85rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.leaderboard-form-options button:last-child { border-bottom: 0; }
.leaderboard-form-options button > span { min-width: 0; display: grid; gap: .16rem; }
.leaderboard-form-options strong { font-size: .95rem; }
.leaderboard-form-options small { color: var(--muted); font-size: .875rem; line-height: 1.38; }
.leaderboard-form-options b { color: var(--muted); font-size: .8rem; }
.leaderboard-form-options button.is-selected b { color: var(--wise-control); }

.leaderboard-ledger-summary {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  background: color-mix(in srgb, var(--wise-lime) 18%, var(--surface));
}
.leaderboard-ledger-summary > span { display: grid; gap: .25rem; }
.leaderboard-ledger-summary > span > strong { font-size: 2rem; line-height: 1; letter-spacing: -.05em; }
.leaderboard-ledger-summary p { text-align: right; }
.leaderboard-ledger-proof > span { color: var(--muted); font-size: .875rem; }
.leaderboard-ledger-scope button { min-height: 2.9rem; font-size: .875rem; }
.leaderboard-ledger-rule {
  margin: -.2rem .05rem 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.4;
}
.leaderboard-ledger-list {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.05rem;
}
.leaderboard-ledger-row {
  min-height: 4.6rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  border-bottom: 1px solid var(--line);
  padding: .65rem .75rem;
}
.leaderboard-ledger-row:last-child { border-bottom: 0; }
.leaderboard-ledger-row time { align-self: start; padding-top: .14rem; color: var(--muted); font-size: .875rem; font-variant-numeric: tabular-nums; }
.leaderboard-ledger-row > span { min-width: 0; display: grid; gap: .18rem; }
.leaderboard-ledger-row strong { font-size: .95rem; line-height: 1.28; }
.leaderboard-ledger-row small { color: var(--muted); font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
.leaderboard-ledger-row > b { align-self: start; padding-top: .14rem; font-size: .95rem; font-variant-numeric: tabular-nums; white-space: nowrap; }

.calm-season-hero {
  min-height: 7.4rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  border-radius: 1.35rem;
  padding: 1rem;
  background: var(--wise-lime);
  color: var(--wise-control);
}
.calm-season-hero > span:first-child { min-width: 0; display: grid; gap: .28rem; }
.calm-season-kicker {
  font-size: .72rem;
  font-weight: 820;
  letter-spacing: .055em;
  line-height: 1.3;
  text-transform: uppercase;
}
.calm-season-hero > span:first-child > strong {
  font-size: clamp(1.28rem, 6vw, 1.55rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.calm-season-hero > span:first-child > small { font-size: .875rem; line-height: 1.35; }
.calm-season-place {
  width: 4.5rem;
  min-width: 4.5rem;
  height: 4.5rem;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .08rem;
  border-radius: 50%;
  background: rgb(255 255 255 / 62%);
  text-align: center;
}
.calm-season-place b { font-size: 1.7rem; line-height: 1; letter-spacing: -.05em; }
.calm-season-place small { font-size: .6rem; font-weight: 820; letter-spacing: .035em; text-transform: uppercase; }

.calm-leaderboard-tabs button { min-height: 3.1rem; font-size: .875rem; }
.calm-leader-snapshot {
  display: grid;
  overflow: hidden;
  border-radius: 1.15rem;
  background: var(--surface-soft);
}
.calm-leader-snapshot > h2 {
  margin: 0;
  padding: .72rem .85rem 0;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 780;
  letter-spacing: .055em;
  line-height: 1.2;
  text-transform: uppercase;
}
.calm-category-podium {
  min-height: 10.3rem;
  padding-top: .65rem;
}
.calm-category-podium .podium-place {
  min-width: 0;
  border: 0;
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}
.calm-category-podium .podium-place.first { min-height: 8.25rem; background: #ffec6a; }
.calm-category-podium .podium-place.second { min-height: 6.9rem; background: #f4b97d; }
.calm-category-podium .podium-place.third { min-height: 6.25rem; background: #bd8ac4; }
.calm-category-podium .podium-place > span { font-size: .58rem; letter-spacing: .015em; }
.calm-category-podium .podium-place em {
  max-width: 100%;
  overflow: hidden;
  color: var(--muted);
  font-size: .62rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calm-category-podium .podium-place strong { font-size: .78rem; }
.calm-category-podium .podium-place small { font-size: .7rem; font-variant-numeric: tabular-nums; }
.calm-scope-note {
  margin: .05rem .1rem .15rem;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.45;
}
.calm-scope-note strong { color: var(--ink); }

.calm-leader-groups {
  display: grid;
  gap: .8rem;
}
.calm-leader-group {
  overflow: hidden;
  border: 0;
  border-radius: 1.3rem;
  background: var(--surface-soft);
}
.calm-leader-group-heading {
  min-height: 4.35rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .78rem .9rem .68rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface-soft);
}
.calm-leader-group-heading > span:first-child { min-width: 0; display: grid; gap: .1rem; }
.calm-leader-group-heading h2 { margin: 0; font-size: 1rem; line-height: 1.2; letter-spacing: -.02em; }
.calm-leader-group-tools {
  display: grid;
  grid-template-columns: auto 2.75rem;
  align-items: center;
  gap: .35rem;
}
.calm-leader-group-tools > small {
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.25;
  white-space: nowrap;
}
.calm-leader-group-tools > button {
  width: 2.75rem;
  min-width: 2.75rem;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--wise-control);
  cursor: pointer;
}
.calm-leader-group-tools > button img.calm-help-icon {
  width: 1.35rem;
  opacity: 1;
}
.calm-leader-info {
  display: grid;
  justify-items: start;
  gap: .55rem;
  padding: .72rem .85rem;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--wise-lime) 9%, var(--surface));
}
.calm-leader-info p {
  margin: 0;
  color: var(--supporting);
  font-size: .875rem;
  line-height: 1.5;
}
.calm-leader-info > button {
  min-height: 2.75rem;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--wise-control);
  font-size: .875rem;
  font-weight: 760;
  cursor: pointer;
}
.calm-daily-result-hero {
  min-height: 0;
  align-content: start;
  gap: .5rem;
  padding: 1rem;
}
.calm-daily-result-hero > .card-kicker {
  margin: 0;
  color: var(--wise-control);
  line-height: 1.25;
}
.calm-daily-result-hero h2 {
  margin: 0;
  max-width: none;
  font-size: 1.35rem;
  line-height: 1.05;
  letter-spacing: -.035em;
}
.calm-daily-handicap-fact {
  width: fit-content;
  max-width: 100%;
  display: inline-flex;
  align-items: baseline;
  gap: .3rem;
  margin: .08rem 0 0 !important;
  color: var(--wise-control);
}
.calm-daily-handicap-fact > span {
  opacity: .64;
  font-size: .66rem;
  font-weight: 680;
  line-height: 1.2;
}
.calm-daily-handicap-fact > strong {
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
  font-weight: 780;
  letter-spacing: 0;
  line-height: 1.15;
  white-space: nowrap;
}
.calm-daily-game-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.calm-daily-game-grid li {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: .12rem;
}
.calm-daily-game-grid li > span {
  opacity: .68;
  font-size: .6rem;
  font-weight: 780;
  letter-spacing: .055em;
  line-height: 1.1;
  text-transform: uppercase;
}
.calm-daily-game-grid li > strong {
  min-width: 0;
  font-size: .8rem;
  font-weight: 780;
  letter-spacing: -.01em;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.calm-daily-game-grid li > small {
  opacity: .75;
  font-size: .66rem;
  font-weight: 650;
  line-height: 1.2;
}
.calm-daily-game-grid li > em {
  opacity: .76;
  color: var(--wise-control);
  font-size: .64rem;
  font-style: normal;
  font-weight: 760;
  line-height: 1.2;
}
.calm-leader-list { margin: 0; padding: 0; list-style: none; }
.calm-leader-list li { margin: 0; padding: 0; }
.calm-leader-row {
  width: 100%;
  min-height: 3.45rem;
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: .5rem .9rem;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
button.calm-leader-row { cursor: pointer; }
.calm-leader-row.is-you {
  background: color-mix(in srgb, var(--wise-lime) 7%, var(--surface));
  color: var(--ink);
  font-weight: 760;
}
button.calm-leader-row:focus-visible {
  outline: 0;
  background: color-mix(in srgb, var(--wise-lime) 12%, var(--surface));
  box-shadow: inset .18rem 0 0 var(--wise-lime);
}
.calm-leader-row.is-qualifying { color: var(--muted); }
.calm-leader-rank {
  color: var(--muted);
  font-size: .875rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.calm-leader-name { min-width: 0; display: grid; gap: .12rem; }
.calm-leader-name strong { overflow-wrap: anywhere; font-size: .92rem; line-height: 1.28; }
.calm-leader-name small { color: var(--muted); font-size: .875rem; line-height: 1.3; }
.calm-leader-value {
  justify-self: end;
  font-size: .92rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  white-space: nowrap;
}
.calm-show-all {
  width: 100%;
  min-height: 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border: 0;
  padding: 0 .85rem;
  background: transparent;
  color: var(--wise-control);
  font-size: .875rem;
  font-weight: 760;
  text-align: left;
  cursor: pointer;
}
.calm-show-all img { width: .9rem; opacity: .7; transform: rotate(0); transition: transform .16s ease; }
.calm-show-all img.is-open { transform: rotate(90deg); }

.calm-section-heading {
  min-height: 3.4rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: .8rem;
  padding: .15rem .1rem .45rem;
  border-bottom: 1px solid var(--line);
}
.calm-section-heading > span { min-width: 0; display: grid; gap: .12rem; }
.calm-section-heading h2 { margin: 0; font-size: 1.1rem; line-height: 1.25; letter-spacing: -.025em; }
.calm-section-heading p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.35; }
.calm-section-heading > small {
  align-self: end;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.3;
  text-align: right;
  white-space: nowrap;
}
.calm-season-details { display: grid; gap: .75rem; }
.calm-season-settings-panel {
  display: grid;
  gap: 0;
  margin-top: -.75rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 1.3rem 1.3rem;
  padding: 0 .95rem .95rem;
  background: var(--surface);
}
.calm-season-settings-panel.is-page {
  margin-top: 0;
  border: 1px solid var(--line);
  border-radius: 1.3rem;
  padding: .95rem;
}
.calm-season-settings-status {
  margin: 0;
  border-radius: .8rem;
  padding: .65rem .75rem;
  background: color-mix(in srgb, var(--wise-lime) 14%, var(--surface));
  color: var(--wise-control);
  font-size: .84rem;
  font-weight: 760;
}
.calm-settings-section {
  display: grid;
  gap: .7rem;
  border-bottom: 1px solid var(--line);
  padding: 1rem 0;
}
.calm-settings-section > .card-kicker { color: var(--wise-control); }
.calm-settings-question,
.calm-settings-helper,
.calm-settings-warning {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.45;
}
.calm-settings-question { color: var(--ink); font-weight: 720; }
.calm-settings-warning {
  border-left: .2rem solid var(--wise-lime);
  padding-left: .65rem;
  color: var(--supporting);
}
.calm-setting-summary {
  min-height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.calm-setting-summary > span { min-width: 0; display: grid; gap: .12rem; }
.calm-setting-summary strong { font-size: .96rem; line-height: 1.25; }
.calm-setting-summary small { color: var(--muted); font-size: .82rem; line-height: 1.35; }
.calm-setting-summary b { font-size: .82rem; font-weight: 760; white-space: nowrap; }
.calm-season-action-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}
.calm-season-action-choice > button {
  min-height: 3.4rem;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: .12rem;
  border: 1px solid var(--line);
  border-radius: .9rem;
  padding: .55rem .68rem;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.calm-season-action-choice > button.is-selected {
  border-color: var(--wise-control);
  background: color-mix(in srgb, var(--wise-lime) 12%, var(--surface));
  color: var(--wise-control);
}
.calm-season-action-choice strong { font-size: .86rem; line-height: 1.25; }
.calm-season-action-choice small { color: var(--muted); font-size: .74rem; line-height: 1.3; }
.calm-season-stepper {
  min-height: 3.7rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: .45rem 0;
}
.calm-season-stepper > span:first-child { min-width: 0; display: grid; gap: .12rem; }
.calm-season-stepper strong { font-size: .9rem; line-height: 1.25; }
.calm-season-stepper small { color: var(--muted); font-size: .78rem; line-height: 1.35; }
.calm-season-stepper > span:last-child {
  display: grid;
  grid-template-columns: 2.75rem minmax(4.2rem, auto) 2.75rem;
  align-items: center;
}
.calm-season-stepper button {
  width: 2.75rem;
  min-height: 2.75rem;
  border: 1px solid var(--line);
  background: var(--surface-soft);
  color: var(--wise-control);
  font-size: 1.15rem;
  font-weight: 760;
  cursor: pointer;
}
.calm-season-stepper button:first-child { border-radius: .8rem 0 0 .8rem; }
.calm-season-stepper button:last-child { border-radius: 0 .8rem .8rem 0; }
.calm-season-stepper button:disabled { opacity: .42; cursor: not-allowed; }
.calm-season-stepper output {
  min-height: 2.75rem;
  display: grid;
  place-items: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 0 .42rem;
  font-size: .8rem;
  font-weight: 760;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.calm-season-radio-list,
.calm-overall-game-list { display: grid; border-top: 1px solid var(--line); }
.calm-season-radio-list label,
.calm-overall-game-list label {
  min-height: 3.5rem;
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  border-bottom: 1px solid var(--line);
  padding: .48rem 0;
  cursor: pointer;
}
.calm-season-radio-list label.is-disabled,
.calm-overall-game-list label:has(input:disabled) { opacity: .58; cursor: not-allowed; }
.calm-season-radio-list input,
.calm-overall-game-list input {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  accent-color: var(--wise-control);
}
.calm-season-radio-list label > span,
.calm-overall-game-list label > span { min-width: 0; display: grid; gap: .08rem; }
.calm-season-radio-list strong,
.calm-overall-game-list strong { font-size: .88rem; line-height: 1.25; }
.calm-season-radio-list small,
.calm-overall-game-list small { color: var(--muted); font-size: .78rem; line-height: 1.35; }
.calm-season-change-review { margin: 0; }
.calm-season-change-review > div {
  min-height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  font-size: .84rem;
}
.calm-season-change-review dt { color: var(--muted); }
.calm-season-change-review dd { margin: 0; font-weight: 760; text-align: right; }
.calm-season-save-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}
.calm-season-save-actions > button {
  min-height: 3rem;
  border: 1px solid var(--line);
  border-radius: .9rem;
  background: var(--surface);
  color: var(--wise-control);
  font-size: .86rem;
  font-weight: 760;
  cursor: pointer;
}
.calm-season-save-actions > button:last-child {
  border-color: var(--wise-control);
  background: var(--wise-control);
  color: #fff;
}
.calm-season-save-actions > button:disabled { opacity: .45; cursor: not-allowed; }
.calm-season-facts { border-top: 0; }
.calm-season-facts > div {
  min-height: 4.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  padding: .65rem .1rem;
}
.calm-season-facts span { min-width: 0; display: grid; gap: .12rem; }
.calm-season-facts strong { font-size: .95rem; line-height: 1.28; }
.calm-season-facts small { color: var(--muted); font-size: .875rem; line-height: 1.35; }
.calm-season-facts b { font-size: .875rem; font-weight: 760; text-align: right; }
.calm-season-action,
.calm-finals-row {
  width: 100%;
  min-height: 4.8rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) .9rem;
  align-items: center;
  gap: .75rem;
  border: 0;
  border-radius: 1.3rem;
  padding: .72rem .95rem;
  background: var(--surface-soft);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.calm-season-action > span,
.calm-finals-row > span:nth-child(2) { min-width: 0; display: grid; gap: .14rem; }
.calm-season-action strong,
.calm-finals-row strong { font-size: .95rem; line-height: 1.28; }
.calm-season-action small,
.calm-finals-row small { color: var(--muted); font-size: .875rem; line-height: 1.35; }
.calm-season-action > img,
.calm-finals-row > img { width: .9rem; opacity: .66; }
.calm-season-settings-panel .calm-season-action { margin-top: .85rem; }
.calm-finals-row {
  grid-template-columns: 2.85rem minmax(0, 1fr) .9rem;
  background: color-mix(in srgb, var(--wise-lime) 16%, var(--surface));
}
.calm-finals-date {
  width: 2.75rem;
  min-height: 2.75rem;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 50%;
  background: var(--surface);
}
.calm-finals-date strong { font-size: 1rem; line-height: 1; }
.calm-finals-date small { font-size: .66rem; font-weight: 760; text-transform: uppercase; }

.calm-sheet-intro {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.5;
}
.calm-rule-list { border-top: 1px solid var(--line); }
.calm-rule-list article {
  min-height: 5.4rem;
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: start;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  padding: .85rem 0;
}
.calm-rule-list article > span {
  width: 1.65rem;
  height: 1.65rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--surface-muted);
  color: var(--wise-control);
  font-size: .8rem;
  font-weight: 820;
}
.calm-rule-list article > div { min-width: 0; display: grid; gap: .22rem; }
.calm-rule-list strong { font-size: 1rem; line-height: 1.3; }
.calm-rule-list p,
.calm-sheet-section p,
.calm-sheet-highlight p {
  margin: 0;
  color: var(--muted);
  font-size: .875rem;
  line-height: 1.5;
}
.calm-sheet-section {
  display: grid;
  gap: .35rem;
  border-top: 1px solid var(--line);
  padding: .85rem 0;
}
.calm-sheet-section h3 { margin: 0; font-size: 1rem; line-height: 1.3; }
.calm-sheet-section.is-muted {
  border: 0;
  border-radius: 1rem;
  padding: .85rem;
  background: var(--surface-soft);
}
.calm-sheet-highlight {
  display: grid;
  gap: .35rem;
  border-radius: 1rem;
  padding: 1rem;
  background: color-mix(in srgb, var(--wise-lime) 18%, var(--surface));
}
.calm-sheet-highlight > strong { font-size: 1.05rem; line-height: 1.35; }
.calm-result-table {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1rem;
}
.calm-result-head,
.calm-result-row {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) 3.2rem 4rem;
  align-items: center;
  gap: .4rem;
  min-height: 3.35rem;
  border-bottom: 1px solid var(--line);
  padding: .45rem .65rem;
  font-variant-numeric: tabular-nums;
}
.calm-result-head {
  min-height: 2.6rem;
  background: var(--surface-soft);
  color: var(--muted);
  font-size: .75rem;
  font-weight: 760;
  text-transform: uppercase;
}
.calm-result-row:last-child { border-bottom: 0; }
.calm-result-row.is-you { background: color-mix(in srgb, var(--wise-lime) 16%, var(--surface)); color: var(--wise-control); }
.calm-result-row > span,
.calm-result-row > strong,
.calm-result-row > b { min-width: 0; font-size: .875rem; line-height: 1.3; }
.calm-result-head > :nth-child(n+3),
.calm-result-row > :nth-child(n+3) { text-align: right; }

.calm-player-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .8rem;
  border-radius: 1rem;
  padding: 1rem;
  background: color-mix(in srgb, var(--wise-lime) 18%, var(--surface));
}
.calm-player-summary > span { min-width: 0; display: grid; gap: .25rem; }
.calm-player-summary > span > strong { font-size: 1.7rem; line-height: 1; letter-spacing: -.04em; }
.calm-player-summary p { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.4; text-align: right; }
.calm-player-stats {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1rem;
}
.calm-player-stats > div {
  min-height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border-bottom: 1px solid var(--line);
  padding: .55rem .75rem;
}
.calm-player-stats > div:last-child { border-bottom: 0; }
.calm-player-stats dt { color: var(--muted); font-size: .875rem; }
.calm-player-stats dd { margin: 0; font-size: .95rem; font-weight: 780; font-variant-numeric: tabular-nums; }
.calm-player-results { display: grid; }
.calm-player-results h3 { margin: .2rem 0 .3rem; font-size: 1rem; }
.calm-player-results article {
  min-height: 4.6rem;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 3.4rem;
  align-items: center;
  gap: .6rem;
  border-bottom: 1px solid var(--line);
  padding: .58rem 0;
}
.calm-player-results article.is-dropped { opacity: .66; }
.calm-player-results time { align-self: start; padding-top: .12rem; color: var(--muted); font-size: .875rem; font-variant-numeric: tabular-nums; }
.calm-player-results article > span { min-width: 0; display: grid; gap: .12rem; }
.calm-player-results strong { font-size: .95rem; line-height: 1.3; }
.calm-player-results small { color: var(--muted); font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; }
.calm-player-results b { align-self: start; justify-self: end; padding-top: .12rem; font-size: .95rem; font-variant-numeric: tabular-nums; }
.calm-sheet-footnote { margin: 0; color: var(--muted); font-size: .875rem; line-height: 1.45; }

@media (max-width: 340px) {
  .calm-season-hero { min-height: 6.9rem; gap: .65rem; padding: .82rem; }
  .calm-season-place { width: 4rem; min-width: 4rem; height: 4rem; }
  .calm-season-place b { font-size: 1.5rem; }
  .calm-leader-group-heading,
  .calm-leader-row,
  .calm-show-all { padding-inline: .68rem; }
  .calm-leader-row { grid-template-columns: 1.35rem minmax(0, 1fr) auto; gap: .48rem; }
  .calm-leader-name strong,
  .calm-leader-value { font-size: .9rem; }
  .calm-leader-group-tools { grid-template-columns: 2.75rem; }
  .calm-leader-group-tools > small { display: none; }
  .calm-season-action-choice,
  .calm-season-save-actions { grid-template-columns: 1fr; }
  .calm-season-stepper { grid-template-columns: 1fr; align-items: start; }
  .calm-season-stepper > span:last-child { justify-self: start; }
  .calm-result-head,
  .calm-result-row {
    grid-template-columns: 2.25rem minmax(0, 1fr) 2.65rem 3.25rem;
    gap: .25rem;
    padding-inline: .45rem;
  }
  .calm-result-head { font-size: .68rem; }
  .calm-player-summary { grid-template-columns: 1fr; align-items: start; }
  .calm-player-summary p { text-align: left; }
  .leaderboard-proposal-summary { min-height: 8.2rem; gap: .55rem; padding: .8rem; }
  .leaderboard-proposal-summary-copy > b { font-size: 1.05rem; }
  .leaderboard-proposal-place strong { font-size: 2.15rem; }
  .leaderboard-proposal-measure-tabs button { padding-inline: .28rem; font-size: .78rem !important; line-height: 1.12; }
  .leaderboard-proposal-row {
    grid-template-columns: 1.2rem minmax(0, 1fr) minmax(4.5rem, 5.15rem) .75rem;
    gap: .4rem;
  }
  .leaderboard-proposal-player strong { font-size: .92rem; }
  .leaderboard-proposal-value strong { font-size: .95rem; }
  .leaderboard-proposal-row > img { width: .75rem; }
  .leaderboard-rule-list > div { grid-template-columns: 1fr; gap: .22rem; }
  .leaderboard-rule-list dd { text-align: left; }
  .leaderboard-ledger-row { grid-template-columns: 2.7rem minmax(0, 1fr) auto; gap: .45rem; }
}

button:focus-visible { outline: .18rem solid #385e26; outline-offset: .15rem; }

/* Shared segmented controls use one quiet selected state everywhere.
   Keyboard focus is a transient underline, not a permanent active-state ring. */
:is(.journey-segmented, .invite-source-switch, .segmented-control, .standings-tabs) > button {
  position: relative;
  transition: transform .12s ease, background-color .12s ease, box-shadow .12s ease;
}

:is(.journey-segmented, .invite-source-switch, .segmented-control, .standings-tabs) > button.is-selected {
  background: var(--surface);
  color: var(--wise-control);
  box-shadow: 0 .12rem .5rem rgb(25 38 28 / 10%);
}

:is(.journey-segmented, .invite-source-switch, .segmented-control, .standings-tabs) > button:active:not(:disabled) {
  transform: scale(.985);
}

:is(.journey-segmented, .invite-source-switch, .segmented-control, .standings-tabs) > button:focus-visible {
  outline: 0;
  box-shadow: none;
}

:is(.journey-segmented, .invite-source-switch, .segmented-control, .standings-tabs) > button:focus-visible::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: .3rem;
  width: 1.3rem;
  height: .15rem;
  border-radius: 999px;
  background: var(--wise-control);
  transform: translateX(-50%);
}

@media (prefers-reduced-motion: reduce) {
  :is(.journey-segmented, .invite-source-switch, .segmented-control, .standings-tabs) > button {
    transition: none;
  }
}

@media (max-width: 430px) {
  html,
  body {
    width: 100%;
    height: var(--app-visual-height);
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: none;
    background: var(--surface);
  }
  body { position: fixed; inset: 0; }
  .product-stage,
  .review-stage { display: block; width: 100%; height: var(--app-visual-height); min-height: 0; padding: 0; overflow: hidden; }
  .mobile-prototype { width: 100vw; height: 100%; border-radius: 0; box-shadow: none; }
  .review-note { display: none; }
  .direction-picker { display: none; }
}

@media (max-width: 430px) and (pointer: coarse) {
  .status-row { display: none; }
  .app-surface { height: 100%; }
  body.is-scoring .status-row { display: flex; }
  body.is-scoring .app-surface { height: calc(100% - 2.5rem); }
}

@media (max-width: 360px) {
  .profile-heading-name { flex-wrap: nowrap; gap: .45rem; }
  .profile-heading-name h1 { font-size: 1.75rem; white-space: nowrap; }
  .invite-name-grid { grid-template-columns: 1fr; }
  .club-picker-card { min-height: 6rem; }
  .club-picker-card .detail-hero-top { gap: .6rem; }
  .club-picker-card .mini-avatar { width: 1.92rem; height: 1.92rem; font-size: .58rem; }
  .timeline-round-button { grid-template-columns: 3.2rem minmax(0, 1fr) 1rem; gap: .12rem .45rem; padding-block: .42rem; }
  .timeline-round-button time { grid-row: 1 / 3; }
  .timeline-round-button span { grid-column: 2; grid-row: 1; }
  .timeline-round-button strong { grid-column: 2; grid-row: 2; font-size: .72rem; }
  .timeline-round-button > img { grid-column: 3; grid-row: 1 / 3; }
  .play-route-card { grid-template-columns: 2.8rem minmax(0, 1fr) 1rem; gap: .5rem; padding-inline: .6rem; }
  .play-route-card .state-badge { display: none; }
  .play-route-card.is-solo { grid-template-columns: 2.8rem minmax(0, 1fr) 1rem; }
  .play-route-date { width: 2.8rem; min-height: 2.8rem; }
  .gross-score-card { grid-template-columns: 1.3rem minmax(0, 1fr) auto; gap: .32rem; padding-inline: .48rem; }
  .gross-score-rank { width: 1.3rem; height: 1.3rem; }
  .gross-score-copy strong { font-size: .72rem; }
}

@media (max-height: 740px) {
  .brand-mark { width: 4rem; height: 4rem; margin-top: 1.5rem; border-radius: 1.3rem; }
  .access-title-block { margin-top: 1.15rem; }
  .access-title-block h1 { font-size: 1.85rem; }
  .access-title-block > p:last-child { margin-top: .6rem; }
  .auth-actions { padding-top: .55rem; }
  .mobile-form { padding-top: 1rem; }
  .form-heading h1 { font-size: 1.7rem; }
  .play-chooser-compact { gap: .42rem; }
  .play-chooser-compact .journey-heading h1 { font-size: 1.55rem; }
  .play-choice-section { gap: .32rem; }
  .play-choice-stack { gap: .35rem; }
  .play-route-card { min-height: 4.35rem; }
  .play-route-date { min-height: 2.75rem; }
  .invite-identity { padding-block: .8rem; }
  .invite-avatar { width: 3.7rem; height: 3.7rem; margin-bottom: .65rem; }
  .invite-facts div { min-height: 3rem; }
  .wise-score-surface { gap: .4rem; padding-inline: .65rem; }
  .wise-hole-context { min-height: 2.7rem; }
  .wise-score-player-strip button { min-height: 3.3rem; }
  .wise-score-player-strip button > span { width: 1.4rem; height: 1.4rem; }
  .wise-gross-entry { padding: .5rem; }
  .wise-derived-grid button { min-height: 2.8rem; }
  .wise-score-key { min-height: 2.65rem; }
  .wise-score-tools button { min-height: 2.2rem; }
  .wise-score-shortcuts button { min-height: 2.85rem; }
  .wise-score-progress { min-height: 3.2rem; }
}

@media (max-width: 760px) and (min-width: 431px) {
  .direction-picker { left: auto; right: .65rem; width: 11.5rem; }
}

@media (min-width: 900px) {
  body.is-admin .mobile-prototype { width: min(74rem, calc(100vw - 3rem)); height: calc(100dvh - 3rem); max-width: none; }
  body.is-admin .journey-scroll { padding: 1rem 1.4rem 1.5rem; }
  body.is-admin .journey-heading h1 { font-size: 2.5rem; }
  body.is-admin .admin-heading { max-width: 42rem; }
  .admin-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-grid { grid-template-columns: minmax(0, 1.55fr) minmax(18rem, .85fr); }
  .admin-panel { padding: 1rem; }
  .admin-audit { grid-column: 1 / -1; }
  .admin-table { overflow-x: auto; }
  .admin-table-row { min-width: 42rem; min-height: 3.6rem; grid-template-columns: 1.35fr .8fr 1.2fr .7fr auto; grid-template-areas: none; gap: .65rem; padding: 0; }
  .admin-table-row.is-header { min-height: 2.5rem; display: grid; color: var(--muted); font-size: .66rem; font-weight: 720; }
  .admin-player,
  .admin-status,
  .admin-role,
  .admin-handicap,
  .admin-row-action { grid-area: auto; justify-self: stretch; margin-top: 0; text-align: left; }
  .admin-status,
  .admin-row-action { justify-self: start; }
  .admin-role { color: inherit; }
  .admin-handicap { font-weight: inherit; }
  .admin-handicap::before { content: none; }
}

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