:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#153126;background:#edf3ef;font-synthesis:none;--ink: #153126;--muted: #6c7f74;--line: #dbe5df;--surface: #ffffff;--soft: #f5f8f6;--soft-green: #e7efe9;--green: #183c2b;--green-2: #2f6b4f;--gold: #d19b2a;--friend: #4f6fb5;--friend-dark: #3d5794;--danger: #a33b3b}*{box-sizing:border-box}html{background:#edf3ef}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -160px,#dce9e1 0,#edf3ef 380px 100%)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(47,107,79,.28);outline-offset:2px}h1,h2,p{margin-top:0}h1{margin-bottom:3px;font-size:clamp(1.45rem,5vw,2rem);letter-spacing:-.025em}h2{margin-bottom:4px;font-size:1.12rem;letter-spacing:-.015em}small{line-height:1.35}.auth-shell,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);padding:30px;text-align:center;background:#fffffff5;border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 55px #183c2b17}.brand-mark{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 15px;border-radius:18px;background:var(--green);color:#fff;font-weight:900;letter-spacing:-.04em;box-shadow:inset 0 -6px 12px #00000014}.muted,.handle{color:var(--muted)}.handle{margin:0;font-size:.88rem}.eyebrow{font-size:.68rem;letter-spacing:.16em;color:#72847a;font-weight:900}label{display:grid;gap:7px;text-align:left;font-weight:750;margin:14px 0;color:#43594d;font-size:.9rem}input,select{width:100%;border:1px solid #cbd9d1;border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);min-height:44px}input:focus,select:focus{border-color:var(--green-2);outline:3px solid rgba(47,107,79,.15)}.username-input{display:flex;align-items:center;border:1px solid #cbd9d1;border-radius:12px;background:#fff;overflow:hidden}.username-input:focus-within{border-color:var(--green-2);outline:3px solid rgba(47,107,79,.15)}.username-input span{padding-left:12px;color:var(--muted);font-weight:800}.username-input input{border:0;outline:0;padding-left:5px}.password-input{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #cbd9d1;border-radius:12px;background:#fff;overflow:hidden}.password-input:focus-within{border-color:var(--green-2);outline:3px solid rgba(47,107,79,.15)}.password-input input{border:0;outline:0;min-width:0}.password-toggle{align-self:stretch;border:0;border-left:1px solid #e0e7e3;background:#f7faf8;color:var(--green-2);padding:0 13px;font-size:.8rem;font-weight:850}.password-toggle:hover{background:#eef4f0}.primary,.secondary,.chip-button,.ghost-button,.filter-button,.add-round-button,.back-button,.icon-button{border:0;font-weight:800}.primary{width:100%;min-height:46px;border-radius:13px;padding:11px 16px;background:var(--green);color:#fff;box-shadow:0 4px 11px #183c2b24}.primary.compact{width:auto;min-height:40px;padding:9px 14px}.primary:disabled,.secondary:disabled,select:disabled{opacity:.55}.secondary{min-height:44px;border-radius:12px;padding:10px 14px;background:var(--soft-green);color:var(--green);border:0;font-weight:800}.chip-button{min-height:36px;padding:7px 12px;border-radius:999px;background:#ebf1ed;color:#315f48}.ghost-button{min-height:38px;border-radius:999px;padding:8px 12px;background:#ffffffb3;color:#51685a;border:1px solid var(--line)}.text-button,.danger-text{border:0;background:transparent;padding:9px 10px;font-weight:750}.text-button{color:var(--green-2)}.danger-text{color:var(--danger)}.compact-text{padding:5px 0;font-size:.82rem}.reset-button{padding-top:10px;padding-bottom:4px}.icon-button{width:38px;height:38px;border-radius:999px;background:var(--soft-green);color:var(--green);font-size:1.35rem}.back-button{background:transparent;color:var(--green-2);padding:4px 0}.error{color:var(--danger);background:#fff0f0;padding:10px 12px;border-radius:11px;font-size:.88rem}.compact-error{margin:9px 0 0}.status-message{margin:14px 0 0;padding:10px 12px;background:#edf5ef;border-radius:11px;color:var(--green-2)}.app-shell{width:min(960px,calc(100% - 24px));margin:0 auto;padding:calc(20px + env(safe-area-inset-top)) 0 calc(108px + env(safe-area-inset-bottom))}.stack{display:grid;gap:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.brand-lockup{display:flex;gap:11px;align-items:center}.mini-brand{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;letter-spacing:-.04em;box-shadow:0 5px 14px #183c2b26}.brand-lockup h1{font-size:1.35rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading>div{display:grid;gap:2px}.panel,.dashboard-card,.range-card,.player-profile-card{background:#fffffff5;border:1px solid var(--line);border-radius:22px}.panel{padding:19px}.dashboard-card{padding:17px}.range-card{padding:18px;display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:18px;align-items:center}.start-practice-button{width:100%;border:0;border-radius:20px;min-height:72px;padding:12px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;text-align:left;background:var(--green);color:#fff;box-shadow:0 10px 24px #183c2b2b}.start-practice-button .play-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ffffff21;font-size:1.35rem}.start-practice-button div{display:grid;gap:2px}.start-practice-button strong{font-size:1.02rem}.start-practice-button small{color:#ccddd3}.chevron{font-size:1.7rem;line-height:1;opacity:.75}.segmented{display:grid;gap:4px;padding:4px;border-radius:13px;background:#e5ece8}.segmented button{border:0;border-radius:10px;min-height:36px;padding:6px 10px;background:transparent;color:#607368;font-weight:850;white-space:nowrap}.segmented button.active{background:#fff;color:var(--green);box-shadow:0 1px 5px #183c2b1c}.home-summary-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:11px}.home-summary-heading>div:first-child{display:grid;gap:3px}.home-summary-heading>div:first-child strong{font-size:.95rem;color:var(--green-2)}.home-timeframe-tabs{grid-template-columns:repeat(3,1fr);min-width:190px}.timeframe-section-heading{align-items:end}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.metric{min-width:0;border-radius:17px;padding:14px;display:grid;gap:3px;background:#214d38;color:#fff;border:1px solid #214d38;box-shadow:inset 0 -8px 18px #0000000f}.metric.primary-metric{background:var(--green);border-color:var(--green)}.metric span{color:#d6e4db;font-size:.77rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.metric strong{font-size:clamp(1.45rem,4vw,2rem);letter-spacing:-.04em}.metric small{color:#c8dbcf;font-size:.72rem}.range-card h2{margin-top:2px}.range-card .muted{margin-bottom:0;font-size:.82rem}.range-metrics{display:grid;grid-template-columns:repeat(3,minmax(74px,1fr));gap:7px}.range-metrics article{min-width:78px;display:grid;gap:2px;text-align:center;padding:12px 10px;border-radius:15px;background:#f3f7f4;border:1px solid #e0e9e3}.range-metrics span{color:var(--muted);font-size:.76rem;font-weight:900}.range-metrics strong{font-size:1.2rem;color:var(--green)}.distance-list,.history-list,.friend-list,.round-list{display:grid;gap:9px;margin-top:13px}.distance-row{display:grid;grid-template-columns:72px 1fr 58px 70px;gap:10px;align-items:center}.distance-name{display:grid;gap:1px}.distance-name span{color:var(--muted);font-size:.67rem;font-weight:800}.bar{height:9px;border-radius:999px;background:#e5ece8;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#2f6b4f,#438463);border-radius:inherit}.distance-pct{font-weight:850;color:var(--green);text-align:right}.distance-row small{color:var(--muted);text-align:right}.history-item{border:1px solid #e0e8e3;border-radius:16px;padding:12px;display:grid;grid-template-columns:116px 1fr auto;gap:12px;align-items:center;background:#fbfcfb}.session-score{display:grid}.session-score strong{font-size:1.35rem;letter-spacing:-.035em}.session-score time{color:var(--green-2);font-size:.8rem;font-weight:800;margin:1px 0}.session-score span{color:var(--muted);font-size:.78rem}.history-distances{display:flex;gap:6px;flex-wrap:wrap}.history-distances span{background:#edf3ef;color:#52695b;padding:5px 7px;border-radius:8px;font-size:.76rem}.history-distances b{color:var(--green)}.history-actions{display:flex;align-items:center}.empty{border:1px dashed #c9d8cf;border-radius:14px;padding:20px;color:var(--muted);text-align:center;margin-top:12px}.session-panel{overflow:hidden}.session-heading{align-items:center}.session-top-controls{display:grid;grid-template-columns:minmax(170px,230px) minmax(220px,300px);align-items:end;justify-content:space-between;gap:14px;margin-top:13px}.session-date-field{margin:0}.compact-segmented{grid-template-columns:repeat(2,1fr)}.practice-score-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0 10px}.practice-score-strip>div{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:#f1f5f2;border:1px solid #e2e9e5}.practice-score-strip span{font-size:.7rem;color:var(--muted);font-weight:800;text-transform:uppercase}.practice-score-strip strong{font-size:1.05rem;color:var(--green)}.practice-score-strip.has-c2{grid-template-columns:repeat(4,1fr)}.c2-preset-button{width:100%;border:1px solid #d9e4dd;border-radius:14px;background:#f6f9f7;color:var(--green);padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:850;margin:4px 0 10px}.c2-preset-button small{color:var(--muted);font-weight:750}.c2-preset-button.active{background:#e9f0eb;border-color:#cbdad1}.quick-c2-button{margin-top:13px;margin-bottom:5px}.c2-label{position:relative;display:inline-flex;align-items:baseline;color:inherit;font:inherit}.c2-star{border:0;background:transparent;color:inherit;padding:0 2px;margin:0;font:inherit;font-weight:950;line-height:1;cursor:pointer}.c2-explainer{position:absolute;z-index:30;top:calc(100% + 7px);left:0;width:min(290px,calc(100vw - 44px));padding:9px 10px;border:1px solid #d7e2db;border-radius:11px;background:#fffffffa;color:#52675b;font-size:.74rem;font-weight:650;line-height:1.4;text-transform:none;letter-spacing:normal;box-shadow:0 8px 24px #183c2b1f;white-space:normal}.metric .c2-explainer{left:auto;right:0;color:#52675b}.session-options{margin:9px 0 12px;border:1px solid #e0e8e3;border-radius:14px;background:#f8faf9}.session-options summary{padding:11px 13px;cursor:pointer;color:#52695b;font-weight:800;font-size:.84rem}.session-options[open] summary{border-bottom:1px solid #e5ebe7}.session-options>.distance-chip-row,.session-options>.custom-row{margin-left:12px;margin-right:12px}.distance-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.distance-chip{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #dce5df;border-radius:999px;padding:6px 9px;color:var(--green);font-weight:800;font-size:.78rem}.distance-chip button{border:0;background:transparent;color:var(--muted);padding:0}.custom-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0}.round-card{border:1px solid #dbe5df;border-radius:18px;padding:12px;background:linear-gradient(180deg,#fff,#fafcfb)}.round-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.round-heading>div{display:flex;align-items:baseline;gap:9px}.round-heading span{font-size:.68rem;color:var(--muted);letter-spacing:.12em;font-weight:900}.round-heading strong{font-size:.9rem;color:var(--green-2)}.round-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.score-tile{min-width:0;display:grid;gap:6px;text-align:center;padding:9px 5px 7px;border-radius:14px;background:#eef4f0}.score-tile>span{color:var(--green);font-size:.78rem;font-weight:900}.score-tile small{color:var(--muted);font-size:.68rem}.score-control{display:grid;grid-template-columns:30px 1fr 30px;gap:3px;align-items:center}.score-control button{width:30px;height:34px;border:0;border-radius:9px;background:#fff;color:var(--green);font-weight:900;font-size:1rem}.score-control input{min-width:0;min-height:34px;height:34px;padding:2px;border:0;background:transparent;text-align:center;font-size:1.15rem;font-weight:900;color:var(--green);-moz-appearance:textfield}.score-control input::-webkit-inner-spin-button,.score-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.add-round-button{width:100%;min-height:48px;border-radius:14px;background:#e7efe9;color:var(--green);display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 13px}.add-round-button span{font-size:1.1rem}.attempt-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:14px 0 8px;color:var(--muted);font-size:.85rem}.session-grid{display:grid;grid-template-columns:1fr 1fr 1fr .7fr;gap:8px;align-items:center;padding:7px 0}.session-grid input{text-align:center;padding:9px 6px}.header-row{color:var(--muted);font-size:.78rem;border-bottom:1px solid #e1e8e4}.session-save-action{position:static;margin-top:14px;box-shadow:0 4px 11px #183c2b24}.progress-panel{overflow:hidden}.progress-module{margin-top:14px}.progress-view-tabs{grid-template-columns:repeat(2,1fr);max-width:330px;margin-bottom:11px}.progress-quickbar{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:8px;align-items:end}.progress-quickbar label{margin:0;gap:4px}.progress-quickbar label>span{color:var(--muted);font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.progress-quickbar select{min-height:42px;padding:8px 9px;font-size:.85rem;font-weight:750}.filter-button{min-height:42px;border-radius:12px;padding:8px 12px;background:#edf3ef;color:#52695b;white-space:nowrap}.filter-button.active{background:var(--green);color:#fff}.filter-button span{margin-right:4px}.advanced-filters{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:10px;padding:10px;border-radius:17px;background:#f3f7f4;border:1px solid #e0e8e3}.filter-block{min-width:0;padding:11px;border-radius:14px;background:#fff;border:1px solid #e1e8e4}.filter-block-title{display:grid;gap:2px}.filter-block-title strong{font-size:.88rem}.filter-block-title span{color:var(--muted);font-size:.75rem}.custom-range-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.custom-range-row input{min-height:40px}.distance-selector-chips,.date-preset-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.distance-selector-chips button,.date-preset-row button{border:0;border-radius:999px;padding:7px 9px;background:#edf3ef;color:#536a5c;font-weight:800;font-size:.76rem}.distance-selector-chips button.active,.date-preset-row button.active{background:var(--green);color:#fff}.date-range-row{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end;margin-top:8px}.date-range-row label{margin:0;font-size:.74rem}.date-range-row input{min-height:40px}.inline-filter-block{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.mini-segmented{grid-template-columns:repeat(2,1fr)}.mini-segmented button{font-size:.76rem}.active-filter-strip{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 5px}.active-filter-strip span{border-radius:999px;background:#edf3ef;color:var(--green-2);padding:5px 8px;font-size:.73rem;font-weight:800}.inline-note{margin:7px 0;color:#94701f;background:#fff7e5;border-radius:10px;padding:8px 10px;font-size:.78rem}.chart-wrap{width:100%;overflow:hidden;margin:3px 0 4px}.chart-wrap svg{width:100%;height:auto;display:block}.time-chart{border-radius:18px}.by-distance-chart{overflow:hidden;padding-bottom:3px}.by-distance-chart svg{width:100%;height:auto;max-width:100%}.chart-plot-bg{fill:#f8faf9;stroke:#e4ebe7;stroke-width:1}.grid-line{stroke:#dce5df;stroke-width:1;stroke-dasharray:3 5}.mid-grid-line{stroke:#c8d5cd;stroke-dasharray:0}.date-grid-line{stroke:#edf2ef;stroke-width:1;stroke-dasharray:3 5}.date-axis-label{fill:#718078;font-size:11px;font-weight:700}.chart-area{pointer-events:none}.own-area{fill:url(#ownAreaGradient)}.chart-line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(24,60,43,.07))}.own-line{stroke:var(--green-2)}.friend-line{stroke:var(--friend)}.chart-point{stroke:#fff;stroke-width:3}.own-point{fill:var(--green-2)}.friend-point{fill:var(--friend)}.pb-point{fill:var(--gold);stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 3px rgba(157,111,18,.2))}.multi-line-1{stroke:#2f6b4f}.multi-line-2{stroke:#6b67a8}.multi-line-3{stroke:#b05f78}.multi-point-1{fill:#2f6b4f}.multi-point-2{fill:#6b67a8}.multi-point-3{fill:#b05f78}.distance-chart-bar{stroke:#fff;stroke-width:2}.own-bar{fill:var(--green-2)}.friend-bar{fill:var(--friend)}.bar-value-label{fill:var(--green-2);font-size:11px;font-weight:850}.friend-value-label{fill:var(--friend-dark)}.bar-value-label.bar-value-inside{fill:#fff;paint-order:stroke;stroke:#0000001f;stroke-width:1px}.distance-axis-label{fill:#63766b;font-size:11px;font-weight:800}.compact-axis-label{font-size:9px}svg text{fill:#708077;font-size:12px}.chart-legend{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:6px 0;font-size:.8rem;color:#556b5e}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:99px;display:inline-block}.legend-dot.own{background:var(--green-2)}.legend-dot.friend{background:var(--friend)}.legend-dot.multi-1{background:#2f6b4f}.legend-dot.multi-2{background:#6b67a8}.legend-dot.multi-3{background:#b05f78}.chart-note{color:var(--muted);font-size:.78rem;margin:2px 0 0;line-height:1.45}.history-details{padding:0;overflow:hidden}.history-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 19px}.history-details summary::-webkit-details-marker{display:none}.history-details summary>div{display:grid;gap:2px}.history-details summary>span{color:var(--green-2);font-weight:800;font-size:.82rem}.history-details-list{padding:0 18px 18px;margin-top:0}.friend-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.friend-result,.friend-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border:1px solid #e0e8e3;border-radius:15px;padding:11px;margin-top:10px;background:#fbfcfb}.friend-result>div:nth-child(2),.friend-item>div:nth-child(2),.friend-profile-button>div:nth-child(2){display:grid;text-align:left}.friend-result span,.friend-item span,.friend-profile-button span{color:var(--muted);font-size:.84rem}.avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--soft-green);color:var(--green);font-weight:900}.avatar-large{width:62px;height:62px;border-radius:19px;font-size:1.35rem}.request-actions{display:flex;align-items:center;gap:2px}.friend-profile-button{width:100%;border:1px solid #e0e8e3;border-radius:16px;padding:11px;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;background:#fbfcfb;color:var(--ink)}.friend-profile-button:hover{background:#f4f8f5}.player-profile-card{padding:18px;display:grid;grid-template-columns:1fr auto;gap:13px;align-items:end}.player-profile-card .back-button{grid-column:1 / -1;justify-self:start}.player-identity{display:flex;gap:12px;align-items:center}.player-identity h2{margin:1px 0 2px;font-size:1.4rem}.profile-compare{align-self:center}.profile-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.profile-stat-grid article{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fffffff5}.profile-stat-grid span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.profile-stat-grid strong{color:var(--green);font-size:1.35rem}.profile-stat-grid small{color:var(--muted);font-size:.68rem}.bottom-nav{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(540px,calc(100% - 24px));display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#fffffff2;border:1px solid #d8e3dc;border-radius:21px;padding:6px;box-shadow:0 12px 38px #14372529;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10}.bottom-nav button{position:relative;border:0;border-radius:15px;background:transparent;color:#718078;padding:7px 5px 6px;display:grid;place-items:center;gap:1px;font-size:.73rem}.bottom-nav button b{font-weight:800}.nav-icon{font-size:1.18rem;line-height:1}.bottom-nav button.active{background:var(--green);color:#fff}.bottom-nav button i{position:absolute;top:2px;right:24%;width:18px;height:18px;border-radius:99px;background:#b94343;color:#fff;font-size:.66rem;display:grid;place-items:center;font-style:normal}@media(max-width:760px){.app-shell{width:min(100% - 16px,960px);padding-top:calc(12px + env(safe-area-inset-top))}.topbar{align-items:center}.ghost-button{min-height:36px;font-size:.78rem}.panel,.dashboard-card,.range-card,.player-profile-card{border-radius:19px}.panel{padding:15px}.dashboard-card{padding:13px}.home-summary-heading{align-items:stretch;display:grid;gap:7px}.home-timeframe-tabs{width:100%;min-width:0}.timeframe-section-heading{display:grid;gap:8px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:7px}.metric{padding:12px 10px;border-radius:15px}.metric strong{font-size:1.5rem}.range-card{grid-template-columns:1fr;gap:11px}.range-metrics{width:100%}.distance-row{grid-template-columns:60px 1fr 52px;gap:7px}.distance-row small{grid-column:2 / 4;text-align:left;margin-top:-4px}.history-item{grid-template-columns:1fr auto}.history-distances{grid-column:1 / -1}.history-actions{grid-column:2;grid-row:1}.session-top-controls{grid-template-columns:1fr}.session-date-field{margin:0}.practice-score-strip{gap:5px}.practice-score-strip>div{padding:9px 8px}.round-score-grid{grid-template-columns:repeat(2,1fr)}.score-tile:last-child:nth-child(odd){grid-column:1 / -1}.score-control{grid-template-columns:38px 1fr 38px}.score-control button{width:38px}.add-round-button{margin-bottom:0}.session-grid{grid-template-columns:60px 1fr 1fr 46px;gap:5px}.session-grid strong,.session-grid span{font-size:.82rem}.session-grid input{min-height:40px}.session-save-action{margin-top:12px}.progress-view-tabs{max-width:none}.progress-quickbar{grid-template-columns:1fr 1fr}.progress-quickbar label:nth-child(3){grid-column:1}.filter-button{grid-column:2;align-self:end}.advanced-filters{grid-template-columns:1fr;padding:8px}.date-range-row{grid-template-columns:1fr 1fr}.date-range-row .secondary{grid-column:1 / -1;width:100%}.inline-filter-block{grid-template-columns:1fr}.chart-wrap{margin-left:-4px;width:calc(100% + 8px)}.chart-note{font-size:.74rem}.friend-result,.friend-item{grid-template-columns:auto 1fr}.friend-result .compact,.friend-item .request-actions{grid-column:1 / -1;width:100%}.request-actions .primary{flex:1}.player-profile-card{grid-template-columns:1fr;align-items:start}.profile-compare{width:100%}.profile-stat-grid{grid-template-columns:repeat(2,1fr);gap:7px}}@media(max-width:390px){.mini-brand{width:40px;height:40px}.brand-lockup h1{font-size:1.18rem}.start-practice-button{padding-left:12px;padding-right:12px}.start-practice-button .play-icon{width:38px;height:38px}.practice-score-strip span{font-size:.62rem}.practice-score-strip strong{font-size:.95rem}.round-score-grid{gap:5px}.score-tile{padding-left:4px;padding-right:4px}.progress-quickbar select,.filter-button{font-size:.78rem}}.point-readout{display:grid;gap:6px;margin:5px 0 8px;padding:8px 10px;border:1px solid #dce6df;border-radius:12px;background:#f5f8f6e0}.point-readout-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.point-readout-row+.point-readout-row{border-top:1px solid #e1e8e4;padding-top:6px}.point-readout-name,.point-readout-value{display:flex;align-items:center;gap:6px;min-width:0}.point-readout-name strong{color:var(--green);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.point-readout-name span,.point-readout-value small{color:var(--muted);font-size:.7rem}.point-readout-value{margin-left:auto}.point-readout-value b{color:var(--green);font-size:1rem}.readout-dot{width:8px;height:8px;border-radius:99px;flex:0 0 auto}.readout-dot.own{background:var(--green-2)}.readout-dot.friend{background:var(--friend)}.readout-dot.multi{background:#6b67a8}.readout-dot.pb{background:var(--gold)}.pb-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;background:#fff4d7;color:#8d6515;border:1px solid #ecd49a;padding:4px 7px;font-size:.66rem;font-weight:950;letter-spacing:.05em}.compact-pb{padding:2px 5px;font-size:.6rem}.chart-point{cursor:pointer}.history-item{grid-template-columns:minmax(150px,auto) 1fr auto}.session-summary{display:grid;gap:5px}.session-summary>time{color:var(--green-2);font-size:.78rem;font-weight:800}.session-circle-scores{display:flex;flex-wrap:wrap;gap:7px}.session-circle-scores>span{position:relative;display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:5px;row-gap:0;padding:5px 7px;border-radius:10px;background:#eef4f0;color:var(--green)}.session-circle-scores>span>b,.session-circle-scores .c2-label{font-size:.68rem;font-weight:900}.session-circle-scores>span>strong{font-size:.95rem}.session-circle-scores>span>small{grid-column:1 / -1;color:var(--muted);font-size:.64rem}.share-action-wrap{display:inline-flex;align-items:center;gap:3px;position:relative}.share-status{color:var(--green-2);font-size:.66rem;font-weight:800}.session-recap{border-color:#cfded5}.recap-heading{align-items:center}.recap-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.recap-score-grid.single{grid-template-columns:minmax(0,1fr);max-width:330px}.recap-score-card{position:relative;display:grid;gap:3px;padding:15px;border:1px solid #dce6df;border-radius:17px;background:#f6f9f7}.recap-score-card>span,.recap-score-card>.c2-label{color:var(--muted);font-size:.75rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.recap-score-card>strong{color:var(--green);font-size:1.9rem;letter-spacing:-.04em}.recap-score-card>small{color:var(--muted)}.recap-score-card .pb-badge{margin-top:4px}.recap-distance-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:7px;margin-top:11px}.recap-distance-list>div{display:grid;gap:1px;padding:9px 10px;border-radius:12px;background:#edf3ef}.recap-distance-list span{color:var(--muted);font-size:.7rem;font-weight:850}.recap-distance-list strong{color:var(--green);font-size:.95rem}.recap-distance-list small{color:var(--muted);font-size:.66rem}.recap-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:13px}.recap-actions .share-action-wrap .secondary{min-width:120px}.legend-dot.pb{background:var(--gold)}@media(max-width:760px){.practice-score-strip.has-c2{grid-template-columns:repeat(2,1fr)}.history-item{grid-template-columns:1fr auto}.session-summary{grid-column:1}.history-distances{grid-column:1 / -1}.history-actions{grid-column:1 / -1;grid-row:auto;justify-content:flex-end;flex-wrap:wrap}.recap-score-grid{grid-template-columns:1fr 1fr}.bottom-nav button{font-size:.68rem;padding-left:2px;padding-right:2px}}@media(max-width:390px){.recap-score-grid{grid-template-columns:1fr}.point-readout-name strong{max-width:105px}.point-readout-name span{display:none}}.round-heading>div{flex-wrap:wrap}.round-heading em{color:var(--friend-dark);font-size:.76rem;font-style:normal;font-weight:800}.practice-score-strip .c2-label{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.practice-score-strip .c2-explainer{left:auto;right:0;color:#52675b;font-size:.74rem;font-weight:650;text-transform:none}.rolling-readout{padding-left:4px;border-left:1px solid #ccd8d0}.metric .c2-label{color:#d6e4db;font-size:.77rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.session-circle-scores .c2-explainer{left:0;right:auto}.graph-c2-info{position:relative;display:inline-flex;align-items:center;gap:6px;margin:1px 0 5px;color:var(--green-2);font-size:.74rem;font-weight:850}.graph-c2-info small{color:var(--muted);font-size:.68rem;font-weight:700}.password-toggle{width:48px;padding:0;display:grid;place-items:center}.password-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.settings-button{display:inline-flex;align-items:center;gap:6px}.settings-button span{font-size:1rem;line-height:1}svg text{font-size:14px;font-weight:800}.date-axis-label,.distance-axis-label{font-size:13px;font-weight:850}.compact-axis-label{font-size:11px}.bar-value-label{font-size:13px;font-weight:900}.settings-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#09140e6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-panel{width:min(500px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:0 24px 70px #0a1e123d}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:5px}.settings-heading h2{margin:1px 0 0;font-size:1.4rem}.settings-close{font-size:1.25rem}.settings-section{display:grid;gap:11px;margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--soft)}.settings-section>div:first-child{display:grid;gap:3px}.settings-section>div:first-child small{color:var(--muted)}.settings-username-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.settings-username-row .secondary{min-width:82px}.settings-locked-username{padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);font-weight:850}.settings-status{margin:0}.theme-toggle{grid-template-columns:repeat(2,1fr)}.danger-button{min-height:44px;border:1px solid rgba(163,59,59,.24);border-radius:12px;padding:10px 14px;background:#fff1f1;color:var(--danger);font-weight:850}.settings-signout{grid-template-columns:1fr auto;align-items:center}:root[data-theme=dark]{color-scheme:dark;color:#edf4ef;background:#0d1711;--ink: #edf4ef;--muted: #a1b3a8;--line: #2a4033;--surface: #15231b;--soft: #192b20;--soft-green: #20392a;--green: #9fd5b5;--green-2: #79bf98;--gold: #e0af42;--friend: #8ca8ea;--friend-dark: #afc0ef;--danger: #ef8b8b}:root[data-theme=dark] html{background:#0d1711}:root[data-theme=dark] body{background:radial-gradient(circle at 50% -160px,#1b3023 0,#0d1711 380px 100%);color:var(--ink)}:root[data-theme=dark] .auth-card,:root[data-theme=dark] .panel,:root[data-theme=dark] .dashboard-card,:root[data-theme=dark] .range-card,:root[data-theme=dark] .player-profile-card{background:#15231bf7}:root[data-theme=dark] label{color:#c5d3ca}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .username-input,:root[data-theme=dark] .password-input{background:#17271e;border-color:#344a3c;color:var(--ink)}:root[data-theme=dark] .password-toggle{background:#1d3025;border-left-color:#344a3c;color:var(--green-2)}:root[data-theme=dark] .password-toggle:hover{background:#233a2c}:root[data-theme=dark] .ghost-button{background:#18281fdb;color:#c0d0c6}:root[data-theme=dark] .primary,:root[data-theme=dark] .start-practice-button,:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .mini-brand,:root[data-theme=dark] .metric.primary-metric,:root[data-theme=dark] .filter-button.active{background:#356f51;color:#fff}:root[data-theme=dark] .score-control button,:root[data-theme=dark] .distance-chip,:root[data-theme=dark] .c2-preset-button,:root[data-theme=dark] .profile-stat-grid article{background:#1d3025;border-color:#344a3c;color:#dce9e0}:root[data-theme=dark] .chart-legend{color:#b4c4ba}:root[data-theme=dark] .secondary,:root[data-theme=dark] .chip-button,:root[data-theme=dark] .filter-button,:root[data-theme=dark] .add-round-button{background:#20392a;color:#b9dfc9}:root[data-theme=dark] .segmented{background:#1d3025}:root[data-theme=dark] .segmented button{color:#a9b9af}:root[data-theme=dark] .segmented button.active{background:#2a4434;color:#eef7f1;box-shadow:none}:root[data-theme=dark] .range-metrics article,:root[data-theme=dark] .practice-score-strip>div,:root[data-theme=dark] .score-tile,:root[data-theme=dark] .filter-block,:root[data-theme=dark] .advanced-filters,:root[data-theme=dark] .point-readout,:root[data-theme=dark] .session-options{background:#192b20;border-color:#2b4034}:root[data-theme=dark] .history-item,:root[data-theme=dark] .friend-result,:root[data-theme=dark] .friend-item,:root[data-theme=dark] .friend-profile-button,:root[data-theme=dark] .round-card{background:#17271e;border-color:#2b4034}:root[data-theme=dark] .history-distances span,:root[data-theme=dark] .active-filter-strip span,:root[data-theme=dark] .distance-selector-chips button,:root[data-theme=dark] .date-preset-row button{background:#203329;color:#bad2c3}:root[data-theme=dark] .distance-selector-chips button.active,:root[data-theme=dark] .date-preset-row button.active{background:#3a7857;color:#fff}:root[data-theme=dark] .bar{background:#263c2f}:root[data-theme=dark] .chart-plot-bg{fill:#122019;stroke:#2a4033}:root[data-theme=dark] .grid-line{stroke:#2a4033}:root[data-theme=dark] .mid-grid-line{stroke:#3a5544}:root[data-theme=dark] .date-grid-line{stroke:#23372c}:root[data-theme=dark] .date-axis-label,:root[data-theme=dark] .distance-axis-label,:root[data-theme=dark] svg text{fill:#aebfb5}:root[data-theme=dark] .own-line{stroke:#79bf98}:root[data-theme=dark] .own-point{fill:#79bf98}:root[data-theme=dark] .chart-point,:root[data-theme=dark] .pb-point,:root[data-theme=dark] .distance-chart-bar{stroke:#15231b}:root[data-theme=dark] .bottom-nav{background:#121f18f5;border-color:#2a4033;box-shadow:0 12px 38px #00000059}:root[data-theme=dark] .bottom-nav button{color:#9cafa2}:root[data-theme=dark] .bottom-nav button.active{background:#356f51;color:#fff}:root[data-theme=dark] .error{background:#3a2020}:root[data-theme=dark] .status-message{background:#20372a;color:#9ed0b4}:root[data-theme=dark] .inline-note{background:#3a311d;color:#e2c078}:root[data-theme=dark] .c2-explainer{background:#17271e;border-color:#344a3c;color:#bed0c5}:root[data-theme=dark] .danger-button{background:#3a2020;border-color:#633333;color:#f0a0a0}:root[data-theme=dark] .settings-backdrop{background:#0000008c}@media(max-width:520px){.settings-panel{padding:16px;border-radius:20px}.settings-username-row{grid-template-columns:1fr}.settings-username-row .secondary{width:100%}.settings-signout{grid-template-columns:1fr}.danger-button{width:100%}}
