/* GolfWaypoint / Forest. Server-rendered, CSS-only: no theme flash or new storage. */
:root{color-scheme:dark;--ink:#edf4ec;--muted:#b6c8bc;--forest:#c9ed8a;--deep:#0b1b13;--lime:#c9ed8a;--cream:#08110e;--line:#354c40;--white:#14241d;--sand:#35422b;--radius:18px;--surface:#14241d;--raised:#1b3026;--teal:#9bded5;--gold:#ecd097;--violet:#d6c1eb}
html,body{background:#08110e;color:#edf4ec}body{font-size:16px;line-height:1.65}::selection{background:#c9ed8a;color:#102416}a{color:#c9ed8a}h1,h2,h3{color:#edf4ec}p{color:inherit}.muted,.lead{color:#b6c8bc}.eyebrow,.light{color:#bedc9e;font-size:14px;letter-spacing:.12em}label{color:#dcebdc;font-size:14px}.small{font-size:14px}.breadcrumbs,.breadcrumbs a{color:#b6c8bc;font-size:14px}.breadcrumbs [aria-current]{color:#dcebdc}
button,.button{background:#c9ed8a;color:#102416;border-color:#c9ed8a;min-height:46px;box-shadow:0 2px 0 #0002;transition:background .15s,border-color .15s,transform .15s}button:hover,.button:hover{background:#d9f6a8;color:#102416;border-color:#d9f6a8}.secondary,.quiet,.save-button,button.chip{background:#1b3026;color:#e0efdc;border-color:#65826c}button.chip{font-size:14px}.secondary:hover,.quiet:hover,.save-button:hover,button.chip:hover{background:#2b4737;color:#f2f8eb;border-color:#a2c38a}.save-button[aria-pressed=true],button[aria-pressed=true].secondary{background:#c9ed8a;color:#102416;border-color:#c9ed8a}button:disabled{opacity:1;background:#263c30;color:#c8d4c8;border-color:#69816e;cursor:not-allowed;box-shadow:none}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus,summary:focus-visible{outline:3px solid #a9e5db;outline-offset:4px}input,select,textarea{color-scheme:dark;background:#0b1913;color:#edf4ec;border-color:#6b8572;font-size:16px;min-height:48px}input::placeholder,textarea::placeholder{color:#b0c1b4;opacity:1}option{background:#0b1913;color:#edf4ec}input[type=checkbox]{accent-color:#c9ed8a}input:disabled,select:disabled{opacity:1;color:#c8d4c8;background:#263c30}input:-webkit-autofill{-webkit-text-fill-color:#edf4ec;-webkit-box-shadow:0 0 0 100px #0b1913 inset}
.site-header{background:#0b1712;border-bottom:1px solid #354c40;box-shadow:0 4px 24px #0002}.header-inner{min-height:78px}.brand,.brand:hover{color:#edf4ec}.brand img{border-radius:12px;box-shadow:0 0 0 1px #54724e}#primary-nav a{color:#d9e9d9}#primary-nav a:hover,#primary-nav a[aria-current=page]{color:#d4f39c;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}#primary-nav .nav-saved{background:#1b3026;border-color:#69846d}.nav-saved span{background:#c9ed8a;color:#102416}.menu-toggle,.menu-toggle:hover{background:#1b3026;color:#edf4ec;border-color:#69846d}.skip{background:#c9ed8a;color:#102416}.toast{background:#c9ed8a;color:#102416;border:1px solid #8fae6f;box-shadow:0 8px 30px #0007}
/* Large white canvases become low-luminance, differentiated surfaces. */
.hero{background:#103225;border:1px solid #466244;box-shadow:0 22px 70px #0003}.hero h1{color:#f1f7eb}.hero h1 em{color:#d3ee96}.hero-lead,.hero-note,.hero .search-help{color:#d0e1d1}.hero .search-row{background:#193e2c;border:1px solid #6c895d;box-shadow:0 10px 28px #0002}.hero .search-row input{background:#0b1913;color:#edf4ec;border:1px solid #69846d;border-radius:7px}.hero .search-row button{background:#c9ed8a;color:#102416}.hero-art{background:#173e2d}.hero-ticket{background:#293f29;color:#edf4d9;border:1px solid #7e9060;box-shadow:0 14px 40px #0004}.hero-ticket strong{color:#edf4d9}.hero-ticket>span{color:#cfdda9;font-size:12px}.pin-label{background:#11271a;color:#eef6db;border-color:#809767;font-size:12px}.hero-quick a{background:#183a2a;color:#e1eed5;border-color:#6b865e}.hero-quick a:hover{background:#c9ed8a;color:#102416}.hero-secondary a{color:#d3eeb0}
.quick-paths a{--tile:#183424;--accent:#c9ed8a;background:var(--tile);color:#edf4ec;border-color:#426048;box-shadow:none}.quick-paths a:nth-child(2){--tile:#133031;--accent:#9bded5;border-color:#416065}.quick-paths a:nth-child(3){--tile:#2c253a;--accent:#d6c1eb;border-color:#665377}.quick-paths a:nth-child(4){--tile:#342d1c;--accent:#ecd097;border-color:#6e6040}.quick-paths a:hover{border-color:var(--accent);box-shadow:0 9px 25px #0004}.quick-paths .path-icon{background:#0b1712;color:var(--accent);border:1px solid #ffffff28}.quick-paths b{color:#edf4ec}.quick-paths small{color:#c4d3c8;font-size:14px}.destination{background:#1a3526;color:#edf4ec;border-color:#496447}.destination-1{background:#342f1e;border-color:#6c5d3c}.destination-2{background:#153136;border-color:#43666c}.destination:hover{border-color:#c9ed8a;box-shadow:0 12px 28px #0003}.destination h3{color:#edf4ec}.destination p{color:#c5d5c6;font-size:14px}.destination-number,.destination-arrow{color:#d6edb6}.destination:after{border-color:#b8d39445;box-shadow:0 0 0 20px #ffffff03,0 0 0 21px #b8d39433,0 0 0 41px #ffffff03,0 0 0 42px #b8d39422}
.tool-band{background:#12281e;color:#edf4ec;border:1px solid #3b5541}.tool-band p{color:#c2d4c5}.tool-links>a{color:#edf4ec;border-color:#3b5541}.tool-links>a:hover{color:#d4f0aa}.tool-links p{color:#b6c8bc}.tool-links>a>span{color:#a8ddc0}.trust{border-color:#354c40}.trust p{color:#b6c8bc}
/* Destination results: the header, filters and cards are different visual layers. */
.explorer-page{padding-top:26px}.explorer-intro{position:relative;background:#123225;border:1px solid #3f6048;border-radius:22px;padding:28px 32px;margin-bottom:24px;box-shadow:0 16px 48px #0002}.explorer-intro .breadcrumbs{margin-bottom:22px}.explorer-intro>h1{font-size:clamp(36px,4.2vw,58px);line-height:1.1;max-width:1080px;margin-bottom:19px;text-wrap:balance;color:#f0f7e9}.explorer-intro>.lead{font-size:18px;color:#c5d8c8;max-width:830px;margin-bottom:18px}.explorer-intro>.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:17px;color:#d2eba9}.explorer-intro>.eyebrow:before{content:'';width:8px;height:8px;background:#c9ed8a;border-radius:50%;box-shadow:0 0 0 5px #c9ed8a16}.explorer-intro .search-form{margin:19px 0 10px;max-width:900px}.explorer-intro .search-help{color:#bed2c1;max-width:860px;margin-bottom:0}.explorer-mode{display:flex;align-items:center;gap:4px;margin-top:22px;width:fit-content;max-width:100%;padding:4px;border:1px solid #506d55;border-radius:10px;background:#0b1e14;font-size:14px}.explorer-mode span,.explorer-mode a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border-radius:7px;text-decoration:none}.explorer-mode span{background:#c9ed8a;color:#102416;font-weight:750}.explorer-mode a{color:#d9edcb}.explorer-mode a:hover{background:#2b4737;color:#edf4ec}.filters{background:#1b2e24;border:1px solid #46644e;border-left:4px solid #c9ed8a;border-radius:13px;padding:20px;margin:0 0 25px;box-shadow:0 7px 24px #0002}.filters label{color:#d9ebd6}.filters>a{color:#cce9a2}.results-summary{padding:15px 19px;background:#101f18;border:1px solid #344c3d;border-radius:12px;margin:24px 0 20px;align-items:center;color:#bacdbd}.results-summary strong{color:#d2efaa;font-size:15px}.results-summary span{font-size:14px}.course-grid{gap:20px}
.course-card{--course-accent:#bacbbd;background:#14241d;border:1px solid #405b48;border-top:3px solid var(--course-accent);color:#edf4ec;padding:22px;box-shadow:0 8px 24px #0002;transition:transform .15s,border-color .15s,box-shadow .15s}.course-card[data-access=public]{--course-accent:#bde698;background:#163022}.course-card[data-access=municipal]{--course-accent:#92d9d1;background:#122d2b}.course-card[data-access=resort]{--course-accent:#ecd097;background:#2a291c}.course-card[data-access=semi-private]{--course-accent:#d6c1eb;background:#242333}.course-card[data-access=private]{--course-accent:#b6cdd5;background:#182730}.course-card[data-access=military]{--course-accent:#f0c494;background:#30251c}.course-card:hover{border-color:var(--course-accent);transform:translateY(-2px);box-shadow:0 14px 35px #0004}.card-heading{margin-bottom:24px;align-items:center}.badge{background:#263b2c;color:#cedfc9;border:1px solid #51684c;font-size:12px;font-weight:650}.course-card .badge{background:#0b181280;color:#c1d0c1;border-color:#607862}.course-card .eyebrow{color:#bdd0bf;font-size:14px;letter-spacing:.06em;margin-bottom:12px}.course-card h3{font-size:21px;line-height:1.3;margin-bottom:16px}.course-card h3 a{color:#f1f6eb}.course-card h3 a:hover{color:var(--course-accent);text-decoration:underline}.course-access{color:#d2e0d1;font-size:14px;line-height:1.5;display:flex;gap:9px;align-items:baseline}.course-access:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--course-accent,#c9ed8a);flex-shrink:0}.card-facts{background:#08140fb0;border:1px solid #52694c;border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:1fr 1.35fr;gap:18px;margin-bottom:21px}.card-facts dt{font-size:14px;color:#b9ccba;line-height:1.5}.card-facts dd{font-size:16px;color:#eaf4df;margin-top:3px}.card-link{border-top:1px solid #4f6549;padding-top:15px;min-height:44px;align-items:center;color:#ddf1bb;text-decoration:none;font-size:14px}.card-link:hover{color:#f0f8df;text-decoration:underline}.card-link>span{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;background:#0b1c14;border:1px solid #718960;border-radius:50%;color:var(--course-accent)}.distance{font-size:14px;color:#b6c8bc}.save-button{box-shadow:none}
.chips a,.pagination a{background:#192f23;color:#dcebd5;border-color:#638064}.chips a:hover,.pagination a:hover{background:#2b4737;color:#f0f8e7;border-color:#afd087}.pagination{color:#b6c8bc}.city-list a{color:#d8edbe;border-color:#354c40}.city-list a:hover{color:#f0f8df}.city-list span{color:#b6c8bc}.panel,.table-scroll,.round-row,.empty-state{background:#14241d;color:#edf4ec;border-color:#46644e;box-shadow:0 8px 26px #0002}.location-panel{background:#142c28;color:#e1f0e5;border-color:#48675c}.coordinates{color:#a7e3d0}.facts>div{border-color:#3d5647}.facts dt,.result-panel .facts dt{color:#b9cebd}.facts dd{color:#edf4ec}.profile-heading .lead{color:#b6c8bc}.profile-tools{background:#203525;border:1px solid #5b7047;color:#dfe9d2}.profile-tools p{color:#c9d9c6}.note,.search-recovery{background:#233b28;color:#deebd5;border-color:#9cbf78}.note p{color:#d5e3ce}.result-panel{background:#163b2b;color:#eaf5df;border:1px solid #76995e;box-shadow:0 10px 28px #0003}.result-panel h2{color:#e5f5c6}.result-panel .eyebrow{color:#cfebb0}.result-panel .metrics>div{background:#10271b;border:1px solid #5b7950;padding:17px;border-radius:10px}.metrics span{color:#c3d6c0}.metrics strong{color:#e4f7c5}.warning,.coverage-card{background:#352c19;color:#f0dbaf;border-color:#967b48}.coverage-card h2{color:#f2dca7}.coverage-card .eyebrow{color:#edd291}.warning strong{color:#ffe2a3}.error,.wx-error{background:#40261f;color:#f5cdbc;border-color:#b9866b}.error h2,.wx-error h2{color:#ffe4cf}.empty-state{border-style:dashed;background:#13281d;color:#c9ddc7}.empty-state h2{color:#e5f2dc}.check-grid article>span{color:#bed49f;font-size:14px}.round-row{background:#10251a}.round-row legend{color:#d5edb6}.prose p,.prose li{color:#c4d5c7;font-size:16px}.prose .eyebrow{color:#c7e39f;font-size:14px}.prose .lead{color:#c7dccc;font-size:19px}.prose h2{color:#d7eaba}.prose .metrics{background:#163522;border:1px solid #567247}.prose code{background:#1d3626;color:#dcecbf;padding:2px 5px;border-radius:4px}
.table-scroll,.wx-table-wrap{background:#11251b;border-color:#45634b}caption{color:#bfd2c1;background:#13291d}th,td{border-color:#354d3d;color:#dce9d8}thead th,.wx-table th{background:#254331;color:#e9f4df}tbody tr:nth-child(even){background:#172e21}tbody th{color:#d5e9cb}tbody td a{color:#d0eda3}.wx-table td,.wx-table th{border-color:#3f5945}.wx-table td:first-child{color:#d8ebc8}
/* Autocomplete remains a real, high-contrast surface in every form. */
.smart-field{color:#edf4ec}.smart-suggestions{background:#14291f;color:#edf4ec;border-color:#799969;box-shadow:0 18px 44px #0009}.smart-option{background:#14291f;color:#edf4ec}.smart-option:hover,.smart-option[aria-selected=true]{background:#304e3c;color:#f2f9e9;box-shadow:inset 3px 0 #c9ed8a}.suggestion-title strong{color:#eef7e5}.suggestion-detail{color:#c0d3c0}.suggestion-kind{background:#c9ed8a;color:#102416}.smart-option[data-kind=coverage]{border-color:#516b55}.smart-option[data-kind=coverage] .suggestion-kind{background:#efd299;color:#312511}.search-help{color:#b6c8bc}.course-picker{background:#1a3528;color:#e2efd9;border-color:#63805b}.picker-status{background:#29472e;color:#e4f4cf;border:1px solid #83a066}.search-interpretation{background:#203b2b;color:#e6f3d9;border-color:#c9ed8a}.search-interpretation span{color:#bed3be}.search-handoff a{color:#d4edb2}.recent-searches{border-color:#354c40}.destination-head{border-bottom:1px solid #344f3b}.destination-stats{border-color:#354c40;color:#c0d1c0;gap:13px}.destination-stats>span{background:#183122;border:1px solid #4e6b4b;border-radius:12px;padding:13px 17px}.destination-stats strong{color:#dbefa8}.state-discovery{background:#14281e;color:#edf4ec;border-color:#45644b;border-top:3px solid #aacc86}.state-discovery:nth-child(3n+2){background:#152b2c;border-top-color:#90d7cf}.state-discovery:nth-child(3n){background:#2a281c;border-top-color:#e0c18c}.state-title h3 a{color:#e6f2dd}.state-code{background:#c9ed8a;color:#102416}.state-count,.destination-cities span{color:#bdcdbd}.destination-cities li{border-color:#486044}.destination-cities a{color:#d5ecb6}.discovery-guide{border-color:#354c40}.discovery-guide p{color:#bfd2c0}.search-guide{background:#183021;color:#deecd2;border:1px solid #506a49}
/* Maps keep their original cartography; only the surrounding interface is themed. */
.context-links a{background:#1a3025;color:#dfead6;border-color:#638064}.context-links a:hover{background:#304c37;color:#f2f8e9}.context-links a[aria-current=page]{background:#c9ed8a;color:#102416}.explore-controls{background:#1a3025;border:1px solid #4f6b50;border-left:4px solid #9bded5}.map-consent{background:#153333;color:#deefea;border-color:#537977}.map-consent h2{color:#e1f6e4}.map-consent p{color:#c0d9d1}.map-consent .eyebrow{color:#aee1d6}.map-result{background:#142a22;border-color:#486756;border-left:3px solid #83cfc2;color:#e7f1e5}.map-result h2 a{color:#e4f1db}.map-result p{color:#bdd2c2}.map-result.is-selected{outline-color:#c9ed8a;background:#254232}.map-status,.wx-status{color:#cee2ca}.map-canvas{background:#12271e;border-color:#668663}.map-canvas .leaflet-popup-content-wrapper,.map-canvas .leaflet-popup-tip{background:#14291f;color:#eaf5e3}.map-canvas .leaflet-popup-content a{color:#d4f2a4}.map-canvas .leaflet-control-zoom a{background:#173322;color:#edf6e5;border-color:#729166}.map-canvas .leaflet-control-zoom a:hover{background:#31503a;color:#fff}.map-canvas .leaflet-control-attribution{background:#11261e;color:#d2e4cf}.map-canvas .leaflet-control-attribution a{color:#d0f2b0}.map-canvas .leaflet-popup-close-button{color:#e2efd9}
.wx-placeholder{background:#143033;color:#c8e0d8;border:1px solid #416b69}.wx-placeholder h2{color:#e3f0e4}.wx-overview{background:#163b38;color:#edf4ec;border:1px solid #608b79}.wx-overview h2{color:#f0f7e9}.wx-overview p{color:#d3e9de}.wx-overview .score{background:#c9ed8a;color:#102416}.wx-window{background:#1c3325;border-color:#67855c}.wx-window strong{color:#e6f5d1}.wx-window p{color:#c4d9bd}.wx-source,.wx-source a{color:#bcd9c6}.wx-source a{color:#d0eda3}.wx-method{background:#152c20;border-color:#4e6c4e;color:#d2e3cc}.score-pill{background:#c9ed8a;color:#102416}.score-pill.low{background:#efd299;color:#382a0f}.upgrade-noscript{background:#352c19;color:#f0dbaf;border:1px solid #967b48}.checklist-group{border-color:#496344}.checklist-item{background:#10281b;color:#dfeeda;border-color:#466443}#checklist-tool label{color:#dcebd4}#checklist-status{color:#d8efb7}#checklist-items h2,#checklist-items h3{color:#d0e8a2}#checklist-items label{background:#152e20;border-color:#476544}#checklist-items label:has(input:checked){background:#284c30;color:#e5f4d5}#checklist-tool input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#c9ed8a}
#checklist-items fieldset,.check-task{border-color:#476044}#checklist-items legend{color:#d8eeb9}.check-task label{padding:9px 12px;border-radius:9px}.check-task:has(input:checked) span{color:#c5dcb6}.check-task:has(input:checked) label{background:#284c30}footer{background:#0a1811;color:#c0d3bd;border-top:1px solid #4a6447}.footer-grid h2{color:#d5eaae}.footer-grid p,.footer-grid .small{color:#b4c9b3}.footer-grid a:not(.brand){color:#d6e8c2}.footer-grid a:hover{color:#f0f8de}.footer-base{color:#b6c8b1;border-color:#354f37;font-size:14px}.footer-base a{color:#d2e9aa}
@media(max-width:1100px){.explorer-intro{padding:25px}.course-card{padding:20px}.card-facts{gap:12px}.hero-ticket strong{font-size:26px}}
@media(max-width:779px){#primary-nav{background:#10231a;border-color:#496448;box-shadow:0 12px 24px #0005}.explorer-page{padding-top:18px}.explorer-intro{padding:23px 20px;border-radius:17px}.explorer-intro>h1{font-size:clamp(33px,7vw,44px);text-wrap:initial}.explorer-intro>.lead{font-size:17px}.explorer-intro .breadcrumbs{margin-bottom:18px}.results-summary{align-items:flex-start;gap:6px}.filters{padding:17px}.course-card{padding:21px}.hero-ticket{border-radius:12px}.destination-stats>span{flex-basis:100%}.course-card:hover{transform:none}}
@media(max-width:510px){.explorer-intro{padding:21px 17px}.explorer-intro>h1{font-size:35px}.explorer-mode{width:100%}.explorer-mode>*{flex:1;padding:9px 11px}.card-facts{grid-template-columns:1fr 1.3fr}.destination p{max-width:none;font-size:14px}.hero .search-row input{min-height:48px}.wx-overview h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){button,.button,.course-card,.quick-paths a{transition:none;transform:none!important}}
@media print{:root{color-scheme:light;--ink:#111;--muted:#333;--cream:#fff;--line:#777}html,body{background:#fff!important;color:#111!important}body *{color:#111!important;background:#fff!important;box-shadow:none!important;text-shadow:none!important}.site-header,footer,.explorer-mode,.smart-suggestions,.hero-art,.recent-searches{display:none!important}.explorer-intro,.course-card,.panel,.result-panel,.round-row,.filters{border:1px solid #777;break-inside:avoid}.course-card{transform:none}.course-access:before{background:#333!important}a{text-decoration:underline}.card-facts{border-color:#aaa}.explorer-intro>h1{font-size:30px}}
