:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f3ec;--bg-elevated:#fffaf2;--surface:#fffaf2db;--surface-strong:#fff;--text:#141411;--muted:#726f67;--line:#1e1f1a21;--green:#247a51;--green-soft:#247a5124;--amber:#9d6d2f;--blue:#426b89;--red:#b24747;--shadow:0 18px 60px #302b2221}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070807;--bg-elevated:#0f110f;--surface:#121411db;--surface-strong:#151813;--text:#f5efe5;--muted:#aaa396;--line:#f5efe521;--green:#6fd295;--green-soft:#6fd29526;--amber:#d5a75e;--blue:#8bb7d7;--red:#e07373;--shadow:0 18px 60px #00000059}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:linear-gradient(180deg, #247a5114, transparent 280px), var(--bg);min-height:100%;color:var(--text);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.loading-screen{place-items:center;min-height:100svh;display:grid}.loader{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing{background:linear-gradient(#0000006b,#0000001f 46%,#000000a3),url(/cover/landing-golf-swing-sequence.png) 50%/cover no-repeat;align-items:flex-start;min-height:100svh;padding:24px;display:flex;position:relative;overflow:hidden}.landing:after{content:"";background:linear-gradient(90deg,#0000008a,#0000 72%);position:absolute;inset:0}.landing:before{content:"";pointer-events:none;z-index:1;background:0 0;height:36svh;position:absolute;inset:auto 0 0}.landing-content{z-index:2;color:#fffaf2;width:min(560px,100%);padding-top:clamp(46px,7svh,86px);padding-bottom:0;position:relative}.landing-content h1{letter-spacing:0;margin:18px 0 24px;font-size:clamp(3rem,14vw,7.8rem);line-height:.88}.landing-theme{z-index:2;position:absolute;top:18px;right:18px}.brand-mark,.role-pill,.source-pill,.metric-pill,.tag-list span{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px;align-items:center;gap:7px;padding:6px 10px;display:inline-flex}.brand-mark{color:#fffaf2;background:#fffaf21f;border-color:#fffaf23d;width:fit-content}.access-form{gap:12px;max-width:430px;display:grid}.mode-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mode-switch button,.nav-tabs button,.tag-row button{min-height:42px;color:inherit;background:#fffaf21a;border:1px solid #fffaf242;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.mode-switch button{flex-wrap:wrap;align-content:center;min-height:58px}.mode-switch .step-number{width:22px;height:22px;color:inherit;background:#fffaf22e;border-radius:999px;place-items:center;font-size:.78rem;font-weight:900;display:inline-grid}.mode-switch button.active,.nav-tabs button.active,.tag-row button.active{background:var(--green);border-color:var(--green);color:#06110a}.mode-switch button.active .step-number{background:#06110a24}.auth-step-copy{color:#fffaf2db;align-items:center;min-height:34px;padding:0 2px;font-weight:800;display:flex}.password-row{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf21f;border:1px solid #fffaf247;border-radius:8px;align-items:center;gap:10px;min-height:52px;padding:0 14px;display:flex}.password-row input{color:#fffaf2;background:0 0;border:0;outline:0;flex:1;min-width:0}.password-row input::placeholder{color:#fffaf2ad}.primary-button,.secondary-button,.small-button,.icon-button,.theme-button{border:1px solid var(--line);min-height:42px;color:var(--text);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.primary-button{border-color:var(--green);background:var(--green);color:#06110a;font-weight:700}.primary-button:disabled{cursor:wait;opacity:.72}.text-button{color:#fffaf2e0;min-height:34px;font:inherit;text-align:center;text-underline-offset:4px;background:0 0;border:0;font-weight:800;text-decoration:underline}.text-button:hover{color:#fffaf2}.secondary-button{background:0 0}.compact-button{min-height:34px;padding:0 10px}.section-actions{align-items:center;gap:8px;display:flex}.small-button{min-height:34px;padding:0 10px}.icon-button,.theme-button{flex:none;width:40px;height:40px;padding:0}.icon-button.danger{color:var(--red)}.icon-button:disabled{cursor:not-allowed;opacity:.42}.status-text,.inline-status,.form-error{color:var(--red);margin:10px 0 0}.app-shell{min-height:100svh}.app-header{z-index:20;padding:14px max(16px, env(safe-area-inset-left)) 12px;background:color-mix(in srgb, var(--bg) 86%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0}.topbar{justify-content:space-between;align-items:center;gap:14px;max-width:1180px;margin:0 auto;display:flex}.topbar h1,.section-heading h2,.detail-body h3,.compare-card h3,.compare-delta-card h3,.gallery-body h3,.golf-body h3,.trend-panel h3,.chart-panel h3{letter-spacing:0;margin:2px 0 0;line-height:1.05}.topbar h1{font-size:clamp(1.55rem,5vw,2.2rem)}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;margin:0;font-size:.72rem;font-weight:800}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.role-pill,.source-pill{text-transform:capitalize;min-height:32px;font-size:.78rem;font-weight:800}.source-pill{color:var(--blue)}.nav-tabs{grid-template-columns:repeat(auto-fit,minmax(66px,1fr));gap:8px;max-width:1180px;margin:14px auto 0;display:grid;overflow-x:auto}.nav-tabs button{color:var(--text);border-color:var(--line);background:var(--surface);white-space:nowrap}.nav-tabs button.active{color:#06110a}.inline-status{max-width:1180px;margin:10px auto 0}.view-shell{width:min(1180px,100%);margin:0 auto;padding:22px 16px 104px}.stack{gap:18px;display:grid}.section-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.section-heading h2{font-size:clamp(1.7rem,7vw,4rem)}.metric-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.metric-pill{gap:2px;min-width:92px;display:grid}.metric-pill span,.data-point span,.benchmark span,.select-field span,.form-field span{color:var(--muted);font-size:.76rem;font-weight:700}.metric-pill strong,.data-point strong,.benchmark strong{font-size:1rem}.summary-grid,.whoop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.whoop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.whoop-card,.trend-panel,.chart-panel,.detail-panel,.progress-grid-panel,.compare-card,.compare-delta-card,.gallery-card,.golf-card,.empty-state{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.metric-card,.whoop-card,.trend-panel,.chart-panel,.empty-state{padding:16px}.delta-lines,.data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.data-grid.compact{margin-top:10px}.data-point{background:color-mix(in srgb, var(--surface-strong) 76%, transparent);border-radius:8px;gap:4px;min-width:0;padding:10px;display:grid}.data-point strong{overflow-wrap:anywhere}.data-point.good strong,.benchmark .good{color:var(--green)}.data-point.watch strong,.benchmark .watch{color:var(--amber)}.progress-layout{gap:14px;display:grid}.trend-panel{gap:14px;display:grid;overflow:hidden}.trend-header,.trend-readout{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.trend-panel h3{font-size:clamp(1.35rem,4vw,2.2rem)}.trend-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.trend-legend span{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 76%, transparent);min-height:30px;color:var(--muted);border-radius:8px;align-items:center;gap:7px;padding:6px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.trend-legend span:before{content:"";background:currentColor;border-radius:999px;width:18px;height:3px}.trend-legend .weight,.trend-line-weight,.trend-point-weight{color:#36d6ff;stroke:#36d6ff}.trend-legend .body-fat,.trend-line-body-fat,.trend-point-body-fat{color:#ff9f1c;stroke:#ff9f1c}.trend-legend .golf-score,.trend-line-golf-score,.trend-point-golf-score{color:var(--green);stroke:var(--green)}.trend-chart-wrap{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 80%, transparent), transparent), color-mix(in srgb, var(--surface-strong) 68%, transparent);border-radius:8px;overflow-x:auto}.golf-trend-panel .trend-chart-wrap{background:linear-gradient(180deg, color-mix(in srgb, var(--green-soft) 48%, transparent), transparent), color-mix(in srgb, var(--surface-strong) 70%, transparent)}.trend-chart{width:100%;min-width:760px;height:auto;display:block}.trend-grid-line,.trend-month-line{stroke:var(--line);stroke-width:1px}.trend-month-line{opacity:.58}.trend-axis-label,.trend-month-label{fill:var(--muted);font-size:12px;font-weight:800}.trend-month-label{font-size:11px}.golf-score-point-label{fill:var(--text);paint-order:stroke;stroke:var(--surface-strong);stroke-width:4px;font-size:13px;font-weight:900}.golf-date-label{font-size:11px}.golf-course-label{fill:var(--muted);font-size:10px}.trend-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.trend-line-body-fat{stroke-dasharray:7 8}.trend-selected-line{stroke:var(--text);stroke-width:1.5px;stroke-dasharray:4 5;opacity:.45}.trend-hit-target{stroke:#0000;stroke-width:26px}.trend-point{fill:var(--surface-strong);stroke-width:3px;transition:r .16s,fill .16s}.trend-point-hitbox{cursor:pointer;outline:none}.trend-point-hitbox:hover .trend-point,.trend-point-hitbox:focus-visible .trend-point,.trend-point-hitbox.active .trend-point{fill:currentColor}.trend-readout{flex-wrap:wrap;justify-content:flex-start}.trend-readout .data-point{min-width:148px;margin-top:0}.progress-grid-panel{gap:12px;padding:16px;display:grid;overflow:hidden}.progress-year-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-year-title{gap:2px;min-width:0;display:grid}.progress-year-heading h3{color:var(--text);letter-spacing:0;margin:0;font-size:clamp(1.8rem,5vw,2.45rem);font-weight:950;line-height:.95}.progress-year-heading .eyebrow{margin:0}.mobile-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.progress-thumb{background:var(--surface-strong);min-width:0;color:var(--text);text-align:left;border:1px solid #0000;border-radius:8px;gap:8px;padding:8px;display:grid}.progress-thumb.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.compare-card img,.gallery-card img,.golf-card img{object-fit:cover;width:100%;height:100%}.progress-thumb-image{aspect-ratio:4/5;background:#050604;border-radius:8px;display:block;position:relative;overflow:hidden}.progress-thumb img{object-fit:cover;object-position:center center;width:100%;height:100%}.progress-thumb-date{color:#fffaf2;background:#00000094;border-radius:8px;padding:4px 6px;font-size:.72rem;font-weight:800;position:absolute;bottom:8px;left:8px}.progress-thumb-stats{grid-template-columns:1fr 1fr;gap:6px;display:grid}.progress-thumb-stats span{background:color-mix(in srgb, var(--bg-elevated) 76%, transparent);border-radius:8px;gap:2px;min-width:0;padding:7px;display:grid}.progress-thumb-stats em{color:var(--muted);font-size:.66rem;font-style:normal;font-weight:800}.progress-thumb-stats strong{overflow-wrap:anywhere;font-size:.78rem;line-height:1.15}.detail-panel{overflow:hidden}.detail-media{background:#050604;grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;gap:8px;display:grid;overflow-x:auto}.detail-media img{object-fit:contain;background:#050604;width:100%;height:min(66svh,720px)}.detail-body{grid-template-columns:1fr auto;align-items:start;gap:12px;padding:16px;display:grid}.detail-body .data-grid{grid-column:1/-1;margin-top:0}.progress-preview-modal{border:1px solid var(--line);background:var(--bg-elevated);width:min(940px,100%);max-height:calc(100svh - 32px);box-shadow:var(--shadow);border-radius:8px;place-self:center;gap:14px;padding:16px;display:grid;overflow:auto}.progress-preview-modal .detail-media{border-radius:8px;position:relative;overflow:hidden}.progress-preview-modal .detail-media img{height:min(70svh,760px)}.preview-swipe-area{touch-action:pan-y}.lightbox-nav{z-index:2;border:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);width:42px;height:42px;color:var(--text);box-shadow:var(--shadow);border-radius:999px;place-items:center;display:inline-grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav.previous{left:10px}.lightbox-nav.next{right:10px}.lightbox-nav:disabled{cursor:not-allowed;opacity:.35}.progress-preview-modal .detail-body{grid-template-columns:1fr auto;padding:0}.owner-actions{align-items:center;gap:8px;display:flex}.selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.select-field,.form-field{gap:7px;display:grid}.select-field select,.form-field input,.form-field textarea{border:1px solid var(--line);background:var(--surface-strong);width:100%;min-height:44px;color:var(--text);border-radius:8px;outline:0;padding:10px 12px}.form-field textarea{resize:vertical;min-height:96px}.form-hint{color:var(--muted);margin:0;font-size:.82rem;font-weight:750}.form-hint.full{grid-column:1/-1}.progress-compare-section{gap:12px;display:grid}.progress-compare-section .section-heading h2{font-size:clamp(1.8rem,5vw,3rem)}.compare-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compare-select-field{min-width:0;color:var(--muted);text-transform:uppercase;gap:7px;font-size:.76rem;font-weight:900;display:grid}.compare-select-field select{border:1px solid var(--line);background:var(--surface-strong);width:100%;min-height:48px;color:var(--text);font:inherit;text-transform:none;border-radius:8px;padding:0 36px 0 12px;font-size:.9rem;font-weight:850}.compare-grid,.progress-compare-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr) minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.progress-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-card,.compare-delta-card{overflow:hidden}.compare-card img{object-fit:contain;background:#050604;height:min(72svh,760px)}.compare-card>div,.compare-delta-card{padding:14px}.compare-delta-card{flex-direction:column;justify-content:center;display:flex}.whoop-sync{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;font-size:.86rem;display:flex}.error-banner{border:1px solid color-mix(in srgb, var(--red) 45%, transparent);background:color-mix(in srgb, var(--red) 12%, transparent);color:var(--red);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.whoop-card h3{margin:8px 0 12px;font-size:clamp(1.65rem,7vw,2.7rem)}.benchmark-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.benchmark{background:color-mix(in srgb, var(--surface-strong) 72%, transparent);border-radius:8px;gap:3px;padding:9px;display:grid}.benchmark em{font-size:.78rem;font-style:normal;font-weight:800}.chart-panel{gap:16px;display:grid}.tag-row{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.tag-row button{min-height:36px;color:var(--text);border-color:var(--line);background:var(--surface);text-transform:capitalize;padding:0 12px}.gallery-grid{columns:3 250px;column-gap:12px}.gallery-card{break-inside:avoid;width:100%;margin:0 0 12px;display:inline-block;overflow:hidden}.gallery-card img{aspect-ratio:4/5}.gallery-body{gap:10px;padding:13px;display:grid}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag-list span{background:var(--green-soft);min-height:26px;color:var(--green);text-transform:capitalize;padding:4px 7px;font-size:.75rem;font-weight:800}.muted,.meta-line{color:var(--muted);margin:4px 0 0}.meta-line{font-size:.86rem}.golf-list{gap:12px;display:grid}.golf-dashboard{gap:14px}.golf-hero,.golf-scorecard-panel,.golf-head-to-head-panel,.golf-stats-panel,.golf-rounds-panel,.golf-manual-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.golf-hero{color:#fffaf2;background:linear-gradient(115deg,#05100aeb,#05100aad 48%,#05100a33),url(/cover/landing-golf-swing-sequence.png) 50%/cover no-repeat;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:stretch;gap:18px;min-height:340px;padding:18px;display:grid;overflow:hidden}.golf-hero .eyebrow{color:#fffaf2b8}.golf-hero-copy{flex-direction:column;justify-content:center;gap:10px;min-width:0;display:flex}.golf-hero-copy p:not(.eyebrow){max-width:650px;margin:0;font-size:clamp(1.25rem,4vw,2.2rem);font-weight:800;line-height:1.05}.golf-latest-trigger{width:fit-content;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.golf-latest-trigger span{font-size:clamp(5rem,18vw,10rem);font-weight:900;line-height:.82}.golf-latest-trigger svg{transition:transform .18s}.golf-latest-trigger[aria-expanded=true] svg{transform:rotate(90deg)}.golf-hero-meta{flex-wrap:wrap;gap:8px;display:flex}.golf-hero-meta span{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf21a;border:1px solid #fffaf233;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:7px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.golf-hero-actions{grid-template-columns:minmax(150px,.72fr) minmax(180px,1fr);align-items:stretch;gap:10px;display:grid}.golf-handicap-box{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#6fd29533;border:1px solid #6fd295b8;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;width:100%;min-height:112px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #6fd2952e}.golf-handicap-box svg{grid-row:span 3}.golf-handicap-box span,.golf-handicap-box em{color:#fffaf2b3;text-transform:uppercase;font-size:.72rem;font-style:normal;font-weight:800}.golf-handicap-box strong{font-size:clamp(1.95rem,6vw,3rem);line-height:.95}.golf-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:end;gap:10px;display:grid}.golf-status-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf21f;border:1px solid #fffaf22e;border-radius:8px;gap:5px;min-width:0;padding:14px;display:grid}.golf-status-card span,.golf-status-card em{color:#fffaf2ad;text-transform:uppercase;font-size:.72rem;font-style:normal;font-weight:800}.golf-status-card strong{font-size:clamp(1.45rem,5vw,2.4rem);line-height:1}.golf-scorecard-panel,.golf-head-to-head-panel,.golf-stats-panel,.golf-rounds-panel,.golf-manual-panel,.golf-photo-panel{gap:14px;padding:16px;display:grid;overflow:hidden}.golf-sync-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 82%, transparent);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.golf-hero .golf-sync-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf21f;border-color:#fffaf22e;min-height:112px}.golf-sync-panel h3{margin:2px 0 0;font-size:clamp(.98rem,2.6vw,1.18rem);line-height:1.05}.spin-icon{animation:.8s linear infinite spin}.golf-scorecard-panel.latest-dropdown{margin-top:-4px;animation:.18s ease-out reveal-panel}.head-to-head-controls{grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(130px,.58fr) minmax(220px,.8fr) minmax(160px,.7fr);align-items:end;gap:10px;display:grid}.matchup-side-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 76%, transparent);border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:68px;padding:10px;display:grid}.matchup-side-card.me{border-color:color-mix(in srgb, var(--green) 58%, var(--line));background:var(--green-soft)}.matchup-side-card div{gap:3px;min-width:0;display:grid}.matchup-side-card em,.matchup-side-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.matchup-side-card em{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-style:normal;font-weight:900}.head-to-head-mode{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));min-height:44px;padding:3px;display:grid}.head-to-head-mode button{color:var(--muted);background:0 0;border:0;border-radius:7px;font-weight:900}.head-to-head-mode button.active{background:var(--green);color:#06110a}.head-to-head-heading-actions{grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:10px;max-width:620px;display:grid}.head-to-head-heading-actions p{border:1px solid var(--line);background:var(--surface-strong);color:var(--muted);border-radius:8px;margin:0;padding:9px 10px;font-size:.8rem;font-weight:800;line-height:1.2}.head-to-head-results{gap:12px;display:grid}.head-to-head-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.head-to-head-wins span,.head-to-head-wins strong{color:var(--green)}.head-to-head-losses span,.head-to-head-losses strong{color:var(--red)}.head-to-head-table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.head-to-head-table{border-collapse:collapse;width:100%;min-width:760px}.head-to-head-table th,.head-to-head-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 12px}.head-to-head-table th{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.head-to-head-table td{font-size:.86rem;font-weight:800}.head-to-head-table tbody tr:last-child td{border-bottom:0}.match-result-pill{background:var(--surface-strong);min-width:68px;min-height:30px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:5px 8px;font-weight:900;display:inline-flex}.match-result-pill.win{background:var(--green-soft);color:var(--green)}.match-result-pill.loss{background:color-mix(in srgb, var(--red) 14%, var(--surface-strong));color:var(--red)}@keyframes reveal-panel{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.golf-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.golf-panel-heading h3{margin:2px 0 0;font-size:clamp(1.35rem,4vw,2.1rem);line-height:1.05}.scorecard-scroll{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 78%, transparent);border-radius:8px;overflow-x:auto}.scorecard-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:820px}.scorecard-table th,.scorecard-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;height:44px;font-size:.88rem;font-weight:800}.scorecard-table th{width:72px;color:var(--muted);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);text-transform:uppercase}.scorecard-table .fixed-row th,.scorecard-table .fixed-row td{background:color-mix(in srgb, var(--blue) 12%, var(--surface-strong));color:color-mix(in srgb, var(--blue) 72%, var(--text))}.scorecard-table .fixed-row th{color:var(--blue)}.scorecard-table tr:nth-child(4n) td,.scorecard-table tr:nth-child(4n) th{border-bottom-width:3px}.scorecard-table td:last-child,.scorecard-table th:last-child{border-right:0}.scorecard-table tr:last-child td,.scorecard-table tr:last-child th{border-bottom:0}.score-row td{color:var(--text);font-size:1rem}.relative-row td{color:var(--muted)}.relative-row td.under-par{color:var(--green)}.relative-row td.over-par{color:var(--red)}.scorecard-total{color:var(--green);background:var(--green-soft)}.golf-stats-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.golf-bar-list{gap:10px;display:grid}.golf-bar-row{grid-template-columns:70px 1fr 54px;align-items:center;gap:10px;display:grid}.golf-bar-row span,.golf-bar-row strong,.golf-month-bar em,.golf-round-row span{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:800}.golf-bar-row div{background:color-mix(in srgb, var(--surface-strong) 76%, transparent);border-radius:999px;height:12px;overflow:hidden}.golf-bar-row i{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--blue));height:100%;display:block}.golf-month-bars{background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border-radius:8px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:8px;height:190px;padding:10px;display:grid}.golf-month-bar{text-align:center;grid-template-rows:1fr auto;align-items:end;gap:7px;min-width:0;height:100%;display:grid}.golf-month-bar span{background:var(--green);border-radius:8px 8px 2px 2px;align-self:end;width:100%;min-height:10px}.golf-round-list{gap:8px;display:grid}.golf-round-row{background:color-mix(in srgb, var(--surface-strong) 74%, transparent);width:100%;color:var(--text);text-align:left;border:1px solid #0000;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.golf-round-row div{gap:4px;min-width:0;display:grid}.golf-round-row strong,.golf-round-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.golf-round-row b{background:var(--surface-strong);width:50px;height:42px;color:var(--green);border-radius:8px;place-items:center;font-size:1.2rem;display:grid}.golf-round-row.active{border-color:var(--green);background:var(--green-soft)}.golf-pager,.golf-matchup-pill{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:flex}.golf-pager span,.golf-matchup-pill{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);border-radius:8px;min-height:34px;padding:0 10px}.golf-photo-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.gym-photo-album{gap:14px;padding:16px;display:grid;overflow:hidden}.gym-album-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:14px;display:grid}.gym-album-card{gap:8px;min-width:0;display:grid}.gym-album-thumb{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;width:100%;padding:0;overflow:hidden}.gym-album-thumb img{aspect-ratio:2/3;object-fit:cover;width:100%;transition:transform .16s;display:block}.gym-album-thumb:hover img{transform:scale(1.035)}.gym-album-meta{justify-content:space-between;align-items:center;gap:8px;min-height:34px;display:flex}.gym-album-meta>span{color:var(--muted);font-size:.78rem;font-weight:800}.gym-album-meta .owner-actions{gap:4px}.gym-album-meta .icon-button{width:30px;height:30px}.golf-photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.golf-photo-card{gap:8px;min-width:0;display:grid}.golf-photo-card-top,.golf-photo-card-bottom{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.golf-photo-card-top span,.golf-photo-card-bottom span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:850;overflow:hidden}.golf-photo-card-top strong{background:var(--green-soft);min-width:46px;min-height:30px;color:var(--green);border-radius:8px;justify-content:center;align-items:center;font-size:1rem;font-weight:950;display:inline-flex}.golf-photo-card-bottom .owner-actions{flex-shrink:0;gap:4px}.golf-photo-card-bottom .icon-button{width:30px;height:30px}.golf-photo-thumb{border:1px solid var(--line);background:var(--surface-strong);border-radius:8px;width:100%;padding:0;overflow:hidden}.golf-photo-thumb img{aspect-ratio:2/3;object-fit:cover;width:100%;transition:transform .16s;display:block}.golf-photo-thumb:hover img{transform:scale(1.04)}.photo-lightbox{border:1px solid var(--line);background:var(--bg-elevated);width:min(980px,100vw - 24px);max-height:calc(100svh - 24px);box-shadow:var(--shadow);border-radius:8px;place-self:center;gap:12px;padding:14px;display:grid;overflow:auto}.photo-lightbox img{object-fit:contain;background:#050806;border-radius:8px;width:100%;max-height:calc(100svh - 132px)}.golf-matchup-modal{border:1px solid var(--line);background:var(--bg-elevated);width:min(960px,100vw - 24px);max-height:calc(100svh - 24px);box-shadow:var(--shadow);border-radius:8px;place-self:center;gap:14px;padding:16px;display:grid;overflow:auto}.modal-actions-row{align-items:center;gap:8px;display:flex}.player-board{gap:8px;display:grid}.player-row{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 74%, transparent);width:100%;min-width:0;color:var(--text);text-align:left;border-radius:8px;grid-template-columns:34px 42px minmax(0,1fr) 76px 54px 58px;align-items:center;gap:10px;padding:10px;display:grid}.player-row.me{border-color:var(--green);background:var(--green-soft)}.player-row.active{box-shadow:0 0 0 1px var(--green)}.player-rank,.player-avatar,.player-row b,.player-delta{place-items:center;display:grid}.player-rank,.player-split,.player-delta{color:var(--muted);font-size:.8rem;font-weight:900}.player-avatar{background:var(--surface-strong);border-radius:8px;width:42px;height:42px;overflow:hidden}.player-avatar img{object-fit:cover;width:100%;height:100%}.player-name{gap:3px;min-width:0;display:grid}.player-name strong,.player-name em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-name em{color:var(--muted);font-size:.76rem;font-style:normal;font-weight:800}.player-row b{background:var(--surface-strong);width:54px;height:38px;color:var(--green);border-radius:8px;font-size:1.14rem}.player-delta{background:var(--surface-strong);border-radius:8px;min-height:32px}.player-delta.ahead{color:var(--red)}.player-delta.behind{color:var(--green)}.player-hole-panel{gap:12px;padding-top:4px;display:grid}.golf-list.compact .golf-card{box-shadow:none}.golf-card{grid-template-columns:minmax(150px,.75fr) 1fr;display:grid;overflow:hidden}.golf-card img{min-height:220px}.golf-body{grid-template-columns:1fr auto;align-items:start;gap:12px;padding:16px;display:grid}.golf-body .owner-actions{grid-column:1/-1}.score-badge{border:1px solid var(--line);background:var(--surface-strong);width:62px;height:62px;color:var(--green);border-radius:8px;place-items:center;font-size:1.6rem;font-weight:900;display:grid}.empty-state{text-align:center;min-height:220px;color:var(--muted);place-items:center;display:grid}.empty-state h2{margin:0;font-size:1.2rem}.floating-add{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:25;border:1px solid var(--green);background:var(--green);color:#06110a;width:58px;height:58px;box-shadow:var(--shadow);border-radius:8px;place-items:center;display:grid;position:fixed}.modal-backdrop{z-index:50;background:#00000094;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.editor-modal{border:1px solid var(--line);background:var(--bg-elevated);width:min(760px,100%);max-height:calc(100svh - 32px);box-shadow:var(--shadow);border-radius:8px;gap:14px;padding:16px;display:grid;overflow:auto}.modal-header,.modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-header h2{margin:0}.modal-actions{justify-content:flex-end}.access-request-list{gap:10px;display:grid}.access-request-row{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.access-request-row strong,.access-request-row span{display:block}.access-request-row span{color:var(--muted);margin-top:4px;font-size:.86rem}.access-request-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field.full{grid-column:1/-1}.tag-fieldset{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.tag-fieldset legend{color:var(--muted);padding:0 4px;font-size:.76rem;font-weight:800}.tag-fieldset label{border:1px solid var(--line);text-transform:capitalize;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:4px 8px;display:inline-flex}.existing-photos{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;display:grid}.existing-photos img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:8px;width:100%}.upload-drop{border:1px dashed var(--line);background:var(--surface);min-height:88px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;gap:8px;transition:border-color .16s,background .16s,color .16s;display:grid}.upload-drop.dragging{border-color:var(--green);background:var(--green-soft);color:var(--green)}.upload-drop input{opacity:0;width:1px;height:1px;position:absolute}.progress-bar{background:var(--line);border-radius:8px;height:8px;overflow:hidden}.progress-bar span{border-radius:inherit;background:var(--green);height:100%;transition:width .18s;display:block}@media (max-width:820px){.landing{background-image:linear-gradient(#00000057,#0000000a 42%,#0000),url(/cover/landing-golf-swing-sequence.png);background-position:50%,bottom;background-repeat:no-repeat;background-size:auto,100%;justify-content:center;align-items:flex-start;padding:18px}.landing:after{background:linear-gradient(#00000057,#0000 46%)}.landing:before{mix-blend-mode:normal;background:linear-gradient(#0000,#00000029)}.landing-content{text-align:center;max-width:430px;padding-top:clamp(72px,11svh,112px)}.landing-content .brand-mark,.access-form{margin-inline:auto}.topbar,.section-heading,.golf-body{align-items:flex-start}.topbar,.section-heading{flex-direction:column}.header-actions,.metric-strip{justify-content:flex-start}.role-pill,.source-pill{display:none}.nav-tabs{grid-template-columns:repeat(3,minmax(74px,1fr))}.nav-tabs button{flex-direction:column;gap:4px;min-height:50px;font-size:.72rem}.summary-grid,.whoop-grid,.progress-layout,.compare-selectors,.compare-grid,.progress-compare-grid,.head-to-head-summary,.golf-stats-layout,.golf-card,.form-grid{grid-template-columns:1fr}.mobile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-body,.golf-body{grid-template-columns:1fr}.detail-media img{height:min(62svh,560px)}.whoop-sync{justify-content:flex-start}.trend-header{flex-direction:column}.trend-legend{justify-content:flex-start}.gallery-grid{columns:2 160px}.golf-card img{min-height:230px}.golf-hero{grid-template-columns:1fr;gap:12px;min-height:480px}.golf-status-grid,.golf-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.golf-handicap-box,.golf-hero .golf-sync-panel{min-height:106px}.golf-sync-panel{flex-direction:column;align-items:stretch}.golf-sync-panel .primary-button{width:100%;min-height:42px}.head-to-head-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.matchup-side-card.me{grid-area:1/1}.head-to-head-controls>.matchup-side-card:not(.me){grid-area:1/2}.opponent-field{grid-area:2/1}.rounds-field{grid-area:2/2}.head-to-head-mode{grid-area:3/1/auto/-1}.head-to-head-heading-actions{grid-template-columns:1fr;width:100%;max-width:none}.head-to-head-heading-actions .primary-button{width:fit-content}.golf-panel-heading{flex-direction:column;align-items:flex-start}.player-row{grid-template-columns:30px 40px minmax(0,1fr) 52px}.player-split,.player-delta{grid-column:span 2}}@media (max-width:520px){.view-shell,.app-header{padding-inline:12px}.header-actions{width:100%}.golf-photo-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.topbar .icon-button{width:38px;height:38px}.mobile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.trend-panel{padding:12px}.trend-chart{min-width:640px}.delta-lines,.data-grid,.benchmark-grid{grid-template-columns:1fr}.gallery-grid{columns:1}.modal-backdrop{padding:8px}.editor-modal{max-height:calc(100svh - 16px)}}
