*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#f3f5f5;color:#1e3031;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}a{color:inherit}button,select{font:inherit}button,select,a{touch-action:manipulation}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6ca19b;outline-offset:4px}.sidebar{background:#142b2a;color:#eaf1ed;position:fixed;inset:0 auto 0 0;width:244px;padding:36px 24px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:10px;color:#9fbab4;letter-spacing:2px;margin-top:3px}.mark{display:grid;place-items:center;width:34px;height:40px;border:1px solid #c8ed8e;border-radius:4px;color:#c8ed8e;font-size:28px}.nav-label{font-size:11px;letter-spacing:1.4px;color:#91aaa5;margin:62px 12px 18px}nav{display:grid;gap:10px}nav a{display:flex;gap:13px;text-decoration:none;padding:12px 10px;color:#9eb5af;font-size:12px}nav a span{font-size:14px;color:#d2ded9}nav a:hover,nav .active{background:#25403b;border-radius:5px;color:#d1ef88}nav .active span{color:#d1ef88}.sidebar-note{margin-top:auto;color:#9eb5af;font-size:13px;padding:20px 12px;line-height:1.9}.sidebar-note hr{border:0;border-top:1px solid #35504a;margin:25px 0}main{max-width:1650px;margin-left:244px;padding:40px 42px;display:flex;flex-direction:column}#goals{order:-1}.eyebrow{font-size:11px;font-weight:650;letter-spacing:1.8px;color:#61817a;margin-bottom:9px}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:650;letter-spacing:-.7px}h2{font-size:22px;font-weight:650}h3{font-size:16px;font-weight:600}header p{color:#69807e;margin-top:6px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.period-tag{font-size:13px;letter-spacing:0;font-weight:500;background:#e4eae7;padding:4px 9px;border-radius:4px;vertical-align:middle;margin-left:14px}.snapshot{font-size:12px;color:#6c817d;white-space:nowrap}.toolbar{display:flex;gap:20px;align-items:end;margin:30px 0 24px}.toolbar label,.compact-label{display:grid;gap:5px;color:#59716d;font-size:12px}select{color:#203c36;border:1px solid #d3ddda;background:#fff;border-radius:6px;padding:9px 32px 9px 12px;min-height:44px;font-size:14px}.toolbar #club{min-width:166px}.toolbar #selection-count{font-size:13px;color:#617c74;padding-bottom:11px}.download{margin-left:auto;background:transparent;border:1px solid #c1ceca;color:#38584b;padding:10px 15px;border-radius:6px;font-size:14px;cursor:pointer;min-height:44px}.download:hover{background:#e4ece7}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{background:#fff;border:1px solid #dee5e1;border-radius:10px;padding:23px 24px}.kpi:first-child{background:#1a3c35;color:#fff;border-color:#1a3c35}.kpi-label{font-size:13px;color:#698079}.kpi:first-child .kpi-label{color:#d0ddd6}.kpi-value{font-size:38px;letter-spacing:-1.3px;font-weight:550;line-height:1.5;font-variant-numeric:tabular-nums}.kpi-value small{font-size:15px;font-weight:400;letter-spacing:0;margin-left:6px;color:#799087}.kpi:first-child .kpi-value small{color:#c8dfbb}.kpi-note{font-size:12px;color:#81938b}.kpi:first-child .kpi-note{color:#bfd98d}.panel{background:#fff;border:1px solid #dee5e1;border-radius:10px;padding:28px;margin-bottom:24px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-head .eyebrow{font-size:10px;margin-bottom:6px}.subtle{font-size:12px;color:#7a8e87}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums}th{text-align:right;font-weight:500;color:#798d85;background:#f6f8f6;font-size:12px;padding:11px 14px}td{text-align:right;padding:14px;border-bottom:1px solid #e9eeeb}td:first-child,th:first-child{text-align:left}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7faf7}.delta{font-weight:600;color:#2e7460}.negative{color:#9b6254}.takeaway{margin-top:18px;padding:14px 18px;border-left:3px solid #a9cd74;background:#f3f7ec;font-size:14px;color:#47623c}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.chart-grid h3{margin:6px 0 8px}.chart-grid h3 span{font-size:12px;color:#7b8e86;font-weight:400;margin-left:6px}.chart svg{width:100%;display:block;overflow:visible}.chart text{font-family:inherit;fill:#83958d;font-size:12px}.chart .gridline{stroke:#e9eeeb;stroke-width:1}.chart .avg-line{stroke:#286858;stroke-width:2.5;fill:none}.chart .max-line{stroke:#abb891;stroke-width:2;fill:none;stroke-dasharray:5 4}.chart .area{fill:#e7f1e9;opacity:.65}.chart circle.mean-dot{fill:#286858;stroke:white;stroke-width:2}.legend{display:flex;gap:22px;align-items:center;font-size:12px;color:#627e71;margin-bottom:16px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:8px}.legend .subtle{margin-left:auto}.line{width:22px;border-top:3px solid #286858;display:inline-block}.line.max{border-color:#abb891;border-top-style:dashed}.chart-detail{margin-top:8px;padding-top:15px;border-top:1px solid #edf1ed;font-size:13px;min-height:40px;color:#667e71}.dispersion-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:44px}.direction-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px}.direction-stat{padding:15px 0;border-bottom:1px solid #e4ebe5}.direction-stat label{font-size:13px;color:#6b8277;display:block}.direction-stat strong{font-size:26px;font-weight:550;font-variant-numeric:tabular-nums}.direction-stat small{font-size:12px;color:#7b9084}.direction-note{font-size:14px;color:#526e61;margin-top:20px;line-height:1.9}.footnote{font-size:12px;line-height:1.8;color:#84958b;margin-top:20px}.practice{padding:15px 0 25px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.practice article{border-top:1px solid #c9d5cc;padding:20px 0}.step{font-size:12px;color:#63856a;font-weight:600}.practice h3{margin:8px 0 12px}.practice p{font-size:14px;color:#667c6a}.method{font-size:14px;border-top:1px solid #d5dfd6;padding:20px 0}.method summary{cursor:pointer;color:#4d6d56}.method p{margin:16px 0;color:#738378}footer{border-top:1px solid #d5dfd6;margin-top:24px;padding:20px 0;font-size:11px;letter-spacing:1.5px;color:#64816b;display:flex;justify-content:space-between}footer span{letter-spacing:0;color:#9aa79c}.empty{padding:45px 15px;text-align:center;color:#758a7d}.club-link{background:none;border:0;color:#2f6651;padding:0;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.chart-point{cursor:pointer}.chart-point:focus{outline:none;stroke:#d78b45;stroke-width:4}
@media(min-width:1600px){main{padding:48px 64px}}@media(max-width:1150px){.sidebar{width:204px;padding:30px 16px}main{margin-left:204px;padding:30px 24px}.kpi{padding:18px}.kpi-value{font-size:31px}.heading{align-items:start;flex-direction:column;gap:7px}.snapshot{display:none}.chart-grid{gap:16px}}@media(max-width:900px){.sidebar{position:relative;width:auto;padding:18px 22px;display:block}.brand{font-size:13px}.brand small{font-size:9px}.mark{height:31px;width:29px;font-size:23px}.nav-label,.sidebar-note{display:none}nav{display:flex;overflow-x:auto;margin-top:15px;gap:4px}nav a{padding:8px 10px;white-space:nowrap}nav a span{font-size:12px}main{margin:0;padding:28px 22px}.kpis{gap:12px}.chart-grid{grid-template-columns:1fr 1fr}.panel{padding:24px}.toolbar{gap:14px;flex-wrap:wrap}h1{font-size:28px}.dispersion-grid{gap:20px}.toolbar #selection-count{margin-left:auto}.download{margin-left:0}}@media(max-width:620px){main{padding:25px 16px}.sidebar{padding:16px}h1{font-size:24px}.period-tag{font-size:11px}header p{font-size:14px}.toolbar{gap:12px}.toolbar label{flex:1}.toolbar select{width:100%}.toolbar #club{min-width:0}.toolbar #selection-count{margin-left:0;flex:1;padding:0}.download{font-size:12px;padding:8px 12px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:16px}.kpi-value{font-size:32px}.kpi-label{font-size:12px}.kpi-note{font-size:11px}.panel{padding:20px 16px;margin-bottom:16px}.section-head{gap:12px;align-items:start;margin-bottom:18px}.section-head>.subtle{max-width:100px;text-align:right;font-size:11px}h2{font-size:19px}.chart-grid,.dispersion-grid{grid-template-columns:1fr}.chart-grid{gap:26px}.legend .subtle{margin-left:0;width:100%;font-size:11px}.practice-grid{grid-template-columns:1fr;gap:4px}.practice article{padding:15px 0}.direction-stats{gap:12px}.direction-note{margin-top:12px}.eyebrow{font-size:10px}footer span{display:none}td{padding:12px 10px}.comparison table{font-size:13px}.comparison th{font-size:11px;padding:10px}.takeaway{font-size:13px}.compact-label select{padding-right:20px;font-size:12px}}
main,.panel,.chart-grid>div,.dispersion-grid>div{min-width:0}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dispersion-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
main{display:block}#goals{order:initial}.dated-goal-cards{display:grid;gap:20px}.dated-goal{border:1px solid #d5e0d8;border-radius:8px;padding:20px}.dated-goal-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.dated-goal-heading span,.dated-count{font-size:13px;color:#59716d}.dated-goal-heading h3{font-size:22px}.goal-status{background:#edf4ee;padding:6px 10px;border-radius:5px;font-size:14px}.dated-count{margin:8px 0 14px}.goal-checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.goal-check{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #e5ece7;font-size:14px}.goal-check label{display:flex;gap:10px;align-items:start}.goal-check input{width:18px;height:18px;accent-color:#286858;flex-shrink:0}.goal-check strong,.goal-result small{display:block}.goal-result{font-size:13px;text-align:right;white-space:nowrap;color:#63766d}.goal-result small{font-size:12px}.goal-check.passed .goal-result{color:#286858}.goal-check.missed .goal-result{color:#9b6254}@media(max-width:1150px){.goal-checklist{grid-template-columns:1fr}}@media(max-width:620px){.dated-goal{padding:14px}.dated-goal-heading{align-items:start;flex-wrap:wrap}.goal-check{flex-wrap:wrap}.goal-result{text-align:left;margin-left:28px}}
@media(max-width:620px){.toolbar label{flex:1 1 calc(50% - 12px);min-width:0}.toolbar #selection-count{flex-basis:40%}.chart-grid,.dispersion-grid{grid-template-columns:minmax(0,1fr)}.kpi-value{font-size:clamp(24px,7vw,32px)}.kpi{padding:14px 12px}nav{flex-wrap:wrap;overflow:visible}nav a{padding:6px 8px}.period-tag{display:inline-block;margin-left:6px}}
.metric-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.metric-controls label{font-size:14px}.metric-description{margin:16px 0;color:#59716d;font-size:14px}.metric-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}.metric-summary>div{background:#f3f7f4;border-radius:6px;padding:16px;min-width:0}.metric-summary span{display:block;font-size:14px;color:#59716d}.metric-summary strong{display:block;font-size:22px;font-weight:600;overflow-wrap:anywhere}.metric-summary small{font-size:13px;color:#59716d}.metric-details{border-top:1px solid #dbe4dd;padding:18px 0}.metric-details summary{cursor:pointer;font-size:16px}.metric-details .table-scroll{margin-top:16px}.shot-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.shot-pages button{background:white;border:1px solid #bdcdc3;padding:10px;border-radius:5px;cursor:pointer;font-size:14px}.shot-pages button:disabled{opacity:.4;cursor:default}.shot-pages span{font-size:14px}@media(max-width:900px){.metric-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.metric-controls{display:grid;grid-template-columns:1fr}.metric-controls select{width:100%;min-width:0}.metric-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-summary>div{padding:12px}.metric-summary strong{font-size:20px}.metric-summary>div:last-child{grid-column:1/-1}}
.goal-intro{font-size:14px;color:#59716d;margin-bottom:22px}.goal-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.goal-stages article{padding:20px;background:#edf4ee;border-top:3px solid #608d72;border-radius:6px}.goal-stages article:nth-child(2){background:#e1eee3;border-color:#3b7457}.goal-stages article:nth-child(3){background:#1a3c35;color:#fff;border-color:#c8ed8e}.goal-stages span{font-size:13px}.goal-stages h3{font-size:18px;margin:10px 0}.goal-stages p{font-size:14px;opacity:.85}.goal-table td:nth-child(n+3){font-weight:600;color:#286858}@media(max-width:800px){.goal-stages{grid-template-columns:1fr;gap:10px}.goal-stages article{padding:16px}}
.club-navigation{margin:32px 0 24px}.club-navigation h2{margin-bottom:16px}.club-tabs{display:flex;flex-wrap:wrap;gap:8px}.club-tabs button{font:inherit;font-size:16px;min-height:54px;padding:10px 16px;border:1px solid #c5d5cb;border-radius:8px;background:#fff;color:#315c4d;cursor:pointer}.club-tabs button span{display:block;font-size:13px;color:#617c74}.club-tabs button[aria-selected="true"]{background:#1a3c35;color:#fff;border-color:#1a3c35}.club-tabs button[aria-selected="true"] span{color:#d1ef88}.club-tabs button:hover{border-color:#286858}.club-tabs button:focus-visible,#club-panel:focus-visible{outline:3px solid #bd863b;outline-offset:3px}[hidden]{display:none!important}@media(max-width:620px){.club-tabs{gap:6px}.club-tabs button{flex:1 0 21%;padding:10px 8px;font-size:14px}.club-navigation{margin-top:24px}}
.page-heading{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #c9d5cc}.page-heading h1{margin:6px 0 0;font-size:30px}.page-heading h1:focus{outline:none}.club-navigation{margin-top:0}nav a[aria-current="page"]{background:#274b40;color:#d1ef88}#overview .heading h2{font-size:24px}@media(max-width:620px){.page-heading h1{font-size:24px}.page-heading{margin-bottom:20px}#overview .heading h2{font-size:21px}}
.goal-browser{margin:20px 0}.goal-filters{display:flex;flex-wrap:wrap;gap:12px;padding:18px;background:#f3f7f4;border:1px solid #d5e0d8;border-radius:8px}.goal-filters label{display:grid;gap:6px;font-size:14px;min-width:0}.goal-date-picker{flex:1}.goal-filters select{width:100%;min-width:0}.goal-pager{display:flex;justify-content:space-between;align-items:center;margin:14px 0;font-size:14px;color:#59716d}.goal-pager button{font:inherit;padding:10px 14px;border:1px solid #c5d5cb;border-radius:6px;background:#fff;color:#315c4d;cursor:pointer;min-height:44px}.goal-pager button:disabled{opacity:.4;cursor:default}.goal-pager button:focus-visible{outline:3px solid #bd863b;outline-offset:2px}@media(max-width:620px){.goal-filters{padding:12px}.goal-filters label{flex:1 1 40%}.goal-filters .goal-date-picker{flex-basis:100%}}
.change-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.change-card{padding:18px 14px;background:#f6f8f7;border:1px solid #dde5e0;border-radius:8px;font-variant-numeric:tabular-nums}.change-card>span{font-size:14px;color:#59716d}.change-card>strong{display:block;font-size:28px;margin:8px 0}.change-card small{font-size:13px;font-weight:400;color:#59716d}.price-change{font-size:16px;font-weight:650;margin:8px 0}.price-change span{display:block}.price-change.up{color:#167044}.price-change.down{color:#bd3434}.price-change.flat{color:#62716c}@media(max-width:1150px){.change-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.change-card{padding:14px 10px}.change-card>strong{font-size:25px}.price-change{font-size:14px}}
.safe-controls{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px}.safe-controls label{display:grid;gap:6px;font-size:14px;flex:1;min-width:140px}.safe-controls input{width:100%;min-height:44px;border:1px solid #bdcdc3;border-radius:6px;padding:10px;font:inherit;background:white;color:#203c36}.safe-summary{padding:12px 16px;background:#e6f3e9;border-left:3px solid #167044;font-size:15px;color:#205c3d;margin:12px 0}.safe-controls~.footnote{margin:10px 0 24px}
.section-context{font-size:14px;color:#59716d;margin:0 0 16px}.club-control-label{font-size:14px!important;color:#59716d;margin-bottom:10px!important}.club-tabs{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 10px;scroll-padding:10px}.club-tabs button{flex:0 0 auto;min-width:68px;font-size:14px;min-height:48px;padding:8px 12px}.club-tabs button span{font-size:12px}.club-navigation{margin-bottom:10px}.toolbar{margin:14px 0 24px}.metric-details summary{padding:8px 0;min-height:44px}.session-metric-extra{margin-top:18px}.session-metric-extra summary{font-size:14px}.footnote,.subtle,.kpi-note,.toolbar label,.toolbar #selection-count{font-size:14px}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #bd863b;outline-offset:3px}.table-scroll{max-height:520px;overflow:auto}.table-scroll thead{position:sticky;top:0;z-index:1;background:#f6f8f6}@media(max-width:620px){.club-tabs button{flex:0 0 auto}.toolbar .download{width:100%;font-size:14px}.toolbar #selection-count{font-size:14px}.table-scroll{max-height:420px}.footnote,.subtle,.kpi-note{font-size:13px}}

/* Clear success and miss states for goal checks. */
.goal-check.passed .goal-result{color:#08752e;background:#e1f8e8;border:1px solid #149447;border-radius:6px;padding:6px 8px;font-weight:700}.goal-check.missed .goal-result{color:#bd1424;background:#fff0f1;border:1px solid #dc3444;border-radius:6px;padding:6px 8px;font-weight:700}.goal-result small{font-weight:500}.goal-check.passed input{accent-color:#07832e;opacity:1}.goal-check.missed input{opacity:1}

/* Keep result checkbox colors visible even when controls are disabled. */
.goal-check input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:5px 0 0;border:2px solid #78828c;border-radius:4px;background:#e5e7eb;opacity:1;flex:0 0 22px;background-position:center;background-repeat:no-repeat;background-size:16px 16px}
.goal-check.passed input[type="checkbox"]{border-color:#439961;background-color:#439961;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3 3 7-7' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.goal-check.missed input[type="checkbox"]{border-color:#ce6370;background-color:#ce6370;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
@media(forced-colors:active){.goal-check input[type="checkbox"]{appearance:auto;-webkit-appearance:auto;background-image:none}}

.daily-shot-details{margin-top:20px}.daily-shot-details summary{cursor:pointer;display:list-item;width:fit-content;min-height:44px;padding:9px 16px;border:1px solid #355e50;border-radius:6px;color:#214c3b;background:#f0f6f2;font-weight:650}.daily-shot-details summary span{font-weight:400;font-size:14px;margin-left:8px}.daily-shot-details[open] summary{margin-bottom:12px}.daily-shot-details .table-scroll{margin-top:10px;max-height:440px}.daily-shot-details th,.daily-shot-details td{white-space:nowrap}.daily-shot-details caption{text-align:left;font-size:14px;padding:8px 0}.daily-shot-details .table-scroll:focus-visible{outline:3px solid #bd863b;outline-offset:2px}

select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath d='M2 3l5 5 5-5' fill='none' stroke='%23203c36' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px 8px}

.sidebar nav a{align-items:center}

/* Let the grid card shrink to its container; only the shot table scrolls. */
.dated-goal-cards{grid-template-columns:minmax(0,1fr)}
#dated-goals,.goal-browser,.dated-goal-cards,.dated-goal,.daily-shot-details{min-width:0;max-width:100%}
.daily-shot-details .table-scroll{width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain}
.daily-shot-details table{width:max-content;min-width:100%}

.daily-shot-details tfoot th,.daily-shot-details tfoot td{background:#eaf1ed;font-weight:650;border-top:1px solid #becfc5}.daily-shot-details tfoot tr:first-child th,.daily-shot-details tfoot tr:first-child td{border-top:2px solid #9fb8aa}

.daily-shot-details .shot-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;cursor:pointer}
.daily-shot-details .shot-toggle input{width:20px;height:20px;margin:0;accent-color:#439961;cursor:pointer}
.daily-shot-details .shot-excluded th,.daily-shot-details .shot-excluded td{background:#e7e9eb;color:#687078}
.shot-selection-status{font-size:14px;font-weight:600;margin:10px 0;color:#355e50}
