/*
File: site.css
Semantic version: 1.2.0
Purpose: Present the shared tournament site and isolate embedded app surfaces.
Project: Dirty Birdies 2026 tournament platform
Relative path: web/dist/assets/site.css
Created: 2026-08-16 11:46:20 -04:00
Last modified: 2026-08-23 11:13:01 -04:00
*/
:root {
  color-scheme: dark;
  --slate-950: #020617;
  --slate-900: #0f172a;
  --slate-800: #1e293b;
  --slate-700: #334155;
  --slate-400: #94a3b8;
  --slate-200: #e2e8f0;
  --slate-50: #f8fafc;
  --emerald: #10b981;
  --emerald-hover: #34d399;
  --amber: #fbbf24;
  --shadow: 0 24px 70px rgb(2 6 23 / 32%);
  --section-space: 3.75rem;
  background: var(--slate-900);
  color: var(--slate-50);
  font-family: "Manrope", ui-sans-serif, system-ui, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; background: var(--slate-900); color: var(--slate-50); }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; background: radial-gradient(circle at 12% 10%, rgb(16 185 129 / 8%), transparent 30rem), var(--slate-900); }
/* The public scoring board owns a light, app-like canvas within the shared site. */
body[data-leaderboard-app] { color-scheme: light; }
body[data-leaderboard-app]::before { display: none; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3 { margin-top: 0; font-family: "Archivo", ui-sans-serif, system-ui, sans-serif; }
h1 { font-size: clamp(2.75rem, 9vw, 6.5rem); line-height: .94; letter-spacing: -.055em; }
h2 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1; letter-spacing: -.045em; }
h3 { font-size: 1.25rem; line-height: 1.15; }
p { line-height: 1.7; overflow-wrap: break-word; }
code { overflow-wrap: anywhere; color: var(--slate-200); }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); margin: -1px; border: 0; padding: 0; white-space: nowrap; }

.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; transform: translateY(-200%); border-radius: .45rem; background: var(--emerald); color: var(--slate-950); padding: .7rem 1rem; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgb(51 65 85 / 72%); background: rgb(2 6 23 / 90%); box-shadow: 0 10px 30px rgb(2 6 23 / 25%); backdrop-filter: blur(18px); }
.test-mode-banner { background: var(--amber); color: var(--slate-950); }
.test-mode-banner__inner { width: min(calc(100% - 1.25rem), 74rem); min-height: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 .35rem; margin-inline: auto; padding: .35rem 0; font-size: .76rem; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.test-mode-banner__inner > * { min-width: 0; }
.site-header__inner, .site-footer__inner { width: min(calc(100% - 2rem), 74rem); margin-inline: auto; }
.site-header__inner { min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.site-brand { min-height: 2.75rem; display: inline-flex; flex: 0 0 auto; align-items: center; text-decoration: none; }
.site-brand img { width: auto; height: 2.5rem; object-fit: contain; filter: brightness(0) invert(1); opacity: .92; }
.site-nav { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem clamp(.55rem, 1.15vw, 1.25rem); }
.site-nav__link, .site-nav__admin { position: relative; color: var(--slate-400); font-size: .77rem; font-weight: 700; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; transition: color .18s ease; }
.site-nav__link::after { content: ""; position: absolute; right: 0; bottom: -.65rem; left: 0; height: 2px; transform: scaleX(0); background: var(--emerald); transition: transform .18s ease; }
.site-nav__link:hover, .site-nav__link:focus-visible, .site-nav__link.is-current { color: var(--slate-50); }
.site-nav__link.is-current::after, .site-nav__link:hover::after { transform: scaleX(1); }
.site-nav__admin { border-left: 1px solid var(--slate-700); padding-left: 1rem; font-size: .67rem; }
.site-nav__admin:hover, .site-nav__admin:focus-visible, .site-nav__admin.is-current { color: var(--amber); }
.site-nav--desktop { display: none; }
.mobile-nav { display: block; position: relative; }
.mobile-nav summary { min-width: 2.75rem; min-height: 2.75rem; display: grid; place-content: center; gap: 4px; padding: .65rem; list-style: none; cursor: pointer; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav summary span { display: block; width: 1.35rem; height: 2px; border-radius: 1rem; background: var(--slate-50); }
.mobile-nav nav { position: absolute; top: 3.25rem; right: 0; width: min(18rem, calc(100dvw - 2rem)); max-width: calc(100dvw - 2rem); display: grid; overflow: hidden; border: 1px solid var(--slate-700); border-radius: .8rem; background: var(--slate-950); box-shadow: var(--shadow); }
.mobile-nav nav a { min-height: 2.75rem; display: flex; align-items: center; border-bottom: 1px solid var(--slate-800); padding: .75rem 1rem; color: var(--slate-200); font-weight: 700; text-decoration: none; }
.mobile-nav nav a:last-child { border-bottom: 0; }
.mobile-nav nav a:hover { background: var(--slate-800); color: var(--emerald-hover); }
.mobile-nav__admin { color: var(--amber) !important; }
.mobile-nav__logout { min-width: 0; display: grid; gap: .55rem; padding: .75rem 1rem; }
.mobile-nav__logout span { min-width: 0; overflow-wrap: anywhere; color: var(--slate-400); font-size: .72rem; }
.mobile-nav__logout button { width: 100%; }
.site-account { min-width: 0; display: none; align-items: center; gap: .65rem; color: var(--slate-400); font-size: .72rem; font-weight: 700; }
.site-account > span { max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.logout-form { margin: 0; }
.logout-form button { min-height: 2.75rem; border: 1px solid var(--slate-700); border-radius: .55rem; background: transparent; color: var(--slate-200); padding: .55rem .8rem; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.logout-form button:hover, .logout-form button:focus-visible { border-color: var(--emerald); color: var(--emerald-hover); }
.logout-form button:disabled { cursor: wait; opacity: .6; }

.site-main { width: min(calc(100% - 2rem), 74rem); margin-inline: auto; }
.site-main--home { width: 100%; }
.site-main--home > .section, .site-main--home > .deep-section { width: min(calc(100% - 2rem), 74rem); margin-inline: auto; }
.eyebrow, .kicker { margin: 0 0 .8rem; color: var(--emerald-hover); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.kicker { color: var(--amber); letter-spacing: .12em; }
.hero { position: relative; min-height: min(38rem, calc(100svh - 4.75rem)); display: grid; place-items: center; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--slate-700); background: var(--slate-950); text-align: center; }
.hero::before { content: ""; position: absolute; inset: auto 0 0; z-index: -1; height: 42%; background: linear-gradient(transparent, rgb(15 23 42 / 75%)); }
.hero__glow { position: absolute; z-index: -1; width: min(50rem, 90vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(16 185 129 / 18%), rgb(16 185 129 / 4%) 40%, transparent 67%); filter: blur(12px); }
.hero__content { padding: 3.5rem 1rem 4.5rem; }
.hero__logo { width: clamp(11rem, 30vw, 18rem); height: auto; margin: 0 auto 1.25rem; object-fit: contain; filter: brightness(0) invert(1); opacity: .92; }
.hero h1 { margin-bottom: 1rem; }
.hero__tagline { margin: 0 auto 2rem; color: var(--slate-200); font-family: "Archivo", sans-serif; font-size: clamp(1.1rem, 2.5vw, 1.45rem); font-weight: 500; letter-spacing: .035em; }
.button-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }
.button-row .button { width: 100%; }
.button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: .6rem; padding: .75rem 1.15rem; font-size: .82rem; font-weight: 700; letter-spacing: .035em; text-align: center; text-decoration: none; transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--emerald); color: var(--slate-950); box-shadow: 0 12px 34px rgb(16 185 129 / 18%); }
.button--primary:hover, .button--primary:focus-visible { background: var(--emerald-hover); }
.button--secondary { border-color: var(--slate-700); background: rgb(30 41 59 / 70%); color: var(--slate-50); }
.button--secondary:hover, .button--secondary:focus-visible { border-color: var(--slate-400); background: var(--slate-800); }
.button--large { min-height: 3.4rem; padding-inline: 1.5rem; }
.text-link { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--emerald-hover); font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: .3rem; }

.section, .deep-section { padding: var(--section-space) 0; }
.section--compact { padding-top: 2.5rem; }
.section--flush { padding-top: 0; }
.deep-section { position: relative; }
.deep-section::before { content: ""; position: absolute; inset: 0 calc(50% - 50vw); z-index: -1; border-block: 1px solid var(--slate-800); background: var(--slate-950); }
.section-heading { display: flex; align-items: stretch; flex-direction: column; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.section-heading h2 { max-width: 43rem; margin-bottom: 0; }
.section-heading > *, .page-hero > *, .cta-band > *, .feature-card > *, .past-card > * { min-width: 0; }
.section-intro { max-width: 42rem; margin: 0 0 2rem; color: var(--slate-400); }
.status-pill, .tbc-note { align-self: flex-start; min-height: 2.75rem; display: inline-flex; align-items: center; gap: .5rem; flex: 0 0 auto; border: 1px solid var(--slate-700); border-radius: 999px; padding: .5rem .75rem; color: var(--slate-400); font-size: .72rem; font-weight: 700; }
.status-pill span { width: .5rem; height: .5rem; border-radius: 50%; background: var(--emerald); box-shadow: 0 0 0 .3rem rgb(16 185 129 / 12%); }
.tbc-note { border-radius: .4rem; color: var(--amber); }
.feature-card { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 1.5rem; border: 1px solid var(--slate-700); border-radius: 1rem; background: linear-gradient(135deg, var(--slate-800), rgb(30 41 59 / 72%)); padding: 1.25rem; box-shadow: var(--shadow); }
.feature-card__lead h3 { margin-bottom: .7rem; font-size: clamp(1.5rem, 3vw, 2.25rem); }
.feature-card__lead > p:not(.kicker) { color: var(--slate-400); }
.feature-card__action { grid-column: 1 / -1; align-self: stretch; display: flex; align-items: center; border-top: 1px solid var(--slate-700); padding-top: 1.5rem; }
.feature-card__action .button { width: 100%; }
.fact-grid, .detail-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem 2rem; margin: 0; }
.fact-grid div, .detail-grid div { min-width: 0; }
.fact-grid dt, .detail-grid dt { margin-bottom: .35rem; color: var(--slate-400); font-size: .69rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fact-grid dd, .detail-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--slate-50); font-family: "Archivo", sans-serif; font-weight: 600; }
.teaser-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--slate-700); border-radius: 1rem; background: var(--slate-700); }
.teaser-card { position: relative; min-height: 13rem; display: flex; flex-direction: column; background: var(--slate-800); padding: 1.5rem; text-decoration: none; transition: background .2s ease; }
.teaser-card:hover { background: #26354a; }
.teaser-card__number { color: var(--emerald-hover); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.teaser-card h3 { margin: auto 0 .35rem; font-size: 1.55rem; }
.teaser-card p { margin: 0; color: var(--slate-400); font-size: .88rem; }
.teaser-card__arrow { position: absolute; top: 1.3rem; right: 1.3rem; color: var(--slate-400); font-size: 1.2rem; }
.group-intro { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: end; }
.group-intro > .eyebrow { grid-column: 1 / -1; }
.group-intro h2, .group-intro > p:last-child { margin: 0; }
.group-intro > p:last-child { max-width: 48rem; color: var(--slate-200); font-size: 1.05rem; }
.value-grid { grid-template-columns: minmax(0, 1fr); }
.value-card { min-height: 14rem; }
.value-card:not(a) { cursor: default; }
.value-card:not(a):hover { background: var(--slate-800); }
.past-card { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 1rem; border: 1px solid var(--slate-700); border-radius: 1rem; background: var(--slate-800); padding: 1.25rem; }
.past-card__year { color: rgb(148 163 184 / 20%); font-family: "Archivo", sans-serif; font-size: 4.5rem; font-weight: 700; letter-spacing: -.08em; line-height: .8; }
.past-card h3 { margin-bottom: .35rem; font-size: 1.7rem; }
.past-card p { margin: 0; color: var(--slate-400); }
.past-card__field { color: var(--slate-200) !important; }
.past-card .button { width: 100%; }
.past-card--compact { grid-template-columns: minmax(0, 1fr); }

.page-hero { min-height: 24rem; display: flex; align-items: flex-start; flex-direction: column; justify-content: end; gap: 2rem; border-bottom: 1px solid var(--slate-700); padding: 3.5rem 0 2.5rem; }
.page-hero h1 { max-width: 58rem; margin-bottom: 1rem; }
.page-lede { max-width: 42rem; margin: 0; color: var(--slate-400); font-size: 1.05rem; }
.page-hero--about { min-height: 24rem; }
.page-hero .button { width: 100%; }
.detail-grid { grid-template-columns: minmax(0, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--slate-700); border-radius: 1rem; background: var(--slate-700); }
.detail-grid div { min-height: 8rem; background: var(--slate-800); padding: 1.4rem; }
.detail-grid dd { font-size: 1.1rem; }
.flight-grid, .addon-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.flight-card, .card { position: relative; overflow: hidden; border: 1px solid var(--slate-700); border-radius: .85rem; background: var(--slate-800); padding: 1.5rem; box-shadow: 0 15px 45px rgb(2 6 23 / 15%); }
.flight-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--emerald); }
.flight-card--amber::before { background: var(--amber); }
.flight-card--slate::before { background: var(--slate-400); }
.flight-card__index { color: var(--slate-400); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.flight-card h3 { margin-bottom: .7rem; font-size: 1.65rem; }
.flight-card > p:last-child, .card > p { margin-bottom: 0; color: var(--slate-400); }
.card__icon { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; margin-bottom: 2.5rem; border-radius: 50%; background: rgb(16 185 129 / 14%); color: var(--emerald-hover); font-family: "Archivo", sans-serif; font-weight: 700; }
.card__icon--amber { background: rgb(251 191 36 / 14%); color: var(--amber); font-size: .72rem; }
.card .muted, .muted { color: var(--slate-400); font-size: .86rem; }
.card strong { color: var(--slate-50); }
.charity-partner { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin-bottom: 1.5rem; }
.charity-partner__mark { display: block; width: min(100%, 20rem); overflow: hidden; border: 1px solid var(--slate-700); border-radius: .85rem; background: #fff; padding: clamp(.75rem, 4vw, 1.25rem); }
.charity-partner__logo { display: block; width: 100%; height: auto; }
.charity-partner .muted { margin: 0; }
.cta-band { display: flex; align-items: stretch; flex-direction: column; justify-content: space-between; gap: 1.5rem; margin: 1rem 0 3rem; border: 1px solid rgb(16 185 129 / 45%); border-radius: 1rem; background: linear-gradient(120deg, rgb(16 185 129 / 16%), var(--slate-800)); padding: 1.5rem; box-shadow: var(--shadow); }
.cta-band h2 { margin: 0; }
.cta-band .button { width: 100%; }

.gallery-note { max-width: 25rem; margin: 0; color: var(--slate-400); font-size: .8rem; text-align: left; }
.gallery-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.gallery-tile { position: relative; min-width: 0; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border: 1px solid var(--slate-700); border-radius: .85rem; background: var(--slate-800); box-shadow: 0 15px 45px rgb(2 6 23 / 20%); }
.gallery-tile__image { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.gallery-tile:hover .gallery-tile__image { transform: scale(1.025); }
.gallery-tile .gallery-tile__logo { position: absolute; top: .9rem; right: .9rem; z-index: 2; width: 2.8rem; height: 2.8rem; object-fit: contain; filter: brightness(0) invert(1); opacity: .82; }
.gallery-tile figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 2.8rem 1rem .9rem; background: linear-gradient(transparent, rgb(2 6 23 / 92%)); font-size: .82rem; font-weight: 700; }
.empty-state { grid-column: 1 / -1; border: 1px dashed var(--slate-700); border-radius: .8rem; padding: 3rem; color: var(--slate-400); text-align: center; }
.story-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: center; padding: var(--section-space) 0; }
.story-section__mark { display: none; align-items: center; justify-content: center; overflow: hidden; border-radius: .25rem 2rem .25rem 2rem; background: #6b1e2e; padding: clamp(1.5rem, 4vw, 3rem); box-shadow: 1rem 1rem 0 rgb(215 154 43 / 16%); }
.story-section__mark img { width: 100%; height: auto; }
.story-section__copy h2 { margin-bottom: 1.5rem; }
.story-section__copy > p:not(.eyebrow) { color: var(--slate-200); font-size: 1.04rem; }
.story-section__copy .button { margin-top: 1rem; }
.mascot-feature { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; align-items: center; margin-bottom: var(--section-space); border: 1px solid var(--slate-700); border-radius: 1rem; background: linear-gradient(115deg, #12100e, var(--slate-950) 68%); box-shadow: var(--shadow); }
.mascot-feature__image { width: 100%; height: min(32rem, 125vw); object-fit: contain; object-position: center bottom; }
.mascot-feature__copy { max-width: 42rem; padding: clamp(1.75rem, 6vw, 4.5rem); }
.mascot-feature__copy h2 { margin-bottom: 1.25rem; }
.mascot-feature__copy > p:last-child { margin: 0; color: var(--slate-200); font-size: 1.04rem; }
.sponsor-teaser { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; align-items: end; margin-bottom: var(--section-space); border: 1px solid var(--slate-700); border-radius: 1rem; background: var(--slate-950); padding: 1.5rem; }
.sponsor-teaser h2 { margin-bottom: 0; }
.sponsor-teaser > p { margin: 0; color: var(--slate-400); }

/* DB-light is the multi-tournament hub shell; Series palettes stay scoped below it. */
body.tournaments-hub {
  color-scheme: light;
  --slate-950: #ffffff;
  --slate-900: #f4f7f2;
  --slate-800: #fbfcfa;
  --slate-700: #cbd6ce;
  --slate-400: #586877;
  --slate-200: #2e4054;
  --slate-50: #0b213d;
  --emerald: #0b9f73;
  --emerald-hover: #087858;
  --amber: #c47712;
  --shadow: 0 24px 65px rgb(11 33 61 / 12%);
  background: var(--slate-900);
  color: var(--slate-50);
}
body.tournaments-hub::before { background: radial-gradient(circle at 88% 5%, rgb(11 159 115 / 12%), transparent 26rem), linear-gradient(180deg, #fbfcfa, var(--slate-900) 28rem); }
.tournaments-hub .site-header { border-color: rgb(11 33 61 / 12%); background: rgb(251 252 250 / 92%); box-shadow: 0 10px 30px rgb(11 33 61 / 8%); }
.tournaments-hub .site-brand img { filter: brightness(0) saturate(100%) invert(12%) sepia(29%) saturate(1793%) hue-rotate(174deg) brightness(92%) contrast(96%); opacity: 1; }
.tournaments-hub .site-nav__link, .tournaments-hub .site-nav__admin { color: var(--slate-400); }
.tournaments-hub .site-nav__link:hover, .tournaments-hub .site-nav__link:focus-visible, .tournaments-hub .site-nav__link.is-current { color: var(--slate-50); }
.tournaments-hub .mobile-nav summary span { background: var(--slate-50); }
.tournaments-hub .mobile-nav nav { border-color: var(--slate-700); background: var(--slate-950); box-shadow: var(--shadow); }
.tournaments-hub .mobile-nav nav a { border-color: #e4e9e5; color: var(--slate-200); }
.tournaments-hub .mobile-nav nav a:hover { background: #edf3ef; color: var(--emerald-hover); }
.tournaments-hub .button--primary { background: var(--emerald); color: #fff; box-shadow: 0 12px 32px rgb(11 159 115 / 20%); }
.tournaments-hub .button--primary:hover, .tournaments-hub .button--primary:focus-visible { background: var(--emerald-hover); }
.tournaments-hub .button--secondary { border-color: #aebdb3; background: transparent; color: var(--slate-50); }
.tournaments-hub .button--secondary:hover, .tournaments-hub .button--secondary:focus-visible { border-color: var(--slate-50); background: #fff; }
.tournaments-hub .test-mode-banner { color: #0b213d; }
.tournaments-hub .site-footer { border-color: rgb(11 33 61 / 12%); background: rgb(255 255 255 / 62%); }

.hub-landing { min-width: 0; padding-bottom: 1rem; }
.hub-hero { position: relative; display: grid; gap: 2rem; overflow: hidden; border-bottom: 1px solid rgb(11 33 61 / 14%); padding: 2.25rem 0 3.25rem; }
.hub-hero::after { content: ""; position: absolute; right: -2rem; bottom: -4rem; z-index: -1; width: clamp(12rem, 46vw, 28rem); aspect-ratio: 790 / 452; background: url("/assets/dbeak-lockup.png") center / contain no-repeat; filter: brightness(0) saturate(100%) invert(12%) sepia(29%) saturate(1793%) hue-rotate(174deg) brightness(92%) contrast(96%); opacity: .04; pointer-events: none; }
.hub-back-link { width: fit-content; min-height: 2.75rem; display: inline-flex; align-items: center; gap: .55rem; color: var(--slate-400); font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.hub-back-link:hover, .hub-back-link:focus-visible { color: var(--emerald-hover); text-decoration: underline; text-underline-offset: .3rem; }
.hub-hero__copy { max-width: 52rem; }
.hub-hero__copy h1 { max-width: 48rem; margin-bottom: 1.25rem; font-size: clamp(3rem, 14vw, 7rem); }
.hub-hero__copy > p:last-child { max-width: 40rem; margin: 0; color: var(--slate-400); font-size: clamp(1rem, 3.5vw, 1.25rem); }
.hub-model { width: fit-content; display: flex; align-items: center; gap: .7rem; margin: 0; border: 1px solid rgb(11 33 61 / 14%); border-radius: 999px; background: rgb(255 255 255 / 66%); padding: .6rem .85rem; color: var(--slate-400); font-size: .7rem; font-weight: 800; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.hub-model span[aria-hidden="true"] { color: var(--emerald); }

.hub-series-section { padding: 3.25rem 0; }
.hub-section-heading { display: grid; gap: .75rem; margin-bottom: 1.5rem; }
.hub-section-heading h2 { margin: 0; }
.hub-section-heading > p { max-width: 28rem; margin: 0; color: var(--slate-400); }
.hub-series-list { display: grid; gap: 1.25rem; }
.hub-series-card { min-width: 0; overflow: hidden; border: 1px solid rgb(11 33 61 / 14%); border-radius: 1.15rem; background: rgb(255 255 255 / 82%); box-shadow: var(--shadow); }
.hub-series-card__header { display: grid; gap: 1rem; border-bottom: 1px solid rgb(11 33 61 / 12%); padding: 1.25rem; }
.hub-series-card__header h3 { margin: 0; font-size: clamp(1.8rem, 8vw, 3rem); }
.hub-series-card__header > p { max-width: 28rem; margin: 0; color: var(--slate-400); }
.hub-card-label { margin: 0 0 .45rem; color: var(--emerald-hover); font-size: .66rem; font-weight: 800; letter-spacing: .15em; line-height: 1.3; text-transform: uppercase; }

.hub-edition-card { display: grid; gap: 1.5rem; padding: 1.25rem; }
.hub-edition-card__intro h4 { margin: .9rem 0 0; font-family: "Archivo", sans-serif; font-size: clamp(1.7rem, 7vw, 2.6rem); line-height: 1; letter-spacing: -.04em; }
.hub-status { width: fit-content; display: inline-flex; align-items: center; gap: .5rem; border-radius: 999px; background: rgb(11 159 115 / 11%); padding: .5rem .7rem; color: #076b4e; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hub-status > span { width: .5rem; height: .5rem; border-radius: 50%; background: var(--emerald); box-shadow: 0 0 0 .25rem rgb(11 159 115 / 12%); }
.hub-edition-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem; margin: 0; }
.hub-edition-facts div { min-width: 0; border-left: 2px solid #dce4de; padding-left: .85rem; }
.hub-edition-facts dt { margin-bottom: .3rem; color: var(--slate-400); font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hub-edition-facts dd { margin: 0; overflow-wrap: anywhere; color: var(--slate-50); font-family: "Archivo", sans-serif; font-size: .98rem; font-weight: 600; line-height: 1.4; }
.hub-edition-actions { display: grid; gap: .7rem; }

.hub-archive { display: grid; gap: 1rem; border-top: 1px solid rgb(11 33 61 / 12%); background: #f1f5f1; padding: 1.25rem; }
.hub-archive h4 { margin: 0; font-size: 1.5rem; }
.hub-archive-list { min-width: 0; display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.hub-archive-list li { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem; border: 1px solid rgb(11 33 61 / 11%); border-radius: .8rem; background: #fff; padding: 1rem; }
.hub-archive-year { color: rgb(11 33 61 / 22%); font-family: "Archivo", sans-serif; font-size: 2.2rem; font-weight: 700; letter-spacing: -.06em; line-height: .85; }
.hub-archive-copy { min-width: 0; }
.hub-archive-copy h5 { margin: 0 0 .25rem; overflow-wrap: anywhere; font-family: "Archivo", sans-serif; font-size: 1.05rem; }
.hub-archive-copy p { margin: 0; color: var(--slate-400); font-size: .8rem; line-height: 1.5; }
.hub-results-link { min-height: 2.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--emerald-hover); font-size: .78rem; font-weight: 800; text-decoration: none; }
.hub-results-link:hover, .hub-results-link:focus-visible { text-decoration: underline; text-underline-offset: .3rem; }

.hub-club-card { display: grid; gap: 1.5rem; overflow: hidden; margin: 0 0 3rem; border-radius: 1.15rem; background: #0b213d; padding: 1.5rem; color: #f8fafc; box-shadow: 0 24px 65px rgb(11 33 61 / 18%); }
.hub-club-card .eyebrow { color: #62d7ae; }
.hub-club-card h2 { max-width: 43rem; margin-bottom: 1rem; }
.hub-club-card p:last-child { max-width: 42rem; margin-bottom: 0; color: #c3cfda; }
.hub-club-card .button { width: 100%; }

/* The Fall Classic palette is deliberately scoped to marked tournament content. */
.fall-classic {
  --slate-950: #12100e;
  --slate-900: #2b1f13;
  --slate-800: #3a2a1a;
  --slate-700: #6f4d2d;
  --slate-400: #f1e0b8;
  --slate-200: #fff0d0;
  --slate-50: #fff8e8;
  --emerald: #d79a2b;
  --emerald-hover: #9a632e;
  --amber: #6b1e2e;
  --shadow: 0 24px 70px rgb(18 16 14 / 42%);
  color: var(--slate-50);
}
.fall-classic .eyebrow, .fall-classic .text-link { color: var(--emerald); }
.fall-classic .kicker { color: var(--slate-400); }
.fall-classic .button--primary { background: var(--emerald); color: var(--slate-950); box-shadow: 0 12px 34px rgb(215 154 43 / 22%); }
.fall-classic .button--primary:hover, .fall-classic .button--primary:focus-visible { background: var(--emerald-hover); color: var(--slate-50); }
.fall-classic .button--secondary { border-color: var(--emerald); background: var(--emerald-hover); color: var(--slate-50); }
.fall-classic .button--secondary:hover, .fall-classic .button--secondary:focus-visible { border-color: var(--slate-50); background: var(--amber); }
.fall-classic .status-pill span { background: var(--emerald); box-shadow: 0 0 0 .3rem rgb(215 154 43 / 16%); }
.fall-classic .tbc-note { border-color: var(--emerald); background: var(--amber); color: var(--slate-50); }
.fall-classic .card__icon { background: rgb(215 154 43 / 16%); color: var(--emerald); }
.fall-classic .card__icon--amber { background: rgb(107 30 46 / 55%); color: var(--slate-50); }
.fall-classic .cta-band { border-color: rgb(215 154 43 / 58%); background: linear-gradient(120deg, rgb(107 30 46 / 72%), var(--slate-800)); }
.fall-classic .feature-card__lead > p:not(.kicker), .fall-classic .section-intro, .fall-classic .card > p, .fall-classic .flight-card > p:last-child { color: var(--slate-400); }

.now-playing-card { overflow: hidden; border: 1px solid var(--slate-700); border-radius: 1rem; background: linear-gradient(145deg, var(--slate-800), var(--slate-950)); box-shadow: var(--shadow); }
.now-playing-card__details { grid-template-columns: minmax(0, 1fr); border: 0; border-radius: 0; background: linear-gradient(135deg, var(--slate-800), rgb(43 31 19 / 82%)); box-shadow: none; }
.fall-classic__mascot { margin: 0; color: var(--slate-400); font-size: .68rem; font-weight: 700; line-height: 1.4; text-align: center; }
.fall-classic__mascot img { width: 100%; margin-bottom: .5rem; border-radius: .75rem; }
.fall-classic__mascot--home { width: 9rem; align-self: start; margin-inline: auto; }
.fall-classic__mascot--home img { aspect-ratio: 2 / 3; object-fit: contain; height: auto; }
.now-playing-card__sponsors { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: center; border-top: 1px solid var(--slate-700); background: rgb(18 16 14 / 58%); padding: 1.25rem; }
.now-playing-card__sponsors h3 { margin: 0; overflow-wrap: anywhere; white-space: normal; }
.now-playing-card__sponsor-links { min-width: 0; display: flex; align-items: stretch; flex-direction: column; gap: .7rem; }
.now-playing-card__sponsor-links .button { width: 100%; }
.sponsor-logo-row { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.sponsor-logo-tile { min-width: 0; min-height: 4.75rem; display: flex; align-items: center; justify-content: center; border: 1px solid rgb(215 154 43 / 28%); border-radius: .7rem; background: #fff; padding: .7rem; }
.sponsor-logo-tile:hover, .sponsor-logo-tile:focus-visible { border-color: var(--emerald); box-shadow: 0 0 0 3px rgb(215 154 43 / 18%); }
.sponsor-logo-tile img { width: 100%; max-height: 3.25rem; object-fit: contain; }
.sponsor-logo-tile--dark { background: #111827; border-color: rgb(215 154 43 / 45%); }

.tournament-theme { position: relative; isolation: isolate; }
.tournament-theme::before { content: ""; position: absolute; inset: 0 calc(50% - 50vw); z-index: -2; background: radial-gradient(circle at 82% 5%, rgb(107 30 46 / 28%), transparent 30rem), linear-gradient(180deg, var(--slate-950), var(--slate-900) 18rem, var(--slate-900)); }
.tournament-character { width: 100%; flex: 0 0 auto; text-align: left; }
.tournament-character img { width: 7rem; height: 10.5rem; margin: 0 0 .65rem; border-radius: .8rem; object-fit: cover; }
.tournament-character p { margin: 0 0 .85rem; color: var(--slate-400); font-size: .74rem; font-weight: 700; }
.tournament-character .button { width: 100%; }
.tournament-sponsors { border-top: 1px solid var(--slate-700); }
.sponsor-logo-row--tournament { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sponsor-logo-row--tournament .sponsor-logo-tile { min-height: 7rem; padding: 1rem; }
.sponsor-logo-row--tournament .sponsor-logo-tile img { max-height: 4.5rem; }

.login-main { min-height: calc(100svh - 12rem); display: grid; place-items: center; padding-block: clamp(3rem, 8vw, 6rem); }
.login-shell { width: min(100%, 58rem); display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: center; }
.login-shell__intro h1 { margin-bottom: 1rem; font-size: clamp(3rem, 7vw, 5rem); }
.login-shell__intro p:last-child { color: var(--slate-400); }
.login-card { display: grid; gap: 1rem; border: 1px solid var(--slate-700); border-radius: 1rem; background: var(--slate-800); padding: clamp(1.3rem, 4vw, 2.2rem); box-shadow: var(--shadow); }
.login-card label { display: block; margin-bottom: .4rem; font-size: .78rem; font-weight: 700; }
.login-card button { width: 100%; }
.login-card .resend-button { border: 1px solid var(--slate-700); background: transparent; color: var(--slate-50); }
.login-card .resend-button:hover { border-color: var(--slate-400); background: var(--slate-900); }
.login-help { margin: -.35rem 0 0; font-size: .86rem; }
.form-status, .login-success { min-height: 1.5rem; margin: 0; font-size: .86rem; }
.login-success { color: var(--emerald-hover); }
.login-success a { font-weight: 700; }
.error-text { color: #fca5a5; }

.registration-main { width: min(100% - 2rem, 48rem); min-height: calc(100svh - 12rem); padding: 2rem 0 5rem; }
.registration-main > h1 { margin-bottom: .5rem; font-size: clamp(2.4rem, 7vw, 4rem); }
.registration-main > .muted { margin-bottom: 1.5rem; }
.registration-main .card { margin: 1rem 0; }
.registration-main h2 { margin: 1.8rem 0 .8rem; font-size: clamp(1.4rem, 4vw, 2rem); }
.registration-main h3 { margin: 1.5rem 0 .6rem; }
.registration-main label { display: block; margin-top: .8rem; font-weight: 700; }
input, select, textarea { box-sizing: border-box; width: 100%; min-height: 2.75rem; border: 1px solid var(--slate-700); border-radius: .5rem; outline: 0; background: var(--slate-900); color: var(--slate-50); padding: .72rem; }
input:focus, select:focus, textarea:focus { border-color: var(--emerald); box-shadow: 0 0 0 3px rgb(16 185 129 / 14%); }
input[type="checkbox"] { width: auto; margin-right: .5rem; accent-color: var(--emerald); }
.registration-main button, .login-card button { min-height: 3rem; border: 0; border-radius: .55rem; background: var(--emerald); color: var(--slate-950); padding: .75rem 1rem; font-weight: 700; }
.registration-main button { width: 100%; margin-top: 1rem; }
.registration-main button:hover, .login-card button:hover { background: var(--emerald-hover); }
.registration-main button:disabled, .login-card button:disabled { cursor: wait; opacity: .65; }
.registration-main .grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.registration-main .error { border-color: #ef4444; background: rgb(127 29 29 / 24%); color: #fecaca; }
.registration-main .success { border-color: var(--emerald); background: rgb(6 78 59 / 28%); }
.test-mode-callout { min-width: 0; margin: 1rem 0 1.5rem; border: 2px solid var(--amber); border-radius: .85rem; background: rgb(120 53 15 / 32%); padding: 1rem 1.1rem; color: var(--slate-50); box-shadow: 0 12px 30px rgb(2 6 23 / 22%); overflow-wrap: anywhere; }
.test-mode-callout strong { color: var(--amber); font-family: "Archivo", ui-sans-serif, system-ui, sans-serif; font-size: 1.05rem; }
.test-mode-callout p { margin: .35rem 0 0; color: var(--slate-200); line-height: 1.55; }
.registration-main .price { color: var(--emerald-hover); font-variant-numeric: tabular-nums; font-weight: 700; }
.registration-main a { color: var(--emerald-hover); }
.registration-main table { width: 100%; border-collapse: collapse; }
.registration-main th, .registration-main td { border-bottom: 1px solid var(--slate-700); padding: .65rem .4rem; text-align: left; }
.registration-main th { color: var(--slate-200); font-size: .76rem; letter-spacing: .04em; }
.registration-main pre { overflow-x: auto; }
.registration-main [hidden] { display: none !important; }
.registration-main form, .registration-main section, .registration-main fieldset, .registration-main .grid > * { min-width: 0; }
.form-error-summary { scroll-margin-top: 6rem; }
.form-error-summary a { color: #fff; font-weight: 700; text-decoration-thickness: .12em; text-underline-offset: .2em; overflow-wrap: anywhere; }
.form-error-summary a:focus-visible { border-radius: .2rem; outline: 3px solid var(--amber); outline-offset: 3px; }
.election-group { min-width: 0; display: grid; gap: .75rem; margin: 1rem 0; border: 1px solid var(--slate-700); border-radius: .7rem; background: rgb(15 23 42 / 48%); padding: 1rem; scroll-margin-top: 6rem; }
.election-group legend { max-width: 100%; padding: 0 .35rem; font-family: "Archivo", ui-sans-serif, system-ui, sans-serif; font-weight: 700; overflow-wrap: anywhere; }
.election-group:focus-visible { border-color: var(--emerald); outline: 3px solid rgb(16 185 129 / 28%); outline-offset: 3px; }
.election-group[aria-invalid="true"] { border-color: #f87171; }
.election-helper, .election-error, .registration-main .field-note, .registration-main .skins-note { margin: 0; overflow-wrap: anywhere; }
.election-helper { color: var(--slate-200); font-size: .86rem; line-height: 1.55; }
.election-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: .65rem; }
.registration-main .election-option { min-width: 0; min-height: 3.25rem; display: flex; align-items: flex-start; gap: .7rem; margin: 0; border: 1px solid var(--slate-700); border-radius: .6rem; background: var(--slate-900); padding: .75rem; cursor: pointer; overflow-wrap: anywhere; }
.registration-main .election-option:hover { border-color: var(--slate-400); }
.registration-main .election-option:has(input:checked) { border-color: var(--emerald); background: rgb(16 185 129 / 10%); }
.registration-main .election-option:has(input:focus-visible) { outline: 3px solid rgb(16 185 129 / 28%); outline-offset: 2px; }
.registration-main .election-option input[type="radio"] { width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; margin: .05rem 0 0; border: 0; padding: 0; accent-color: var(--emerald); box-shadow: none; }
.registration-main .election-option input[type="radio"]:focus-visible { outline: 2px solid var(--emerald-hover); outline-offset: 3px; }
.registration-main .election-option span { min-width: 0; line-height: 1.45; }
.registration-main .skins-option { min-height: 2.75rem; display: flex; align-items: center; gap: .55rem; overflow-wrap: anywhere; }
.registration-main .skins-option input[type="checkbox"], .registration-main label > input[type="checkbox"] { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; margin: 0; padding: 0; }
.registration-main .skins-option--unavailable { color: var(--slate-400); }
.registration-main .skins-note, .registration-main .field-note { margin-top: .35rem; font-size: .82rem; line-height: 1.55; }
.registration-main .election-error, .registration-main .field-note.error-text { color: #fecaca; }

.site-footer { border-top: 1px solid var(--slate-700); background: var(--slate-950); color: var(--slate-400); }
.site-footer__inner { min-height: 7.5rem; display: flex; align-items: stretch; flex-direction: column; justify-content: center; gap: 1rem; padding-block: 2rem; font-size: .78rem; text-align: center; }
.site-footer__inner > div { display: flex; align-items: center; gap: .45rem; }
.site-footer__inner > div { justify-content: center; }
.site-footer a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.site-footer__brand { color: var(--slate-50); font-family: "Archivo", sans-serif; font-weight: 700; text-decoration: none; }
.site-footer p { margin: 0; }

.scoring-main { width: min(100% - 2rem, 64rem); min-height: calc(100svh - 12rem); padding: clamp(2rem, 6vw, 4.5rem) 0 5rem; }
.scoring-heading { margin-bottom: 2rem; }
.scoring-heading h1 { max-width: 50rem; margin-bottom: .8rem; font-size: clamp(2.8rem, 8vw, 5.6rem); }
.scoring-heading > p:last-child { max-width: 46rem; color: var(--slate-400); }
.scoring-heading--compact { padding-top: .5rem; }
.scoring-heading--compact .text-link { display: inline-block; margin-bottom: 2rem; }
.scoring-lock-banner { display: grid; gap: .35rem; margin: -1rem 0 1.25rem; border: 1px solid var(--emerald); border-radius: .85rem; background: rgb(16 185 129 / 12%); padding: 1rem 1.1rem; color: var(--slate-200); }
.scoring-lock-banner strong { color: var(--emerald-hover); }
.scoring-section { margin-top: 2rem; border-top: 1px solid var(--slate-700); padding-top: 2rem; }
.scoring-section h2 { margin-bottom: 1.25rem; font-size: clamp(1.8rem, 5vw, 3rem); }
.round-grid, .board-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.score-panel { display: grid; gap: .8rem; min-width: 0; border: 1px solid var(--slate-700); border-radius: .85rem; background: var(--slate-800); padding: 1.2rem; box-shadow: 0 15px 45px rgb(2 6 23 / 15%); }
.score-panel h3, .score-panel p { margin: 0; }
.score-panel label { color: var(--slate-200); font-size: .8rem; font-weight: 700; }
.score-panel button, .hole-card button { min-height: 2.8rem; border: 0; border-radius: .55rem; background: var(--emerald); color: var(--slate-950); padding: .7rem 1rem; font-weight: 700; }
.score-panel .button-secondary { border: 1px solid var(--slate-700); background: var(--slate-900); color: var(--slate-50); }
.score-panel button:hover, .hole-card button:hover { background: var(--emerald-hover); }
.score-panel button:disabled, .hole-card button:disabled { cursor: wait; opacity: .65; }
.scorer-form { grid-template-columns: minmax(0, 1fr); align-items: end; margin-top: 1rem; }
.success-text { color: var(--emerald-hover); }
.scorecard-list { display: grid; gap: .7rem; }
.scorecard-link { display: flex; align-items: flex-start; flex-direction: column; justify-content: space-between; gap: 1rem; border: 1px solid var(--slate-700); border-radius: .7rem; background: var(--slate-800); padding: 1rem 1.1rem; text-decoration: none; }
.scorecard-link:hover { border-color: var(--emerald); }
.scorecard-link span:first-child { font-family: "Archivo", sans-serif; font-weight: 700; }
.scorecard-link span:last-child { color: var(--slate-400); font-size: .78rem; text-align: left; }
.hole-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.hole-card { display: grid; gap: .7rem; border: 1px solid var(--slate-700); border-radius: .85rem; background: var(--slate-800); padding: .8rem; }
.hole-card__controls { display: grid; gap: .7rem; min-width: 0; margin: 0; border: 0; padding: 0; }
.hole-card__controls:disabled { opacity: .8; }
.hole-card__controls:disabled button { cursor: not-allowed; }
.hole-card__meta { display: flex; justify-content: space-between; gap: .5rem; color: var(--slate-200); font-family: "Archivo", sans-serif; font-weight: 700; }
.hole-card__meta span:last-child { color: var(--slate-400); font-size: .78rem; }
.hole-card label { color: var(--slate-400); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.hole-card input { min-height: 3.5rem; font-size: 1.35rem; font-variant-numeric: tabular-nums; text-align: center; }
.hole-stats { border-top: 1px solid var(--slate-700); padding-top: .65rem; }
.hole-stats summary { color: var(--emerald-hover); font-size: .78rem; font-weight: 700; cursor: pointer; }
.hole-stats__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .75rem; }
.hole-stats__grid label { display: grid; gap: .3rem; min-width: 0; }
.hole-stats__grid input, .hole-stats__grid select { width: 100%; min-height: 2.35rem; padding: .4rem; font-size: .9rem; text-align: left; }
.distance-to-green { margin: 0; border-radius: .55rem; background: var(--slate-900); color: var(--emerald-hover); padding: .65rem .75rem; font-variant-numeric: tabular-nums; text-align: center; }
.distance-to-green strong { font-family: "Archivo", sans-serif; font-size: 1.15rem; }
.shot-tracking { border-top: 1px solid var(--slate-700); padding-top: .65rem; }
.shot-tracking summary { color: var(--emerald-hover); font-size: .78rem; font-weight: 700; cursor: pointer; }
.shot-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(7rem, auto); gap: .55rem; align-items: end; margin-top: .75rem; }
.shot-controls label { display: grid; gap: .3rem; }
.shot-controls select { width: 100%; min-height: 2.8rem; padding: .5rem; font-size: 1rem; }
.shot-status { min-height: 1.2rem; margin: .55rem 0 0; font-size: .78rem; }
.shot-list { display: grid; gap: .5rem; margin: .25rem 0 0; padding: 0; list-style: none; }
.shot-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; align-items: center; border-radius: .55rem; background: var(--slate-900); padding: .55rem; color: var(--slate-200); font-size: .78rem; }
.hole-card .shot-delete { min-height: 2.75rem; border: 1px solid var(--slate-700); background: transparent; color: var(--slate-200); }
.hole-card .shot-delete:hover { background: var(--slate-700); }
.shot-empty { margin: .25rem 0 0; font-size: .78rem; }
.staff-invite-form { grid-template-columns: minmax(0, 1fr); align-items: end; }
.staff-invite-form .form-status, .staff-invite-form .activation-result { grid-column: 1 / -1; overflow-wrap: anywhere; }
.board-grid { margin-top: 1rem; }
.board-grid ol { margin: 0; padding-left: 1.3rem; color: var(--slate-200); }
.board-grid li + li { margin-top: .45rem; }
.podium-panel { grid-column: 1 / -1; }
.analytics-panel { grid-column: 1 / -1; }
.analytics-table th:first-child, .analytics-table td:first-child { text-align: left; }
.analytics-leaders { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.analytics-leaders section { border: 1px solid var(--slate-700); border-radius: .65rem; background: var(--slate-900); padding: .75rem; }
.analytics-leaders h4 { margin: 0 0 .55rem; color: var(--slate-50); }
.analytics-leaders ol { font-size: .82rem; }
.drive-distance-board { display: grid; gap: .55rem; margin-top: .35rem; }
.drive-distance-board h4, .drive-distance-board p { margin: 0; }
.podium-table-wrap { overflow-x: auto; }
.podium-table { width: 100%; border-collapse: collapse; color: var(--slate-200); font-variant-numeric: tabular-nums; }
.podium-table th, .podium-table td { border-bottom: 1px solid var(--slate-700); padding: .65rem .45rem; text-align: right; white-space: nowrap; }
.podium-table th:nth-child(2), .podium-table td:nth-child(2) { text-align: left; }
.podium-table tbody th span { display: block; color: var(--slate-400); font-size: .72rem; font-weight: 400; }

/* Evergreen member hub: deliberately uses the root slate/emerald tokens. */
.profile-page-hero, .directory-hero { min-height: 24rem; }
.profile-page-hero h1, .directory-hero h1 { font-size: clamp(3rem, 8vw, 5.8rem); }
.profile-identity { display: flex; align-items: flex-start; flex-direction: column; gap: 1.5rem; }
.profile-headshot { width: clamp(8rem, 20vw, 13rem); aspect-ratio: 1; flex: 0 0 auto; border: 2px solid var(--emerald); border-radius: 1rem; object-fit: cover; box-shadow: var(--shadow); }
.profile-title { margin: -.4rem 0 .65rem; color: var(--emerald-hover); font-family: "Archivo", sans-serif; font-size: 1.15rem; font-weight: 600; }
.profile-layout, .editor-layout, .moderation-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.profile-layout h2, .editor-layout h2, .moderation-grid h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.profile-copy > p { color: var(--slate-200); white-space: pre-line; }
.profile-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 2rem 0 0; }
.profile-facts div { border-top: 1px solid var(--slate-700); padding-top: .75rem; }
.profile-facts dt { color: var(--slate-400); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.profile-facts dd { margin: .35rem 0 0; }
.plain-list { display: grid; gap: .8rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.plain-list li { display: grid; border-bottom: 1px solid var(--slate-700); padding-bottom: .8rem; }
.plain-list span { color: var(--slate-400); font-size: .82rem; }
.notice-band { margin-top: 1.5rem; border: 1px solid rgb(16 185 129 / 45%); border-radius: .75rem; background: rgb(16 185 129 / 10%); padding: 1rem 1.25rem; }
.notice-band a, .policy-copy a, .profile-copy a, .public-contact-card a { color: var(--emerald-hover); }
.business-logo-tile { width: clamp(8rem, 20vw, 13rem); aspect-ratio: 1; display: grid; flex: 0 0 auto; place-items: center; border-radius: 1rem; background: #fff; padding: 1rem; }
.business-logo-tile img { width: 100%; max-height: 100%; object-fit: contain; }
.public-contact-card p { overflow-wrap: anywhere; }
.policy-copy { width: min(100%, 50rem); }
.policy-copy h2 { margin-top: 2.5rem; font-size: clamp(1.5rem, 4vw, 2.25rem); }
.profile-editor { display: grid; gap: .9rem; margin-bottom: 1.25rem; }
.profile-editor label, .directory-filter label, .affiliation-form label { font-size: .8rem; font-weight: 700; }
.profile-editor small { display: block; margin-top: .35rem; color: var(--slate-400); }
.profile-editor fieldset { display: grid; gap: .6rem; margin: .5rem 0; border: 1px solid var(--slate-700); border-radius: .7rem; padding: 1rem; }
.profile-editor legend { padding-inline: .4rem; font-family: "Archivo", sans-serif; font-weight: 700; }
.profile-editor button, .directory-filter button, .moderation-row button, .affiliation-form button { min-height: 2.8rem; border: 0; border-radius: .55rem; background: var(--emerald); color: var(--slate-950); padding: .7rem 1rem; font-weight: 700; }
.form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; }
.preview-card { position: static; top: 6.25rem; }
.preview-card .profile-headshot, .preview-card .business-logo-tile { width: 8rem; margin-bottom: 1.5rem; }
.danger-button { width: 100%; border: 1px solid #ef4444; border-radius: .55rem; background: rgb(127 29 29 / 35%); color: #fecaca; padding: .8rem 1rem; font-weight: 700; }
.directory-filter { display: grid; grid-template-columns: minmax(0, 1fr); gap: .6rem 1rem; align-items: end; margin-bottom: 2rem; }
.directory-filter label { grid-column: auto; }
.directory-filter--wide { grid-template-columns: minmax(0, 1fr); }
.directory-filter--wide label { grid-column: auto; display: block; margin-bottom: .4rem; }
.directory-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.directory-card { min-width: 0; display: flex; gap: 1rem; align-items: center; border: 1px solid var(--slate-700); border-radius: .85rem; background: var(--slate-800); padding: 1rem; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.directory-card:hover { transform: translateY(-2px); border-color: var(--emerald); }
.directory-card h2 { margin: 0 0 .3rem; font-size: 1.15rem; letter-spacing: -.02em; }
.directory-card p, .directory-card span { display: block; margin: 0; color: var(--slate-400); font-size: .78rem; line-height: 1.4; overflow-wrap: anywhere; }
.directory-headshot, .directory-placeholder { width: 4.5rem; aspect-ratio: 1; flex: 0 0 auto; border-radius: .7rem; object-fit: cover; }
.directory-placeholder { display: grid !important; place-items: center; background: rgb(16 185 129 / 15%); color: var(--emerald-hover) !important; font-family: "Archivo", sans-serif; font-size: 1.7rem !important; font-weight: 700; }
.business-directory-card .business-logo-tile { width: 4.5rem; border-radius: .7rem; padding: .5rem; }
.roster-hero { min-height: 20rem; }
.roster-count { min-width: 0; margin: 0; border: 1px solid rgb(215 154 43 / 50%); border-radius: .8rem; background: rgb(215 154 43 / 10%); padding: 1rem 1.2rem; color: var(--slate-200); font-size: .9rem; }
.roster-count strong { display: block; color: var(--slate-50); font-family: "Archivo", sans-serif; font-size: clamp(2rem, 7vw, 3.5rem); line-height: 1; }
.roster-team-grid, .roster-list { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.roster-team { min-width: 0; overflow: hidden; border: 1px solid var(--slate-700); border-radius: .85rem; background: var(--slate-800); }
.roster-team__header { min-width: 0; display: flex; align-items: flex-start; flex-direction: column; gap: .5rem; border-bottom: 1px solid var(--slate-700); padding: 1.1rem; }
.roster-team__header h3 { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.roster-team__header span { border-radius: 999px; background: rgb(215 154 43 / 14%); padding: .35rem .6rem; color: var(--emerald); font-size: .7rem; font-weight: 700; }
.roster-team .roster-list { gap: 0; }
.roster-entrant { min-width: 0; border: 1px solid var(--slate-700); border-radius: .75rem; background: rgb(15 23 42 / 55%); padding: 1rem; }
.roster-team .roster-entrant { border: 0; border-bottom: 1px solid var(--slate-700); border-radius: 0; }
.roster-team .roster-entrant:last-child { border-bottom: 0; }
.roster-entrant__name { display: block; margin-bottom: .8rem; overflow-wrap: anywhere; font-family: "Archivo", sans-serif; font-size: 1.05rem; }
.roster-entrant__details { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem 1rem; margin: 0; }
.roster-entrant__details div { min-width: 0; }
.roster-entrant__details dt { color: var(--slate-400); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.roster-entrant__details dd { margin: .2rem 0 0; overflow-wrap: anywhere; color: var(--slate-200); font-size: .82rem; }
.roster-entrant__business { grid-column: 1 / -1; }
.roster-list > .empty-state { list-style: none; }
.featured-band { margin: 0 0 2.5rem; border: 1px solid rgb(16 185 129 / 42%); border-radius: 1rem; background: rgb(16 185 129 / 7%); padding: 1.25rem; }
.pagination { display: flex; justify-content: center; gap: 1.25rem; margin-top: 2rem; color: var(--slate-400); }
.pagination a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--emerald-hover); font-weight: 700; }
.organization-list { display: grid; gap: 1rem; }
.organization-row { display: grid; gap: 1rem; }
.organization-row h2 { margin-bottom: .3rem; }
.organization-row p { margin: 0; }
.affiliation-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; align-items: end; }
.affiliation-form label:last-of-type { align-self: center; }
.moderation-grid > div { display: grid; gap: .75rem; }
.moderation-row { display: flex; justify-content: space-between; gap: 1rem; align-items: stretch; flex-direction: column; }
.moderation-row span { display: block; margin-top: .25rem; color: var(--slate-400); font-size: .78rem; }

/* Persistent permission-aware administration shell. */
.admin-shell-page .site-header, .admin-shell-page .site-footer { display: none; }
.admin-shell { width: 100%; min-width: 0; min-height: 100svh; }
.admin-shell__layout { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.admin-sidebar { min-width: 0; border-bottom: 1px solid var(--slate-700); background: var(--slate-950); }
.admin-sidebar > summary { min-height: 3.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; color: var(--slate-50); font-weight: 800; list-style: none; cursor: pointer; }
.admin-sidebar > summary::-webkit-details-marker { display: none; }
.admin-sidebar > summary span:last-child { border: 1px solid var(--slate-700); border-radius: 999px; padding: .35rem .65rem; color: var(--emerald-hover); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.admin-sidebar__body { min-width: 0; display: flex; flex-direction: column; gap: 1.4rem; border-top: 1px solid var(--slate-800); padding: 1rem; }
.admin-sidebar__brand { display: grid; gap: .2rem; text-decoration: none; }
.admin-sidebar__brand span { color: var(--emerald-hover); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.admin-sidebar__brand strong { font-family: "Archivo", sans-serif; font-size: 1.15rem; }
.admin-sidebar__body nav { display: grid; gap: 1.25rem; }
.admin-sidebar__group h2 { margin: 0 0 .4rem; color: var(--slate-400); font-family: "Manrope", sans-serif; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.admin-sidebar__group ul { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.admin-sidebar__group a, .admin-sidebar__site-link { min-height: 2.75rem; display: flex; align-items: center; border-radius: .5rem; padding: .6rem .7rem; color: var(--slate-200); font-size: .82rem; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.admin-sidebar__group a:hover, .admin-sidebar__group a:focus-visible, .admin-sidebar__group a[aria-current="page"] { background: var(--slate-800); color: var(--emerald-hover); }
.admin-sidebar__site-link { margin-top: auto; border-top: 1px solid var(--slate-800); border-radius: 0; padding-inline: 0; color: var(--slate-400); }
.admin-shell__workspace { min-width: 0; }
.admin-topbar { min-width: 0; min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--slate-700); background: rgb(15 23 42 / 92%); padding: .7rem 1rem; }
.admin-topbar__context { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; color: var(--slate-400); font-size: .78rem; overflow-wrap: anywhere; }
.admin-topbar__context strong { color: var(--slate-50); }
.admin-breadcrumb { min-width: 0; display: flex; flex-wrap: wrap; gap: .45rem; border-bottom: 1px solid var(--slate-800); padding: .75rem 1rem; color: var(--slate-400); font-size: .75rem; }
.admin-breadcrumb a { color: var(--emerald-hover); font-weight: 700; }
.admin-shell__content { width: min(100%, 90rem); min-width: 0; margin-inline: auto; padding-inline: 1rem; }
.admin-data__header { display: grid; gap: .65rem; padding-block: 2rem 1.5rem; }
.admin-data__header h1 { max-width: 16ch; margin: 0; font-size: clamp(2.4rem, 9vw, 5rem); }
.admin-data__header > p:not(.eyebrow) { max-width: 48rem; margin: 0; color: var(--slate-400); }
.admin-data { min-width: 0; margin-bottom: 4rem; border: 1px solid var(--slate-700); border-radius: 1rem; background: var(--slate-800); padding: clamp(1rem, 3vw, 1.5rem); box-shadow: var(--shadow); }
.admin-data__mapping { min-width: 0; display: grid; gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--slate-700); border-radius: .7rem; background: var(--slate-700); }
.admin-data__mapping > div { min-width: 0; display: grid; gap: .45rem; background: var(--slate-900); padding: .9rem; }
.admin-data__mapping dt { color: var(--slate-400); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-data__mapping dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.admin-data__mapping .admin-data__mapping { margin-top: .25rem; }
.admin-data__list { min-width: 0; display: grid; gap: .75rem; margin: 0; padding-left: 1.4rem; }
.admin-data__list > li { min-width: 0; padding-left: .2rem; }
.admin-data__empty { color: var(--slate-400); font-style: italic; }

@media (min-width: 641px) {
  :root { --section-space: clamp(4.5rem, 9vw, 7.5rem); }
  .site-brand img { height: 2.75rem; }
  .hero { min-height: min(49rem, calc(100svh - 4.75rem)); }
  .hero__content { padding: 4.5rem 1rem 5.5rem; }
  .button-row .button { width: auto; }
  .section-heading { align-items: end; flex-direction: row; gap: 1.5rem; margin-bottom: 2rem; }
  .status-pill, .tbc-note { align-self: auto; }
  .feature-card, .now-playing-card__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-card { gap: clamp(1.5rem, 4vw, 3.5rem); padding: clamp(1.4rem, 4vw, 2.7rem); }
  .feature-card__action { border-left: 0; padding: 1.5rem 0 0; }
  .feature-card__action .button { width: auto; }
  .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .teaser-grid, .value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .teaser-card { min-height: 17rem; }
  .value-card { min-height: 14rem; }
  .group-intro { grid-template-columns: minmax(15rem, .75fr) minmax(20rem, 1.25fr); gap: 1rem 4rem; }
  .past-card { grid-template-columns: auto minmax(0, 1fr) auto; gap: 2rem; padding: 1.5rem; }
  .past-card__year { font-size: clamp(3rem, 9vw, 6.8rem); }
  .past-card .button { width: auto; }
  .past-card--compact { grid-template-columns: minmax(0, 1fr) auto; }
  .page-hero { min-height: 28rem; align-items: end; flex-direction: row; justify-content: space-between; padding: clamp(5rem, 13vw, 9rem) 0 3.5rem; }
  .page-hero--about { min-height: 35rem; }
  .page-hero .button { width: auto; }
  .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flight-grid, .addon-grid, .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .addon-grid { grid-auto-rows: 1fr; align-items: stretch; }
  .addon-grid > .card { height: 100%; }
  .cta-band { align-items: center; flex-direction: row; gap: 2rem; padding: clamp(1.5rem, 5vw, 3rem); }
  .cta-band .button { width: auto; }
  .gallery-note { text-align: right; }
  .story-section { grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 8vw, 7rem); padding: clamp(4.5rem, 9vw, 8rem) 0; }
  .story-section__mark { display: flex; }
  .mascot-feature { grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr); margin-bottom: clamp(4.5rem, 9vw, 7.5rem); }
  .mascot-feature__image { height: min(36rem, 66vw); }
  .sponsor-teaser { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; margin-bottom: 6rem; padding: clamp(1.5rem, 5vw, 3rem); }
  .fall-classic__mascot--home { width: auto; margin-inline: 0; }
  .now-playing-card__sponsors { padding: 1.35rem clamp(1.4rem, 4vw, 2.7rem); }
  .now-playing-card__sponsor-links { align-items: center; flex-direction: row; justify-content: space-between; }
  .now-playing-card__sponsor-links .button { width: auto; }
  .sponsor-logo-row, .sponsor-logo-row--tournament { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tournament-character { width: 14rem; text-align: center; }
  .tournament-character img { width: 9rem; height: 13.5rem; margin: 0 auto .65rem; }
  .login-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 5rem); }
  .registration-main .grid, .election-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .election-group { padding: 1rem; }
  .site-footer__inner { align-items: center; flex-direction: row; justify-content: space-between; gap: 2rem; padding-block: 0; text-align: left; }
  .site-footer__inner > div { justify-content: flex-start; }
  .hub-hero { gap: 2.75rem; padding: 3rem 0 4rem; }
  .hub-section-heading, .hub-series-card__header, .hub-club-card { grid-template-columns: minmax(0, 1.2fr) minmax(14rem, .8fr); align-items: end; }
  .hub-series-card__header, .hub-edition-card, .hub-archive { padding: 1.75rem; }
  .hub-edition-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hub-edition-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-archive-list li { grid-template-columns: 5rem minmax(0, 1fr) minmax(7rem, auto); align-items: center; }
  .hub-results-link { justify-content: flex-end; }
  .hub-club-card { padding: 2rem; }
  .hub-club-card .button { width: auto; justify-self: end; }
  .round-grid, .board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scorecard-link { align-items: center; flex-direction: row; }
  .scorecard-link span:last-child { text-align: right; }
  .profile-identity { align-items: center; flex-direction: row; gap: clamp(1.5rem, 5vw, 4rem); }
  .profile-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-layout, .editor-layout, .moderation-grid { grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr); }
  .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preview-card { position: sticky; }
  .directory-filter { grid-template-columns: minmax(0, 1fr) auto; }
  .directory-filter label { grid-column: 1 / -1; }
  .directory-filter--wide { grid-template-columns: minmax(0, 1fr) minmax(12rem, .5fr) auto; }
  .directory-filter--wide label { grid-column: auto; }
  .hole-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scorer-form, .staff-invite-form { grid-template-columns: 1fr; }
  .analytics-leaders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roster-team-grid, .roster-list--individuals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roster-team__header { align-items: center; flex-direction: row; justify-content: space-between; }
  .affiliation-form { grid-template-columns: minmax(0, 1fr) auto; }
  .moderation-row { align-items: center; flex-direction: row; }
  .site-account { display: flex; }
}

@media (min-width: 901px) {
  .site-nav--desktop { display: flex; }
  .mobile-nav { display: none; }
  .text-link { min-height: 0; }
  .status-pill, .tbc-note { min-height: 0; }
  .site-footer a, .pagination a { min-height: 0; }
  .feature-card { grid-template-columns: 1.2fr 1.5fr auto; }
  .now-playing-card__details { grid-template-columns: minmax(0, 1.15fr) 8rem minmax(15rem, 1.3fr) auto; }
  .feature-card__action { grid-column: auto; border-top: 0; border-left: 1px solid var(--slate-700); padding: 0 0 0 clamp(1.5rem, 4vw, 3.5rem); }
  .teaser-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .value-grid, .detail-grid, .flight-grid, .addon-grid, .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .now-playing-card__sponsors { grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.5rem; }
  .now-playing-card__sponsor-links { align-items: flex-end; flex-direction: column; justify-content: center; }
  .hole-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
  .hole-card { padding: 1rem; }
  .scorer-form { grid-template-columns: minmax(0, 1fr) minmax(12rem, .8fr) auto; }
  .staff-invite-form { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
  .directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .roster-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roster-list--individuals { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .analytics-leaders { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-shell__layout { grid-template-columns: 16rem minmax(0, 1fr); }
  .admin-sidebar { position: sticky; top: 0; height: 100svh; align-self: start; border-right: 1px solid var(--slate-700); border-bottom: 0; }
  .admin-sidebar > summary { display: none; }
  .admin-sidebar:not([open]) > .admin-sidebar__body, .admin-sidebar__body { height: 100%; display: flex; border-top: 0; padding: 1.25rem 1rem; }
  .admin-topbar { position: sticky; top: 0; z-index: 20; padding-inline: 1.5rem; backdrop-filter: blur(14px); }
  .admin-breadcrumb { padding-inline: 1.5rem; }
  .admin-shell__content { padding-inline: 1.5rem; }
  .admin-data__mapping > div { grid-template-columns: minmax(9rem, .3fr) minmax(0, 1fr); align-items: start; }
  .hub-series-section { padding-block: 5rem; }
  .hub-series-card__header, .hub-edition-card, .hub-archive { padding-inline: 2.25rem; }
  .hub-edition-card { grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.7fr) auto; align-items: center; }
  .hub-edition-actions { grid-template-columns: 1fr; min-width: 9rem; }
}

@media (max-width: 640px) {
  .registration-main { width: min(100% - 1.25rem, 48rem); padding-top: 2rem; }
  .registration-main .grid, .election-options { grid-template-columns: 1fr; }
  .election-group { padding: .85rem; }
  .scoring-main { width: min(100% - 1.25rem, 64rem); padding-top: 2rem; }
  .round-grid, .board-grid { grid-template-columns: 1fr; }
  .hole-grid { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
  .hole-card { padding: .8rem; }
  .hole-stats__grid, .analytics-leaders { grid-template-columns: 1fr; }
  .shot-controls { grid-template-columns: minmax(0, 1fr); }
  .admin-shell__content { padding-inline: .75rem; }
  .admin-topbar { align-items: flex-start; }
  .admin-topbar__context { display: grid; gap: .1rem; }
  .admin-topbar__context > span[aria-hidden="true"] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* v8 mobile-first player score entry. */
.scoring-app { background: #f4f2ed; color: #0f253c; }
.scoring-app::before { display: none; }
.scoring-app .site-header, .scoring-app .site-footer { display: none; }
.score-entry-main { width: 100%; min-height: 100svh; background: #f4f2ed; padding: 0 0 6.25rem; color: #0f253c; }
.score-app-shell { width: min(100%, 48rem); min-height: calc(100svh - 6.25rem); margin-inline: auto; background: #f4f2ed; }
.score-app-shell--entry { width: min(100%, 44rem); }
.score-app-topbar { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: .65rem; border-bottom: 1px solid #d7dbe0; background: #0f253c; padding: .6rem .75rem; color: #fff; }
.score-app-brand { min-width: 0; min-height: 2.75rem; display: flex; align-items: center; gap: .65rem; text-decoration: none; }
.score-app-brand img { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.score-app-brand span { min-width: 0; display: grid; }
.score-app-brand strong { overflow: hidden; font-family: "Archivo", sans-serif; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.score-app-brand small { overflow: hidden; color: #c7d1dc; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.score-app-back { width: 2.75rem; min-width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid #53677a; border-radius: 50%; color: #fff; font-size: 1.35rem; text-decoration: none; }
.score-app-user { max-width: 6.5rem; overflow: hidden; color: #c7d1dc; font-size: .68rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.score-app-logout { display: flex; align-items: center; gap: .45rem; }
.score-app-logout > span { display: none; color: #c7d1dc; font-size: .68rem; }
.score-app-logout button { min-height: 2.75rem; border-color: #53677a; color: #fff; }
.score-app-kicker { margin: 0 0 .35rem; color: #176b4c; font-size: .65rem; font-weight: 800; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }
.score-dashboard-hero { padding: 2rem 1rem 1.25rem; }
.score-dashboard-hero h1, .scorecard-live-head h1 { margin: 0; color: #0f253c; font-size: clamp(2.15rem, 11vw, 3.5rem); line-height: .98; letter-spacing: -.05em; }
.score-dashboard-hero > p:last-child { margin: .65rem 0 0; color: #536273; font-size: .88rem; line-height: 1.55; }
.score-dashboard-section { border-top: 1px solid #d7dbe0; padding: 1.25rem 1rem; }
.score-dashboard-section--cards { padding-bottom: 2rem; }
.score-dashboard-section__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.score-dashboard-section__head h2 { margin: 0; color: #0f253c; font-size: 1.35rem; letter-spacing: -.03em; }
.score-dashboard-section__head > a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #176b4c; font-size: .74rem; font-weight: 800; }
.score-round-list { display: grid; gap: .8rem; }
.score-round-card, .score-scorer-card { min-width: 0; border: 1px solid #d1d6dc; border-radius: .9rem; background: #fff; padding: 1rem; box-shadow: 0 12px 32px rgb(15 37 60 / 7%); }
.score-round-card__meta { display: flex; justify-content: space-between; gap: .75rem; color: #176b4c; font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.score-round-card__meta span:last-child { color: #667483; }
.score-round-card h3, .score-scorer-card h3 { margin: .6rem 0 .25rem; color: #0f253c; font-size: 1.15rem; }
.score-round-card p, .score-scorer-card p { margin: 0; color: #667483; font-size: .78rem; line-height: 1.5; }
.score-round-card__actions { display: grid; gap: .55rem; margin-top: .9rem; }
.score-round-card button, .score-scorer-card button { min-height: 2.9rem; border: 0; border-radius: .65rem; background: #176b4c; padding: .7rem 1rem; color: #fff; font-weight: 800; }
.score-round-card .score-button-secondary { border: 1px solid #cbd2d9; background: #f6f7f8; color: #0f253c; }
.open-scorecard-status { min-height: 1.2rem; margin-top: .55rem !important; }
.score-scorer-card { display: grid; gap: .6rem; margin-top: .8rem; }
.score-scorer-card label { color: #536273; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.score-scorer-card select { width: 100%; min-height: 2.9rem; border: 1px solid #cbd2d9; border-radius: .6rem; background: #fff; padding: .55rem .7rem; color: #0f253c; }
.score-scorer-card .form-status { min-height: 1.2rem; margin: 0; font-size: .75rem; }
.scorecard-list--v8 { gap: .6rem; }
.scorecard-list--v8 .scorecard-link { display: grid; grid-template-columns: 2.85rem minmax(0, 1fr) 2.8rem; align-items: center; gap: .7rem; border-color: #d1d6dc; border-radius: .8rem; background: #fff; padding: .8rem; color: #0f253c; box-shadow: 0 10px 28px rgb(15 37 60 / 6%); }
.scorecard-link__number { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; background: #e9f2ee; color: #176b4c; font-size: .75rem; font-weight: 900; }
.scorecard-list--v8 .scorecard-link > span:nth-child(2) { min-width: 0; display: grid; gap: .15rem; }
.scorecard-list--v8 .scorecard-link strong { overflow: hidden; font-family: "Archivo", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.scorecard-list--v8 .scorecard-link small { overflow: hidden; color: #667483; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.scorecard-link__points { display: grid; color: #0f253c; font-family: "Archivo", sans-serif; font-size: 1.25rem; font-weight: 900; line-height: 1; text-align: right !important; }
.scorecard-link__points small { color: #667483 !important; font-family: "Manrope", sans-serif; font-size: .55rem !important; letter-spacing: .08em; }
.score-empty { border: 1px dashed #b9c2ca; border-radius: .8rem; background: rgb(255 255 255 / 58%); padding: 1rem; color: #536273; font-size: .82rem; }

.scorecard-live-head { display: grid; gap: 1rem; border-bottom: 1px solid #d7dbe0; background: #fff; padding: 1.25rem 1rem; }
.scorecard-live-summary { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #d7dbe0; border-radius: .75rem; background: #f8f9fa; }
.scorecard-live-summary span { min-width: 0; display: grid; gap: .15rem; border-right: 1px solid #d7dbe0; padding: .65rem; text-align: center; }
.scorecard-live-summary span:last-child { border-right: 0; }
.scorecard-live-summary strong { color: #0f253c; font-family: "Archivo", sans-serif; font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.scorecard-live-summary small { color: #667483; font-size: .56rem; font-weight: 800; letter-spacing: .09em; }
.scorecard-subject-switcher { display: flex; gap: .45rem; overflow-x: auto; border-bottom: 1px solid #d7dbe0; background: #fff; padding: .65rem 1rem; scrollbar-width: none; }
.scorecard-subject-switcher::-webkit-scrollbar { display: none; }
.scorecard-subject-switcher a { min-height: 2.75rem; display: inline-flex; flex: 0 0 auto; align-items: center; border: 1px solid #cbd2d9; border-radius: 999px; padding: .5rem .85rem; color: #536273; font-size: .74rem; font-weight: 800; text-decoration: none; }
.scorecard-subject-switcher a.is-current { border-color: #0f253c; background: #0f253c; color: #fff; }
.score-app-shell .scoring-lock-banner { margin: .75rem 1rem 0; border-color: #176b4c; background: #e9f2ee; color: #314252; }
.score-app-shell .scoring-lock-banner strong { color: #176b4c; }
.score-mode-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-bottom: 1px solid #d7dbe0; background: #fff; padding: .7rem 1rem; }
.score-mode-row > div:first-child { display: grid; }
.score-mode-row > div:first-child span { color: #0f253c; font-size: .72rem; font-weight: 800; }
.score-mode-row > div:first-child small { color: #667483; font-size: .6rem; }
.score-mode-switch { display: inline-grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #cbd2d9; border-radius: 999px; background: #edf0f2; padding: .18rem; }
.score-mode-switch button { min-width: 4.4rem; min-height: 2.75rem; border: 0; border-radius: 999px; background: transparent; color: #536273; font-size: .72rem; font-weight: 800; }
.score-mode-switch button.is-current { background: #0f253c; color: #fff; box-shadow: 0 4px 12px rgb(15 37 60 / 15%); }
.score-mode-switch button:only-child { grid-column: 1 / -1; }
.hole-grid--v8 { display: block; padding: .75rem 1rem 1.5rem; }
.hole-grid--v8 .hole-card { width: 100%; display: block; border: 1px solid #d1d6dc; border-radius: 1rem; background: #fff; padding: 0; color: #0f253c; box-shadow: 0 18px 46px rgb(15 37 60 / 9%); }
.hole-grid--v8 .hole-card[hidden] { display: none; }
.hole-grid--v8 .hole-card__controls { display: grid; gap: 0; }
.hole-selector { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr) 3.25rem; align-items: center; gap: .5rem; border-bottom: 1px solid #d7dbe0; padding: .75rem; }
.hole-grid--v8 .hole-arrow { width: 3.25rem; height: 3.25rem; min-height: 3.25rem; border: 1px solid #cbd2d9; border-radius: 50%; background: #fff; padding: 0; color: #0f253c; font-size: 1.8rem; }
.hole-grid--v8 .hole-arrow:hover { background: #edf0f2; }
.hole-selector__core { text-align: center; }
.hole-selector__core > span { display: block; color: #667483; font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hole-selector__core h2 { margin: .05rem 0; color: #0f253c; font-size: 2.6rem; font-variant-numeric: tabular-nums; line-height: 1; }
.hole-selector__core p { margin: 0; color: #536273; font-size: .7rem; line-height: 1.3; }
.hole-grid--v8 .distance-to-green { margin: .7rem .75rem 0; background: #e9f2ee; color: #176b4c; }
.gps-distance-link { display: block; margin: .7rem .75rem 0; border: 1px solid #b8d7ca; border-radius: .55rem; background: #e9f2ee; padding: .7rem .75rem; color: #176b4c; font-size: .72rem; font-weight: 900; text-align: center; text-decoration: none; }
.quick-entry-panel, .detailed-entry-panel { padding: 1rem; }
.score-mode-label { margin: 0 0 .65rem; color: #667483; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.score-stepper { display: grid; grid-template-columns: 3.5rem 5.25rem 3.5rem; align-items: center; justify-content: center; gap: .75rem; }
.hole-grid--v8 .score-stepper button { width: 3.5rem; height: 3.5rem; min-height: 3.5rem; border: 1px solid #b9c2ca; border-radius: .8rem; background: #fff; padding: 0; color: #0f253c; font-size: 1.7rem; }
.hole-grid--v8 .score-stepper input { width: 5.25rem; height: 5.25rem; min-height: 5.25rem; appearance: textfield; border: 3px solid transparent; border-radius: 50%; background: #edf0f2; padding: 0; color: #0f253c; font-family: "Archivo", sans-serif; font-size: 2.55rem; font-weight: 900; font-variant-numeric: tabular-nums; text-align: center; }
.score-stepper input::-webkit-inner-spin-button, .score-stepper input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.score-stepper.is-under input { border-color: #198754; background: #e5f5ec; color: #11683f; }
.score-stepper.is-over input { border-color: #b4232f; border-radius: .7rem; background: #fdecef; color: #9d1d28; }
.score-notation { min-height: 1.2rem; margin: .55rem 0 .8rem; color: #536273; font-size: .68rem; font-weight: 700; text-align: center; }
.hole-score-chips { display: flex; justify-content: center; gap: .5rem; }
.hole-score-chips span { min-width: 5.3rem; border-radius: .45rem; background: #edf0f2; padding: .48rem .65rem; color: #536273; font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-align: center; }
.hole-score-chips span:last-child { background: #e9f2ee; color: #176b4c; }
.hole-score-chips strong { font-size: .82rem; font-variant-numeric: tabular-nums; }
.hole-grid--v8 .score-detail-link { width: 100%; min-height: 2.75rem; margin-top: .9rem; border: 1px dashed #9aa6b1; background: #fff; color: #176b4c; font-size: .72rem; }
.hole-grid--v8 .score-detail-link:hover { background: #e9f2ee; }
.detailed-score-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #d7dbe0; padding-bottom: .8rem; }
.detailed-score-head > div { display: flex; align-items: baseline; gap: .45rem; }
.detailed-score-head span { color: #667483; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.detailed-score-head strong { color: #0f253c; font-family: "Archivo", sans-serif; font-size: 1.8rem; }
.detailed-score-head p { margin: 0; color: #536273; font-size: .72rem; }
.detailed-score-head p strong { font-family: inherit; font-size: inherit; }
.detail-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.detail-section-head h3 { margin: 0; color: #0f253c; font-size: .85rem; }
.detail-section-head small { color: #667483; font-size: .62rem; }
.detail-shot-list { display: grid; gap: .5rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.detail-shot-row { display: grid; grid-template-columns: 2rem minmax(0, 1fr) minmax(0, 1fr) 2.75rem; align-items: end; gap: .4rem; border: 1px solid #d7dbe0; border-radius: .7rem; background: #f8f9fa; padding: .5rem; }
.detail-shot-number { width: 1.75rem; height: 1.75rem; display: grid; place-items: center; align-self: center; border-radius: 50%; background: #e3e7ea; color: #536273; font-size: .68rem; font-weight: 900; }
.detail-shot-row label, .detail-add-shot label { min-width: 0; display: grid; gap: .2rem; color: #667483; font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.detail-shot-row select, .detail-add-shot select { width: 100%; min-height: 2.75rem; border: 1px solid #cbd2d9; border-radius: .5rem; background: #fff; padding: .4rem; color: #0f253c; font-size: .7rem; text-transform: none; }
.hole-grid--v8 .detail-shot-delete { width: 2.75rem; height: 2.75rem; min-height: 2.75rem; border: 1px solid #d9a4aa; background: #fff; padding: 0; color: #9d1d28; font-size: 1.15rem; }
.detail-shot-empty { margin: .55rem 0 0; color: #667483; font-size: .7rem; }
.detail-add-shot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .45rem; margin-top: .65rem; }
.hole-grid--v8 .detail-add-shot-button { grid-column: 1 / -1; min-height: 2.85rem; border: 1px solid #176b4c; background: #e9f2ee; color: #176b4c; }
.hole-grid--v8 .detail-add-shot-button:hover { background: #d7ebe2; }
.hole-grid--v8 .shot-status { margin: .45rem 0 0; color: #536273; }
.detail-stat-list { display: grid; gap: .55rem; margin-top: .6rem; }
.detail-stat-row { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: .65rem; border-bottom: 1px solid #e2e5e8; padding: .35rem 0; }
.detail-stat-row > span { color: #0f253c; font-size: .72rem; font-weight: 800; }
.detail-stat-row > span small { display: block; color: #667483; font-size: .55rem; font-weight: 700; }
.detail-choice { display: flex; gap: .25rem; }
.hole-grid--v8 .detail-choice button { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid #cbd2d9; background: #fff; padding: .35rem .5rem; color: #536273; font-size: .65rem; }
.hole-grid--v8 .detail-choice button[aria-pressed="true"] { border-color: #176b4c; background: #176b4c; color: #fff; }
.detail-counter { display: grid; grid-template-columns: 2.75rem 2.2rem 2.75rem; align-items: center; gap: .2rem; }
.hole-grid--v8 .detail-counter button { width: 2.75rem; height: 2.75rem; min-height: 2.75rem; border: 1px solid #cbd2d9; background: #fff; padding: 0; color: #0f253c; font-size: 1.1rem; }
.detail-counter output { color: #0f253c; font-family: "Archivo", sans-serif; font-size: 1.05rem; font-weight: 900; text-align: center; }
.detail-help { margin: .7rem 0 0; border-radius: .55rem; background: #fff4df; padding: .65rem; color: #6f5118; font-size: .64rem; line-height: 1.5; }
.score-save-status { min-height: 1.3rem; margin: 0; padding: .25rem 1rem; color: #536273; font-size: .7rem; }
.hole-grid--v8 .score-save-next { min-height: 3.4rem; margin: .15rem .75rem .75rem; border: 0; border-radius: .72rem; background: #176b4c; color: #fff; font-size: .8rem; font-weight: 900; letter-spacing: .02em; text-transform: uppercase; }
.hole-grid--v8 .score-save-next:hover { background: #10583e; }
.score-global-status { min-height: 1.3rem; margin: -.85rem 1rem 0; color: #176b4c; font-size: .72rem; font-weight: 800; text-align: center; }
.scoring-app .success-text { color: #11683f !important; }
.scoring-app .error-text { color: #9d1d28 !important; }
.score-bottom-nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 40; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #ccd2d8; background: rgb(255 255 255 / 97%); padding: .45rem .25rem max(.45rem, env(safe-area-inset-bottom)); box-shadow: 0 -10px 32px rgb(15 37 60 / 10%); backdrop-filter: blur(14px); }
.score-bottom-nav a { min-height: 3.85rem; display: flex; align-items: center; flex-direction: column; justify-content: center; gap: .25rem; color: #536273; font-size: .58rem; font-weight: 800; text-decoration: none; }
.score-nav-icon { width: 2.35rem; height: 2.35rem; display: grid; place-items: center; border: 1.5px solid #536273; border-radius: 50%; font-family: "Archivo", sans-serif; font-size: .8rem; }
.score-bottom-nav a.is-current { color: #0f253c; }
.score-bottom-nav a.is-current .score-nav-icon { border-color: #0f253c; background: #0f253c; color: #fff; }

.measurement-main { min-height: 70svh; }
.measurement-shell, .measurement-admin { width: min(72rem, calc(100% - 2rem)); margin-inline: auto; padding-block: 2rem 4rem; }
.measurement-shell { width: min(52rem, calc(100% - 2rem)); display: grid; gap: 1rem; }
.measurement-header { display: grid; gap: .45rem; }
.measurement-header h1, .measurement-header p, .location-notice h2, .location-notice p, .yardage-fallback h2, .yardage-fallback p { margin: 0; }
.measurement-back { width: fit-content; margin-bottom: .5rem; color: var(--emerald-hover); font-weight: 800; }
.location-notice { display: grid; gap: 1rem; }
.location-notice p, .yardage-fallback p { color: var(--slate-200); line-height: 1.6; }
.location-consent { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .65rem; color: var(--slate-50); line-height: 1.45; }
.location-consent input { width: 1.15rem; min-width: 1.15rem; height: 1.15rem; margin-top: .12rem; }
.location-notice button, .measurement-form button { justify-self: start; min-height: 2.8rem; }
.measurement-status, .measurement-form-status { min-height: 1.4rem; margin: 0; color: var(--slate-400); }
.distance-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.distance-result { display: grid; gap: .35rem; text-align: center; }
.distance-result span { color: var(--slate-400); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.distance-result strong { color: var(--emerald-hover); font-family: "Archivo", sans-serif; font-size: clamp(1.25rem, 5vw, 2rem); font-variant-numeric: tabular-nums; }
.distance-result small { color: var(--slate-200); line-height: 1.45; }
.yardage-fallback { display: grid; gap: .6rem; }
.measurement-admin { display: grid; gap: 1.25rem; }
.measurement-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.measurement-summary article { display: grid; gap: .25rem; text-align: center; }
.measurement-summary strong { color: var(--emerald-hover); font-family: "Archivo", sans-serif; font-size: 1.7rem; }
.measurement-summary span { color: var(--slate-400); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.measurement-hole-list { display: grid; gap: 1rem; }
.measurement-hole { display: grid; gap: .8rem; }
.measurement-hole > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.measurement-hole h2 { margin: 0; font-size: 2rem; }
.readiness-badge { border-radius: 999px; background: rgb(251 191 36 / 14%); padding: .4rem .65rem; color: var(--amber); font-size: .72rem; font-weight: 900; }
.readiness-badge.is-ready { background: rgb(16 185 129 / 14%); color: var(--emerald-hover); }
.measurement-hole details { border-top: 1px solid var(--slate-700); padding-top: .75rem; }
.measurement-hole summary { cursor: pointer; color: var(--slate-50); font-weight: 800; }
.measurement-form { display: grid; gap: .75rem; margin-top: .8rem; }
.measurement-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.measurement-fields label { min-width: 0; display: grid; gap: .3rem; color: var(--slate-200); font-size: .76rem; font-weight: 700; }
.measurement-fields input, .measurement-fields select { width: 100%; min-width: 0; }

@media (max-width: 640px) {
  .distance-results, .measurement-summary, .measurement-fields { grid-template-columns: 1fr; }
}

@media (min-width: 641px) {
  .score-app-shell { border-right: 1px solid #d7dbe0; border-left: 1px solid #d7dbe0; box-shadow: 0 0 60px rgb(15 37 60 / 8%); }
  .score-app-logout > span { display: inline; }
  .score-dashboard-hero, .score-dashboard-section, .scorecard-live-head, .score-mode-row { padding-inline: 1.5rem; }
  .score-round-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scorecard-live-head { grid-template-columns: minmax(0, 1fr) 19rem; align-items: center; }
  .hole-grid--v8 { padding-inline: 1.5rem; }
}
