:root{--app-nav-height:calc(78px + env(safe-area-inset-bottom,0px))}
.app-search-intro{padding:20px 0 6px}.app-search-intro h1{font-size:1.65rem;margin:0 0 8px}.app-search-intro p{margin:0;color:#596e61;font-size:.875rem}[data-app-mode] .finder{margin-top:16px}[data-app-mode] .site-header .header-inner{min-height:60px}
html{scroll-padding-bottom:calc(var(--app-nav-height) + 24px)}
body.app-layout{padding-bottom:var(--app-nav-height)}
.app-bottom-nav{position:fixed;inset:auto 0 0;z-index:40;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:#fffffff5;border-top:1px solid #dbe6df;box-shadow:0 -4px 22px #153e2410;backdrop-filter:blur(16px)}
.app-nav-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:720px;margin:auto;gap:4px}
.app-nav-items a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;padding:6px 2px;text-decoration:none;color:#52665a;border-radius:12px;font-size:.8125rem;font-weight:650;line-height:1.35;text-align:center;overflow-wrap:anywhere}
.app-nav-items svg{flex-shrink:0}.app-nav-items a[aria-current=page]{color:#145b3e;background:#eaf4ed;font-weight:800}.app-nav-items a:hover{background:#f0f6f1}.app-nav-items a:focus-visible{outline-offset:-3px}
.app-nav-items span{word-break:keep-all;overflow-wrap:normal}
.app-page{max-width:960px;padding-block:34px 48px}.app-page h1{font-size:clamp(1.8rem,5vw,2.5rem);letter-spacing:-.05em;margin:0 0 10px}.app-page h2{font-size:1.25rem;margin:0 0 12px}.app-page .eyebrow{margin-bottom:8px}.app-page-intro{color:var(--muted);margin:0 0 26px;word-break:keep-all;overflow-wrap:anywhere}
.app-panel{border:1px solid #dbe6df;border-radius:18px;padding:24px;margin-block:20px;background:#fff;box-shadow:0 4px 18px #153e2406}.app-panel p{overflow-wrap:anywhere}.app-panel a{overflow-wrap:anywhere}.app-panel>p:last-child{margin-bottom:0}.app-panel.soft{background:#f3f8f4}.app-panel label{display:block;font-weight:700;margin-bottom:6px}.app-panel input,.app-panel select{max-width:100%;width:100%;min-height:48px;border:1px solid #b8cdbf;border-radius:9px;padding:10px 12px;background:white;color:var(--ink);font:inherit}.app-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.app-form-grid .full-width{grid-column:1/-1}.app-form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.app-form-actions button,.app-form-actions a{min-height:48px;white-space:normal}.app-hint{font-size:.875rem;color:#596e61}.app-status{color:#145b3e;font-weight:650;min-height:1.65em;overflow-wrap:anywhere}.app-status.error{color:#a13424}.app-badge{display:inline-block;background:#e6f1e9;color:#145b3e;border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:750}
.score-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;padding:18px;background:#145b3e;border-radius:14px;color:white;text-align:center}.score-summary span{display:block;font-size:.8125rem;color:#daebdf}.score-summary strong{display:block;font-size:1.5rem;margin-top:4px}.score-table{width:100%;border-collapse:collapse;table-layout:fixed}.score-table th,.score-table td{padding:8px 6px;text-align:center;border-bottom:1px solid #e2eae4}.score-table th{font-size:.875rem;background:#f3f7f3}.score-table th:first-child{width:19%}.score-table input{min-width:0;text-align:center;padding:8px 3px}.score-table caption{text-align:left;font-size:.875rem;color:#596e61;margin-bottom:12px}.score-table td:last-child{font-weight:650}.round-list{list-style:none;margin:0;padding:0}.round-list>li{padding:18px 0;border-bottom:1px solid #e2eae4}.round-list>li:last-child{border:0}.round-list h3{font-size:1.1rem;margin:0 0 6px;overflow-wrap:anywhere}.round-list p{margin:4px 0}.round-list summary{cursor:pointer;min-height:44px;align-content:center}.round-list .round-holes{font-size:.875rem;line-height:1.8;white-space:pre-line}.app-text-button{background:none;border:0;padding:10px 0;min-height:44px;text-decoration:underline;text-underline-offset:3px;color:#785146;font:inherit}.guide-steps{padding-left:24px}.guide-steps li{padding:8px 0}.app-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.app-tile-grid .app-panel{margin:0}.app-page a.outline-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:48px}
@media(max-width:680px){.app-page{padding-block:25px 32px}.app-panel{padding:18px}.app-form-grid,.app-tile-grid{grid-template-columns:minmax(0,1fr)}.app-form-grid .full-width{grid-column:auto}.score-summary{gap:6px;padding:16px 8px}.app-form-actions>*{flex:1}.app-form-actions{gap:10px}.app-nav-items{gap:2px}.app-nav-items a{font-size:.75rem}.score-table th,.score-table td{padding-inline:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.guide-shortcuts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.guide-shortcuts a{padding:12px 16px;background:#eaf3ed;color:#145b3e;border-radius:30px;text-decoration:none;font-weight:700;min-height:44px}.guide-detail{border-top:1px solid #dbe6df;padding:6px 0}.guide-detail summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:700}.guide-detail p,.guide-detail li,.guide-terms dd{line-height:1.8}.guide-terms{margin:0}.guide-terms dt{font-weight:750;margin-top:12px}.guide-terms dd{margin:4px 0 16px}.visit-checks{display:grid;gap:10px}.app-panel .visit-checks label{display:flex;align-items:flex-start;gap:12px;min-height:52px;padding:14px;background:#fff;border:1px solid #dbe6df;border-radius:10px;margin:0;cursor:pointer;font-weight:500}.app-panel .visit-checks input{width:22px;min-width:22px;height:22px;min-height:22px;margin:2px 0 0;accent-color:#145b3e}.visit-checks label:has(input:checked){border-color:#76a68a;background:#eaf5ed}.checklist-progress{font-weight:750;color:#145b3e}.favorite-button{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;background:#fff;border:1px solid #adc8b8;border-radius:10px;font:inherit;color:#145b3e;cursor:pointer}.favorite-button[aria-pressed="true"]{background:#e4f2e8;border-color:#145b3e;font-weight:700}.favorite-button:disabled{opacity:.6;cursor:not-allowed}.favorite-control{margin:10px 0}.favorite-control p{margin:4px 0}.favorite-control p:empty{display:none}.update-list{list-style:none;padding:0;margin:0}.update-list li{padding:20px 0;border-top:1px solid #dbe6df}.update-list time{font-size:.875rem;color:#526c5b}.update-list h3{font-size:1.1rem;margin:8px 0}.guide-shortcuts a:focus-visible,.favorite-button:focus-visible,.guide-detail summary:focus-visible{outline:3px solid #df9c35;outline-offset:3px}#visit-checklist,#beginner,#faq{scroll-margin-top:24px}
.app-confirm{width:min(440px,calc(100% - 32px));max-height:80dvh;overflow:auto;padding:24px;border:1px solid #dbe6df;border-radius:18px;color:var(--ink);box-shadow:0 20px 80px #0003}.app-confirm::backdrop{background:#14241bb3}.app-confirm h2{font-size:1.25rem;margin:0 0 12px}.app-confirm p{overflow-wrap:anywhere}.app-confirm .app-form-actions>*{flex:1}

/* One-hole scoring with a shared, local 1–4 player scorecard. */
.score-workspace{max-width:680px;margin-inline:auto}.score-workspace summary{padding:12px 0;min-height:44px;cursor:pointer;font-weight:700;color:#145b3e}.score-workspace #player-names{margin-top:18px}.score-workspace #start-score{width:100%}.hole-navigation{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;margin:16px 0;text-align:center}.hole-navigation button{min-height:48px;border:1px solid #d7e4db;background:#f1f6ee;border-radius:12px;font-size:1.7rem;color:#145b3e}.hole-navigation h2{font-size:1.7rem;margin:0}.hole-navigation p{font-size:.875rem;margin:0;color:#5a6c60}.hole-strip{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.hole-strip button{padding:4px 0;min-height:44px;border:1px solid #dce6df;border-radius:8px;background:white;color:#486152;font:inherit;font-size:.85rem}.hole-strip button.is-complete{background:#eaf3d9}.hole-strip button[aria-pressed=true]{background:#145b3e;color:white;border-color:#145b3e}.score-workspace .active-par{display:flex;align-items:center;justify-content:center;gap:10px;margin:16px 0 0;font-size:.875rem}.score-workspace .active-par select{width:70px;min-height:40px;padding:6px}.par-note{text-align:center;margin:4px 0 14px;font-size:.75rem}.player-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.player-board>button:only-child{grid-column:1/-1}.player-board button{display:grid;gap:3px;text-align:left;min-width:0;border:1px solid #d8e4dc;border-radius:12px;background:#f4f7f1;padding:10px 12px;color:#214532;font:inherit;overflow-wrap:anywhere}.player-board strong{font-size:1rem}.player-board span{font-size:1.1rem;font-weight:750}.player-board small{font-size:.75rem}.player-board button[aria-pressed=true]{background:#145b3e;color:white;border-color:#145b3e}.score-entry-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;color:#145b3e;overflow-wrap:anywhere}.score-entry-heading strong{font-size:1.5rem;flex-shrink:0}.score-workspace .score-entry-heading+p{font-size:.75rem;margin:4px 0 12px}.score-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.score-keypad button{min-height:64px;padding:8px;background:#edf3e6;color:#183e28;border:1px solid #d6e3c9;border-radius:12px;box-shadow:0 2px 0 #c5d5ba;font:inherit;font-size:1.7rem;font-weight:800}.score-keypad button:active{background:#dcef9b;transform:translateY(1px)}.score-edit-actions{display:flex;justify-content:space-between;gap:8px}.score-edit-actions button,.score-manual button{background:none;border:0;color:#145b3e;min-height:44px;font:inherit;font-size:.85rem;text-decoration:underline}.score-workspace button:disabled{opacity:.4;cursor:default}.score-manual>div{display:flex;gap:12px}.score-manual input{max-width:140px}.score-table-scroll{overflow:auto}.score-overview .score-table{min-width:360px}.score-overview .score-table th{overflow-wrap:anywhere;width:auto}.score-overview .score-table button{border:0;background:none;color:#145b3e;min-height:44px;font:inherit;padding:0}.score-progress{text-align:center;font-size:.875rem}.score-finish{width:100%;min-height:52px}.score-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem}.score-workspace [hidden]{display:none!important}.score-workspace #active-hole{scroll-margin-top:24px}.score-workspace .app-status{font-size:.8rem}.score-workspace button:focus-visible{outline:3px solid #bf8425;outline-offset:2px}
@media(max-width:400px){.score-workspace{padding:14px}.hole-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.score-keypad button{min-height:58px}.player-board button{padding:9px}}
.score-in-progress main>.eyebrow,.score-in-progress main>h1,.score-in-progress main>.app-page-intro,.score-in-progress main>.storage-notice{display:none}.score-in-progress .app-page{padding-top:8px}.score-in-progress .score-workspace{margin-top:0}.score-in-progress .site-footer{display:none}.score-workspace .hole-strip{display:flex;overflow-x:auto;gap:5px;padding:2px 1px 6px}.score-workspace .hole-strip button{flex:0 0 44px}.score-workspace .player-board button{padding:8px 10px;gap:1px}.score-workspace .player-board span{font-size:1rem}.score-workspace .player-board small{font-size:.7rem}.score-workspace .hole-navigation{margin:10px 0}.score-workspace .active-par{margin-top:8px}.score-workspace .par-note{margin-bottom:10px}.score-in-progress #score-play{scroll-margin-top:8px}
.score-workspace .player-board strong{line-height:1.3}.score-workspace .player-board span{line-height:1.3}.score-workspace .player-board small{line-height:1.4}.score-workspace .hole-strip{scrollbar-width:none;padding-bottom:2px}.score-workspace .hole-strip::-webkit-scrollbar{display:none}.score-workspace .active-par{margin-top:6px}.score-workspace .par-note{font-size:.7rem;margin:2px 0 8px}

/* Shared representative images for the five web and app menu pages. */
.app-menu-visual{position:relative;overflow:hidden;margin:0 0 24px;border-radius:20px;background:#e3eae0;box-shadow:0 5px 18px #20372b0d;isolation:isolate}
.app-menu-visual img{display:block;width:100%;height:clamp(170px,28vw,300px);object-fit:cover;object-position:center}
.app-menu-visual figcaption{position:absolute;right:10px;bottom:9px;border-radius:6px;background:#14271cc9;padding:4px 7px;color:#fff;font-size:.625rem;line-height:1.4;letter-spacing:0}
.app-menu-visual--score img{height:clamp(140px,23vw,250px)}
.hero:has(.app-menu-visual){row-gap:24px}
.hero>.app-menu-visual{grid-column:1/-1;margin:0}
.hero>.app-menu-visual img{height:clamp(140px,22vw,260px)}
.score-in-progress .app-menu-visual{display:none}
@media(max-width:680px){.app-menu-visual{border-radius:16px;margin-bottom:20px}.hero>.app-menu-visual{margin-top:20px}}

/* Short, shared learning content for website and ad-free app routes. */
.learning-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;padding:14px 20px;margin:18px 0 26px;border:1px solid #d6e3d8;border-radius:16px;background:#f2f6ef;color:#174a36;font-size:.9rem}
.learning-links a{display:inline-flex;align-items:center;min-height:44px;color:#176347;text-decoration:underline;text-underline-offset:4px}
.learning-panel{scroll-margin-top:24px}.learning-panel>p{max-width:70ch}
.learning-panel>.gear-back{display:block;margin-bottom:12px}
.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.rule-card{min-width:0;padding:18px;border:1px solid #dbe5dd;border-radius:18px;background:#f9fbf7}
.rule-drawing{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:16px;background:#edf3e8;color:#203f30;font-family:inherit;font-size:25px;font-weight:750}
.rule-step{color:#54705c;font-size:.8rem;font-weight:700;letter-spacing:.03em}
.rule-card h3{margin:7px 0 10px;font-size:1.1rem}.rule-card p{margin:0 0 12px;line-height:1.8;font-size:.95rem}
.rule-card a,.equipment-card a{display:block;padding:8px 0;color:#176347;font-weight:700;text-underline-offset:4px}
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}
.equipment-card{min-width:0;border:1px solid #dbe5dd;border-radius:16px;padding:20px;background:#fff}
.equipment-priority{display:inline-block;padding:4px 9px;border-radius:7px;background:#e3efdf;color:#225338;font-size:.8rem;font-weight:750}.equipment-priority.optional{background:#fcf0d7;color:#72511b}
.equipment-card h3{margin:14px 0;font-size:1.1rem}.equipment-card dt{font-weight:750;font-size:.875rem;color:#32513e;margin-top:16px}.equipment-card dd{margin:4px 0 0;font-size:.9rem;line-height:1.8;color:#4c6054}.equipment-card a{font-size:.875rem}
#checklist-facilities{font-size:.9rem;line-height:1.8;color:#4c6054;margin:16px 0}
@media(max-width:760px){.equipment-grid{grid-template-columns:1fr}.equipment-card{padding:18px}.learning-links{gap:2px 16px;padding:10px 16px}.learning-links strong{width:100%}}
@media(max-width:540px){.rule-grid{grid-template-columns:1fr}.rule-card{padding:16px}.rule-drawing{max-height:145px}.learning-panel{padding:20px 16px}}
