/* A light archive surface within the existing forest / lime / blue identity. */
html:has(.results-page) { color-scheme: light; scroll-padding-bottom: 1.5rem; }
.results-page { color-scheme: light; color: #173e2b; background: #f1f4e9; }
.results-page :is(button, a, input, select):focus-visible { outline: 3px solid #2373a9; outline-offset: 3px; }
.archive-shell { min-height: 100vh; min-height: 100svh; overflow: clip; padding: max(1.15rem, env(safe-area-inset-top, 0px)) env(safe-area-inset-right, 0px) max(1.5rem, env(safe-area-inset-bottom, 0px)) env(safe-area-inset-left, 0px); }
.archive-width { width: calc(100% - 2rem); max-width: 74rem; margin-inline: auto; }
.archive-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.archive-icon-button { display: grid; place-items: center; flex-shrink: 0; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid #2a4a2c12; border-radius: 50%; color: #17462f; background: #fff9; }
.archive-icon-button .icon { width: 1.25rem; height: 1.25rem; }
.archive-header .brand { gap: .55rem; }
.archive-header .brand-mark { width: 2.3rem; height: 2.3rem; font-size: 1.1rem; }
.archive-header .brand-name span:first-child { font-size: .87rem; }
.archive-header .brand-name span:last-child { font-size: .54rem; }
.archive-menu-wrap { position: relative; }
.archive-menu { position: absolute; right: 0; top: calc(100% + .6rem); width: 13.5rem; max-width: calc(100vw - 2rem); padding: .55rem; background: #fffef7; border: 1px solid #d5dfcc; border-radius: 16px; box-shadow: 0 15px 40px #173d2b26; }
.archive-menu a { display: flex; align-items: center; min-height: 2.75rem; padding: .65rem .75rem; font-size: .85rem; border-radius: 10px; }
.archive-hero { position: relative; isolation: isolate; min-height: 23rem; padding-top: 2.4rem; padding-bottom: 1.4rem; }
.archive-hero-copy { position: relative; z-index: 1; pointer-events: none; }
.archive-eyebrow { margin: 0 0 1rem; color: #546854; font-size: .61rem; line-height: 1.5; letter-spacing: .14em; font-weight: 650; }
.archive-hero h1 { display: flex; flex-direction: column; align-items: flex-start; margin: 0; font-size: clamp(3.8rem, 18vw, 5.4rem); letter-spacing: -.065em; line-height: .96; font-weight: 750; }
.archive-hero h1 > span:last-child { margin-top: .2rem; font-size: .8em; color: #557c16; letter-spacing: -.055em; }
.results-period { color: #173e2b; }
.archive-intro { max-width: 60%; margin: 1rem 0 0; font-size: .86rem; line-height: 1.5; letter-spacing: -.015em; color: #586458; }
.archive-hero-art { position: absolute; z-index: -1; top: .4rem; right: -1rem; bottom: 0; width: 76%; overflow: hidden; border-radius: 38% 0 0 0; }
.archive-hero-art::before { content: ''; position: absolute; z-index: 1; inset: 40% 0 4% 6%; border-radius: 50%; background: #d8f59045; mix-blend-mode: multiply; }
.archive-hero-art::after { content: ''; position: absolute; z-index: 2; inset: 0; background: linear-gradient(90deg, #f1f4e9 0%, #f1f4e9a8 22%, #f1f4e900 60%), linear-gradient(180deg, #f1f4e9 0%, #f1f4e900 15%, #f1f4e900 85%, #f1f4e9 100%); }
.archive-hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% 20%; }
.archive-season-leader { position: relative; display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.5rem; margin-left: auto; max-width: 100%; width: fit-content; min-height: 3.7rem; padding: .7rem .7rem .7rem 1rem; border: 1px solid #93bb6957; border-radius: 18px; color: #f6faed; background: #0b402ceF; text-align: left; box-shadow: 0 6px 24px #16392713; }
.archive-season-leader small { display: block; margin-bottom: .25rem; color: #dbfc8a; font-size: .5rem; letter-spacing: .035em; line-height: 1.4; }
.archive-season-leader strong { display: block; font-size: .94rem; font-weight: 600; }
.archive-leader-icon { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; flex-shrink: 0; border-radius: 50%; background: var(--lime); color: #173e27; }
.archive-leader-icon .icon { width: 1.25rem; height: 1.25rem; }
#round-results { position: relative; scroll-margin-top: 1rem; }
.archive-toolbar { position: sticky; top: max(.5rem, env(safe-area-inset-top, 0px)); z-index: 10; display: flex; align-items: center; gap: .45rem; padding: .4rem; border: 1px solid #fff; border-radius: 100px; background: #fafff1dc; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 5px 24px #19351c08; }
.archive-years { display: flex; flex: 1; gap: .15rem; min-width: 0; overflow-x: auto; padding: .15rem; scrollbar-width: none; }
.archive-years::-webkit-scrollbar { display: none; }
.archive-years button { flex: 1 0 3.45rem; min-height: 2.75rem; padding: .45rem .7rem; border: 0; border-radius: 100px; background: transparent; color: #536153; font-size: .85rem; font-weight: 550; }
.archive-years button[aria-pressed="true"] { background: #10452e; color: #fffef2; }
.archive-years button:focus-visible { outline-offset: -3px; outline-color: #4fa5e4; }
.archive-filter-toggle { position: relative; background: #dae7ce; border-color: #2a4a2c0c; }
.archive-filter-toggle[aria-expanded="true"] { background: var(--lime); }
.filter-indicator { position: absolute; top: .28rem; right: .28rem; width: .45rem; height: .45rem; border-radius: 50%; background: #247dc2; border: 1px solid #fff; }
.archive-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem .8rem; margin-top: .85rem; padding: 1rem; border: 1px solid #d6e0cb; border-radius: 20px; background: #e8efdf; }
.archive-filters > * { min-width: 0; }
.archive-search-field { grid-column: 1 / -1; }
.archive-filters label { display: block; margin-bottom: .45rem; font-size: .74rem; font-weight: 600; color: #3d593b; }
.archive-search-wrap { display: flex; align-items: center; gap: .6rem; padding-inline: .8rem; border: 1px solid #c8d5be; border-radius: 12px; background: #fafcf5; }
.archive-search-wrap .icon { flex-shrink: 0; width: 1.1rem; height: 1.1rem; }
.archive-filters input { min-width: 0; width: 100%; min-height: 2.9rem; border: 0; background: transparent; font-size: 1rem; color: #173e2b; }
.archive-filters select { min-height: 2.9rem; width: 100%; border: 1px solid #c8d5be; border-radius: 12px; padding: .55rem .45rem; background: #fafcf5; color: #173e2b; font-size: 1rem; }
.archive-reset { justify-self: start; min-height: 2.75rem; padding: .45rem 0; border: 0; color: #265b32; background: none; text-decoration: underline; text-underline-offset: .2em; font-size: .8rem; }
.archive-list-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem; margin: 1.3rem .15rem .8rem; }
.archive-list-heading h2 { margin: 0; font-size: .87rem; font-weight: 650; letter-spacing: -.02em; }
.archive-list-heading p { margin: 0; color: #64725e; font-size: .7rem; }
.archive-grid { display: grid; gap: .85rem; }
.result-card { position: relative; isolation: isolate; overflow: hidden; min-width: 0; border-radius: 23px; color: #fffef3; background: #123f2d; box-shadow: 0 4px 12px #112d1b08; }
.result-card::before { content: ''; position: absolute; z-index: -2; inset: 0; background-image: url("/assets/img/club/hero-preview.jpg"); background-size: cover; background-position: 60% 43%; }
.result-card::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #073825fa 2%, #0b3527ce 46%, #163e1c26 95%), linear-gradient(0deg, #002b21ed, #13391e10 76%); }
.result-card.theme-blue { background: #124567; }
.result-card.theme-blue::before { background-image: url("/assets/img/club/sign-in-golfer.png"); background-position: 65% 28%; }
.result-card[style]::before { background-image: var(--course-art); background-position: center; }
.result-card.theme-blue::after { background: linear-gradient(90deg, #063c55fa 4%, #103f58ce 43%, #092e4554 96%), linear-gradient(0deg, #082f41f7, #13416100 80%); }
.result-card.theme-pine::before { background-position: 75% 80%; filter: saturate(.7); }
.result-card.theme-pine::after { background: linear-gradient(90deg, #24452efa, #213e29c9 48%, #23442c24 95%), linear-gradient(0deg, #102f20f0, transparent); }
.result-open { display: flex; flex-direction: column; min-height: 14rem; padding: 1.15rem; border: 1px solid #ddf1d933; border-radius: inherit; }
.result-open:focus-visible { outline-offset: -4px !important; outline-color: var(--lime) !important; }
.result-card-top { display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.result-round-tag { padding: .32rem .55rem; border-radius: 100px; background: var(--lime); color: #163d24; font-size: .62rem; font-weight: 650; }
.theme-blue .result-round-tag { background: #bce3fb; color: #143d54; }
.theme-pine .result-round-tag { background: #e0ecc2; color: #2d4c23; }
.result-open-icon { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid #e6f4df59; border-radius: 50%; color: #e5f6d2; }
.result-open-icon .icon { width: .95rem; height: .95rem; transform: rotate(-35deg); }
.result-card h3 { max-width: 90%; margin: .65rem 0 .4rem; font-size: clamp(1.45rem, 6.1vw, 1.8rem); font-weight: 650; line-height: 1.08; letter-spacing: -.035em; overflow-wrap: anywhere; }
.result-venue { display: flex; align-items: center; gap: .3rem; max-width: 92%; margin: 0; color: #deeadf; font-size: .72rem; line-height: 1.45; }
.result-venue .icon { width: .86rem; height: .86rem; flex-shrink: 0; }
.result-date { margin: .42rem 0 0; color: #cddccb; font-size: .7rem; }
.result-card-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; align-items: end; margin-top: auto; padding-top: 1.1rem; }
.result-winners { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.result-winners .avatar { width: 2.3rem; height: 2.3rem; flex: 0 0 2.3rem; font-size: .6rem; border-color: #e1f3cc5c; color: #e6fad0; background: #1a513dcc; }
.result-winners strong { display: block; font-size: .83rem; font-weight: 600; line-height: 1.35; }
.result-winners small { display: block; margin-top: .22rem; font-size: .57rem; color: #cedec9; }
.result-points { display: flex; flex-direction: column; align-items: flex-end; }
.result-points > span { color: #dcfb98; font-size: .48rem; font-weight: 650; letter-spacing: .05em; }
.result-points > strong { margin-top: .1rem; font-size: 2.5rem; font-weight: 550; line-height: 1; letter-spacing: -.04em; }
.result-points > small { margin-top: .18rem; color: #d3e5cd; font-size: .58rem; }
.archive-empty { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; padding: 2rem 1.5rem; border: 1px solid #d5e1ca; border-radius: 23px; background: #e6efdb; }
.archive-empty > .icon { width: 2rem; height: 2rem; color: #4c752f; }
.archive-empty h3 { margin: 1rem 0 .6rem; font-size: 1.5rem; letter-spacing: -.04em; }
.archive-empty p { max-width: 33rem; margin: 0; color: #526b48; font-size: .85rem; line-height: 1.7; }
.archive-empty button { margin-top: 1.25rem; border-radius: 100px; }
.archive-footer { margin: 2.5rem 0 0; padding: 1.6rem 0 0; border-top: 1px solid #244c2226; text-align: center; }
.archive-footer-tagline { margin: 0; color: #274c29; font-size: .9rem; font-weight: 600; }
.archive-footer > a { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; margin-top: .5rem; font-size: .78rem; color: #3d6742; }
.archive-footer .icon { width: 1rem; height: 1rem; }
.archive-footer > p:last-child { color: #64745c; font-size: .65rem; line-height: 1.7; }
.archive-noscript { padding: 1rem; border-radius: 16px; background: #e2ebd7; color: #2c502c; }
.archive-dialog .dialog-header { padding-right: 3.5rem; }
.archive-dialog .leader-table { margin-top: 1rem; }
.archive-dialog .position-col { width: 2.5rem; }
.archive-dialog .points-col { width: 3.4rem; }
.archive-dialog .dialog-info-grid > div { background: #28482309; border-color: #25422218; }
.archive-dialog .dialog-info-grid span { color: #586e4e; }
.archive-dialog .dialog-info-grid strong { color: #173d27; }
.archive-dialog .dialog-notice { background: #e0eacb; border-color: #beceac; }
.archive-dialog .dialog-back { min-height: 2.75rem; margin: 0 0 .5rem; color: #316039; }
.archive-dialog .dialog-back .icon { width: 1rem; height: 1rem; }
.archive-dialog .primary-button { border-radius: 100px; }
@media (min-width: 600px) {
  .archive-width { width: calc(100% - 3rem); }
  .archive-header .brand { gap: .8rem; }
  .archive-header .brand-mark { width: 2.6rem; height: 2.6rem; }
  .archive-header .brand-name span:first-child { font-size: 1.05rem; }
  .archive-header .brand-name span:last-child { font-size: .67rem; }
  .archive-hero { min-height: 29rem; padding: 3.6rem 1rem 1.5rem; }
  .archive-hero-art { right: -1.5rem; width: 72%; }
  .archive-hero h1 { font-size: 7.5rem; }
  .archive-intro { font-size: 1.1rem; }
  .archive-eyebrow { font-size: .7rem; }
  .archive-season-leader { margin-top: -.2rem; margin-right: 1rem; padding: .85rem; border-radius: 20px; }
  .archive-season-leader small { font-size: .62rem; }
  .archive-season-leader strong { font-size: 1.15rem; }
  .archive-toolbar { padding: .5rem; }
  .archive-years button { min-height: 3rem; font-size: 1rem; }
  .archive-list-heading { margin-block: 1.5rem 1rem; }
  .archive-list-heading h2 { font-size: 1.1rem; }
  .archive-list-heading p { font-size: .8rem; }
  .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .result-open { min-height: 16.5rem; }
  .archive-filters { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); }
  .archive-search-field { grid-column: auto; }
}
@media (min-width: 1000px) {
  .archive-shell { padding-top: max(1.75rem, env(safe-area-inset-top, 0px)); }
  .archive-hero { min-height: 30rem; padding: 4rem 2rem 2rem; }
  .archive-hero-art { width: 68%; right: 0; border-radius: 36px; }
  .archive-hero-art img { object-position: 50% 24%; }
  .archive-hero h1 { font-size: 9rem; }
  .archive-intro { margin-top: 1.2rem; }
  .archive-season-leader { position: absolute; right: 2rem; bottom: 2rem; margin: 0; min-width: 18rem; padding: 1rem; }
  .archive-leader-icon { width: 2.75rem; height: 2.75rem; }
  .archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
  .archive-toolbar { max-width: 44rem; margin: -.3rem auto 0; }
  .archive-filters { padding: 1.25rem; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; }
  .archive-reset { padding-inline: .5rem; }
  .result-open { padding: 1.35rem; min-height: 17.2rem; }
  .result-card h3 { font-size: 1.8rem; }
  .result-card-bottom { padding-top: 1.7rem; }
}
@media (max-width: 359px) {
  .archive-width { width: calc(100% - 1.5rem); }
  .archive-header .brand-mark { display: none; }
  .archive-hero { min-height: 22rem; padding-top: 2rem; }
  .archive-hero h1 { font-size: 3.8rem; }
  .archive-intro { font-size: .8rem; }
  .archive-hero-art { right: -.75rem; }
  .archive-season-leader { margin-top: 1.7rem; }
  .archive-list-heading h2 { font-size: .8rem; }
  .archive-list-heading p { font-size: .65rem; }
  .result-open { padding: 1rem; }
}
@media (hover: hover) {
  .archive-menu a:hover { background: #e3edcf; }
  .archive-years button:hover:not([aria-pressed="true"]) { background: #e4ecd8; }
  .archive-icon-button:hover { background: #d9e9c6; }
  .archive-season-leader:hover { background: #185d3d; }
  .result-open:hover { background: #ffffff08; }
}
