.viz-root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#edefed;--surface-1:#f8f9f8;--raised:#f2f4f2;--active:#e2e6e2;--text-primary:#1c211e;--text-secondary:#555e58;--text-muted:#5c665f;--grid:#e3e7e3;--axis:#c3cbc4;--border:#dfe4df;--control:#bfc8c0;--series-1:#168446;--series-1-wash:#e4f2df;--context:#a5b79e;--curve-left:#168446;--curve-straight:#637563;--curve-right:#a16a08;--hover-wash:#e9ede9;--brand:#195a32;--brand-ink:#fff;--brand-soft:#cae9bc;--accent:#137a3c;--accent-ink:#fff;--flag:#c53232;--sand:#f4efda;--sand-ink:#806014;--primary:#187c3f;--primary-ink:#fff;--gap:24px;--radius:8px;--sidebar-width:228px}:root[data-theme=dark] .viz-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#171a18;--surface-1:#1e2220;--raised:#252927;--active:#303632;--text-primary:#f1f3f1;--text-secondary:#bec4bf;--text-muted:#a6afa8;--grid:#323833;--axis:#566058;--border:#343b36;--control:#5c675e;--series-1:#65d46e;--series-1-wash:#243f2b;--context:#657c62;--curve-left:#65d46e;--curve-straight:#b0b9ac;--curve-right:#edbd4c;--hover-wash:#2a302c;--brand:#195a32;--brand-ink:#fff;--brand-soft:#cae9bc;--accent:#83df6f;--accent-ink:#112819;--flag:#ff8875;--sand:#36331e;--sand-ink:#e8cc76;--primary:#83df6f;--primary-ink:#112819}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--text-primary);-webkit-tap-highlight-color:transparent;margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}main a:not([class]){color:var(--accent)}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.under{color:var(--flag)}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:30;background:var(--surface-1);padding:10px 16px;position:fixed;top:-60px;left:16px}.skip-link:focus{top:8px}.app-shell{padding:48px 8px 8px var(--sidebar-width);min-height:100dvh}.sidebar{width:var(--sidebar-width);z-index:8;flex-direction:column;padding:16px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;width:fit-content;text-decoration:none;display:inline-flex}.brand .logo{object-fit:contain;display:block}.sidebar>.brand{margin:0 12px 12px}.side-nav{gap:5px;display:grid}.side-nav a{min-height:42px;color:var(--text-secondary);border-radius:6px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.side-nav a:hover{color:var(--text-primary);background:var(--hover-wash)}.side-nav a[aria-current=page]{background:var(--active);color:var(--text-primary);font-weight:500}.side-nav svg,.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto}.avatar{background:var(--active);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;display:grid}.profile-menu{position:relative}.profile-trigger{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 8px;display:flex}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:var(--hover-wash)}.profile-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.profile-trigger svg{fill:none;stroke:currentColor;stroke-width:1.5px;flex:none}.profile-dropdown{background:var(--surface-1);border:1px solid var(--border);z-index:20;border-radius:8px;width:max(100%,192px);padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 6px 24px #0002}.profile-role{color:var(--text-muted);padding:6px 10px;font-size:12px;display:block}.profile-dropdown a,.profile-dropdown button{text-align:left;background:0 0;border:0;border-radius:4px;width:100%;min-height:40px;padding:10px;text-decoration:none;display:block}.profile-dropdown a:hover,.profile-dropdown button:hover{background:var(--hover-wash)}.mobile-profile{display:none}.topbar{height:48px;top:0;right:8px;left:var(--sidebar-width);z-index:9;align-items:center;gap:16px;padding:0 24px;display:flex;position:absolute}.breadcrumb{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;display:flex}.breadcrumb strong{color:var(--text-primary);font-weight:400}.who{align-items:center;gap:16px;margin-left:auto;display:flex}.connection{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.status-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px}.status-dot.connected{background:var(--series-1)}.mobile-brand,.tabbar{display:none}main{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;min-width:0;min-height:calc(100dvh - 56px);padding:28px 24px 40px}main:focus{outline:none}.page-header{margin-bottom:24px}.page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-action{flex:none}h1{letter-spacing:-.025em;margin:0 0 6px;font-size:24px;font-weight:600;line-height:1.25}h2{margin:0 0 4px;font-size:16px;font-weight:500;line-height:1.4}.sub{color:var(--text-secondary);margin:0}.muted{color:var(--text-muted)}.small{font-size:12px}.note{color:var(--text-secondary);margin:12px 0;font-size:12px}.page-header .back{color:var(--text-secondary);margin-bottom:16px;font-size:13px;text-decoration:none;display:inline-block}.primary,.ghost{border:1px solid var(--control);background:var(--surface-1);border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:36px;padding:7px 12px;font-weight:500;text-decoration:none;display:inline-flex}.primary{color:var(--primary-ink);background:var(--primary);border-color:var(--primary)}.ghost:hover{background:var(--hover-wash)}.primary:hover{opacity:.9}.ghost.icon{background:0 0;border-color:#0000;width:32px;min-height:32px;padding:6px}button:active,.primary:active{transform:translateY(1px)}button[disabled]{cursor:default;color:var(--text-muted);background:var(--raised);border-color:var(--border)}:where(input,button,select,a,summary,[tabindex]):focus-visible{outline:2px solid var(--series-1);outline-offset:3px}.grid{gap:var(--gap);display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:20px}.card .desc{color:var(--text-secondary);margin:4px 0 16px;font-size:13px}.spaced{margin-top:24px}.chart-frame{width:100%;min-width:0}.kpis{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:24px 0;display:grid;overflow:hidden}.tile{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;margin-bottom:-1px;padding:16px 20px}.tile:nth-child(4n),.tile:last-child{border-right:0}.tile .label{color:var(--text-secondary);font-size:13px}.tile .value{font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin:6px 0 2px;font-size:28px;font-weight:400;line-height:1.3}.tile .detail{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}.kpis:has(>:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}.kpis:has(>:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.kpis:has(>:nth-child(7):last-child)>:last-child{grid-column:span 2}.kpis:has(>:nth-child(10):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}.kpis:has(>:nth-child(11):last-child)>:last-child{grid-column:span 2}.overview-layout{grid-template-columns:minmax(0,1fr) 340px;gap:24px;display:grid}.overview-main{flex-direction:column;gap:24px;min-width:0;display:flex}.overview-main .card{flex:1}.overview-kpis{margin:0}.overview-kpis .tile{padding:16px 14px}.overview-kpis .tile:first-child .value{color:var(--accent);font-size:34px}.overview-rail{flex-direction:column;gap:24px;min-width:0;display:flex}.personal-best{background:var(--raised);border-radius:8px;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:16px;display:grid}.personal-best>.course-thumb{border-radius:4px;width:100px;height:100%;min-height:148px}.best-body h2{font-size:13px;font-weight:500}.best-body h2 span{color:var(--text-muted);font-weight:400}.best-score{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.best-score strong{letter-spacing:-.03em;font-size:34px;font-weight:400}.best-score>span{color:var(--text-secondary);font-size:12px}.best-body>a{font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;display:block}.best-body>p{color:var(--text-muted);margin:6px 0 0;font-size:12px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.section-heading a{font-size:12px;text-decoration:none}.recent-rounds ul{margin:0;padding:0;list-style:none}.recent-rounds li+li{border-top:1px solid var(--grid)}.recent-rounds li>a{align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.recent-rounds .course-thumb{border-radius:4px;width:48px;height:42px}.recent-name{flex:1;min-width:0}.recent-name strong{font-size:13px;font-weight:500;display:block}.recent-name>span,.recent-score small{color:var(--text-muted);font-size:12px;display:block}.recent-score{text-align:right;font-variant-numeric:tabular-nums;font-size:18px}.overview-secondary{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 340px;gap:24px;display:grid}.performance-list{margin:0}.performance-list>div{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.performance-list dt{color:var(--text-secondary)}.performance-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:500}.performance-list small{color:var(--text-muted);font-size:12px;display:block}.text-link{color:var(--accent);gap:16px;margin-top:16px;font-size:13px;text-decoration:none;display:inline-flex}.course-thumb{object-fit:cover;background:var(--raised);border-radius:4px;flex:none;width:72px;height:48px;display:block}.course-thumb.empty{background:var(--active);padding:0}.course-thumb.small{width:44px;height:28px}.course-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:24px;margin:16px 0 0;padding:0;list-style:none;display:grid}.course-grid li{grid-template-columns:64px 1fr;align-content:center;column-gap:12px;display:grid}.course-grid .course-thumb{grid-row:span 2;width:64px;height:48px}.course-grid .cg-name{font-size:13px;font-weight:500}.course-hero{background:var(--raised);border-radius:8px;align-items:center;gap:20px;padding:16px;display:flex}.course-hero>img{object-fit:cover;border-radius:4px;flex:none;width:132px;height:88px}.course-hero-text{flex:1;align-items:center;gap:20px;min-width:0;display:flex}.course-hero-title{flex:1;min-width:0}.course-hero-title h1{font-size:22px}.course-hero-title p{color:var(--text-secondary);margin:0;font-size:13px}.score-box{border-left:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;min-width:80px;padding-left:20px;display:flex}.sb-label,.sb-par{color:var(--text-secondary);font-size:12px}.sb-value{font-size:34px;font-weight:500;line-height:1.2}.view-tabs{border-bottom:1px solid var(--border);gap:24px;margin-bottom:24px;display:flex}.view-tabs button{color:var(--text-secondary);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 12px;font-weight:500}.view-tabs button[aria-pressed=true]{color:var(--text-primary);border-bottom-color:var(--accent)}.loading-strip{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,1fr);display:grid}.loading-strip>div{padding:20px}.loading-strip span,.loading-strip b{background:var(--grid);border-radius:3px;width:70%;height:12px;display:block}.loading-strip b{width:45%;height:28px;margin-top:12px}.loading-panel{background:var(--raised);border-radius:8px;height:260px;margin-top:24px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.club-editor{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.club-editor .row{align-items:end}.club-field{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}.club-field input,.club-field select{max-width:100%}.training-check{align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.training-check input,.shot-log input{width:18px;height:18px;accent-color:var(--accent)}.shot-pagination{font-variant-numeric:tabular-nums;margin-top:12px;margin-bottom:16px;font-size:13px}.shot-log{font-variant-numeric:tabular-nums}.shot-log-scroll{max-height:480px;overflow:auto}.shot-log small{color:var(--text-muted);font-size:12px;display:block}@media (width<=719px){.shot-log thead{display:none}.shot-log,.shot-log tbody{width:100%;display:block}.shot-log tr{border-bottom:1px solid var(--border);grid-template-columns:28px minmax(0,1fr);padding:12px 0;display:grid}.shot-log td{white-space:normal;border:0;grid-column:2;padding:4px}.shot-log td.shot-select{grid-area:1/1}.shot-log td[data-label]:before{content:attr(data-label) ": ";color:var(--text-secondary);font-size:12px}.club-field{width:100%}}select,.filters label{font:inherit;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:6px;min-height:32px;padding:5px 8px}.seg{border:1px solid var(--border);background:var(--surface-1);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;white-space:nowrap;background:0 0;border:0;min-height:32px;padding:5px 10px}.seg button:hover{background:var(--hover-wash)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:600}.check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:right;border-bottom:1px solid var(--grid);white-space:nowrap;padding:6px 8px}th{color:var(--text-secondary);font-size:12px;font-weight:500}th:first-child,td:first-child{text-align:left}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover,tbody tr.clickable:focus-visible{background:var(--hover-wash);outline:none}tr.mulligan td{color:var(--text-muted);background:color-mix(in srgb, var(--sand) 40%, transparent)}tr.mulligan td:nth-child(2){color:var(--sand-ink);font-weight:600}details{margin-top:8px}details summary{cursor:pointer;color:var(--text-secondary);padding:4px 0;font-size:12px}.list{margin:8px 0 0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--grid);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.list li:last-child{border-bottom:0}.list-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;font-size:13px;display:flex}.search-field{gap:6px;width:300px;max-width:100%;display:grid}.search-field>span{color:var(--text-secondary);font-size:12px}.round-cards{margin:0;padding:0;list-style:none;display:grid}.round-card{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:22px 0;text-decoration:none;display:flex}.round-cards li:first-child .round-card{border-top:1px solid var(--border)}.round-card:hover .rc-course{text-underline-offset:4px;text-decoration:underline}.round-card .rc-image{border-radius:6px;width:144px;height:94px}.rc-body{flex:1;grid-template-columns:minmax(180px,1fr) minmax(350px,1.3fr);align-items:center;gap:24px;min-width:0;display:grid}.rc-head{align-items:center;gap:16px;display:flex}.rc-title{flex:1;min-width:0}.rc-course{font-size:16px;font-weight:500}.rc-meta{color:var(--text-secondary);margin-top:6px;font-size:12px}.rc-score{font-variant-numeric:tabular-nums;text-align:right}.rc-strokes{font-size:30px;line-height:1.2}.rc-par{color:var(--text-secondary);font-size:12px}.rc-stats{border-left:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;margin:0;padding-left:24px;display:grid}.rc-stats dt{color:var(--text-muted);font-size:12px}.rc-stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:14px}.round-scorecard{font-variant-numeric:tabular-nums;padding:16px}.scorecard-heading,.score-nine-heading,.scorecard-total{justify-content:space-between;align-items:center;gap:16px;display:flex}.score-nine{margin-top:12px}.score-nine+.score-nine{border-top:1px solid var(--border);padding-top:12px}.score-nine-heading{margin-bottom:8px}.score-nine-heading h3{margin:0 0 2px;font-size:14px;font-weight:600}.score-nine-heading>div>span,.scorecard-total>div>span{color:var(--text-muted);font-size:12px;display:block}.nine-result{align-items:baseline;gap:10px;display:flex}.nine-result strong{font-size:20px;font-weight:600;line-height:1.2}.score-holes{background:var(--raised);border-radius:8px;grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.score-hole{border:0;border-right:1px solid var(--border);background:0 0;border-radius:0;flex-direction:column;align-items:center;min-width:0;padding:6px 3px;display:flex}.score-hole:last-child{border-right:0}.score-hole:hover{background:var(--active)}.score-hole:focus-visible{z-index:1;position:relative}.score-hole-number{font-size:12px;font-weight:600}.score-hole-par{color:var(--text-muted);font-size:11px}.score-hole-strokes{margin:4px 0 2px;font-size:21px;font-weight:600;line-height:1.2}.score-hole-diff{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:500}.score-hole.under-par .score-hole-strokes,.score-hole.under-par .score-hole-diff{color:var(--accent)}.score-hole.under-par .score-hole-diff{font-weight:700}.score-hole.bogey-score .score-hole-diff{color:var(--sand-ink)}.score-hole.over-score .score-hole-diff{color:var(--flag)}.score-details{margin-top:4px}.score-details>summary{min-height:32px;padding:6px 0;font-size:12px}.score-details>summary>span{color:var(--text-muted);margin-left:8px}.score-details table{table-layout:fixed;width:100%;font-size:13px}.score-details :is(th,td){text-align:right;padding:8px}.score-details :is(th,td):first-child{text-align:left}.score-details th{font-weight:500}.score-details thead{color:var(--text-muted)}.score-details tbody th button{min-height:40px;color:var(--accent);background:0 0;border:0;padding:4px 0}.score-details tbody th button span{margin-left:4px}.score-details tfoot{background:var(--raised);font-weight:600}.scorecard-total{border-top:1px solid var(--border);margin-top:8px;padding-top:10px}@media (width<=700px){.round-scorecard{padding:12px}.score-holes{grid-template-columns:repeat(3,minmax(0,1fr))}.score-hole{text-align:left;border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:0 6px;padding:6px 8px;display:grid}.score-hole:nth-child(3n){border-right:0}.score-hole:nth-last-child(-n+3){border-bottom:0}.score-hole-par{white-space:nowrap;grid-column:1}.score-hole-strokes{grid-area:1/2/3;margin:0;font-size:20px}.score-hole-number{white-space:nowrap;grid-column:1;font-size:11px}.score-hole-diff{grid-column:1/-1;font-size:10px}.score-details>summary{min-height:36px;padding:8px 0}.score-details :is(th,td){padding:8px 3px;font-size:11px}}.section-title{margin:22px 0 0;font-size:16px}.card-tools{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.score-mix,.par-avgs,.facts,.hole-facts{gap:8px;margin:0;display:grid}.score-mix{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:8px}.score-mix div,.hole-facts div{background:var(--page);border-radius:8px;min-width:0;padding:8px 10px}.score-mix dt,.hole-facts dt,.facts dt,.par-avgs dt{color:var(--text-secondary);font-size:12px}.score-mix dd,.hole-facts dd{font-variant-numeric:tabular-nums;margin:0;font-size:20px;font-weight:650}.par-avgs{border-top:1px solid var(--grid);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:10px;padding-top:10px}.par-avgs dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 16px}.facts dd{margin:0;font-weight:600}.hole-back{margin-bottom:12px}.hole-back .back{margin-bottom:0}.hole-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.hole-strip:has(>:only-child){grid-template-columns:1fr}.hole-strip-nine{grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;display:grid}.hole-strip button{background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:44px;padding:4px 2px;display:flex}.hole-strip button:hover{background:var(--hover-wash)}.hole-strip .hs-n{color:var(--text-muted);font-size:11px}.hole-strip .result-score{font-size:15px;font-weight:600;line-height:1.2}.hole-strip button[aria-current=true]{background:var(--active);border-color:var(--accent)}.hole-strip button[aria-current=true] .hs-n{color:var(--text-primary);font-weight:600}.hole-heading{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:8px 0 12px;display:flex}.hh-main{flex:1;min-width:0}.hh-number{margin:0 0 2px;font-size:20px;font-weight:600;line-height:1.3}.hh-meta{color:var(--text-secondary);font-size:12px}.hh-score{text-align:right;align-items:baseline;gap:8px;display:flex}.hh-score .result-score{font-size:26px;font-weight:600;line-height:1.2}.hh-score .result-label{font-size:12px;font-weight:500}.hh-controls{gap:4px;display:flex}.hh-nav{border:1px solid var(--control);width:36px;height:36px;color:var(--text-primary);background:0 0;border-radius:6px;flex:none;font-size:22px;line-height:1}.hh-nav:hover:not([disabled]){background:var(--hover-wash)}:is(.hh-score,.hole-strip button).under-par .result-score,.hh-score.under-par .result-label{color:var(--accent);font-weight:700}.hole-strip button.bogey-score .result-score,.hh-score.bogey-score .result-label{color:var(--sand-ink)}.hole-strip button.over-score .result-score,.hh-score.over-score .result-label{color:var(--flag)}.hole-facts{border:1px solid var(--border);border-radius:6px;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:12px;overflow:hidden}.hole-facts div{border-right:1px solid var(--border);background:0 0;border-radius:0;padding:8px 12px}.hole-facts div:last-child{border-right:0}.hole-facts dt{font-size:11px}.hole-facts dd{font-size:16px;font-weight:500}.hole-facts .sand dd{color:var(--sand-ink)}@media (width>=601px){.hole-facts:has(>:nth-child(5):last-child){grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=1200px){.hole-strip{grid-template-columns:1fr;gap:6px}}@media (width<=600px){.hole-heading{gap:10px}.hh-score{flex-direction:column;align-items:flex-end;gap:2px}.hh-score .result-score{font-size:23px}.hh-score .result-label{font-size:11px}.hh-controls{flex-direction:column}.hh-nav{width:32px;height:32px}.hole-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.hole-facts div:nth-child(-n+3){border-bottom:1px solid var(--border)}.hole-facts div:nth-child(3n){border-right:0}}.hole-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:16px;display:grid}.hole-col-main,.hole-col-side{gap:16px;min-width:0;display:grid}.hole-col-main{position:sticky;top:64px}.map-sub{color:var(--text-secondary);margin:14px 0 6px;font-size:13px;font-weight:600}svg.chart .map-ground{fill:color-mix(in srgb, var(--series-1) 7%, var(--surface-1))}svg.chart .map-ring{fill:none;stroke:var(--grid);stroke-width:1px}svg.chart .map-tee,svg.chart .map-pin circle{fill:var(--text-primary)}svg.chart .map-pin path{stroke:var(--text-primary);stroke-width:1.5px}svg.chart .map-pin .map-flag{fill:var(--flag);stroke:none}svg.chart .map-path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}svg.chart .map-path.putt{stroke:var(--text-secondary);stroke-width:1.5px}svg.chart .map-path.sel{stroke-width:3.5px}svg.chart .map-shot.mulligan .map-path{stroke-dasharray:4 4}svg.chart .spray-dot.putt{fill:var(--text-secondary);stroke:var(--surface-1)}svg.chart g.map-shot:hover .map-path{stroke-width:3.5px}.track-axis{color:var(--text-muted);justify-content:space-between;margin:0 0 4px 40px;font-size:11px;display:flex}.track{gap:4px;margin:0;padding:0;list-style:none;display:grid}.track li>button,.track .tk-finish{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:8px 10px;display:flex}.track .tk-finish{cursor:default;color:var(--text-secondary)}.track li>button:hover{background:var(--hover-wash)}.track li.sel>button{border-color:var(--series-1);background:var(--series-1-wash)}.track li.mulligan>button{background:color-mix(in srgb, var(--sand) 45%, transparent)}.track li.mulligan.sel>button{border-color:var(--sand-ink)}.tk-num{background:var(--series-1);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:12px;font-weight:600;display:inline-grid}.mulligan .tk-num{background:var(--sand-ink);color:var(--surface-1)}.tk-finish .tk-num{background:var(--brand);color:var(--brand-ink)}.tk-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tk-inline{flex-flow:wrap;align-items:baseline;gap:6px}.tk-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tk-line{font-variant-numeric:tabular-nums;font-size:13px}.tk-bar{background:var(--grid);border-radius:3px;height:6px;margin-top:5px;position:relative}.tk-seg{background:var(--series-1);border-radius:3px;min-width:3px;position:absolute;top:0;bottom:0}.tk-seg.back{background:var(--curve-right)}.mulligan .tk-seg{background:var(--sand-ink);opacity:.6}.tk-end{background:var(--surface-1);border:2px solid var(--text-primary);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:-3px}.shot-detail .sd-head{flex-wrap:wrap;justify-content:space-between;gap:10px 16px;margin-bottom:12px;display:flex}.shot-detail h2{font-size:20px}.shot-detail .shot-context-label{letter-spacing:0;text-transform:none;color:var(--accent);font-size:11px;font-weight:600}.shot-detail .sd-sub{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sd-pager{flex-wrap:wrap;align-self:flex-start;gap:4px;display:flex}.sd-pager button{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:50%;width:32px;height:32px}.sd-pager button.mulligan{color:var(--sand-ink);border-style:dashed}.sd-pager button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.data-points{border:1px solid var(--grid);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;display:grid;overflow:hidden}.data-points div{border-right:1px solid var(--grid);border-bottom:1px solid var(--grid);text-align:center;min-width:0;padding:12px 10px}.data-points dt{letter-spacing:0;text-transform:none;color:var(--accent);font-size:11px;font-weight:600}.data-points dd{flex-direction:column;align-items:center;margin:4px 0 0;display:flex}.dp-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:28px;font-weight:700;line-height:1.1}.dp-unit{color:var(--text-muted);text-transform:none;letter-spacing:0;font-size:11px;font-weight:600}.dp-avg{color:var(--text-muted);margin-top:6px;font-size:11px}.dp-avg strong{color:var(--text-secondary);font-variant-numeric:tabular-nums}.all-numbers summary{color:var(--text-primary);font-size:13px;font-weight:600}.all-numbers[open] summary{margin-bottom:8px}.hole-head{align-items:center;gap:10px;margin-bottom:2px;display:flex}.hole-head h2{flex:1;margin:0}.shot-cards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shot-cards li{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.shot-cards li.mulligan{background:color-mix(in srgb, var(--sand) 45%, transparent);border-style:dashed}.shot-cards li.mulligan .sc-stats dd{color:var(--text-muted)}.sc-head{align-items:center;gap:8px;margin-bottom:6px;font-weight:600;display:flex}.sc-num{background:var(--series-1);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:12px;display:inline-grid}.mulligan .sc-num{background:var(--sand-ink);color:var(--surface-1)}.tag{color:var(--sand-ink);background:var(--sand);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.sc-stats{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px 10px;margin:0;display:grid}.sc-stats div{min-width:0}.sc-stats dt{color:var(--text-muted);font-size:11px}.sc-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:500}.shot-cards details,.shot-cards details .sc-stats{margin-top:6px}svg.chart{touch-action:pan-y;display:block;overflow:visible}svg.chart text{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}svg.chart .axis-title{fill:var(--text-secondary);font-size:11px}svg.chart .gridline{stroke:var(--grid);stroke-width:1px}svg.chart .baseline{stroke:var(--axis);stroke-width:1px}svg.chart .dot{fill:var(--series-1);stroke:var(--surface-1);stroke-width:2px}svg.chart .dot.context{fill:var(--context)}svg.chart .bar{fill:var(--series-1)}svg.chart .flight{fill:none;stroke:var(--series-1);stroke-width:2px;stroke-linecap:round}svg.chart .flight.context{stroke:var(--context)}svg.chart .spray{fill:none;stroke-width:1.5px;stroke-linecap:round;opacity:.75}svg.chart .spray-dot{stroke:var(--surface-1);stroke-width:2px}svg.chart .left{stroke:var(--curve-left)}svg.chart .straight{stroke:var(--curve-straight)}svg.chart .right{stroke:var(--curve-right)}svg.chart .spray-dot.left{fill:var(--curve-left);stroke:var(--surface-1)}svg.chart .spray-dot.straight{fill:var(--curve-straight);stroke:var(--surface-1)}svg.chart .spray-dot.right{fill:var(--curve-right);stroke:var(--surface-1)}svg.chart .context{stroke:var(--context)}svg.chart .spray.context{opacity:.55}svg.chart .spray-dot.context{fill:var(--context);stroke:var(--surface-1)}svg.chart .spray-label{fill:var(--accent-ink);pointer-events:none;font-size:11px;font-weight:700}svg.chart .spray-ellipse{fill:var(--series-1-wash);stroke:var(--series-1);stroke-width:1.5px;stroke-dasharray:5 4}svg.chart g.mark-group:hover .spray,svg.chart g.mark-group:focus-within .spray{opacity:1;stroke-width:2.5px}svg.chart g.mark-group:hover .spray-dot,svg.chart g.mark-group:focus-within .spray-dot{stroke:var(--text-primary)}.shape-grid{table-layout:fixed;width:100%;margin-top:4px}.shape-grid th,.shape-grid td{text-align:center;padding:8px 4px}.shape-grid tbody th{text-align:left}.shape-grid td{border:2px solid var(--surface-1);border-radius:6px}.shape-grid .n{font-variant-numeric:tabular-nums;font-weight:600;display:block}.shape-grid .nm{color:var(--text-secondary);font-size:11px;display:block}svg.chart .hit{fill:#0000;cursor:pointer}svg.chart .hit:focus{outline:none}svg.chart g.mark-group:hover .dot,svg.chart g.mark-group:focus-within .dot{stroke:var(--text-primary)}svg.chart g.mark-group:hover .bar,svg.chart g.mark-group:focus-within .bar{opacity:.8}svg.chart .direct-label{fill:var(--text-secondary);font-size:11px}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-bottom:6px;font-size:12px;display:flex}.legend .key{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.legend .key.line{vertical-align:3px;border-radius:1px;width:14px;height:2px}#tooltip{z-index:20;pointer-events:none;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;min-width:140px;max-width:min(300px,100vw - 16px);padding:8px 10px;font-size:12px;position:fixed;top:0;left:-9999px;box-shadow:0 4px 16px #0000001f}#tooltip .tt-title{color:var(--text-secondary);margin-bottom:4px}#tooltip .tt-row{justify-content:space-between;gap:14px;display:flex}#tooltip .tt-row strong{font-variant-numeric:tabular-nums;font-weight:600}#tooltip .tt-row span{color:var(--text-secondary)}.banner{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);border-radius:10px;margin:0 0 16px;padding:10px 14px}.banner strong{color:var(--text-primary)}.empty{text-align:center;color:var(--text-muted);padding:30px}input:not([type=checkbox]){font:inherit;color:var(--text-primary);background:var(--page);border:1px solid var(--border);border-radius:6px;min-width:0;min-height:32px;padding:6px 9px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card.signin{max-width:460px;margin:8vh auto 0;padding:0;overflow:hidden}.signin-brand{color:var(--brand-ink);background:var(--raised);align-items:center;gap:10px;padding:28px 24px;font-size:20px;font-weight:650;display:flex}.signin-brand small{color:var(--brand-soft);font-size:13px;font-weight:400;display:block}.signin .row input{flex:1;min-width:200px}.field-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;display:block}.form-error{color:var(--text-primary);margin:8px 0 0;font-weight:500}.add-account{margin-bottom:16px}.add-account input[type=email]{min-width:240px}.key-reveal p{margin:2px 0 8px}code.key{background:var(--page);border:1px solid var(--border);-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:6px;padding:6px 8px}.accounts{margin:0;padding:0;list-style:none}.accounts>li{border-bottom:1px solid var(--grid);grid-template-columns:minmax(180px,1.2fr) minmax(200px,1.4fr) minmax(160px,1fr) auto;align-items:start;gap:12px 20px;padding:14px 0;display:grid}.accounts>li:last-child{border-bottom:0;padding-bottom:0}.accounts .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.connect{margin-top:6px}.connect input{width:120px}.connect .account-field{gap:8px;width:min(100%,360px);margin-bottom:12px;display:grid}.connect .account-field input{width:100%}.connect .note{max-width:320px}.badge{color:var(--text-secondary);border:1px solid var(--border);vertical-align:1px;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px}.badge.strong{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}@media (width<=720px){body{font-size:15px}.topbar{padding:8px 16px;padding-top:max(8px, env(safe-area-inset-top));gap:12px}.topnav,.hide-narrow,.who-name{display:none}main{padding:16px 12px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}h1{font-size:20px}.card{border-radius:12px;padding:14px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.tile{padding:10px 12px}.tile .value{font-size:20px}.grid{gap:12px}.spaced{margin-top:12px}.tabbar{z-index:6;background:var(--surface-1);border-top:1px solid var(--border);padding:4px max(4px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:52px;color:var(--text-muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.tabbar svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.tabbar a[aria-current=page]{color:var(--accent);font-weight:600}.tabbar a[aria-current=page] svg{stroke:var(--accent)}.hero .value{font-size:44px}.hero-flag{width:52px;height:52px;top:12px;right:14px}input:not([type=checkbox]),select{min-height:44px;font-size:16px}.ghost,.primary,.seg button{min-height:40px}.filters{gap:8px}.filters .seg{width:100%;display:flex}.filters .seg button{flex:1;padding:5px 4px}.filters select{flex:100%}.row>input,.row>button.primary{flex:auto}.sc-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hole-layout{grid-template-columns:1fr;gap:12px}.hole-col-main{position:static}.hole-col-main,.hole-col-side{gap:12px}.data-points{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-value{font-size:26px}.score-box{min-width:80px;padding:6px 10px 8px}.score-box .sb-value{font-size:32px}.course-hero-text{padding:12px 14px}.score-mix{grid-template-columns:repeat(2,minmax(0,1fr))}.card.signin{margin-top:4vh}.signin-body{padding:18px 18px 20px}.accounts>li{grid-template-columns:1fr;gap:8px}.accounts .actions{justify-content:flex-start}.add-account input[type=email]{min-width:0}.add-account .row>*{flex:100%}.add-account .row>.check{flex:none}}input:not([type=checkbox]),select{background:var(--surface-1);border-color:var(--control);min-height:36px}input::placeholder{color:var(--text-muted);opacity:1}.filters{gap:12px;margin-bottom:20px}.filters>select{max-width:340px}.seg{background:var(--raised);border:0;gap:2px;padding:3px}.seg button{min-height:30px;color:var(--text-secondary);border-radius:4px}.seg button+button{border-left:0}.seg button[aria-pressed=true]{background:var(--surface-1);color:var(--text-primary)}.filter-more{margin:0}.filter-more>summary{border:1px solid var(--control);color:var(--text-primary);border-radius:6px;padding:7px 12px;font-size:13px}.filter-more[open]{flex-basis:100%}.filter-fields{flex-wrap:wrap;gap:12px;padding-top:12px;display:flex}.filter-fields label{color:var(--text-secondary);background:0 0;border:0;gap:6px;padding:0;font-size:12px;display:grid}.filter-fields select{font-size:14px}.shot-log-scroll{max-height:580px}.shot-log thead{background:var(--surface-1);z-index:1;position:sticky;top:0}.shot-log th,.shot-log td{padding:12px 10px}.shot-log th:nth-child(2),.shot-log td:nth-child(2),.shot-log th:nth-child(3),.shot-log td:nth-child(3),.shot-log th:last-child,.shot-log td:last-child{text-align:left}.shot-log .row{margin-top:6px}.shot-log .ghost{min-height:28px;color:var(--accent);background:0 0;border:0;padding:3px 0;font-size:12px}.shot-log .ghost:hover{text-decoration:underline}.shot-log .row{gap:14px}.accounts>li{grid-template-columns:minmax(0,1fr) auto;gap:20px 24px;padding:24px 0}.accounts>li:first-child{padding-top:16px}.accounts .actions{grid-column:2;justify-content:flex-start;align-items:start}.api-access .actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.api-access .key-reveal{margin:16px 0}.api-key-form{flex-wrap:wrap;align-items:end;gap:12px;margin:22px 0 12px;display:flex}.api-key-form .account-field{flex:260px;max-width:400px}.api-key-list{margin:12px 0 0;padding:0;list-style:none}.api-key-list li{border-top:1px solid var(--grid);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.api-key-list li>div{min-width:0}.api-key-list code{overflow-wrap:anywhere}.acct-who strong{font-size:16px;font-weight:500}.badge{background:var(--raised);color:var(--text-secondary);white-space:nowrap;border:0}.badge.strong{background:var(--active);color:var(--text-primary);border:0}.add-account{background:var(--raised);border:0;padding:24px}.add-account h2{margin-bottom:16px}.add-account .row{align-items:end;gap:12px}.field-label{margin-bottom:8px;font-size:13px}.form-error{color:var(--flag)}.banner{background:var(--raised);border-radius:8px}.empty{text-align:left;padding:24px 16px;font-size:14px}.error-state{max-width:680px;padding:28px}.dp-value{font-weight:400}.data-points{border-radius:8px}.data-points dt{color:var(--text-secondary);font-size:12px}.dp-unit{font-size:12px}.signed-out{padding-left:8px}.signed-out .topbar{left:8px}.signed-out .mobile-brand{display:inline-flex}.signed-out main{align-items:center;display:grid}.signin-layout{grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;width:min(960px,100%);margin:48px auto;display:grid}.signin-intro{min-width:0}.signin-intro>img{object-fit:cover;border-radius:8px;width:100%;height:280px;display:block}.signin-intro h2{letter-spacing:-.025em;margin-top:24px;font-size:24px;font-weight:500}.signin-intro p{color:var(--text-secondary);max-width:340px;margin:8px 0 0}.card.signin{border:0;width:100%;max-width:none;margin:0;padding:0;overflow:visible}.signin-body{padding:0}.signin h1{font-size:24px}.signin .sub{margin-bottom:28px}.signin .row{gap:16px;display:grid}.signin .row input{width:100%;min-width:0;min-height:44px}.signin .primary{min-height:44px}.signin .note{margin-top:20px}.setup-layout{grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:start;gap:48px;width:min(760px,100%);margin:48px auto;display:grid}.setup-intro p{color:var(--text-secondary);max-width:340px;margin:12px 0 0;font-size:15px;line-height:1.6}.setup-panel{border:1px solid var(--border);border-radius:var(--radius);padding:24px}.setup-panel h2{font-size:16px;font-weight:600}.setup-panel .desc{color:var(--text-secondary);margin:8px 0 20px}.setup-panel .connect{margin-top:0}.setup-panel .account-field{margin-bottom:16px;display:block}.setup-panel .account-field input{width:100%;margin-top:6px}.setup-panel .connect .row{flex-wrap:wrap}.setup-panel .connect input,.setup-panel .primary,.setup-panel .ghost{min-height:44px}@media (width>=1600px){main{padding-left:40px;padding-right:40px}.overview-layout,.overview-secondary{grid-template-columns:minmax(0,1fr) 384px}}@media (width<=1200px){.overview-layout,.overview-secondary{grid-template-columns:minmax(0,1fr) 300px}.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-best{grid-template-columns:72px minmax(0,1fr);gap:12px}.personal-best>.course-thumb{width:72px}.rc-body{grid-template-columns:1fr;gap:16px}.rc-stats{border:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0}.round-card .rc-image{width:132px;height:112px}.hole-layout{grid-template-columns:minmax(0,1fr)}.hole-col-main{position:static}}@media (width<=1050px){.app-shell{padding-bottom:84px;padding-left:8px}.sidebar{display:none}.topbar{left:8px}.mobile-brand{font-size:18px;display:inline-flex}.mobile-profile{display:block}.mobile-profile .profile-trigger{max-width:180px;padding:4px}.mobile-profile .profile-dropdown{inset:calc(100% + 8px) 0 auto auto}.breadcrumb{display:none}.tabbar{z-index:10;padding:6px 16px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-1);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:48px;color:var(--text-secondary);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;text-decoration:none;display:flex}.tabbar a[aria-current=page]{background:var(--raised);color:var(--text-primary);font-weight:500}.tabbar a[aria-current=page] svg{stroke:currentColor}.signed-out{padding-bottom:8px}}@media (width<=800px){.grid.cols-2,.overview-layout{grid-template-columns:minmax(0,1fr)}.overview-rail{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.overview-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-main .card{flex:none}.signin-layout,.setup-layout{gap:32px}}@media (width<=600px){body{font-size:14px}.app-shell{padding:56px 0 76px}main{border:0;border-radius:0;min-height:calc(100dvh - 132px);padding:24px 16px 32px}.topbar{height:56px;padding:8px 16px;position:absolute;left:0;right:0}.connection{display:none}.topbar .ghost.icon{width:44px;min-height:44px}.page-header{margin-bottom:24px}.page-heading{align-items:start}h1{font-size:24px}.page-action .primary{white-space:nowrap;padding:8px 10px;font-size:12px}.sub{font-size:13px}.card{border-radius:8px;padding:16px}.grid,.hole-layout,.hole-col-main,.hole-col-side{gap:24px}:is(.kpis,.overview-kpis,.kpis:has(>:nth-child(5):last-child),.kpis:has(>:nth-child(6):last-child),.kpis:has(>:nth-child(10):last-child)){grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:20px 0}.kpis>.tile:nth-child(odd):last-child{grid-column:1/-1}.tile{padding:14px 16px}.tile:nth-child(2n){border-right:0}.tile .value{font-size:26px}.overview-kpis{margin:0}.overview-kpis .tile:first-child .value{font-size:30px}.overview-rail,.overview-secondary{grid-template-columns:minmax(0,1fr);display:grid}.overview-rail{gap:24px}.personal-best{grid-template-columns:112px minmax(0,1fr)}.personal-best>.course-thumb{width:112px;min-height:128px}.recent-name strong{font-size:14px}.recent-rounds li>a{padding:14px 0}.course-grid{grid-template-columns:1fr;gap:16px}.course-hero{background:0 0;align-items:start;gap:12px;padding:0}.course-hero>img{width:72px;height:88px}.course-hero-text{flex-wrap:wrap;gap:12px}.course-hero-title{flex-basis:100%}.course-hero-title h1{font-size:20px}.score-box{text-align:left;border:0;flex-direction:row;align-items:baseline;gap:8px;padding:0}.score-box .sb-value{font-size:28px}.course-hero-text{padding:0}.course-hero.plain{background:var(--raised);padding:16px}.list-toolbar{flex-direction:column;align-items:start;gap:10px}.search-field{width:100%}.round-card{align-items:start;gap:12px;padding:20px 0}.round-card .rc-image{width:76px;height:76px}.rc-head{align-items:start;gap:8px}.rc-course{font-size:15px}.rc-strokes{font-size:26px}.rc-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}.rc-stats dt{font-size:12px}.rc-stats dd{font-size:13px}.filters{gap:12px}.filters .seg{width:100%}.filters .seg button{flex:1;min-height:40px}.filters>select{flex:1;width:0;max-width:100%}.filter-more{flex:none}.filter-more>summary{align-items:center;min-height:44px;display:flex}.filter-fields,.filter-fields label{width:100%}.filter-fields{display:grid}.filters .filter-fields select{max-width:100%}input:not([type=checkbox]),select{min-height:44px;font-size:16px}.ghost,.primary{min-height:44px}.view-tabs{margin-bottom:20px}.view-tabs button{min-height:44px}.shot-log-scroll{max-height:none}.shot-log td{padding:4px 0}.shot-log td[data-label]:before{font-size:13px}.shot-log td:nth-child(2){padding-bottom:8px}.shot-log td[data-label=Shot]:before{display:none}.shot-log td:not(:first-child){text-align:left}.shot-log .ghost{min-height:44px;font-size:13px}.shot-log small{font-size:12px}.shot-pagination{justify-content:space-between;gap:10px}.shot-pagination>span{font-size:12px}.accounts>li{grid-template-columns:1fr;gap:16px}.accounts .actions{grid-column:1;gap:12px}.add-account{padding:16px}.signin-layout{grid-template-columns:1fr;gap:32px;margin:12px 0 24px}.signin-intro>img{height:160px}.signin-intro h2{margin-top:16px;font-size:20px}.signin-intro p{font-size:13px}.card.signin,.signin-body{margin:0;padding:0}.signin .sub{margin-bottom:24px}.signed-out{padding-bottom:0}.signed-out main{min-height:calc(100dvh - 56px)}.setup-layout{margin:12px 0 24px;display:block}.setup-intro{margin-bottom:28px}.setup-panel{padding:20px}.tabbar{padding-left:8px;padding-right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}button:active,.primary:active{transform:none}}.kpis:has(>:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.metric-details{margin:-8px 0 24px}.metric-details>summary{color:var(--text-secondary);padding:6px 0;font-size:13px}.metric-details .kpis{margin:12px 0 0}.refresh-row{pointer-events:none;justify-content:flex-end;min-height:36px;margin:-56px 0 20px}.refresh-row>*{pointer-events:auto}.refresh-row .note{display:none}.filters:has(.filter-more[open])+.refresh-row{margin-top:0}.account-field{gap:8px;font-size:13px;display:grid}.account-field input{font-size:14px}@media (width<=1200px){.refresh-row{justify-content:flex-start;margin-top:0}.refresh-row .note{display:block}}@media (width<=600px){.refresh-row{margin:-4px 0 16px}.refresh-row>.note{display:none}.kpis:has(>:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.metric-details>summary{align-items:center;min-height:44px;display:flex}.signed-out main{align-items:start}}details:not([open])>:not(summary){display:none}.data-points dt,.facts dt{font-size:13px}.dp-value{font-size:24px}.dp-avg{font-size:12px}.overview-main>.kpis{margin:0}.rc-stats dt{font-size:13px}@media (width<=1050px){.app-shell{flex-direction:column;height:100dvh;min-height:0;padding:0;display:flex;overflow:hidden}.topbar{flex:none;height:48px;padding:0 24px;position:static}main{overscroll-behavior-y:contain;flex:1;min-height:0;margin:0 8px;scroll-padding:20px;overflow:auto}.tabbar{flex:none;margin-top:8px;position:static}.signed-out main{min-height:0;margin-bottom:8px}}@media (width<=600px){.topbar{height:56px;padding:0 16px}main{margin:0;padding:24px 16px 32px}.tabbar{margin-top:0}.signed-out main{margin:0}}.shot-log.putt-log :is(th,td){text-align:right}.shot-log.putt-log :is(th,td):first-child{text-align:left}@media (width<=720px){.shot-log.putt-log tr{grid-template-columns:minmax(0,1fr)}.shot-log.putt-log td{text-align:left;grid-column:1}.shot-log.putt-log td[data-label=Putt]{padding-bottom:8px}.shot-log.putt-log td[data-label=Putt]:before{display:none}}.scoring-insights{gap:24px;margin-top:24px;display:grid}.insight-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;display:grid}.insight-select{color:var(--text-secondary);gap:6px;margin:16px 0;font-size:12px;display:grid}.insight-select select{width:100%;min-width:0}.insight-baseline{margin:16px 0;font-size:14px}.insight-baseline strong{color:var(--accent);font-size:24px;font-weight:500}.insight-table th,.insight-table td{padding:10px 6px}.insight-table th{white-space:normal}.insight-table tbody th{color:var(--text-primary);font-size:13px}.insight-table small{color:var(--text-secondary);font-size:12px;display:block}.progress-table td{vertical-align:top}.metric-better{color:var(--accent)}.metric-worse{color:var(--flag)}.difficult-holes{margin:8px 0 0;padding:0;list-style:none}.difficult-holes li{border-bottom:1px solid var(--grid);justify-content:space-between;gap:16px;padding:12px 0;display:flex}.difficult-holes li:last-child{border-bottom:0;padding-bottom:0}.difficult-holes li>div:first-child{min-width:0}.difficult-holes span{margin-top:4px;display:block}.hole-average{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.attempt-filter{align-items:center;gap:16px;margin:12px 0;display:flex}.attempt-filter label{flex:none;align-items:center;gap:8px;font-size:13px;display:flex}.attempt-filter .note{margin:0}.approach-proximity{min-width:0}@media (width<=1200px){.insight-pair{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.attempt-filter{gap:8px;display:grid}.attempt-filter label{justify-content:space-between}.attempt-filter select{max-width:75%;min-height:44px}.insight-table th,.insight-table td{padding:10px 4px;font-size:12px}.progress-table th:first-child{width:30%}}.club-distances{margin:24px 0}.club-chart-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.club-chart-key{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin:12px 0;font-size:12px;display:flex}.club-chart-key>span{align-items:center;gap:8px;display:inline-flex}.median-key{background:var(--series-1);border-radius:50%;width:8px;height:8px}.range-key{background:var(--context);width:24px;height:6px}.club-distance-table{table-layout:fixed}.club-distance-table th:first-child{width:23%}.club-distance-table th:nth-child(3){width:16%}.club-distance-table th:nth-child(4){width:12%}.club-distance-table th,.club-distance-table td{padding:10px 8px}.club-distance-table tbody th{color:var(--text-primary);text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:14px}.club-distance-table small{color:var(--text-secondary);white-space:normal;font-size:12px;display:block}.club-distance-table .club-plot-cell{text-align:left}.club-plot-cell svg{width:100%;height:24px;display:block;overflow:visible}.club-track{stroke:var(--grid);stroke-width:1px}.club-range{stroke:var(--context);stroke-width:6px}.club-median{fill:var(--series-1)}.club-axis{justify-content:space-between;display:flex}.club-distances>.text-link{cursor:pointer;background:0 0;border:0;padding:0}@media (width<=600px){.club-chart-controls{align-items:stretch}.club-distance-table th:first-child{width:27%}.club-distance-table th:nth-child(3){width:22%}.club-distance-table th:nth-child(4){width:17%}.club-distance-table th,.club-distance-table td{padding:10px 4px;font-size:12px}.club-distance-table tbody th{font-size:13px}.club-distance-table thead th{white-space:normal}.club-chart-key{gap:12px}}.play-page{max-width:1080px;margin:0 auto}.play-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.play-header h1{margin:0 0 4px}.play-header>div{min-width:0}.play-header>button{flex:none;min-height:44px}.play-back,.play-session-name,.play-bag-refresh,.play-match-later,.play-delete-link,.play-edit{color:var(--text-secondary);background:0 0;border:0;padding:0}.play-back{min-height:32px;margin-bottom:8px;font-size:13px;display:block}.play-session-name{text-align:left;overflow-wrap:anywhere;font-size:14px;display:block}.play-session-name span{margin-left:8px}.play-device-status{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;font-size:12px;display:flex}.play-offline-ready{margin-left:auto}.play-workspace{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.play-workspace.finished{grid-template-columns:minmax(0,1fr)}.play-capture{background:var(--raised);border-radius:12px;padding:24px}.play-selected{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.play-selected>div>span{color:var(--text-secondary);font-size:12px}.play-selected h2{letter-spacing:-.025em;margin:4px 0 0;font-size:28px;font-weight:500;line-height:1.2}.play-shot-total{font-variant-numeric:tabular-nums;text-align:right;font-size:24px}.play-shot-total small{color:var(--text-muted);font-size:12px;display:block}.play-clubs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.play-clubs button{border:1px solid var(--control);background:var(--surface-1);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:70px;padding:8px 4px;display:flex}.play-clubs strong{font-size:22px;font-weight:500;line-height:1.2}.play-clubs strong.long{overflow-wrap:anywhere;font-size:14px}.play-clubs span{color:var(--text-secondary);text-transform:capitalize;margin-top:3px;font-size:11px}.play-clubs button:hover{background:var(--hover-wash)}.play-clubs button[aria-pressed=true]{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:-2px;background:var(--series-1-wash)}.play-clubs button[aria-pressed=true] strong{color:var(--accent)}.play-log-button{border-radius:8px;width:100%;min-height:64px;margin-top:24px;font-size:20px}.play-log-button>span{font-size:24px;font-weight:400}.play-last-shot{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.play-last-shot button{min-width:48px;min-height:44px;color:var(--text-primary);background:0 0;border:0;font-size:13px}.play-last-shot button:disabled{color:var(--text-muted)}.play-bag-refresh{text-underline-offset:3px;min-height:32px;font-size:12px;text-decoration:underline}.play-log{min-width:0;padding-top:4px}.play-log-header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.play-log-header h2{font-size:16px}.play-log-header>span{color:var(--text-muted);font-size:12px}.play-entries{scrollbar-gutter:stable;max-height:510px;margin:0;padding:0;list-style:none;overflow-y:auto}.play-entries>li{border-bottom:1px solid var(--border)}.play-entry-line{grid-template-columns:24px minmax(0,1fr) auto 36px;align-items:center;gap:12px;min-height:58px;display:grid}.play-entry-line strong{font-size:14px;font-weight:500}.play-entry-line time,.play-shot-number{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.play-shot-number{text-align:right}.play-edit{min-height:44px;font-size:12px}.play-empty{color:var(--text-secondary);border-top:1px solid var(--border);padding:20px 0}.play-empty p{margin:0 0 12px}.play-match-later{align-items:center;gap:16px;min-height:48px;margin-top:24px;font-size:13px;display:flex}.play-match-later span{color:var(--text-primary)}.play-page label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.play-page input,.play-page select{border:1px solid var(--control);background:var(--surface-1);min-width:0;max-width:100%;min-height:44px;color:var(--text-primary);border-radius:6px;padding:8px 10px;font-size:14px}.play-settings{background:var(--raised);border-radius:8px;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;padding:16px;display:flex}.play-settings>label{flex:1;min-width:180px}.play-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.play-actions button,.play-recap-actions button{min-height:44px}.play-notice,.play-delete-confirm{border:1px solid var(--control);border-radius:8px;margin-bottom:24px;padding:16px}.play-delete-confirm{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.play-delete-confirm p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.play-page .danger{color:var(--flag)}.play-entry-fields{flex-wrap:wrap;align-items:end;gap:12px;padding:8px 0 16px;display:flex}.play-entry-fields>label{flex:1;min-width:130px}.play-delete{width:44px;height:44px;color:var(--text-secondary);background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:inline-grid}.play-delete:hover{background:var(--hover-wash);color:var(--flag)}.play-delete svg{stroke:currentColor;stroke-width:1.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.play-recap-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.play-delete-link{min-height:44px;margin-top:16px;font-size:13px}.play-delete-link:hover{color:var(--flag)}.play-history{margin-top:32px}.play-list-heading{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.play-list-heading>span{color:var(--text-muted);font-size:12px}.play-session-list{margin:0;padding:0;list-style:none}.play-session-list>li{border-bottom:1px solid var(--border);align-items:center;gap:16px;display:flex}.play-session-open{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:16px;min-width:0;padding:20px 0;display:flex}.play-session-open strong{font-size:15px;font-weight:500;display:block}.play-session-open small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.play-session-symbol{color:var(--text-muted);text-align:center;width:24px}.play-session-symbol.live{color:var(--accent);font-size:12px}.play-session-count{text-align:right;font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-size:20px}.play-session-count small{font-size:11px}.play-row-arrow{color:var(--text-muted);margin-left:8px}.play-welcome{max-width:480px;padding:40px 0}.play-welcome h2{font-size:24px;line-height:1.3}.play-welcome p{color:var(--text-secondary);max-width:38ch;margin:12px 0 24px}.play-welcome .primary{min-height:48px}.play-welcome-mark{gap:8px;margin-bottom:28px;display:flex}.play-welcome-mark span{border:1px solid var(--control);width:56px;height:64px;color:var(--text-secondary);border-radius:8px;place-items:center;font-size:22px;display:grid}.play-welcome-mark span:nth-child(2){color:var(--accent);border-color:var(--accent);background:var(--series-1-wash)}.play-setup{padding:24px 0}.play-setup p{color:var(--text-secondary);max-width:48ch}.play-match-controls{flex-wrap:wrap;align-items:end;gap:12px;margin:24px 0;display:flex}.play-match-controls>label{flex:1;min-width:180px}.play-matching .ghost{min-height:44px}.play-matching>.note{max-width:65ch}.play-match-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0;font-size:13px;display:flex}.play-match-list{margin:0;padding:0;list-style:none}.play-match-list>li{border-top:1px solid var(--border);padding:16px 0}.play-match-list strong{font-weight:500}.play-match-list .note{margin:4px 0}.play-candidate{justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:13px;display:flex}.play-candidate small{color:var(--text-muted);margin-top:4px;display:block}.play-help{color:var(--text-secondary);margin-top:24px;font-size:13px}.play-help summary{cursor:pointer;min-height:44px;padding:10px 0}.offline-page{max-width:480px}.offline-page .ghost{margin-left:12px}@media (width<=1050px){.tabbar{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=800px){.play-workspace{grid-template-columns:minmax(0,1fr);gap:28px}.play-capture{padding:20px}.play-clubs button{min-height:62px}.play-entries{max-height:360px}}@media (width<=600px){.play-header{gap:12px;margin-bottom:12px}.play-header h1{font-size:24px}.play-device-status{gap:6px;margin-bottom:20px}.play-offline-ready{flex-basis:100%;margin-left:12px;display:block}.play-capture{margin:0 -4px;padding:16px}.play-selected{margin-bottom:16px}.play-selected h2{font-size:26px}.play-clubs{gap:6px}.play-clubs button{border-radius:6px;min-height:58px}.play-clubs strong{font-size:20px}.play-clubs span{font-size:11px}.play-log-button{min-height:60px;margin-top:16px}.play-session-open{gap:10px}.play-session-open strong{font-size:14px}.play-session-list>li{gap:4px}.play-row-arrow{display:none}.play-match-controls>label{flex-basis:100%;order:-1}.play-entry-line{gap:8px}}
