:root{--green:#163e32;--dark:#102c24;--lime:#d8ed9a;--cream:#f5f6f0;--ink:#223f34;--muted:#768278;--line:#e0e6da}*{box-sizing:border-box}body{margin:0;background:var(--cream);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8ca550;outline-offset:3px}a{color:inherit}aside{position:fixed;inset:0 auto 0 0;width:230px;padding:32px 24px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{font-size:25px;line-height:.96;font-weight:800;letter-spacing:-1px;text-decoration:none;display:flex;align-items:center;gap:12px}.brand-icon{font-size:46px;font-weight:400;transform:rotate(-25deg)}.brand-dot{color:#8ea866}.side-caption{font-size:9px;letter-spacing:1.9px;color:var(--muted);margin:40px 10px 20px}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;gap:13px;border:0;background:transparent;padding:14px;border-radius:9px;text-align:left;color:var(--muted)}nav button .nav-icon{font-size:21px;width:23px;text-align:center}nav button span:last-child{font-size:12px;font-weight:650}nav button.selected{background:var(--green);color:var(--lime)}.side-bottom{margin-top:auto;padding-top:25px;border-top:1px solid var(--line);display:flex;gap:11px;align-items:center;font-size:12px}.side-bottom small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#e4ecd7;font-size:14px;font-weight:700}.avatar.peach{background:#f3decb}.avatar.blue{background:#dce8ef}.avatar.purple{background:#e7def0}.avatar.big{width:86px;height:86px;font-size:29px;border:4px solid #fff}.avatar.dark{background:#2d5946;color:var(--lime)}main{margin-left:230px;padding:0 45px;max-width:1600px}header{height:85px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:var(--muted)}.prototype-pill{display:flex;gap:7px;align-items:center;letter-spacing:0;font-size:10px;border:1px solid var(--line);padding:6px 10px;border-radius:20px}.prototype-pill span{width:6px;height:6px;border-radius:50%;background:#88a65b}#content{padding-top:32px}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:27px}h1{font-size:34px;letter-spacing:-1.4px;line-height:1.2;font-weight:650;margin:5px 0 9px}h2{font-size:25px;letter-spacing:-.8px;line-height:1.3;margin:12px 0}h3{font-size:15px;margin:0 0 9px;font-weight:650}p{margin:0 0 15px}.sub{font-size:12px;color:var(--muted)}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700}.primary,.secondary,.danger{border:0;border-radius:7px;padding:13px 18px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:23px;font-weight:650}.primary{background:var(--green);color:white}.primary:hover{background:#2b5b46}.primary.lime{background:var(--lime);color:var(--dark)}.secondary{border:1px solid var(--line);background:#fff;color:var(--green)}.danger{background:#fae5dc;color:#93482c}.text-button{padding:7px 0;background:none;border:0;color:var(--green);font-size:11px;font-weight:600}.text-button:hover{text-decoration:underline}.hero{position:relative;overflow:hidden;min-height:300px;border-radius:14px;background:var(--green);padding:35px;color:white;display:flex;align-items:center}.hero-copy{position:relative;z-index:1;max-width:60%}.hero .eyebrow{color:var(--lime)}.hero h2{font-size:43px;font-weight:550;line-height:1.12;letter-spacing:-1.9px;margin:19px 0}.hero p{max-width:340px;font-size:12px;color:#c0d0c2;line-height:1.8;margin-bottom:23px}.hero-art{position:absolute;right:0;top:0;width:50%;height:100%}.hero-note{position:absolute;right:25px;bottom:18px;font-size:8px;letter-spacing:2px;color:#b8cdac}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:27px 0 14px}.section-title h3{margin:0}.section-title .eyebrow{color:var(--muted)}.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.main-side{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.card{background:white;border:1px solid var(--line);border-radius:11px;padding:23px;min-width:0}.metric{padding:22px}.metric-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.metric strong{display:block;font-size:31px;letter-spacing:-1px;font-weight:550;margin:11px 0 6px}.metric small{color:var(--muted);font-size:10px}.callout{background:#e9efdd;border:0}.callout h2{font-size:25px;margin:18px 0 13px}.callout p{font-size:12px;line-height:1.8;color:#61785e}.row{display:flex;align-items:center;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row-main{flex:1;min-width:0}.row-main h3{font-size:13px;margin:0 0 5px}.row-main p{margin:0;font-size:11px;color:var(--muted)}.badge{display:inline-block;background:#edf2e2;border-radius:20px;padding:5px 9px;font-size:9px;white-space:nowrap}.badge.orange{background:#f9e8d9;color:#946b42}.badge.dark{background:#315744;color:var(--lime)}.note{font-size:11px;color:var(--muted);line-height:1.7}.notice{font-size:11px;color:#5e735e;background:#eaf0e2;border-radius:7px;padding:12px 15px;margin:17px 0}.empty{padding:28px 12px;text-align:center;color:var(--muted)}.empty .empty-icon{font-size:33px;color:#96aa73;margin-bottom:12px}.empty h3{color:var(--green)}.empty p{font-size:12px;line-height:1.8}.empty button{margin-top:7px}.tools{display:flex;align-items:center;gap:10px;margin-bottom:22px}.search{position:relative;flex:1}.search input{margin:0;padding-left:37px}.search>span{position:absolute;top:10px;left:14px;color:var(--muted)}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #cfdbcc;border-radius:7px;background:#fbfcf8;color:var(--green);margin-top:7px;min-height:44px}textarea{resize:vertical;min-height:85px}label{display:block;font-size:11px;font-weight:600;margin:16px 0}label.checkbox{display:flex;gap:10px;align-items:center;background:#f5f7ef;padding:11px;border-radius:7px;margin:8px 0;font-weight:500}input[type=checkbox]{display:inline-block;width:17px;min-height:17px;height:17px;margin:0;accent-color:var(--green)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.course-card{padding:0;overflow:hidden}.course-art{height:145px;position:relative;background:#b9cba0;overflow:hidden}.course-art svg{width:100%;height:100%}.course-art .badge{position:absolute;top:13px;left:13px;background:#f7f8eddd}.course-body{padding:20px}.course-body p{font-size:11px;color:var(--muted);margin:6px 0 17px}.course-actions{display:flex;gap:10px;justify-content:space-between;align-items:center}.course-actions .primary{font-size:10px;padding:10px 13px}.course-name{font-size:16px}.map-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px}.map-panel{background:#d2dec1;position:relative;border-radius:12px;overflow:hidden;min-height:400px}.map-panel svg{width:100%;height:450px;display:block}.map-overlay{position:absolute;top:17px;left:17px;right:17px;display:flex;justify-content:space-between;align-items:flex-start}.map-overlay .map-label{background:#fffffff0;padding:11px 14px;border-radius:8px;box-shadow:0 2px 8px #223f3410}.map-label strong{display:block;font-size:17px}.map-label small{font-size:9px;color:var(--muted)}.map-disclaimer{position:absolute;bottom:14px;left:15px;right:15px;background:#ffffffe8;padding:7px 10px;text-align:center;font-size:9px;border-radius:5px;color:#64795e}.map-controls{display:flex;justify-content:space-between;gap:10px;margin:14px 0}.distance-big{font-size:48px;line-height:1.2;letter-spacing:-2px;display:block;margin:20px 0 0}.distance-big small{font-size:15px;letter-spacing:0}.distance-grid{display:flex;gap:25px;margin:20px 0}.distance-grid strong{display:block;font-size:22px}.distance-grid small{font-size:9px;color:var(--muted)}.club-recommendation{display:flex;gap:15px;align-items:center;background:#eef3e3;padding:15px;border-radius:9px;margin:20px 0}.club-recommendation .club-letter{width:48px;height:48px;background:white;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:17px;font-weight:700}.club-recommendation h3{font-size:13px;margin:0 0 5px}.club-recommendation p{font-size:10px;color:var(--muted);margin:0}input[type=range]{padding:0;border:0;background:none;accent-color:var(--green)}.club-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.club-row:last-child{border:0}.club-icon{height:43px;background:#eff3e7;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.club-row h3{margin:0;font-size:13px}.club-row p{font-size:10px;margin:5px 0 0;color:var(--muted)}.club-distance{text-align:right;font-size:21px;font-weight:600}.club-distance small{font-size:10px;font-weight:400}.club-actions{display:flex;gap:10px}.distance-bar{margin-top:9px;height:4px;background:#edf0e7;border-radius:4px;overflow:hidden}.distance-bar span{display:block;height:100%;background:#a4b97c;border-radius:4px}.profile-hero{background:var(--green);color:white;border-radius:12px;overflow:hidden;position:relative;padding:32px;display:flex;gap:22px;align-items:center}.profile-hero .avatar{position:relative;z-index:1}.profile-hero h1{font-size:28px}.profile-hero p{color:#c6d6c4;font-size:12px}.profile-hero .primary{margin-left:auto;position:relative;z-index:1}.profile-hero .hero-art{opacity:.35}.profile-content{position:relative;z-index:1}.profile-meta{display:flex;gap:9px;flex-wrap:wrap}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:23px 0}.tabs button{padding:12px 0;border:0;background:none;font-size:12px;color:var(--muted)}.tabs button.selected{color:var(--green);border-bottom:2px solid var(--green);font-weight:650}.game-card{position:relative;padding:25px}.game-icon{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:12px;background:#e9efd8;font-size:24px;margin-bottom:22px}.game-card h2{font-size:21px;margin-bottom:9px}.game-card p{font-size:12px;line-height:1.8;color:var(--muted)}.game-card .badge{position:absolute;right:20px;top:23px}.game-card button{margin-top:7px}.game-card.dark{background:var(--green);color:white;border:0}.game-card.dark p{color:#bfd0c2}.game-card.dark .game-icon{background:#335c45;color:var(--lime)}.hole-nav{display:flex;gap:7px;overflow:auto;padding:5px 2px 15px;margin:15px 0}.hole-nav button{flex-shrink:0;width:37px;height:37px;border-radius:50%;border:1px solid var(--line);color:var(--green);background:white;font-size:11px}.hole-nav button.active{background:var(--green);color:white}.hole-nav button.done{border:2px solid #a5b978}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.score-entry{display:flex;align-items:center;gap:10px;padding:17px 0;border-bottom:1px solid var(--line)}.score-entry:last-child{border:0}.score-entry .row-main h3{margin-bottom:3px}.stepper{display:flex;gap:9px;align-items:center}.stepper button{width:36px;height:36px;border:0;background:#edf2e2;color:var(--green);border-radius:50%;font-size:20px}.stepper b{font-size:23px;font-weight:550;text-align:center;min-width:27px}.score-entry .putts{width:57px;margin:0;padding:7px;font-size:12px;text-align:center}.score-entry .putt-label{font-size:8px;color:var(--muted);display:block;text-align:center;margin:0}.putt-label input{margin-top:3px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}.scorecard-wrap{overflow:auto;max-height:360px}.scorecard{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.scorecard th,.scorecard td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:center}.scorecard th:first-child,.scorecard td:first-child{text-align:left}.scorecard th{font-weight:600}.scorecard td.good{color:#437535;background:#f3f6eb}.standings{margin-top:18px}.standings .row{padding:11px 0}.standings strong{font-size:19px}.game-rule{font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px}.mini-stat{background:#edf2e1;padding:8px 12px;border-radius:7px;display:inline-block;font-size:11px}.ctp-grid{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:10px}.ctp-grid input{margin:0}.onboarding{display:grid;grid-template-columns:1fr 1fr;min-height:480px;border-radius:15px;overflow:hidden;background:white;border:1px solid var(--line)}.onboarding-story{background:var(--green);color:white;padding:40px;position:relative;overflow:hidden}.onboarding-story .hero-art{width:100%;top:auto;bottom:0;height:55%;opacity:.65}.onboarding-story h1{font-size:42px;max-width:300px}.onboarding-story p{color:#c4d5c5;max-width:280px;font-size:13px;line-height:1.8}.onboarding-form{padding:32px}.onboarding-form .primary{width:100%;margin-top:12px}.onboarding-form h2{font-size:26px}dialog{width:480px;max-width:calc(100% - 28px);max-height:90vh;overflow:auto;border:0;border-radius:13px;color:var(--green);padding:29px;box-shadow:0 15px 80px #142c3340}dialog.wide{width:610px}dialog::backdrop{background:#0c251ebb}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head button{border:0;background:none;font-size:23px;color:var(--green);padding:4px 8px}.modal-head .eyebrow{color:var(--muted)}dialog h2{margin:18px 0 9px}dialog form>.primary{width:100%;margin-top:20px}.field-note{font-size:10px;color:var(--muted);margin-top:6px}.inline-checks{display:flex;gap:10px;flex-wrap:wrap}.inline-checks .checkbox{flex:1;white-space:nowrap}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 20px;max-width:90%;border-radius:8px;background:var(--green);color:white;box-shadow:0 4px 30px #143d2f20;font-size:12px;z-index:30;display:none}footer{padding:29px 0 23px;display:flex;gap:20px;justify-content:space-between;font-size:8px;letter-spacing:1.8px;color:#929e8e}footer span:last-child{letter-spacing:0}.profile-bio{max-width:500px;font-size:13px!important}.result-banner{background:var(--green);color:white;border-radius:10px;padding:23px;margin-bottom:20px}.result-banner h2{margin:0 0 10px;font-size:25px}.result-banner p{margin:0;color:#cbdabe;font-size:12px}.club-log-list{max-height:145px;overflow:auto;display:flex;gap:6px;flex-wrap:wrap}.club-log-list .badge{height:fit-content}.profile-heading-actions{display:flex;gap:10px;flex-wrap:wrap}.active-card{border-color:#a2b977;background:#f2f6e8}.active-card .row{padding:0;border:0}.standings .name{flex:1;font-size:12px}.rank{font-size:10px;color:var(--muted);width:20px}.round-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.round-title h1{margin-right:auto}.par-select{width:75px;display:inline-block;margin:0;padding:8px;font-size:12px;min-height:35px}.inline-label{display:flex;align-items:center;gap:10px;margin:0;font-size:11px}.small-info{margin:0;color:var(--muted);font-size:10px}.demo-banner{background:#fff;border:1px dashed #b3c2a5;border-radius:8px;padding:12px 15px;font-size:11px;color:#6c7c65;margin-bottom:23px}.friend-requests{display:flex;align-items:center;gap:10px}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
h1,h2,h3,.profile-bio,.row-main{overflow-wrap:anywhere}.text-button{min-height:44px}.stepper button{width:44px;height:44px}.hole-nav button{width:44px;height:44px}
@media(min-width:1450px){main{padding:0 65px}.hero{min-height:340px}}@media(max-width:1080px){aside{width:190px;padding:30px 16px}main{margin-left:190px;padding:0 25px}.grid.three{gap:11px}.hero h2{font-size:36px}.hero-copy{max-width:65%}.club-row{gap:10px}.club-actions{flex-direction:column;gap:0}.game-card{padding:21px}.map-layout,.play-layout{gap:15px}}
@media(max-width:760px){aside{inset:auto 0 0;width:100%;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-right:0;height:calc(72px + env(safe-area-inset-bottom))}.brand,.side-caption,.side-bottom{display:none}nav{display:flex;gap:0;justify-content:space-around}nav button{flex-direction:column;gap:2px;padding:4px 11px;text-align:center}nav button span:last-child{font-size:9px}nav button .nav-icon{font-size:20px}main{margin:0;padding:0 18px calc(85px + env(safe-area-inset-bottom))}header{height:57px;font-size:8px;letter-spacing:1px}.prototype-pill{font-size:8px;padding:5px 8px}#content{padding-top:25px}h1{font-size:28px;letter-spacing:-1px}.page-heading{gap:9px;align-items:flex-start;margin-bottom:22px}.page-heading .primary,.page-heading .secondary{padding:11px 13px;font-size:10px;gap:8px;white-space:nowrap}.hero{padding:28px;min-height:315px}.hero-copy{max-width:88%}.hero h2{font-size:38px}.hero-art{width:85%;right:-95px;opacity:.5}.hero-note{display:none}.hero p{max-width:245px}.grid.main-side,.grid.two,.map-layout,.play-layout{grid-template-columns:1fr}.grid.three{gap:8px}.metric{padding:16px 12px}.metric-label{font-size:9px}.metric strong{font-size:26px}.metric small{font-size:8px}.card{padding:20px}.grid.course-grid,.grid.game-grid{grid-template-columns:1fr}.course-card{padding:0}.course-art{height:150px}.course-body{padding:20px}.tools{flex-wrap:wrap}.tools .search{min-width:65%}.tools>.secondary{padding:12px;font-size:11px}.map-panel{min-height:370px}.map-panel svg{height:400px}.club-row{grid-template-columns:38px minmax(0,1fr) auto;gap:10px}.club-icon{height:38px}.club-actions{grid-column:2/4;flex-direction:row;gap:18px;margin-top:-7px}.club-distance{font-size:20px}.profile-hero{padding:25px;gap:15px;flex-wrap:wrap}.profile-hero .avatar.big{width:65px;height:65px;font-size:24px}.profile-hero h1{font-size:24px}.profile-hero .primary{margin:0}.profile-content{max-width:calc(100% - 80px)}.profile-hero .profile-bio{font-size:11px!important}.profile-meta{gap:5px}.profile-meta .badge{font-size:8px}.profile-hero .hero-art{right:-80px}.onboarding{grid-template-columns:1fr}.onboarding-story{padding:27px;min-height:255px}.onboarding-story h1{font-size:35px;max-width:220px}.onboarding-story p{max-width:240px;font-size:11px}.onboarding-story .hero-art{width:75%;height:100%;right:-100px;top:0}.onboarding-form{padding:25px}.onboarding-story>*:not(svg){position:relative;z-index:1}.score-entry{gap:8px}.score-entry .avatar{width:32px;height:32px;font-size:11px}.stepper{gap:5px}.stepper button{width:35px;height:35px}.stepper b{font-size:21px;min-width:25px}.score-entry .putts{width:48px}.score-entry .row-main h3{font-size:12px}.score-entry .row-main p{font-size:9px}.actions{gap:8px}.actions>.primary,.actions>.secondary{font-size:11px;padding:12px 15px}footer{flex-direction:column;gap:8px;font-size:8px;padding-bottom:15px}#toast{bottom:92px;width:calc(100% - 35px);text-align:center}.friend-requests{flex-direction:column;gap:4px;align-items:flex-end}.form-grid{gap:10px}.tabs{gap:17px}.tabs button{font-size:11px}.page-heading .profile-heading-actions{flex-direction:column;gap:6px}.round-title h1{font-size:24px}.inline-checks{gap:6px}.inline-checks .checkbox{font-size:10px;padding:8px}.row .primary,.row .secondary{padding:10px 12px;font-size:10px;gap:7px}.grid.game-grid .game-card{padding:25px}.demo-banner{font-size:10px}.section-title .eyebrow{font-size:8px}.distance-grid{justify-content:space-between;gap:10px}}
@media(max-width:760px){.stepper button{width:44px;height:44px}.hole-nav button{width:44px;height:44px}}@media(max-width:380px){.score-entry .avatar{display:none}}

.hole-yardages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 12px;margin-top:12px;border:1px solid var(--line);border-radius:9px;background:#fff;text-align:center}.hole-yardages small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted)}.hole-yardages strong{font-size:23px;font-weight:600}.hole-yardages span{font-size:10px;font-weight:400}.round-map-column .small-info{margin-top:8px;text-align:center}.round-game-cards{margin-top:22px}@media(max-width:760px){.round-game-cards{grid-template-columns:1fr}.round-map-column .map-panel,.round-map-column .map-panel svg{min-height:0;height:330px}}

nav .nav-icon{display:inline-flex;align-items:center;justify-content:center}nav .nav-icon svg{display:block;width:27px;height:27px;flex-shrink:0}.discard-button{color:#98482e;padding:10px}.actions .text-button{padding-left:8px;padding-right:8px}

.real-course-map iframe{display:block;width:100%;height:420px;border:1px solid var(--line);border-radius:11px;background:#e8eedf}.real-course-map .notice{margin:10px 0 0}.handicap-chart{display:block;width:100%;max-height:220px;margin:10px 0 20px}@media(max-width:760px){.real-course-map iframe{height:340px}}

.hole-artwork{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.drawing-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.drawing-header h3{margin:5px 0 0;font-size:19px}.drawing-viewport{display:block;width:100%;height:390px;background:white}.drawing-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 18px;font-size:10px;color:var(--muted)}.hole-artwork .notice{margin:0;border-radius:0;padding:12px 18px}.full-hole-drawing{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain}@media(max-width:760px){.drawing-viewport{height:310px}.drawing-header{padding:14px 16px}.drawing-header h3{font-size:17px}.drawing-footer{flex-wrap:wrap;gap:0}}

.brand{background:var(--green);padding:16px 10px;border-radius:9px;min-height:73px}.wordmark{width:100%;height:auto;display:block}.rg-monogram{width:27px;height:42px;margin-right:12px;padding:4px;background:var(--green);border-radius:5px;flex-shrink:0}#breadcrumb{margin-right:auto}.welcome-wordmark{display:block;width:230px;max-width:100%;height:auto;margin-bottom:30px}.gps-map{height:480px;background:#eaf0e0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.gps-entry{padding-bottom:15px}.geo-marker{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:2px solid white;border-radius:50%;color:white;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0004}.gps-map .empty{padding:60px 20px}.gps-map canvas{outline:none}.gps-map .maplibregl-ctrl-attrib{font-size:9px}@media(max-width:760px){.gps-map{height:350px}.rg-monogram{width:21px;height:34px;margin-right:8px}.gps-map .empty{padding:35px 20px}}

.aerial-round{position:relative;border-radius:14px;overflow:hidden;background:#20392c}.gps-map.round-full-map{height:740px;max-height:85vh;border:0;border-radius:0;background:#20392c}.aerial-placeholder{color:white;text-align:center;padding:170px 30px}.aerial-placeholder p{font-size:12px;color:#c6d6c2}.aerial-hud{position:absolute;top:18px;left:18px;right:70px;display:grid;grid-template-columns:.7fr 1.25fr .6fr 1fr;gap:8px;z-index:2;background:#14201ce8;color:white;border-radius:12px;padding:14px 16px;pointer-events:none}.aerial-hud small{font-size:8px;color:#b9c7b9;display:block;letter-spacing:1px}.aerial-hud strong{font-size:26px;font-weight:600;white-space:nowrap}.aerial-hud strong span{font-size:10px;margin-left:3px}.aerial-tools{position:absolute;right:14px;top:135px;display:grid;gap:7px;z-index:2}.aerial-tools button{min-height:47px;background:#14201ceb;color:#fff;border:1px solid #fff2;border-radius:10px;padding:10px;font-size:10px}.aerial-bottom{position:absolute;bottom:28px;left:18px;right:18px;background:#14201ce8;color:white;border-radius:12px;padding:14px 16px;z-index:2}.aerial-status{font-size:10px;line-height:1.5;margin:0 0 6px;color:#d0dbca}.aerial-target{font-size:15px;padding:6px 0 12px;color:var(--lime)}.aerial-bottom-actions{display:flex;gap:8px;align-items:center;justify-content:space-between}.aerial-bottom .secondary{background:#ffffff15;border-color:#ffffff25;color:white;padding:11px}.aerial-bottom .primary{padding:11px}.round-full-map .maplibregl-ctrl-bottom-right{max-width:95%}.round-full-map .maplibregl-ctrl-attrib{font-size:8px;line-height:12px}.round-full-map .maplibregl-ctrl-top-right{right:3px;top:8px}@media(max-width:760px){.gps-map.round-full-map{height:690px;max-height:none}.aerial-hud{left:10px;top:12px;right:53px;gap:7px;padding:12px 11px}.aerial-hud strong{font-size:22px}.aerial-hud small{font-size:7px;letter-spacing:0}.aerial-tools{right:9px;top:120px}.aerial-bottom{left:10px;right:10px;padding:12px;bottom:40px}.aerial-bottom-actions{gap:5px}.aerial-bottom-actions .primary,.aerial-bottom-actions .secondary{font-size:10px;padding:10px 9px}.aerial-placeholder{padding:180px 65px}.tabs{overflow-x:auto;white-space:nowrap;gap:15px}}

.round-score-overlay{position:absolute;z-index:4;top:110px;left:16px;right:100px;background:rgba(255,255,255,.96);border-radius:20px;padding:18px;max-height:48%;overflow:auto;box-shadow:0 8px 30px #0005}.round-score-overlay[hidden]{display:none}.round-score-overlay .section-title{margin-top:0}.round-score-overlay h3{margin:0}.round-score-overlay .score-entry{flex-wrap:wrap}.round-score-overlay select{width:60px}@media(max-width:600px){.round-score-overlay{left:8px;right:78px;padding:12px;top:100px}.round-score-overlay .score-entry{gap:8px}.round-score-overlay .stepper button{width:32px;height:32px}}

.enter-hole-score{width:100%;margin:8px 0 10px;transition:opacity .2s}.enter-hole-score.score-pending{opacity:.55}.enter-hole-score.score-entered{opacity:1}.enter-hole-score:focus-visible,.enter-hole-score:hover{opacity:1}.round-score-overlay{top:auto;bottom:210px;max-height:50%;right:16px}@media(max-width:600px){.round-score-overlay{top:auto;bottom:220px;right:8px;max-height:45%}}

.shot-plan-dot{width:48px;height:48px;border:2px solid white;border-radius:50%;background:#16352455;box-shadow:0 2px 10px #0008;display:grid;place-items:center;cursor:grab;touch-action:none}.shot-plan-dot span{width:12px;height:12px;border-radius:50%;background:white;box-shadow:0 0 0 3px #ffffff33}.shot-plan-dot:active{cursor:grabbing}.shot-plan-dot:focus-visible{outline:3px solid #bce565;outline-offset:3px}

.shot-club-recommendation{background:#152a21e8;color:#fff;border-radius:12px;padding:10px 12px;margin-top:8px}.shot-club-recommendation strong,.shot-club-recommendation small{display:block}.shot-club-recommendation small{font-size:11px;margin-top:4px;color:#dfebdc}.shot-player-label{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:7px}.shot-player-label select{width:auto;padding:4px 8px;color:#163524}.round-score-overlay{bottom:300px}@media(max-width:600px){.round-score-overlay{bottom:310px;max-height:38%}}

.course-aerial-preview{height:510px}.photo-review-section{margin-top:28px}.review-photo{width:100%;max-height:380px;object-fit:contain;border-radius:14px;margin-bottom:16px;background:#e8ede7}.review-copy{white-space:pre-wrap;overflow-wrap:anywhere}.photo-review-card .eyebrow{display:block}.photo-review-section .section-title{flex-wrap:wrap;gap:12px}

/* Rolling Greens dark palette */
:root{color-scheme:dark;--cream:#080c0a;--ink:#eef4ec;--muted:#a6b4a9;--line:#2b3931;--green:#163e32;--dark:#102c24;--lime:#d8ed9a}
body{background:#080c0a;color:var(--ink)}aside{background:#101713}main{background:#080c0a}.card,dialog,.onboarding,.onboarding-form,.demo-banner,.hole-yardages,.real-course-map,.gps-entry{background:#141e18;color:var(--ink)}.secondary{background:#1c2a21;color:var(--lime);border-color:var(--line)}.text-button,.modal-head button{color:var(--lime)}input,select,textarea{background:#0d1510!important;color:var(--ink)!important;border-color:#3a4b40!important}input::placeholder,textarea::placeholder{color:#8b9c8f}.callout,.active-card,.mini-stat,.checkbox,.game-icon,.club-icon{background:#213326;color:var(--ink)}.badge{background:#293c2c;color:#d8ed9a}.avatar{background:#32482c;color:#eaf5df}.avatar.peach{background:#594031;color:#f6dfcc}.avatar.blue{background:#29434f;color:#d6eaf5}.avatar.purple{background:#483951;color:#e9ddf3}.hole-nav button{background:#18241c;color:var(--lime)}.hole-nav button.active{background:var(--lime);color:#102c24}.tabs button.selected{color:var(--lime);border-color:var(--lime)}.stepper button{background:#334a2f;color:var(--lime)}.scorecard td.good{background:#233d28;color:#c4e9a8}.demo-banner{color:var(--muted)}dialog{border:1px solid var(--line);box-shadow:0 20px 80px #000b}.round-score-overlay{background:#142119f5;color:var(--ink);border:1px solid #42533e}.distance-bar{background:#29392c}.search{background:#141e18}.review-photo{background:#0b130e}.drawing-header,.drawing-footer{background:#142119;color:var(--ink)}.notice{background:#203025;color:#c8d6c6}.danger{background:#4c2c22;color:#f1c8b7}.golfer-brand{width:36px;height:36px;display:inline-flex;color:var(--lime);flex-shrink:0}.golfer-brand svg{width:100%;height:100%}.brand{gap:8px}.sidebar-golfer{width:30px;height:36px}.brand .wordmark{min-width:0;max-width:145px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-tools{margin-top:22px}.shot-player-label select{color:var(--ink)}
@media(max-width:1080px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.brand .wordmark{max-width:120px}}
@media(max-width:760px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.golfer-brand{width:28px;height:28px}nav button{padding:4px 16px}.profile-tools{gap:22px}}

.mobile-round-form{font-size:15px}.mobile-round-form label{font-size:14px}.mobile-round-form input,.mobile-round-form select{min-height:48px;font-size:16px}.round-setup-intro{font-size:15px;line-height:1.6;color:var(--muted)}.nearest-course-box{background:#22372a;border:1px solid #47603e;border-radius:12px;padding:14px;margin:18px 0}.nearest-course-box p{font-size:14px;margin-bottom:10px;line-height:1.5}.round-options{border:1px solid var(--line);border-radius:12px;padding:14px;margin:14px 0}.round-options summary{cursor:pointer;font-size:15px;font-weight:650;min-height:32px}.round-options summary span{font-size:12px;color:var(--muted);margin-left:8px}.round-start-button{position:sticky;bottom:0;min-height:54px;font-size:16px!important;background:var(--lime)!important;color:var(--dark)!important;box-shadow:0 -8px 20px #141e18}.mobile-round-form .note{font-size:13px;line-height:1.6}.mobile-round-form .checkbox{font-size:14px}.mobile-round-form .inline-checks{display:grid;grid-template-columns:1fr}.mobile-round-form .checkbox input{min-height:22px;width:22px;height:22px}
@media(max-width:760px){dialog.wide{width:calc(100% - 16px);max-width:calc(100% - 16px);padding:20px;max-height:94dvh}.mobile-round-form .form-grid{grid-template-columns:1fr}.modal-head+h2{font-size:28px}nav button{padding:4px 8px}nav button span:last-child{font-size:9px}.aerial-hud small{font-size:10px}.aerial-hud strong{font-size:24px}.aerial-status{font-size:12px!important;line-height:1.5}.aerial-target{font-size:15px!important}.aerial-bottom-actions button{min-height:46px}.hole-nav button{font-size:14px}}

/* Readable dark selection cards */
label.checkbox{background:#1c2b22;color:#f1f6ee;border:1px solid #405344;border-radius:10px;padding:14px 16px;min-height:56px;gap:12px;cursor:pointer;line-height:1.5}
label.checkbox:hover{background:#263c2b;border-color:#90aa69}
label.checkbox:has(input:checked){background:#30462a;border-color:#d8ed9a;box-shadow:inset 3px 0 0 #d8ed9a;color:#fff}
label.checkbox:focus-within{outline:2px solid #d8ed9a;outline-offset:2px}
label.checkbox input[type=checkbox]{accent-color:#d8ed9a;flex-shrink:0;width:24px;height:24px;min-height:24px;margin:0;cursor:pointer}
label.checkbox .badge{background:#344b2b;color:#ecf6da;font-size:11px;margin-left:auto}
.mobile-round-form label.checkbox{font-size:15px;font-weight:600;white-space:normal}
.mobile-round-form .field-note{font-size:12px;line-height:1.6;color:#b5c5b4}
.mobile-round-form #round-error{color:#ffc5ab!important;font-size:14px!important}
.round-options summary{display:list-item;line-height:1.5}.round-options summary span{color:#c4d1bf}
.game-option-copy{display:block}.game-option-copy small{display:block;color:#bacbb7;font-size:12px;font-weight:400;margin-top:2px}
@media(max-width:600px){label.checkbox{padding:14px 12px}.mobile-round-form label.checkbox .badge{font-size:10px}.mobile-round-form .note{font-size:14px}}

.round-game-icon{width:42px;height:42px;display:grid;place-items:center;font-size:27px;flex-shrink:0;border-radius:12px;background:#31482c}.bbb-hole{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.bbb-hole label{font-size:13px}.bbb-hole select{min-height:44px}.round-options .inline-checks label.checkbox{gap:12px}

.invite-panel summary span{display:inline-block}.invite-panel .row{flex-wrap:wrap;gap:12px}.game-invite-message{margin:20px 0;padding:20px;background:#24392a;border:1px solid #607947;border-radius:16px}.game-invite-message h2{font-size:24px;line-height:1.35}.invite-ball{color:var(--lime);font-size:32px}.game-invite-message p{font-size:15px;color:#dce8d4}

/* App-style bottom navigation across phone and desktop previews. */
aside{inset:auto 0 0;width:100%;height:calc(78px + env(safe-area-inset-bottom));padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#101713f5;border-top:1px solid #354638;border-right:0;backdrop-filter:blur(18px);z-index:20;display:flex;align-items:center;justify-content:center}
aside .brand,aside .side-caption,aside .side-bottom{display:none}
nav{display:flex;width:100%;max-width:640px;justify-content:space-around;gap:6px}
nav button{flex:1;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border-radius:14px;color:#b2c1b2}
nav button .nav-icon{display:grid;place-items:center;width:26px;height:26px;font-size:23px}
nav button .nav-icon svg{width:26px;height:26px}
nav button span:last-child{font-size:11px;line-height:1.2;white-space:nowrap}
nav button.selected{background:#2a3e28;color:#d8ed9a;box-shadow:inset 0 2px 0 #d8ed9a}
main{margin-left:0;margin-right:auto;max-width:1300px;margin-inline:auto;padding:0 32px calc(105px + env(safe-area-inset-bottom))}
#toast{bottom:calc(94px + env(safe-area-inset-bottom))}
header{height:64px}footer{padding-bottom:15px}
@media(max-width:760px){aside{height:calc(76px + env(safe-area-inset-bottom));padding:6px 6px calc(6px + env(safe-area-inset-bottom))}main{margin:0;padding:0 16px calc(100px + env(safe-area-inset-bottom))}nav{gap:3px}nav button{padding:6px 2px;min-height:56px}nav button span:last-child{font-size:10px}header{height:54px}#content{padding-top:20px}}
@media(max-width:380px){nav button span:last-child{font-size:9px}nav button .nav-icon,nav button .nav-icon svg{width:24px;height:24px}}

.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar:has(img){overflow:hidden;padding:0}.profile-photo-edit{display:flex;align-items:center;gap:18px;padding:16px;background:#1c2b22;border-radius:14px;margin:18px 0}.profile-photo-edit>div{min-width:0;flex:1}.profile-photo-edit label{margin-top:0}.profile-photo-edit input[type=file]{max-width:100%;font-size:13px}.profile-photo-edit .big{width:80px;height:80px}.profile-photo-edit .checkbox{font-size:12px}@media(max-width:500px){.profile-photo-edit{align-items:flex-start;gap:12px;padding:12px}.profile-photo-edit .big{width:58px;height:58px}.profile-photo-edit input[type=file]{font-size:12px}}

.pwa-install{padding:8px 12px;min-height:40px;letter-spacing:0;margin-left:10px}.pwa-update{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:40;max-width:90%}@media(max-width:500px){header .prototype-pill{display:none}.pwa-install{font-size:11px}}
