@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-devanagari-800-normal-ACzlZF75.woff2)format("woff2"),url(/assets/poppins-devanagari-800-normal-BLmXVokE.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-ext-800-normal-CDgOlX-1.woff2)format("woff2"),url(/assets/poppins-latin-ext-800-normal-CIZaRbSk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2)format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f8f7ee;--paper:#fffdf7;--paper-soft:#f3f1e6;--paper-tint:#edf2e7;--ink:#0b2f1f;--muted:#62685f;--muted-strong:#414b43;--line:#e2decf;--line-strong:#cdc6ae;--pine:#0b2f1f;--pine-strong:#08271a;--green:#0f4d2e;--green-dark:#0b3d27;--green-soft:#dde8ce;--gold:#c9a461;--gold-strong:#8b682d;--gold-soft:#f2e7d0;--azalea:#b42c3e;--azalea-soft:#ffe2e6;--amber:#956713;--amber-soft:#ffefc7;--blue:#2d647b;--blue-soft:#e6f0f2;--shadow-soft:0 16px 42px #0b2f1f14;--shadow-strong:0 24px 64px #0b2f1f29;--display:"Poppins", ui-sans-serif, system-ui, sans-serif;--sans:"Poppins", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.gps-play-navigation{grid-template-columns:52px 1fr 52px;align-items:end;gap:10px;display:grid}.gps-play-navigation label,.gps-shot-toolbar label{gap:4px;font-size:12px;font-weight:750;display:grid}.gps-play-navigation select,.gps-shot-toolbar select,.oncourse-tools select,.oncourse-tools input{border:1px solid var(--line-strong);background:var(--paper);width:100%;min-height:46px;color:var(--ink);border-radius:7px;padding:8px 10px;font-size:16px}.gps-play-navigation button{min-height:46px;font-size:24px}.gps-shot-toolbar{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;grid-template-columns:1fr 1fr;align-items:end;gap:12px;padding:14px;display:grid}.gps-shot-toolbar strong{font-size:14px}.gps-shot-toolbar .card-kicker{margin:0 0 5px}.gps-shot-summary{flex-wrap:wrap;grid-column:1/-1;gap:8px 16px;font-size:12px;display:flex}.gps-shot-summary b{color:var(--green-dark);font-size:17px}.gps-map-modes{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.gps-map-modes button{border:1px solid var(--line);background:var(--paper);border-radius:6px;min-height:44px;padding:6px;font-size:12px;font-weight:750}.gps-map-modes button.active{color:#fff;background:var(--green-dark);border-color:var(--green-dark)}.gps-map-help,.gps-source-note{color:var(--muted-strong);margin:0;font-size:12px;line-height:1.5}.gps-source-note a{color:var(--green-dark)}.gps-ball-origin{fill:#fff;stroke:#05281d;stroke-width:1px}.gps-hole-map-overlay{cursor:crosshair;touch-action:pan-y}.gps-map-attribution{color:var(--muted-strong);font-size:10px}.gps-preset-panel>summary{cursor:pointer;min-height:36px;font-weight:750}.gps-preset-panel:not([open]){padding:8px 12px}.oncourse-tools{background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;gap:12px;padding:16px;display:grid}.oncourse-tools .gps-section-heading{flex-wrap:wrap;gap:8px}.oncourse-tools .gps-section-heading strong{align-items:center;gap:6px;display:flex}.oncourse-tees{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.oncourse-score-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.oncourse-score-row label,.oncourse-focus{gap:6px;font-size:13px;display:grid}.oncourse-score-row input{text-align:center;font-size:26px;font-weight:800}.oncourse-measure{align-items:center;gap:12px;display:flex}.oncourse-tools small{color:var(--muted-strong);line-height:1.5}.oncourse-tools details>summary{cursor:pointer;padding:10px 0;font-weight:750}.oncourse-focus-display{background:var(--green-soft);color:var(--green-dark);font-family:var(--display);margin:0;padding:12px;font-size:18px}.oncourse-scorecard{grid-template-columns:repeat(9,1fr);margin:14px 0;display:grid}.oncourse-scorecard div{text-align:center;border:1px solid var(--line);display:grid}.oncourse-scorecard span{background:var(--green-soft);padding:6px 0;font-size:11px}.oncourse-scorecard strong{padding:8px 0}.gps-panel>.gps-distance-grid{grid-row:5}.gps-panel>.gps-preset-panel{order:20}.gps-panel>.gps-osm-panel,.gps-panel>.gps-hole-picker,.gps-panel>.gps-target-list,.gps-panel>.gps-target-form-wrap{order:21}@media (width>=900px){.gps-panel{max-width:880px;margin:0 auto}}*{box-sizing:border-box;letter-spacing:0}html{background:var(--bg);min-width:320px}body{min-width:320px;color:var(--ink);background:linear-gradient(180deg, #031a13fa 0 292px, #f1f0e600 292px 100%), repeating-linear-gradient(90deg, #05281d0e 0 1px, transparent 1px 64px), linear-gradient(180deg, #f5f3e9, var(--bg));margin:0}button,input,select,textarea{font:inherit}button{color:inherit}::selection{color:var(--pine-strong);background:var(--gold)}.app-shell{width:min(1540px,100%);min-height:100svh;margin:0 auto;padding:24px 24px 96px}.topbar{color:#fffdf6;background:linear-gradient(90deg, #fffdf614, #fffdf600), repeating-linear-gradient(135deg, #fffdf60e 0 1px, transparent 1px 13px), linear-gradient(135deg, var(--green-dark), var(--pine-strong));min-height:92px;box-shadow:var(--shadow-strong);border:1px solid #f1c94d47;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:20px;padding:18px;display:grid;position:relative;overflow:hidden}.topbar:after{background:linear-gradient(90deg, transparent, var(--gold), transparent);content:"";height:3px;position:absolute;bottom:0;left:18px;right:18px}.brand-lockup{align-items:center;gap:14px;min-width:0;display:flex}.brand-mark{width:48px;height:48px;color:var(--pine);background:linear-gradient(180deg, #ffe58a, var(--gold)), var(--gold);border:1px solid #fffdf6bf;border-radius:8px;flex:none;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 2px #05281d1f,0 10px 20px #031a133d}.brand-mark:after{background:var(--azalea);clip-path:polygon(0 0,100% 0,78% 50%,100% 100%,0 100%);content:"";width:13px;height:9px;position:absolute;top:8px;right:8px}.brand-copy{min-width:0}.brand-lockup h1,.brand-lockup p,.video-header h2,.video-header p,.panel-heading h2,.panel-heading p,.empty-insights h2,.empty-insights p,.drive-path,.codex-note,.codex-error,.codex-model,.codex-review p{margin:0}.brand-lockup h1{overflow-wrap:anywhere;color:#fffdf6;font-family:var(--display);font-size:31px;font-weight:700;line-height:1}.brand-lockup p{overflow-wrap:anywhere}.brand-kicker,.panel-heading p{text-transform:uppercase;font-size:12px;font-weight:780}.brand-kicker{color:var(--gold);margin-bottom:4px}.brand-copy>p:last-child{color:#fffdf6c2;margin-top:5px;font-size:14px}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.offline-status{color:#fff3c4;background:#031a1370;border:1px solid #f1c94d57;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:0 11px;font-size:12px;font-weight:820;display:inline-flex}.pwa-install-button{white-space:nowrap}.file-input{display:none}.app-main{width:min(980px,100%);margin:0 auto}.app-view{display:none}.app-view.is-active{display:block}.card{color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;overflow:hidden}.card-kicker{color:var(--muted);text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:820}.chip{min-width:74px;min-height:32px;color:var(--green-dark);background:var(--green-soft);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:820;display:inline-flex}.tabbar{z-index:30;padding:7px max(10px, env(safe-area-inset-left,0px)) calc(7px + env(safe-area-inset-bottom,0px)) max(10px, env(safe-area-inset-right,0px));border-top:1px solid var(--line-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf6f5;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #11171326}.tab-button{min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-content:center;place-items:center;gap:3px;font-size:12px;font-weight:800;display:grid;position:relative}.tab-button.active{color:var(--green-dark);background:var(--green-soft)}.tab-dot{background:var(--gold);border:2px solid var(--paper);border-radius:999px;width:9px;height:9px;position:absolute;top:8px;right:22%}.filming-guide{background:linear-gradient(180deg, #f1c94d1f, transparent 48%), var(--paper);gap:18px;padding:22px;display:grid}.filming-guide h2{font-family:var(--display);margin:0;font-size:clamp(29px,4.8vw,46px);line-height:1.04}.filming-tips{gap:10px;margin:0;padding:0;list-style:none;display:grid}.filming-tips li{background:var(--paper-soft);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;display:grid}.filming-tips svg{color:var(--green)}.filming-tips span{gap:3px;line-height:1.4;display:grid}.filming-note{color:var(--muted-strong);margin:0;font-size:14px;line-height:1.45}.button,.icon-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex}.button{white-space:nowrap;gap:8px;min-height:44px;padding:0 16px;font-weight:760}.button svg,.icon-button svg{flex:none}.button:disabled{cursor:not-allowed;opacity:.54}.button:focus-visible,.icon-button:focus-visible,.empty-stage:focus-visible{outline-offset:2px;outline:3px solid #f1c94db8}.button:not(:disabled):hover,.icon-button:hover,.empty-stage:hover{transform:translateY(-1px)}.button.big{width:100%;min-height:56px;font-size:17px}.button.secondary{color:var(--muted-strong);background:var(--paper);border-color:var(--line-strong)}.button.secondary:not(:disabled):hover{border-color:#0067476b;box-shadow:0 8px 16px #11171314}.button.ghost{color:var(--muted-strong);background:var(--paper-soft);border-color:var(--line)}.topbar .button.secondary{color:#fff8ce;background:#fffdf614;border-color:#f1c94d57}.topbar .button.secondary:hover{background:#fffdf624}.icon-button{width:42px;min-width:42px;height:42px;color:var(--muted-strong);background:var(--paper);border-color:var(--line);padding:0}.icon-button.light{color:#fffdf6;background:#fffdf624;border-color:#fffdf652}.workspace-grid{grid-template-columns:minmax(0,1.48fr) minmax(360px,.72fr);align-items:start;gap:20px;display:grid}.review-pane{background:var(--paper);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-soft);border-radius:8px;overflow:hidden}.insight-pane,.coach-stack,.rounds-stack{flex-direction:column;gap:14px;min-width:0;display:flex}.mobile-nav{display:none}.video-header,.panel-heading{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.video-header{background:linear-gradient(90deg, #f1c94d1c, transparent 52%), var(--paper);border-bottom:1px solid var(--line);padding:18px}.video-header-actions{flex:none;align-items:center;gap:8px;display:flex}.video-header h2,.panel-heading h2,.empty-insights h2{overflow-wrap:anywhere;font-size:20px;line-height:1.2}.video-header h2{font-family:var(--display);font-weight:700}.video-header p,.panel-heading p,.empty-insights p{color:var(--muted)}.video-header p{text-overflow:ellipsis;white-space:nowrap;max-width:62vw;margin-top:5px;font-size:14px;overflow:hidden}.video-stage{aspect-ratio:16/9;background:linear-gradient(90deg,#f1c94d12 1px,#0000 1px) 0 0/46px 46px,linear-gradient(0deg,#fffdf60b 1px,#0000 1px) 0 0/46px 46px,linear-gradient(#0a2b20,#031a13);place-items:center;width:100%;min-height:260px;display:grid;position:relative;overflow:hidden}.video-stage:before{pointer-events:none;content:"";background:linear-gradient(112deg,#0000 0 33%,#f1c94d1c 33% 34%,#0000 34% 100%),repeating-linear-gradient(112deg,#0000 0 42px,#fffdf60b 42px 44px);position:absolute;inset:0}.video-stage video{z-index:1;object-fit:contain;background:#031a13;width:100%;height:auto;display:block;position:relative}.video-stage.has-video{aspect-ratio:auto;background:#031a13;place-items:center;min-height:0;max-height:min(62svh,640px);display:grid;overflow:hidden}.video-stage.has-video:before{display:none}.video-stage.has-video video{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:min(62svh,640px)}.empty-stage{z-index:1;color:#fffdf6;cursor:pointer;background:linear-gradient(#031a1326,#031a135c),0 0;border:0;align-content:center;place-items:center;gap:12px;width:100%;height:100%;font-weight:780;display:grid;position:relative}.empty-stage svg{width:42px;height:42px;color:var(--gold);filter:drop-shadow(0 8px 18px #031a135c)}.empty-stage span{min-height:38px;color:var(--pine-strong);background:var(--gold);border-radius:7px;align-items:center;padding:0 14px;display:inline-flex;box-shadow:0 10px 22px #031a1338}.slowmo-panel{background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;gap:9px;margin:12px 18px 0;padding:10px;display:grid}.slowmo-actions,.slowmo-timeline,.slowmo-rates{gap:7px;display:grid}.slowmo-timeline{color:var(--muted-strong);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;font-size:12px;font-weight:780}.slowmo-timeline input{width:100%;accent-color:var(--green)}.slowmo-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.slowmo-rates{grid-template-columns:repeat(4,minmax(0,1fr))}.slowmo-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.slowmo-meta{align-items:center;gap:7px;display:inline-flex}.fps-chip{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:760}.slowmo-button,.slowmo-rates button,.slowmo-sound{min-width:0;min-height:38px;color:var(--pine);border:1px solid var(--line);cursor:pointer;background:#fffef8;border-radius:7px;font-size:13px;font-weight:820}.slowmo-button{justify-content:center;align-items:center;gap:7px;padding:0 8px;display:inline-flex}.slowmo-sound{justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 8px;display:inline-flex}.slowmo-button.primary{color:var(--pine-strong);background:linear-gradient(180deg, #ffe98f, var(--gold));border-color:#9c6f0b57}.slowmo-button svg,.slowmo-sound svg{flex:none}.slowmo-button span,.slowmo-sound span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.slowmo-rates button{padding:0 6px}.slowmo-rates button.active{color:#fffdf6;background:var(--green);border-color:var(--green)}.progress-area{padding:14px 18px 0}.progress-label{color:var(--muted-strong);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.progress-track{background:var(--paper-tint);border-radius:8px;height:9px;margin-top:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--green), var(--gold));border-radius:inherit;height:100%;transition:width .18s}.upload-strip,.notice-strip{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;gap:10px;margin-top:14px;padding:13px;display:grid}.upload-strip.ready{border-left:3px solid var(--green)}.reviewer-model-control{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(170px,.7fr);align-items:center;gap:10px;margin-top:14px;padding:12px 13px;display:grid}.reviewer-model-control span{gap:2px;min-width:0;display:grid}.reviewer-model-control strong{color:var(--pine);font-size:14px}.reviewer-model-control small{color:var(--muted-strong);font-size:13px}.reviewer-model-control select{width:100%;min-height:42px;color:var(--ink);border:1px solid var(--line-strong);background:#fffef8;border-radius:8px;padding:0 11px;font-weight:760}.reviewer-model-control select:disabled{cursor:not-allowed;opacity:.62}.upload-line,.notice-strip{color:var(--muted-strong)}.upload-line,.notice-strip,.pending-copy,.pending-actions{min-width:0}.upload-line{align-items:center;gap:8px;font-weight:800;display:inline-flex}.upload-line svg{color:var(--green);flex:none}.upload-line.warn svg{color:var(--azalea)}.upload-note,.upload-error,.upload-details p{color:var(--muted-strong);margin:0;font-size:14px;line-height:1.45}.upload-error{color:#742018}.upload-details summary{color:var(--muted-strong);cursor:pointer;font-size:13px;font-weight:800}.upload-details[open]{gap:8px;display:grid}.notice-strip{color:#6b4308;background:var(--amber-soft);border-color:#95671333;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.strip-action{min-height:34px;color:var(--green-dark);border:1px solid var(--line-strong);cursor:pointer;background:#fffef8;border-radius:7px;padding:0 12px;font-size:13px;font-weight:820}.strip-action.quiet{color:var(--muted)}.error-strip,.preflight-strip{align-items:center;gap:10px;margin:16px 18px 18px;display:flex}.error-strip{color:#742018;background:var(--azalea-soft);border:1px solid #b42c3e42;border-radius:7px;padding:12px}.error-strip span{flex:auto;min-width:0}.error-retry{color:#742018;cursor:pointer;background:0 0;border:1px solid #b42c3e66;border-radius:7px;flex:none;min-height:32px;padding:0 12px;font-weight:760}.error-retry:hover{background:#b42c3e14}.preflight-strip{color:var(--muted-strong);flex-wrap:wrap}.preflight-strip span{overflow-wrap:anywhere;background:var(--paper-soft);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:7px;align-items:center;gap:8px;min-width:0;max-width:100%;min-height:36px;padding:7px 10px;font-size:14px;display:inline-flex}.preflight-strip svg{color:var(--green);flex:none}.instant-panel{border-top:3px solid var(--green);gap:12px;margin:0 18px 18px;display:grid}.checkpoints-panel{border-top:3px solid var(--green);gap:12px;margin-top:14px;padding:14px;display:grid}.checkpoints-caption{color:var(--muted-strong);margin:0;font-size:14px;line-height:1.45}.instant-status{min-width:74px;min-height:30px;color:var(--green-dark);background:var(--green-soft);border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:820;display:inline-flex}.instant-summary{color:var(--muted-strong);margin:0;font-size:14px;line-height:1.45}.swing-lab{gap:10px;margin-inline:-18px;padding-top:2px;display:grid}.swing-lab.collapsed{margin-inline:0;padding-top:0}.swing-lab-toggle{width:100%;min-height:42px;color:var(--muted-strong);background:var(--paper-soft);border:1px dashed var(--line-strong);cursor:pointer;border-radius:7px;align-items:center;gap:8px;padding:0 12px;font-weight:740;display:flex}.swing-lab-toggle:hover{border-color:#0067476b}.swing-lab-toggle svg{color:var(--green);flex:none}.swing-lab-toggle small{color:var(--gold-strong);background:var(--gold-soft);text-transform:uppercase;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:820}.swing-lab-controls{flex:none;align-items:center;gap:8px;display:flex}.swing-lab-hide{min-height:36px;color:var(--muted-strong);background:var(--paper);border:1px solid var(--line-strong);cursor:pointer;border-radius:7px;padding:0 11px;font-weight:740}.swing-lab-caveat{color:var(--muted-strong);margin:0;padding-inline:18px;font-size:13px;line-height:1.45}.swing-lab-caveat.fallback{color:#6b4308;font-weight:640}.swing-lab-header{justify-content:space-between;align-items:center;gap:12px;padding-inline:18px;display:flex}.swing-lab-header p,.swing-lab-header h3{margin:0}.swing-lab-header p{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:820}.swing-lab-header h3{color:var(--ink);font-size:20px;line-height:1.1}.swing-lab-play{min-height:36px;color:var(--pine-strong);background:linear-gradient(180deg, #ffe98f, var(--gold));cursor:pointer;border:1px solid #9c6f0b57;border-radius:7px;align-items:center;gap:6px;padding:0 11px;font-size:13px;font-weight:820;display:inline-flex}.swing-lab-stage{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#071f18;width:100%;height:clamp(320px,44svh,560px);overflow:hidden}.swing-lab-stage canvas{width:100%;height:100%;display:block}.swing-lab-phases{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-inline:18px;display:grid}.swing-lab-phases button{min-width:0;min-height:36px;color:var(--pine);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:#fffef8;border-radius:7px;padding:0 6px;font-size:12px;font-weight:820}.swing-lab-phases button.active{color:#fffdf6;background:var(--green);border-color:var(--green)}.phase-strip{grid-template-columns:repeat(5,minmax(140px,1fr));gap:8px;padding-bottom:2px;display:grid;overflow-x:auto}.phase-card{text-align:left;background:var(--paper-soft);border:1px solid var(--line);cursor:pointer;border-radius:8px;min-width:140px;padding:0;display:grid;overflow:hidden}.phase-card:focus-visible{outline-offset:2px;outline:3px solid #f1c94dcc}.phase-card img{aspect-ratio:4/3;object-fit:cover;background:var(--pine);width:100%;display:block}.phase-card span{gap:3px;padding:9px;display:grid}.phase-card strong{color:var(--pine);font-size:13px;line-height:1.1}.phase-card small{color:var(--muted);font-size:12px;line-height:1.25}.panel-heading.compact{margin-bottom:10px}.panel-heading p{margin-bottom:4px}.desktop-session-panel,.coach-panel,.codex-panel,.gps-panel,.scorecard-panel,.instant-panel,.empty-insights{box-shadow:var(--shadow-soft);border-radius:8px}.desktop-session-panel,.coach-panel,.codex-panel,.gps-panel,.scorecard-panel,.instant-panel{background:var(--paper);border:1px solid var(--line);padding:14px}.desktop-session-panel,.coach-panel{border-top:3px solid var(--gold)}.desktop-session-panel p{color:var(--muted-strong);margin:8px 0 0;font-size:13px;line-height:1.45}.desktop-session-status,.coach-status,.codex-status{border-radius:7px;justify-content:center;align-items:center;min-width:74px;min-height:30px;padding:0 9px;font-size:12px;font-weight:820;display:inline-flex}.desktop-session-status.idle{color:var(--green-dark);background:var(--green-soft)}.desktop-session-status.starting{color:#6b4308;background:var(--amber-soft)}.desktop-session-status.active{color:#fffdf6;background:var(--green)}.desktop-session-status.error{color:#742018;background:var(--azalea-soft)}.desktop-session-button{width:100%;margin-top:10px}.coach-panel{background:linear-gradient(180deg, #f1c94d1f, transparent 46%), var(--paper);border-color:#f1c94dbf;gap:14px;scroll-margin-top:12px;display:grid}.coach-panel .panel-heading h2{font-size:27px;line-height:1.08}.coach-status.live,.coach-status.idle{color:var(--green-dark);background:var(--green-soft)}.coach-status.sending,.coach-status.waiting{color:#6b4308;background:var(--amber-soft)}.coach-status.error{color:#742018;background:var(--azalea-soft)}.coach-context{color:var(--muted-strong);align-items:center;gap:7px;font-size:14px;font-weight:720;line-height:1.35;display:flex}.coach-messages{overscroll-behavior:contain;gap:12px;max-height:min(430px,46svh);padding-right:4px;scroll-padding-block:12px;display:grid;overflow-y:auto}.coach-messages::-webkit-scrollbar{width:8px}.coach-messages::-webkit-scrollbar-track{background:#d9d2bb57;border-radius:999px}.coach-messages::-webkit-scrollbar-thumb{background:#00674775;border-radius:999px}.coach-empty,.coach-waiting{color:var(--muted-strong);margin:0;font-size:17px;line-height:1.5}.coach-empty{background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;justify-items:start;gap:8px;padding:14px;display:grid}.coach-empty svg{color:var(--green)}.coach-empty p{margin:0}.coach-waiting{color:#6b4308;background:var(--amber-soft);border:1px solid #95671333;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-weight:750;display:flex}.coach-waiting span{min-width:0}.coach-message{border:1px solid #d9d2bbb8;border-radius:8px;padding:13px 14px}.coach-message.user{background:var(--green-soft)}.coach-message.coach{background:var(--paper-soft)}.coach-message strong{color:var(--pine);letter-spacing:.02em;text-transform:uppercase;margin-bottom:8px;font-size:11px;display:block}.coach-message p{color:var(--ink);white-space:pre-wrap;margin:0;font-size:18px;line-height:1.54}.coach-message.user p{font-size:16px}.coach-form{gap:10px;display:grid}.coach-form textarea{resize:vertical;width:100%;min-height:96px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fffef8;border-radius:8px;padding:13px;font-size:17px;line-height:1.5}.coach-send{width:100%}.coach-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.coach-quick-button{min-width:0;min-height:46px;color:var(--pine);border:1px solid var(--line);cursor:pointer;background:#fffef8;border-radius:7px;padding:0 11px;font-size:14px;font-weight:800;line-height:1.15}.coach-quick-button:disabled{cursor:not-allowed;opacity:.56}.coach-quick-button:not(:disabled):hover{border-color:#00674761;box-shadow:0 8px 16px #11171314}.review-pending{color:#6b4308;background:var(--amber-soft);border:1px solid #95671333;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:13px;display:grid}.pending-spinner{width:34px;height:34px;color:var(--gold-strong);background:#fffdf699;border:1px solid #9567132e;border-radius:999px;place-items:center;display:grid}.pending-spinner.spinning svg{animation:1.1s linear infinite pending-spin}.pending-copy{gap:3px;line-height:1.35;display:grid}.pending-copy strong{color:var(--pine)}.pending-copy span,.pending-copy small{color:var(--muted-strong)}.pending-actions{flex-wrap:wrap;grid-column:2;gap:8px;display:flex}@keyframes pending-spin{to{transform:rotate(360deg)}}.gps-panel{border-top:3px solid var(--blue);gap:14px;display:grid}.gps-status.idle,.gps-status.ready,.gps-status.tracking{color:var(--green-dark);background:var(--green-soft)}.gps-status.locating{color:#6b4308;background:var(--amber-soft)}.gps-status.error{color:#742018;background:var(--azalea-soft)}.gps-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.gps-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gps-current{color:#fffdf6;background:linear-gradient(135deg, #f1c94d29, transparent 52%), linear-gradient(135deg, var(--green-dark), var(--pine-strong));border-radius:8px;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:10px;padding:12px;display:grid}.gps-current-main{align-content:center;gap:4px;display:grid}.gps-current-main span,.gps-current-main small{color:#fffdf6c7;text-transform:uppercase;font-size:12px;font-weight:820}.gps-current-main strong{color:var(--gold);font-size:clamp(42px,12vw,76px);line-height:.95}.gps-current-meta{align-content:center;gap:7px;display:grid}.gps-current-meta span{overflow-wrap:anywhere;color:#fffdf6d1;min-width:0;font-size:13px;font-weight:720}.shot-strategy{color:#fffdf6;background:radial-gradient(circle at 100% 0, #f1c94d33, transparent 34%), repeating-linear-gradient(135deg, #fffdf60a 0 1px, transparent 1px 14px), linear-gradient(145deg, var(--pine), var(--pine-strong));border:1px solid #f1c94d57;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 34px #031a132e}.shot-strategy-heading,.strategy-recommendation,.strategy-aim-control>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.shot-strategy-heading h3,.shot-strategy-heading p{margin:0}.shot-strategy-heading .card-kicker{color:#fffdf6a3}.shot-strategy-heading h3{color:#fffdf6;font-family:var(--display);margin-top:3px;font-size:23px;line-height:1.05}.strategy-live-chip{min-height:30px;color:var(--pine-strong);background:var(--gold);text-transform:uppercase;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.strategy-recommendation{justify-content:initial;color:var(--pine-strong);background:linear-gradient(135deg,#fffdf6,#edf3e8);border:1px solid #f1c94d94;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;padding:11px;display:grid}.strategy-recommendation-icon{width:38px;height:38px;color:var(--green-dark);background:var(--gold-soft);border-radius:8px;place-items:center;display:grid}.strategy-recommendation>div:nth-child(2){gap:2px;min-width:0;display:grid}.strategy-recommendation span,.strategy-recommendation small{color:var(--muted);font-size:11px;font-weight:780}.strategy-recommendation span{text-transform:uppercase}.strategy-recommendation strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.strategy-recommendation button,.strategy-reset{min-height:34px;color:var(--green-dark);background:var(--green-soft);cursor:pointer;border:1px solid #0067473d;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.strategy-club-strip{scrollbar-width:thin;grid-auto-columns:minmax(92px,1fr);grid-auto-flow:column;gap:8px;padding:1px 1px 5px;display:grid;overflow-x:auto}.strategy-club-strip button{color:#fffdf6b8;cursor:pointer;text-align:left;background:#fffdf613;border:1px solid #fffdf62e;border-radius:8px;align-content:center;gap:3px;min-height:76px;padding:9px;display:grid;position:relative}.strategy-club-strip button.active{color:var(--pine-strong);background:var(--gold);border-color:#ffe58a;box-shadow:0 8px 18px #031a1347}.strategy-club-strip button span{font-size:12px;font-weight:820}.strategy-club-strip button strong{font-size:20px;line-height:1}.strategy-club-strip button small{color:inherit;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:950;position:absolute;top:6px;right:6px}.strategy-aim-control{background:#fffdf613;border:1px solid #fffdf629;border-radius:8px;gap:7px;padding:11px;display:grid}.strategy-aim-control span{color:#fffdf6a3;text-transform:uppercase;font-size:11px;font-weight:820}.strategy-aim-control strong{color:var(--gold);font-size:13px}.strategy-aim-control input[type=range]{width:100%;accent-color:var(--gold);cursor:ew-resize}.strategy-aim-scale{grid-template-columns:repeat(3,1fr);display:grid}.strategy-aim-scale span:nth-child(2){text-align:center}.strategy-aim-scale span:last-child{text-align:right}.strategy-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.strategy-metrics article{background:#fffdf613;border:1px solid #fffdf624;border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.strategy-metrics span{color:#fffdf68f;text-transform:uppercase;font-size:10px;font-weight:850}.strategy-metrics strong{color:#fffdf6;overflow-wrap:anywhere;font-size:14px}.strategy-tuning{border-top:1px solid #fffdf624}.strategy-tuning summary{color:#fffdf6c7;cursor:pointer;align-items:center;gap:7px;padding:11px 0 2px;font-size:12px;font-weight:820;display:inline-flex}.strategy-tuning-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:10px;display:grid}.strategy-tuning-fields label{color:#fffdf6a8;gap:5px;font-size:11px;font-weight:800;display:grid}.strategy-tuning-fields input{width:100%;min-width:0;color:var(--pine-strong);background:#fffdf6;border:1px solid #f1c94d6b;border-radius:7px;padding:9px;font-weight:820}.strategy-reset{color:#fff3c4;background:#fffdf614;border-color:#fffdf62e;margin-top:9px}.gps-distance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.gps-distance-grid article{text-align:center;border:1px solid var(--line);background:#fffef8;border-radius:8px;align-content:center;gap:5px;min-height:92px;padding:12px;display:grid}.gps-distance-grid span,.gps-distance-grid small{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:780}.gps-distance-grid strong{color:var(--pine);font-size:30px;line-height:1}.gps-empty{color:var(--muted-strong);background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:9px;padding:13px;font-weight:760;display:flex}.gps-empty svg{color:var(--blue)}.gps-hole-map{background:linear-gradient(90deg, #fffdf666, transparent 56%), var(--green-soft);border:1px solid #0067472e;border-radius:8px;gap:8px;padding:12px;display:grid}.gps-hole-map-frame{isolation:isolate;background:#0b1911;border:1px solid #00674729;border-radius:8px;width:100%;height:min(58svh,460px);min-height:320px;position:relative;overflow:hidden}.gps-hole-map-overlay{position:absolute}.gps-hole-map-tile{pointer-events:none}.gps-hole-map-overlay{z-index:1;width:100%;height:100%;display:block;inset:0}.gps-hole-map-shade{fill:#031a1314;pointer-events:none}.gps-hole-map-route-shadow,.gps-hole-map-route,.gps-hole-map-green-line,.gps-hole-map-wind-arrow{fill:none;stroke-linecap:round;stroke-linejoin:round}.gps-hole-map-route-shadow{stroke:#fffdf6b8;stroke-width:1.8px}.gps-hole-map-route{stroke:var(--green-dark);stroke-width:.6px}.gps-shot-aim-line{fill:none;stroke:#fffdf6e6;stroke-dasharray:2.5 2.5;stroke-linecap:round;stroke-width:1.2px;vector-effect:non-scaling-stroke}.gps-shot-pattern-outer,.gps-shot-pattern-inner{transform-box:view-box;transform-origin:0 0;vector-effect:non-scaling-stroke}.gps-shot-pattern-outer{fill:#f1c94d42;stroke:#ffe486;stroke-dasharray:2.2 1.5;stroke-width:1.3px}.gps-shot-pattern-inner{fill:#fffdf61c;stroke:#fffdf6d1;stroke-width:.7px}.gps-shot-aim-point{fill:var(--gold);stroke:var(--pine-strong);stroke-width:.8px;vector-effect:non-scaling-stroke}.gps-shot-pattern-label{fill:#fffdf6;paint-order:stroke;pointer-events:none;stroke:#031a13eb;stroke-linejoin:round;stroke-width:1.7px;text-anchor:middle;font-size:4px;font-weight:950}.gps-hole-map-tee,.gps-hole-map-green,.gps-hole-map-target,.gps-hole-map-current{vector-effect:non-scaling-stroke}.gps-hole-map-tee{fill:var(--pine);stroke:#fffdf6;stroke-width:.8px}.gps-hole-map-green{fill:var(--green);stroke:#fffdf6;stroke-width:.8px}.gps-hole-map-target{fill:var(--gold);stroke:var(--pine);stroke-width:.55px}.gps-hole-map-target.front{fill:#f6d77a}.gps-hole-map-target.center{fill:#fffdf6}.gps-hole-map-target.back{fill:var(--gold-strong)}.gps-hole-map-current{fill:var(--blue);stroke:#fffdf6;stroke-width:.8px}.gps-hole-map-wind-arrow{stroke:#f6d77a;stroke-width:2.4px;vector-effect:non-scaling-stroke}.gps-hole-map-wind-head{fill:#f6d77a;stroke:#031a13bd;stroke-width:.5px}.gps-hole-map-label,.gps-hole-map-target-label,.gps-hole-map-current-label,.gps-hole-map-wind-speed{fill:var(--pine);paint-order:stroke;pointer-events:none;stroke:#fffdf6db;stroke-linejoin:round;stroke-width:1.4px;text-anchor:middle;font-size:4px;font-weight:900}.gps-hole-map-target-label,.gps-hole-map-current-label{text-anchor:start;font-size:3.8px}.gps-hole-map-wind-speed{fill:#fffdf6;stroke:#031a13e6;stroke-width:1.5px;text-anchor:middle;font-size:4.2px}.gps-hole-map-wind{z-index:2;color:#fffdf6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#032b1fe0;border:1px solid #fffdf67a;border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:7px 9px;display:flex;position:absolute;top:10px;left:10px;box-shadow:0 8px 18px #031a133d}.gps-hole-map-wind svg{color:#f6d77a;transform-origin:50%;flex:none}.gps-hole-map-wind strong{font-size:12px;line-height:1}.gps-hole-map-wind span{color:#fffdf6c2;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1}.gps-hole-map-wind.loading,.gps-hole-map-wind.error,.gps-hole-map-wind.idle{background:#3d443fdb}.gps-preset-panel,.gps-osm-panel{background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;gap:8px;padding:12px;display:grid}.gps-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.gps-section-heading strong{color:var(--pine);font-size:14px}.gps-section-heading span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.gps-preset-list,.gps-osm-list{gap:8px;display:grid}.gps-preset-list article,.gps-osm-list article{background:#fffef8;border:1px solid #d9d2bbc7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.gps-preset-list article>div,.gps-osm-list article>div{gap:4px;min-width:0;display:grid}.gps-preset-list strong,.gps-preset-list span,.gps-osm-list strong,.gps-osm-list span,.gps-osm-list small{overflow-wrap:anywhere;min-width:0}.gps-preset-list strong,.gps-osm-list strong{color:var(--pine);font-size:14px}.gps-preset-list span,.gps-osm-list span,.gps-osm-list small{color:var(--muted);font-size:12px;font-weight:700}.gps-osm-panel>.notice-strip{box-shadow:none;margin:0}.gps-hole-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.gps-hole-picker label,.gps-target-form label,.gps-wide-field{color:var(--muted-strong);gap:5px;font-size:12px;font-weight:800;display:grid}.gps-hole-picker select,.gps-target-form input,.gps-target-form select,.gps-target-form textarea{width:100%;min-width:0;color:var(--ink);border:1px solid var(--line);background:#fffef8;border-radius:7px;padding:10px;font-size:15px;line-height:1.35}.gps-target-list{gap:8px;display:grid}.gps-target-list article{border:1px solid var(--line);background:#fffef8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.gps-target-list article>div{gap:4px;min-width:0;display:grid}.gps-target-list strong,.gps-target-list span,.gps-target-list small{overflow-wrap:anywhere;min-width:0}.gps-target-list strong{color:var(--pine);font-size:15px}.gps-target-list span,.gps-target-list small{color:var(--muted);font-size:12px;font-weight:700}.gps-target-list button{width:34px;height:34px;color:var(--azalea);background:var(--azalea-soft);cursor:pointer;border:1px solid #b42c3e29;border-radius:7px;place-items:center;display:grid}.gps-target-form-wrap{border:1px solid var(--line);background:#fffef8;border-radius:8px}.gps-target-form-wrap summary{width:100%;color:var(--pine);cursor:pointer;align-items:center;gap:7px;padding:11px 12px;font-weight:820;display:inline-flex}.gps-target-form{gap:10px;padding:0 12px 12px;display:grid}.gps-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gps-map-editor{grid-column:1/-1}.gps-map-editor button{width:100%;min-height:170px;color:var(--pine);border:1px solid var(--line);cursor:crosshair;background:linear-gradient(90deg,#2d647b1f 1px,#0000 1px) 0 0/34px 34px,linear-gradient(0deg,#2d647b1f 1px,#0000 1px) 0 0/34px 34px,#fffef8;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.gps-map-editor button:disabled{cursor:not-allowed;opacity:.62}.gps-map-ring{border:2px solid #0067475c;border-radius:999px;width:92px;height:92px;position:absolute}.gps-map-center{background:var(--gold);border:2px solid var(--pine);border-radius:999px;width:13px;height:13px;position:absolute}.gps-map-label{max-width:calc(100% - 20px);min-height:28px;color:var(--pine);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;background:#fffdf6eb;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:820;position:absolute;bottom:10px;right:10px;overflow:hidden}.gps-target-form textarea{resize:vertical}.gps-panel>.error-strip{margin:0}.scorecard-panel{border-top:3px solid var(--green);gap:14px;display:grid}.scorecard-status{min-width:74px;min-height:30px;color:var(--green-dark);background:var(--green-soft);border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:820;display:inline-flex}.scorecard-latest{background:var(--paper-soft);border:1px solid #d9d2bbc7;border-radius:8px;gap:12px;padding:12px;display:grid}.scorecard-empty{background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;justify-items:start;gap:8px;padding:14px;display:grid}.scorecard-empty svg{color:var(--green)}.scorecard-empty h3,.scorecard-empty p{margin:0}.scorecard-empty h3{font-size:20px;line-height:1.15}.scorecard-empty p,.scorecard-layout-note{color:var(--muted-strong);font-size:14px;line-height:1.45}.scorecard-layout-note{margin:0}.scorecard-round-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.scorecard-round-heading p,.scorecard-round-heading h3,.scorecard-round-heading small,.scorecard-note,.scorecard-form-heading h3,.scorecard-history p,.scorecard-history small{margin:0}.scorecard-round-heading p,.scorecard-round-heading small{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:760;display:inline-flex}.scorecard-round-heading h3{color:var(--ink);margin:4px 0;font-size:20px;line-height:1.15}.scorecard-round-heading svg{color:var(--green);flex:none}.scorecard-total{text-align:center;color:#fffdf6;background:var(--green);border-radius:8px;min-width:76px;padding:10px;display:grid}.scorecard-total strong{font-size:30px;line-height:1}.scorecard-total span{font-size:13px;font-weight:820}.scorecard-splits{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.scorecard-splits span{min-height:54px;color:var(--muted-strong);border:1px solid var(--line);background:#fffef8;border-radius:7px;place-items:center;font-size:12px;font-weight:760;display:grid}.scorecard-splits strong{color:var(--pine);font-size:19px;line-height:1}.scorecard-hole-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;display:grid}.scorecard-hole{border:1px solid var(--line);border-left:3px solid var(--line-strong);background:#fffef8;border-radius:7px;place-items:center;min-width:0;min-height:48px;display:grid}.scorecard-hole small{color:var(--muted);font-size:10px;font-weight:760}.scorecard-hole strong{color:var(--ink);font-size:17px;line-height:1}.scorecard-hole.under{border-left-color:var(--blue)}.scorecard-hole.par{border-left-color:var(--green)}.scorecard-hole.bogey{border-left-color:var(--gold)}.scorecard-hole.double{border-left-color:var(--azalea)}.scorecard-details{border:1px solid var(--line);background:#fffef8;border-radius:8px}.scorecard-details summary{color:var(--pine);cursor:pointer;padding:10px 12px;font-weight:820}.scorecard-table-wrap{border-top:1px solid var(--line);overflow-x:auto}.scorecard-table-wrap table{border-collapse:collapse;width:100%;min-width:430px;font-size:13px}.scorecard-table-wrap th,.scorecard-table-wrap td{text-align:right;border-bottom:1px solid #d9d2bbb8;padding:7px 8px}.scorecard-table-wrap th:first-child,.scorecard-table-wrap td:first-child{text-align:left}.scorecard-table-wrap th{color:var(--muted);text-transform:uppercase;font-size:11px}.scorecard-note{color:var(--muted-strong);font-size:13px;line-height:1.45}.scorecard-form{gap:10px;padding-top:2px;display:grid}.log-round{border:1px solid var(--line);background:#fffef8;border-radius:8px}.log-round summary{width:100%;color:var(--pine);cursor:pointer;align-items:center;gap:7px;padding:11px 12px;font-weight:820;display:inline-flex}.log-round .scorecard-form{padding:0 12px 12px}.scorecard-form-heading{color:var(--pine);align-items:center;gap:7px;display:flex}.scorecard-form-heading svg{color:var(--green)}.scorecard-form-heading h3{font-size:17px;line-height:1.15}.scorecard-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scorecard-form label,.scorecard-wide-field{color:var(--muted-strong);gap:5px;font-size:12px;font-weight:800;display:grid}.scorecard-form input,.scorecard-form textarea{width:100%;min-width:0;min-height:44px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fffef8;border-radius:7px;padding:10px;font-size:15px;line-height:1.35}.scorecard-form textarea{resize:vertical}.scorecard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scorecard-history{gap:8px;display:grid}.scorecard-history article{border:1px solid var(--line);background:#fffef8;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.scorecard-history span{text-align:center;min-width:56px;color:var(--muted);font-size:12px;font-weight:820;display:grid}.scorecard-history span strong{color:var(--pine);font-size:20px;line-height:1}.scorecard-history p{min-width:0;color:var(--pine);overflow-wrap:anywhere;font-size:14px;font-weight:780}.scorecard-history small{color:var(--muted);font-size:12px;font-weight:650;display:block}.scorecard-history button{width:44px;height:44px;color:var(--azalea);background:var(--azalea-soft);cursor:pointer;border:1px solid #b42c3e29;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.scorecard-backup{display:grid}.scorecard-panel>.error-strip,.coach-panel>.error-strip,.coach-panel>.notice-strip{margin:0}.codex-status.idle,.codex-status.needs-auth,.codex-status.not-configured,.codex-status.ready{color:var(--green-dark);background:var(--green-soft)}.codex-status.preparing,.codex-status.uploading{color:#6b4308;background:var(--amber-soft)}.codex-status.error{color:#742018;background:var(--azalea-soft)}.drive-path{color:var(--muted-strong);margin-top:10px;font-size:13px;line-height:1.45}.codex-button{width:100%;margin-top:10px}.compact-progress{padding:10px 0 0}.codex-note,.codex-error,.codex-model,.codex-review p{color:var(--muted-strong);margin-top:8px;font-size:13px;line-height:1.45}.codex-error{color:#742018}.codex-review{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.codex-review h3{overflow-wrap:anywhere;margin:8px 0 0;font-size:16px;line-height:1.3}.drive-link{color:var(--green);align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:760;text-decoration:none;display:inline-flex}.drive-link:hover{text-decoration:underline}.video-history-panel{border-top:3px solid var(--blue);gap:12px;margin-top:14px;padding:14px;display:grid}.video-history-list{gap:8px;display:grid}.video-history-item{border:1px solid var(--line);background:#fffef8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid;overflow:hidden}.video-history-item.active{box-shadow:inset 3px 0 0 var(--green);border-color:#0067477a}.video-history-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.video-history-main:hover{background:var(--paper-soft)}.video-history-icon{width:34px;height:34px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;display:grid}.video-history-copy{gap:4px;min-width:0;display:grid}.video-history-copy strong,.video-history-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.video-history-copy strong{color:var(--pine);font-size:14px;line-height:1.2}.video-history-copy small,.video-history-meta span{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:720;display:inline-flex}.video-history-copy span{color:var(--muted-strong);font-size:13px}.video-history-meta{white-space:nowrap;justify-items:end;gap:5px;display:grid}.video-history-delete{width:40px;min-width:40px;color:var(--azalea);background:var(--azalea-soft);cursor:pointer;border:0;border-left:1px solid #b42c3e29;place-items:center;display:grid}.video-history-delete:hover{background:#ffd7dd}.video-history-panel>.error-strip{margin:0}.empty-insights{text-align:center;background:linear-gradient(90deg, #00674714 1px, transparent 1px) 0 0 / 38px 38px, linear-gradient(0deg, #f1c94d24 1px, transparent 1px) 0 0 / 38px 38px, var(--paper);border:1px solid var(--line);align-content:center;place-items:center;gap:10px;min-height:520px;padding:24px;display:grid}.empty-insights svg{color:var(--green)}.empty-insights p{max-width:25rem;line-height:1.5}.compact-empty{min-height:340px}@media (width<=1120px){body{background:linear-gradient(180deg, #031a13fa 0 360px, #f1f0e600 360px 100%), repeating-linear-gradient(90deg, #05281d0e 0 1px, transparent 1px 64px), linear-gradient(180deg, #f5f3e9, var(--bg))}.app-shell{padding-bottom:86px}.workspace-grid{grid-template-columns:1fr}.workspace-grid:not(.view-swing) .review-pane,.workspace-grid:not(.view-coach) .coach-stack,.workspace-grid:not(.view-rounds) .rounds-stack{display:none}.mobile-nav{z-index:20;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line-strong);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #1117131f}.mobile-nav button{min-height:54px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-content:center;justify-items:center;gap:3px;padding:4px 0;font-size:12px;font-weight:760;display:grid}.mobile-nav button.active{color:var(--green-dark);background:var(--green-soft)}.video-header p{max-width:78vw}.empty-insights{min-height:260px}}@media (width<=760px){.app-shell{padding:12px 12px 88px}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:0;margin-bottom:12px;padding:10px 12px;display:flex}.brand-mark{width:36px;height:36px}.brand-mark svg{width:17px;height:17px}.brand-kicker,.brand-copy>p:last-child{display:none}.brand-lockup{gap:10px}.brand-lockup h1{font-size:21px}.topbar-actions{flex:none}.topbar .button{min-height:40px;padding-inline:12px}.video-stage:not(.has-video){min-height:240px}.video-stage.has-video,.video-stage.has-video video{max-height:54svh}.slowmo-footer{grid-template-columns:1fr}.slowmo-meta{justify-content:space-between}.gps-current{grid-template-columns:1fr}.gps-current-main strong{font-size:58px}.gps-distance-grid{grid-template-columns:repeat(3,minmax(86px,1fr));overflow-x:auto}.instant-panel{margin-inline:12px}.swing-lab{margin-inline:-12px}.swing-lab-header,.swing-lab-caveat,.swing-lab-phases{padding-inline:12px}.swing-lab-stage{height:clamp(300px,42svh,460px)}.swing-lab-phases{grid-template-columns:repeat(5,minmax(86px,1fr));overflow-x:auto}.phase-strip{grid-template-columns:repeat(5,minmax(170px,1fr));margin-inline:-2px;padding-inline:2px}.coach-messages{max-height:min(360px,38svh)}.scorecard-hole-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=520px){.brand-lockup h1{font-size:19px}.topbar .button span{font-size:14px}.pwa-install-button{width:40px;min-width:40px;padding:0}.pwa-install-button span{display:none}.offline-status{padding-inline:9px}.video-header{align-items:flex-start}.video-header p{max-width:72vw}.video-stage:not(.has-video){min-height:220px}.video-stage.has-video,.video-stage.has-video video{max-height:50svh}.fps-chip{display:none}.preflight-strip{grid-template-columns:1fr;display:grid}.reviewer-model-control{grid-template-columns:1fr}.reviewer-model-control select{min-height:44px}.scorecard-table-wrap table{table-layout:fixed;min-width:0;font-size:12px}.scorecard-table-wrap th,.scorecard-table-wrap td{padding:7px 3px}.preflight-strip span{width:100%}.instant-panel{margin:0 12px 14px;padding:12px}.swing-lab{margin-inline:-12px}.swing-lab-stage{height:clamp(280px,40svh,410px)}.swing-lab-header{align-items:flex-start}.swing-lab-header h3{font-size:19px}.instant-panel .panel-heading.compact{align-items:flex-start}.coach-messages{max-height:min(320px,34svh)}.coach-message{padding:12px}.scorecard-round-heading{flex-direction:column;align-items:stretch}.scorecard-total{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:8px}.scorecard-splits,.scorecard-fields,.scorecard-actions,.gps-actions,.gps-form-actions,.gps-fields,.gps-hole-picker{grid-template-columns:1fr}.scorecard-hole-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.strategy-recommendation{grid-template-columns:auto minmax(0,1fr)}.strategy-recommendation>button{grid-column:2;justify-self:start}.strategy-tuning-fields{grid-template-columns:1fr}.phase-strip{grid-template-columns:repeat(5,minmax(190px,1fr))}.video-history-main{grid-template-columns:auto minmax(0,1fr)}.video-history-meta{grid-column:2;grid-auto-flow:column;justify-content:start;justify-items:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important}}.gps-panel .gps-actions{grid-template-columns:1fr 1fr}.gps-panel .gps-current{grid-template-columns:1fr 1fr;align-items:center}.gps-panel .gps-current-main strong{font-size:44px}.gps-panel .gps-current-meta span{font-size:11px}.gps-panel .gps-current-meta span:first-child{text-transform:none;line-height:1.4}.gps-hole-map-overlay .gps-hole-map-wind-arrow,.gps-hole-map-overlay .gps-hole-map-wind-speed{display:none}.gps-shot-pattern-outer{fill:#f1c94d59;stroke:#ffdf5d;stroke-width:2px;stroke-dasharray:none}.gps-shot-pattern-inner{fill:#fffdf61f;stroke:#fffdf6e6;stroke-dasharray:3 3}.gps-panel>.gps-distance-grid{order:0;grid-row:auto}.gps-panel .gps-hole-map{margin-top:-6px}.shot-learning{border:1px solid var(--line-strong);border-left:4px solid var(--gold);background:var(--paper);border-radius:8px;gap:12px;padding:16px;display:grid}.shot-learning p{margin:0;font-size:13px;line-height:1.6}.shot-learning small{color:var(--muted-strong);font-size:12px;line-height:1.5}.shot-learning .gps-section-heading{flex-wrap:wrap;gap:8px}.shot-learning .gps-section-heading strong{align-items:center;gap:6px;display:flex}.shot-log-actions{flex-wrap:wrap;gap:8px;display:flex}.shot-log-actions button{flex:1;min-height:44px}.shot-result{background:var(--green-soft);border-radius:8px;gap:12px;padding:14px;display:grid}.shot-result label{align-items:center;gap:10px;font-size:13px;display:flex}.shot-result input{flex:none;width:22px;height:22px}.shot-profile-status{color:var(--muted-strong);grid-column:1/-1;font-size:12px;line-height:1.5}.gps-shot-toolbar .use-learned{grid-column:1/-1;align-items:center;gap:8px;display:flex}.use-learned input{width:20px;height:20px}.gps-finish-marker{fill:#e46f49;stroke:#fff;stroke-width:1px}.saved-shot{border-bottom:1px solid var(--line);padding:8px 0}.golf-bag,.shot-history{background:var(--paper);border:1px solid var(--line-strong);border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid}.golf-bag{border-left:4px solid var(--green);display:block}.golf-bag>summary{cursor:pointer;min-height:32px;font-weight:800;line-height:1.5}.golf-bag>summary span{color:var(--muted-strong);margin-left:17px;font-size:12px;font-weight:500;display:block}.golf-bag p,.shot-history p{margin:0;font-size:13px;line-height:1.6}.golf-bag[open]>p{margin:12px 0}.golf-bag-list{gap:6px;margin:12px 0;display:grid}.golf-bag-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:8px;padding:10px 0;display:grid}.golf-bag-list article>div{overflow-wrap:anywhere;gap:4px;display:grid}.golf-bag-list small,.shot-history small{color:var(--muted-strong);font-size:12px;line-height:1.5}.golf-bag-list button{border:1px solid var(--line);background:var(--paper-soft);border-radius:6px;place-items:center;height:44px;display:grid}.golf-bag-form{background:var(--green-soft);border-radius:8px;gap:12px;padding:14px;display:grid}.golf-bag-form label,.shot-entry-fields label,.shot-history-filters label,.shot-history-detail label{gap:5px;min-width:0;font-size:12px;font-weight:750;display:grid}.golf-bag-form input,.golf-bag-form select,.shot-entry-fields select,.shot-history select{width:100%;min-width:0;min-height:46px;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;padding:9px;font-size:16px}.shot-entry-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.shot-history .gps-section-heading{flex-wrap:wrap;gap:8px}.shot-history-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.shot-history-filters label:last-child{grid-column:1/-1}.club-distance-cards{gap:10px;display:grid}.club-distance-cards article{background:var(--paper-soft);border:1px solid var(--line);border-radius:8px;gap:8px;padding:14px;display:grid}.club-distance-cards article>button{min-height:40px;color:var(--green-dark);text-align:left;background:0 0;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:0;display:flex}.club-distance-cards article>button strong{overflow-wrap:anywhere}.club-distance-cards article>button span{font-size:12px}.club-distance-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.club-distance-grid>div{gap:6px;display:grid}.club-distance-grid b{color:var(--pine);font-size:22px;line-height:1.3}.club-distance-grid span{color:var(--muted-strong);font-size:11px;line-height:1.4}.shot-scatter-wrap>summary{cursor:pointer;padding:10px 0;font-weight:750}.shot-scatter-wrap svg{width:100%;max-width:500px;margin:auto;display:block}.shot-scatter-wrap svg text{fill:var(--muted-strong);font-size:10px}.round-shot-list{gap:6px;max-height:410px;display:grid;overflow-y:auto}.round-shot-list>button{background:var(--paper);border:1px solid var(--line);text-align:left;border-radius:7px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 8px;display:grid}.round-shot-list>button.active{background:var(--green-soft);border-color:var(--green)}.round-shot-list>button>span{gap:4px;display:grid}.round-shot-list strong{overflow-wrap:anywhere;font-size:14px}.round-shot-list>button>span:last-child{text-align:right}.round-shot-list .shot-number{background:var(--green-dark);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.shot-history-detail{background:var(--green-soft);border-radius:7px;gap:12px;padding:14px;display:grid}.recorded-map-shot{cursor:pointer}.recorded-shot-hit{fill:#0000}.recorded-shot-line{stroke:#f39361;stroke-width:.8px;fill:none}.recorded-shot-trail{pointer-events:none}.recorded-shot-trail.selected .recorded-shot-line{stroke:#ffb98e;stroke-width:1.5px}.recorded-shot-start{fill:#fff;stroke:#9a3915;stroke-width:.6px}.recorded-shot-finish{fill:#ad451e;stroke:#fff;stroke-width:.7px}.recorded-shot-finish.carry{fill:#007454}.recorded-shot-number{fill:#fff;text-anchor:middle;pointer-events:none;font-size:3.5px;font-weight:800}.recorded-shot-aim{stroke:#82e3ff;stroke-width:1px;stroke-dasharray:2 2;fill:none;pointer-events:none}.recorded-shot-aim-target{fill:#0000;stroke:#82e3ff;stroke-width:1px}.pending-shot-start{fill:#82e3ff;stroke:#092c26;stroke-width:.7px}.pending-map-shot{pointer-events:none}.map-shot-key{gap:6px;font-size:12px;line-height:1.5;display:grid}.map-shot-key strong{color:var(--green-dark)}@media (width<=360px){.shot-entry-fields{grid-template-columns:1fr}.club-distance-grid b{font-size:19px}}.gps-panel>.panel-heading{order:0;margin-bottom:0}.gps-panel>.gps-play-navigation{order:1}.gps-panel>.gps-actions{order:2}.gps-panel>.gps-hole-map{order:3}.gps-panel>.gps-map-help{order:4}.gps-panel>.shot-learning{order:5}.gps-panel>.golf-bag{order:6}.gps-panel>.shot-history{order:7}.gps-panel>.shot-strategy{order:8}.gps-panel>.oncourse-tools{order:9}.gps-panel>.gps-current{order:10}.gps-panel>.gps-distance-grid{order:11}.gps-panel>.gps-empty{order:12}.gps-panel>.gps-source-note{order:13}.gps-panel .gps-hole-map{background:0 0;border:0;border-radius:12px;gap:6px;margin:0;padding:0}.gps-hole-map-frame{background:#203b2e;border:0;border-radius:12px;height:min(78svh,780px);min-height:540px;overflow:clip}.aerial-map-tiles{transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0}.aerial-map-tiles .gps-hole-map-tile{transform-origin:0 0;filter:brightness(1.08)saturate(1.06);width:256px;max-width:none;height:256px;position:absolute;top:0;left:0}.gps-hole-map-overlay{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.gps-hole-map-overlay:active{cursor:grabbing}.gps-hole-map-route,.gps-hole-map-route-shadow{display:none}.gps-hole-map-green-line{stroke:#72dcaa4d;stroke-width:2px}.gps-shot-pattern-outer{fill:#ffffff09;stroke:#fff;stroke-width:2.5px}.gps-shot-pattern-inner{fill:#24d07c13;stroke:#27df91;stroke-width:2px;stroke-dasharray:none}.gps-shot-aim-point{fill:#fff;stroke:#006747;stroke-width:1px}.gps-shot-aim-line{stroke:#fff;stroke-width:1.5px;stroke-dasharray:none}.gps-aim-handle{cursor:grab;touch-action:none;outline:none}.gps-aim-handle.is-dragging{cursor:grabbing}.gps-aim-hit{fill:#0000;pointer-events:all}.gps-aim-grip{fill:#174632;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.gps-aim-cross{stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.gps-aim-handle:focus-visible .gps-aim-grip,.gps-aim-handle.is-dragging .gps-aim-grip{fill:#167b52;stroke:#b5edce}.gps-aim-distance{fill:#fff;paint-order:stroke;stroke:#10251f;stroke-width:1.2px;stroke-linejoin:round;pointer-events:none;font-size:3px;font-weight:800}.gps-tee-handle{cursor:grab;touch-action:none;outline:none}.gps-tee-handle.is-dragging{cursor:grabbing}.gps-tee-hit{fill:#0000;pointer-events:all}.gps-tee-grip{fill:#d5f3de;stroke:#174632;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.gps-tee-symbol{stroke:#174632;stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.gps-tee-handle:focus-visible .gps-tee-grip,.gps-tee-handle.is-dragging .gps-tee-grip{fill:#fff;stroke:#27df91}.gps-tee-label{cursor:grab}.map-reset-tee{color:#b5edce;cursor:pointer;background:0 0;border:0;min-height:44px;padding:4px 0;font-size:11px;text-decoration:underline;display:block}.map-reset-tee:disabled{opacity:.4;cursor:default}.gps-shot-pattern-label{font-size:3.3px}.gps-hole-map-tee,.gps-hole-map-target{r:1.5}.gps-hole-map-target-label{font-size:2.6px}.terrain-only .gps-hole-map-overlay>*{visibility:hidden}.map-top-controls{z-index:3;pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map-top-controls button,.map-top-controls .map-view-tabs{pointer-events:auto}.map-view-tabs{background:#0a1914db;border-radius:9px;gap:2px;padding:3px;display:flex;box-shadow:0 2px 14px #0003}.map-view-tabs button{color:#fff;background:0 0;border:0;border-radius:6px;min-height:40px;padding:6px 10px;font-size:12px;font-weight:750}.map-expand,.map-zoom-controls button{color:#fff;background:#0a1914db;border:1px solid #ffffff35;border-radius:9px;place-items:center;width:44px;height:44px;font-size:27px;display:grid;box-shadow:0 2px 14px #0003}.map-zoom-controls{z-index:3;gap:5px;display:grid;position:absolute;top:122px;right:12px}.map-zoom-controls button:disabled{opacity:.5}.map-terrain-toggle{z-index:3;color:#fff;background:#0a1914db;border:1px solid #ffffff30;border-radius:7px;min-height:36px;padding:8px 10px;font-size:11px;font-weight:700;position:absolute;top:70px;right:12px}.gps-hole-map-wind{z-index:3;min-height:36px;box-shadow:none;background:#0a1914db;padding:8px;top:70px;left:12px}.map-range-readout{flex-shrink:0;gap:10px;display:flex}.map-range-readout>div{text-align:right;color:#fff;gap:2px;display:grid}.map-range-readout span{color:#b8cebf;font-size:10px;font-weight:500}.map-range-readout strong{font-size:18px;line-height:1.1}.map-range-readout small{font-size:10px;font-weight:500}.map-bottom-dock{z-index:3;color:#fff;background:#091713eb;border:1px solid #ffffff24;border-radius:12px;padding:12px;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 6px 22px #0004}.map-dock-toggle{color:#fff;cursor:pointer;background:#ffffff0c;border:1px solid #ffffff35;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:8px;display:flex}.map-dock-toggle:focus-visible{outline-offset:3px;outline:2px solid #b5edce}.map-bottom-dock.is-collapsed{padding:4px}.map-bottom-dock.is-collapsed .map-hole-caption{border:0;margin:0;padding:0}.map-bottom-dock.is-collapsed .map-club-navigation{border:0;margin-top:4px;padding:0}.map-bottom-dock.is-collapsed .map-dock-toggle{border:0;padding:9px 12px;font-size:12px;font-weight:700}.map-dock-body[hidden]{display:none}.map-hole-caption{border-bottom:1px solid #ffffff20;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;font-size:14px;display:grid}.map-hole-caption .map-dock-toggle{grid-area:1/2}.map-hole-caption .map-range-readout{grid-area:2/1/auto/-1;justify-content:space-between}.map-hole-navigation,.map-club-navigation{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:2px;min-width:0;display:grid}.map-club-navigation{border-bottom:1px solid #ffffff20;margin-bottom:8px;padding-bottom:8px}.map-hole-navigation button,.map-hole-navigation select,.map-club-navigation button,.map-club-navigation select{color:#fff;cursor:pointer;background:#ffffff0c;border:1px solid #ffffff35;border-radius:7px;min-width:0;min-height:44px}.map-hole-navigation button,.map-club-navigation button{justify-content:center;align-items:center;padding:0;display:flex}.map-hole-navigation button:disabled,.map-club-navigation button:disabled{opacity:.35;cursor:default}.map-hole-navigation select,.map-club-navigation select{width:100%;font:inherit;padding:6px;font-size:12px;font-weight:700}.map-hole-navigation option,.map-club-navigation option{color:#fff;background:#233c31}.map-hole-navigation button:focus-visible,.map-hole-navigation select:focus-visible,.map-club-navigation button:focus-visible,.map-club-navigation select:focus-visible{outline-offset:2px;outline:2px solid #b5edce}.map-bottom-dock .gps-shot-toolbar{color:#fff;background:0 0;border:0;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px;padding:0;display:grid}.map-bottom-dock .gps-shot-toolbar strong{font-size:12px}.map-bottom-dock .card-kicker{color:#aed7bc;font-size:9px}.map-bottom-dock .gps-shot-toolbar select{color:#fff;background:#233c31;border-color:#688370;min-height:42px;font-size:14px}.map-bottom-dock .gps-shot-toolbar option{color:#fff;background:#233c31}.map-bottom-dock .gps-shot-summary,.map-bottom-dock .shot-profile-status{display:none}.map-bottom-dock .use-learned{color:#d5e8dc;font-size:11px}.map-bottom-dock .gps-map-modes{gap:5px}.map-bottom-dock .gps-map-modes button{color:#fff;background:#ffffff0c;border-color:#ffffff24;min-height:36px;font-size:11px}.map-dock-body>p{text-align:center;color:#c0d1c7;margin:8px 0 0;font-size:10px}.map-imagery-status{z-index:4;color:#fff;text-align:center;background:#112b24f2;border:1px solid #ffffff40;border-radius:8px;gap:10px;padding:12px;font-size:12px;display:grid;position:absolute;top:195px;left:15%;right:15%}.map-imagery-status button{color:#073c27;background:#d4f4df;border:0;border-radius:5px;min-height:40px;font-weight:750}.gps-map-attribution{padding:0 5px;font-size:9px}.gps-panel .map-expanded{z-index:1000;background:#10291e;border-radius:0;flex-direction:column;padding:0;display:flex;position:fixed;inset:0}.map-expanded .gps-hole-map-frame{border-radius:0;flex:1;height:auto;min-height:0}.map-expanded .gps-map-attribution{color:#e4efe8;padding:3px 6px max(3px,env(safe-area-inset-bottom));background:#10291e}.map-expanded .map-shot-key{display:none}.map-expanded .map-top-controls{top:max(12px,env(safe-area-inset-top))}.gps-shot-pattern.has-effects .gps-shot-pattern-outer{stroke:#fff;stroke-dasharray:1.2 1;fill:none;opacity:.8}.gps-shot-pattern.has-effects .gps-shot-pattern-inner{display:none}.gps-shot-pattern.has-effects .gps-shot-aim-point{fill:#fff;stroke:#09251d;r:1.5}.gps-effects-shift{stroke:#ffd176;stroke-width:.55px;stroke-dasharray:1 1}.gps-effects-spread{fill:#ffd17618;stroke:#ffd176;stroke-width:.65px}.gps-effects-point{fill:#ffd176;stroke:#34230a;stroke-width:.5px}.gps-effects-label{fill:#ffe0a4;paint-order:stroke;stroke:#10251f;stroke-width:1.2px;stroke-linejoin:round;font-size:2.8px;font-weight:800}.map-conditions-summary{color:#e9f3ec;text-align:left;background:0 0;border:0;border-top:1px solid #ffffff20;gap:3px;width:100%;min-height:44px;margin-top:7px;padding:8px 0 0;display:grid}.map-conditions-summary>span{align-items:center;gap:6px;font-size:11px;display:flex}.map-conditions-summary i{background:#ffd176;border-radius:50%;width:7px;height:7px}.map-conditions-summary small{letter-spacing:.7px;color:#ffd176;font-size:8px}.map-conditions-summary b{margin-left:auto;font-size:17px;line-height:1}.map-conditions-summary>strong{color:#d0ddd5;font-size:11px;font-weight:500}.map-conditions-sheet{inset:auto 0 max(12px,env(safe-area-inset-bottom));color:#edf7f0;overscroll-behavior:contain;background:#132c23;border:1px solid #547563;border-radius:16px;width:calc(100% - 24px);max-width:440px;max-height:75dvh;margin:0 auto;padding:18px;font-size:13px;position:fixed;overflow:auto;box-shadow:0 8px 45px #0008}.map-conditions-sheet::backdrop{background:#03160c77}.map-conditions-sheet header{justify-content:space-between;align-items:center;gap:12px;display:flex}.map-conditions-sheet h3{color:#fff;margin:0;font-size:20px}.map-conditions-sheet header button{color:#fff;background:#274a38;border:1px solid #719780;border-radius:8px;width:44px;height:44px}.conditions-enable{align-items:center;gap:8px;min-height:36px;margin:12px 0;display:flex}.conditions-enable input{accent-color:#ffd176;width:18px;height:18px}.conditions-comparison{border-block:1px solid #ffffff26;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 0;display:grid}.conditions-comparison>div{gap:4px;display:grid}.conditions-comparison .conditions-plays-like{color:#b9efd1}.conditions-comparison .conditions-expected{color:#ffd176}.conditions-comparison span{font-size:12px}.conditions-comparison strong{font-size:clamp(22px,7vw,28px)}.conditions-comparison small{font-size:13px}.map-conditions-sheet p{color:#d0e0d6;margin:10px 0 14px;font-size:12px;line-height:1.5}.map-conditions-sheet .conditions-notice{color:#ffe0a4}.conditions-field-heading{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.map-conditions-sheet select,.map-conditions-sheet input[type=number]{color:#fff;background:#203e30;border:1px solid #6c8d79;border-radius:7px;width:100%;min-height:44px;padding:7px 9px;font-size:16px}.conditions-field-heading select{max-width:160px;font-size:13px}.conditions-inputs{grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;display:grid}.conditions-inputs label,.conditions-rise,.conditions-flight{gap:6px;display:grid}.conditions-rise,.conditions-flight{margin-top:12px}.conditions-rise small{color:#b8d0c2;line-height:1.5}.map-conditions-sheet details{margin-top:12px}.map-conditions-sheet summary{cursor:pointer;min-height:36px;padding-top:8px;font-weight:650}.map-conditions-sheet a{color:#c1f1d3}.conditions-refresh{color:#fff;background:#264c38;border:1px solid #809b8b;border-radius:7px;width:100%;min-height:44px;margin-top:12px;font-weight:700}@media (width<=760px){.gps-panel{gap:10px;padding:12px}.gps-panel>.gps-hole-map:not(.map-expanded){width:calc(100% + 24px);margin:0 -12px}.gps-hole-map-frame{border-radius:0}.gps-panel>.panel-heading .card-kicker{display:none}.gps-panel>.panel-heading h2{font-size:22px}.gps-play-navigation{grid-template-columns:42px 1fr 42px}.gps-play-navigation label{gap:0;font-size:0}.gps-play-navigation button,.gps-play-navigation select{min-height:40px}.map-view-tabs button{padding:6px 8px}}@media (width<=480px){.map-bottom-dock.is-collapsed .map-dock-toggle span{display:none}}@media (width<=360px){html,body{min-width:0}.map-top-controls,.map-bottom-dock{left:8px;right:8px}.map-view-tabs button{padding:6px 7px;font-size:11px}.map-bottom-dock{padding:10px}.map-bottom-dock.is-collapsed .map-dock-toggle span{display:none}}body{color:var(--ink);background:radial-gradient(circle at 12% -8%, #c9a46129, transparent 31rem), radial-gradient(circle at 100% 35%, #0f4d2e12, transparent 34rem), var(--bg)}body:before{z-index:-1;opacity:.28;content:"";pointer-events:none;background-image:radial-gradient(#0b2f1f29 .55px,#0000 .55px);background-size:18px 18px;position:fixed;inset:0}.app-shell{width:min(1240px,100%);padding:18px clamp(12px,3vw,34px) 118px}.topbar{min-height:112px;color:var(--ink);border:0;box-shadow:none;background:0 0;border-bottom:1px solid #0b2f1f2e;border-radius:0;margin:0 auto 28px;padding:8px 4px 18px;overflow:visible}.topbar:after{background:var(--gold);border-radius:99px;width:92px;height:3px;bottom:-2px;left:4px;right:auto}.brand-lockup{gap:18px}.brand-mark{object-fit:contain;width:102px;height:84px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.brand-mark:after{content:none}.brand-lockup h1{color:var(--green-dark);font-family:var(--display);letter-spacing:-2.4px;font-size:clamp(34px,4vw,48px);font-weight:600;line-height:.94}.brand-wordmark{width:clamp(160px,21vw,258px);height:auto;display:block}.brand-kicker{letter-spacing:3px;color:var(--gold-strong)!important;margin:0 0 7px!important;font-size:10px!important;font-weight:700!important}.brand-copy>p:last-child{color:var(--muted-strong);letter-spacing:2.2px;text-transform:uppercase;margin-top:9px;font-size:11px;font-weight:500}.topbar .button.secondary{color:var(--green-dark);background:var(--paper);border-color:var(--line-strong);box-shadow:var(--shadow-soft)}.offline-status{color:var(--green-dark);background:var(--gold-soft);border-color:#c9a46180}.app-main{width:min(1000px,100%)}.card,.desktop-session-panel,.coach-panel,.codex-panel,.gps-panel,.scorecard-panel,.instant-panel,.empty-insights,.shot-learning,.golf-bag,.shot-history,.shot-strategy,.oncourse-tools{border-color:var(--line);box-shadow:var(--shadow-soft);border-radius:22px}.card,.desktop-session-panel,.coach-panel,.codex-panel,.gps-panel,.scorecard-panel,.instant-panel,.shot-learning,.golf-bag,.shot-history,.shot-strategy,.oncourse-tools{background:#fffdf7f5}.panel-heading{align-items:flex-start}.panel-heading h2,.video-header h2,.empty-insights h2,.filming-guide h2,.shot-strategy-heading h3{color:var(--green-dark);font-family:var(--display);letter-spacing:-.8px;font-weight:700}.panel-heading p,.card-kicker,.gps-section-heading>span{color:var(--gold-strong);letter-spacing:2px;text-transform:uppercase;font-size:10px;font-weight:700}.chip,.gps-status,.coach-status,.codex-status,.desktop-session-status{color:var(--green-dark);background:var(--green-soft);border:1px solid #0f4d2e1a;border-radius:999px}.button,.icon-button,button,select,input,textarea{border-radius:12px}.button{font-weight:600}.button.primary{color:var(--cream,#f8f7ee);background:var(--green);border-color:var(--green);box-shadow:0 10px 25px #0f4d2e2e}.button.primary:not(:disabled):hover{background:#0b4229}.button.secondary,.button.ghost,.icon-button{color:var(--green-dark);background:var(--paper);border-color:var(--line-strong)}.button:not(:disabled):active,.icon-button:active{transform:translateY(0)scale(.985)}.button:focus-visible,.icon-button:focus-visible,.empty-stage:focus-visible{outline-color:#c9a461bf}input,select,textarea,.gps-play-navigation select,.gps-shot-toolbar select,.oncourse-tools select,.oncourse-tools input,.golf-bag-form input,.golf-bag-form select,.shot-entry-fields select,.shot-history select,.map-conditions-sheet select,.map-conditions-sheet input[type=number]{border-color:var(--line-strong);border-radius:12px;box-shadow:inset 0 1px #0b2f1f08}.filming-guide{background:radial-gradient(circle at 100% 0, #dde8cee6, transparent 42%), var(--paper);gap:20px;padding:clamp(22px,5vw,40px)}.filming-guide:before{content:"";background:url(/brand-mark.png) 50%/contain no-repeat;width:110px;height:84px;margin-bottom:-2px}.filming-tips{grid-template-columns:repeat(3,minmax(0,1fr))}.filming-tips li{background:var(--bg);border:0;border-top:2px solid var(--gold);border-radius:15px;align-content:start;padding:16px}.tabbar{right:50%;bottom:max(12px,env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf7f0;border:1px solid #0f4d2e24;border-radius:22px;width:min(560px,100% - 24px);padding:7px;left:auto;transform:translate(50%);box-shadow:0 16px 44px #0b2f1f2e}.tab-button{min-height:58px;color:var(--muted);border-radius:16px;font-size:11px;font-weight:600}.tab-button svg{stroke-width:1.8px}.tab-button.active{color:var(--bg);background:var(--green);box-shadow:0 7px 17px #0f4d2e2e}.tab-dot{background:var(--gold);border-color:var(--green)}.gps-panel{background:#fffdf7f7;border:1px solid #0f4d2e1f;gap:14px;padding:clamp(14px,3vw,22px)}.gps-panel>.panel-heading h2{font-size:clamp(26px,4vw,36px)}.gps-play-navigation{gap:7px}.gps-play-navigation button,.gps-play-navigation select{min-height:48px;color:var(--green-dark);background:var(--bg);border-color:var(--line)}.gps-actions{gap:8px}.gps-actions .button.primary{background:var(--green)}.gps-current{background:var(--green);color:var(--bg);border:0;border-radius:20px}.gps-current-main span,.gps-current-main small,.gps-current-meta span{color:#f8f7eeb8}.gps-current-main strong{color:var(--bg)}.gps-distance-grid article{background:var(--bg);border-color:var(--line);border-radius:16px}.gps-panel .gps-hole-map{border-radius:24px;overflow:hidden}.gps-hole-map-frame{border-radius:24px;box-shadow:0 18px 38px #0b2f1f26}.map-top-controls{top:14px;left:14px;right:14px}.map-view-tabs,.map-expand,.map-zoom-controls button,.map-terrain-toggle,.gps-hole-map-wind{background:#0b2f1feb;border-color:#f8f7ee38;border-radius:14px;box-shadow:0 7px 22px #061c1242}.map-view-tabs{border-radius:15px}.map-view-tabs button{border-radius:11px;font-weight:600}.map-view-tabs button[aria-pressed=true]{color:var(--green-dark);background:var(--bg)}.map-terrain-toggle{font-weight:600}.map-bottom-dock{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b2f1ff0;border-color:#c9a46161;border-radius:20px;padding:14px;bottom:14px;left:14px;right:14px;box-shadow:0 12px 35px #0518105c}.map-dock-toggle,.map-hole-navigation button,.map-hole-navigation select,.map-club-navigation button,.map-club-navigation select{border-color:#f8f7ee33;border-radius:12px}.map-hole-navigation select{background:#f8f7ee14}.map-club-navigation select{background:#c9a46121}.map-bottom-dock .gps-shot-toolbar select{background:#173d2a;border-radius:12px}.map-bottom-dock .gps-map-modes button{border-radius:12px}.map-bottom-dock .gps-map-modes button.active{color:var(--green-dark);background:var(--bg);border-color:var(--bg)}.map-bottom-dock .card-kicker,.map-conditions-summary small,.gps-effects-label{color:var(--gold);fill:var(--gold)}.map-range-readout strong{color:var(--bg)}.gps-effects-shift{stroke:var(--gold)}.gps-effects-spread{fill:#c9a4611f;stroke:var(--gold)}.gps-effects-point{fill:var(--gold)}.gps-tee-grip{fill:var(--bg);stroke:var(--green)}.gps-tee-symbol{stroke:var(--green)}.shot-learning,.golf-bag,.shot-history,.oncourse-tools,.shot-strategy{padding:20px}.shot-learning{border-left:0;border-top:3px solid var(--gold)}.golf-bag{border-left:0;border-top:3px solid var(--green)}.golf-bag-form,.shot-history-detail{background:var(--paper-tint);border-radius:16px}.golf-bag-list article{border-color:var(--line)}.club-distance-cards article,.round-shot-list>button{background:var(--bg);border-radius:15px}.round-shot-list>button.active{background:var(--green-soft)}.shot-strategy{background:linear-gradient(145deg,var(--paper),#f4f1e3)}.shot-strategy-heading{border-bottom-color:var(--line)}.club-option{border-radius:14px}.club-option.selected{border-color:var(--green);background:var(--green-soft)}.coach-panel{border-top:3px solid var(--gold);background:radial-gradient(circle at 100% 0, #dde8ceb3, transparent 34%), var(--paper);padding:clamp(18px,4vw,30px)}.coach-bubble,.coach-message{border-radius:18px}.scorecard-panel{padding:clamp(18px,4vw,30px)}.scorecard-history article,.log-round{border-radius:16px}@media (width<=760px){.app-shell{padding:10px 10px 106px}.topbar{min-height:88px;margin-bottom:12px;padding:6px 2px 12px}.brand-lockup{gap:10px}.brand-mark{width:74px;height:66px}.brand-lockup h1{letter-spacing:-1.8px;font-size:32px}.brand-kicker{letter-spacing:2.1px;font-size:8px!important}.brand-copy>p:last-child{letter-spacing:1.55px;margin-top:6px;font-size:8px}.topbar-actions .pwa-install-button span{display:none}.topbar-actions .button{width:44px;padding:0}.gps-panel{border-radius:24px;padding:12px}.gps-panel>.gps-hole-map:not(.map-expanded){width:100%;margin:0}.gps-hole-map-frame{border-radius:22px}.gps-panel>.panel-heading .card-kicker{display:block}.gps-panel>.panel-heading h2{font-size:25px}.filming-tips{grid-template-columns:1fr}.filming-guide:before{width:88px;height:66px}.tabbar{bottom:max(8px,env(safe-area-inset-bottom,0px));width:calc(100% - 16px)}.tab-button{min-height:55px}.shot-learning,.golf-bag,.shot-history,.oncourse-tools,.shot-strategy{padding:16px}}@media (width<=360px){.brand-mark{width:62px;height:58px}.brand-lockup h1{font-size:27px}.brand-kicker{letter-spacing:1.5px}.brand-copy>p:last-child{display:none}.map-top-controls,.map-bottom-dock{left:8px;right:8px}}@media (prefers-reduced-motion:no-preference){.app-view.is-active{animation:.28s ease-out brand-in}@keyframes brand-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}@media (width<=760px){.gps-play-navigation{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.gps-play-navigation button{min-width:44px}.gps-preset-panel>summary,.golf-bag>summary,.strategy-tuning summary,.gps-target-form-wrap summary{align-items:center;min-height:44px;display:flex}.gps-preset-list .strip-action,.gps-osm-list .strip-action,.strategy-recommendation button,.strategy-reset,.gps-hole-picker .strip-action,.gps-target-list button,.map-view-tabs button,.map-terrain-toggle{min-width:44px;min-height:44px}.gps-target-list button{width:44px;height:44px}.gps-shot-toolbar select,.map-bottom-dock .gps-shot-toolbar select,.strategy-tuning-fields input,.gps-target-form input,.gps-target-form select,.gps-target-form textarea,.strategy-aim-control input[type=range]{min-height:44px}}
