:root{font-family:Arial,Helvetica,sans-serif;color:#173c31;background:#f3f5ef;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1080px;margin:auto;padding:32px 40px 24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3dbd1;padding-bottom:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:2px;font-size:18px;color:inherit;text-decoration:none}.mark{background:#123e31;color:#d9f078;border-radius:9px;width:35px;height:35px;padding:4px 8px;font-size:26px;position:relative;line-height:28px}.mark span{position:absolute;top:-4px;right:5px;color:white;font-size:23px}.header-note{font-size:12px;letter-spacing:2px;color:#64786d}.intro{padding:32px 0 27px;display:flex;align-items:end;justify-content:space-between}h1{font-family:Georgia,serif;font-size:44px;line-height:1.04;font-weight:400;letter-spacing:-1.4px;margin:0}.intro p{margin:0 0 3px;color:#607365}h1 br{display:none}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}h2{font-size:16px;font-weight:600;margin:0}.section-line{display:flex;justify-content:space-between;align-items:center;gap:8px}#saved{font-size:11px;letter-spacing:1px;color:#637661}.step{font-size:12px;display:inline-flex;width:25px;height:25px;border:1px solid #bac8ba;border-radius:50%;justify-content:center;align-items:center;margin-right:7px;color:#637661}.calibration{border:1px solid #cbd6c8;border-radius:16px;padding:22px;background:#e8eee2}.calibration label{display:inline-block;margin-top:21px}.number-box{display:flex;align-items:baseline;gap:8px}.number-box input{width:130px;font-family:inherit;font-size:56px;letter-spacing:-2px;font-weight:500;color:#173c31;border:0;background:transparent;text-align:center;padding:0;outline-offset:4px}.number-box span{color:#617767;font-size:20px}.number-box.compact{display:inline-flex;margin-left:8px;border-bottom:1px solid #92a58e}.compact input{width:72px;font-size:30px;letter-spacing:-1px;text-align:right}.hint{font-size:14px;line-height:1.55;color:#566d5d;margin:16px 0 0}.putt{padding:26px 0 0}.putt>label{display:block;margin-top:23px;color:#4b6254;font-size:14px}.distance-control{display:flex;align-items:center;justify-content:space-between;margin:14px 0 23px;gap:8px}.distance-control button{border:1px solid #ccd5c9;width:48px;height:48px;border-radius:50%;background:transparent;color:#173c31;font-size:27px;cursor:pointer}button:hover{background:#e1e9d7}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #6b873b;outline-offset:4px}input::-webkit-inner-spin-button{appearance:none}input[type=number]{appearance:textfield}fieldset{border:0;margin:0;padding:0}legend{font-size:14px;color:#4b6254;margin-bottom:12px}.segments{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#e4e9e0;border-radius:12px;padding:5px}.segments label{position:relative;cursor:pointer}.segments input{position:absolute;opacity:0}.segments span{display:block;text-align:center;padding:13px 4px;border-radius:8px;font-size:14px;color:#526650}.segments input:checked+span{background:#fff;color:#173c31;box-shadow:0 2px 5px #153b3210}.segments input:focus-visible+span{outline:3px solid #6b873b}#adjustment-area{padding:20px 0 0}.result{background:#123e31;color:white;border-radius:20px;padding:28px 30px;position:sticky;top:24px;overflow:hidden}.result-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.result h2{font-size:12px;letter-spacing:1.6px;font-weight:500;color:#d2e1d5}.pill{font-size:10px;letter-spacing:1px;border:1px solid #ffffff38;border-radius:20px;padding:7px 9px;white-space:nowrap;color:#d9f078}.measurement{font-size:128px;letter-spacing:-8px;font-weight:500;line-height:1;margin:32px 0 7px;font-variant-numeric:tabular-nums}.inch{font-size:66px;color:#d9f078;vertical-align:top;line-height:1.4;margin-left:6px;letter-spacing:0}.result-caption{font-family:Georgia,serif;color:#d7e4d9;font-size:22px;margin:0 0 27px}.result-stats{display:grid;grid-template-columns:1fr 1fr;padding:22px 0;border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29}.result-stats>div+div{padding-left:26px;border-left:1px solid #ffffff29}.result-stats div>span{display:block;font-size:11px;letter-spacing:1.2px;color:#b9cdc0;margin-bottom:9px}.result-stats strong{font-size:29px;font-weight:400}.result-stats small{font-size:17px;color:#c1d3c5}.stroke{padding-top:28px}.stroke-label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;color:#b9cdc0}.stroke-label span+span{color:#d9f078;letter-spacing:0;font-size:12px}.stroke svg{width:100%;margin-top:10px}.stroke p{font-size:12px;color:#a5bdae;margin:0;text-align:center}.result-note{font-size:14px;line-height:1.5;color:#d7e4d9;background:#ffffff0b;border-radius:8px;padding:13px;margin:25px 0 0}.notice{font-size:14px;color:#f4e8a3;line-height:1.5}footer{margin-top:32px}details{border-top:1px solid #d3dbd1;padding:18px 0}summary{cursor:pointer;display:flex;justify-content:space-between;font-size:14px;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:#6a7c6c}details p{max-width:730px;font-size:14px;line-height:1.6;color:#586d5b}.footnote{font-size:10px;letter-spacing:2px;text-align:center;color:#6d806d;margin:30px 0 0}#install{padding:12px 18px;border:1px solid #bac8ba;border-radius:8px;font:inherit;color:inherit;background:#e8eee2}[hidden]{display:none!important}@media(max-width:700px){main{padding:20px 20px 24px;max-width:480px}header{padding-bottom:17px}.header-note{font-size:9px;letter-spacing:1px}.brand{font-size:16px;letter-spacing:1.6px;gap:9px}.intro{padding:25px 0 23px;align-items:end}h1{font-size:32px;letter-spacing:-.9px}h1 br{display:block}.intro p{font-size:13px;max-width:90px;line-height:1.5;text-align:right}.workspace{display:flex;flex-direction:column;gap:23px}.controls{width:100%}.calibration{padding:18px}.calibration label{font-size:14px}.calibration .hint{font-size:13px}.putt{padding-top:23px}.putt>label{margin-top:18px}.distance-control{margin:8px 0 18px}.number-box input{font-size:47px}.compact input{font-size:28px}.result{width:100%;position:static;padding:24px}.measurement{font-size:108px;margin-top:23px}.result-caption{font-size:21px;margin-bottom:20px}.result-stats{padding:18px 0}.stroke{padding-top:23px}.result-note{margin-top:20px}footer{margin-top:24px}}@media(prefers-reduced-motion:no-preference){#stroke-line,#stroke-end{transition:all .2s ease}}@media(max-width:360px){main{padding:16px}.calibration{padding:14px}.section-line{align-items:start}#saved{font-size:10px}.result{padding:20px}.measurement{font-size:90px}.segments span{font-size:13px}}

.calibration-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.calibration-fields label{display:block;margin:0 0 10px;font-size:14px;line-height:1.4}.calibration-fields .compact{margin-left:0}.segments{grid-template-columns:repeat(2,1fr)}.mixed-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px}.mixed-heading h3{margin:0;font-size:16px;font-weight:500}.mixed-heading button,.mixed-actions button,.section-remove{min-height:44px;border:1px solid #bdcabb;border-radius:8px;background:transparent;color:#173c31;padding:8px 12px;cursor:pointer;font:inherit;font-size:14px}.mixed-heading+.hint{margin-top:6px}.slope-section{padding:16px;background:#e8eee2;border-radius:12px;margin-top:12px}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-top strong{font-size:14px}.section-remove{padding:4px 9px;font-size:13px}.section-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-fields label{display:block;font-size:13px;color:#4b6254}.section-fields select,.section-fields input{width:100%;min-height:44px;margin-top:6px;padding:8px;border:1px solid #bac8ba;background:#f8faf5;border-radius:7px;font:inherit;font-size:16px;color:#173c31}.section-fields .section-direction{grid-column:1/-1}.mixed-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px}#section-total{font-size:13px;text-align:right;line-height:1.4}.mixed-actions button:disabled{opacity:.5;cursor:default}#mixed-area .hint{font-size:13px}.measurement{font-size:clamp(58px,10vw,110px);letter-spacing:-4px}.result-stats strong{overflow-wrap:anywhere}@media(max-width:360px){.calibration-fields{gap:10px}.mixed-heading button{font-size:12px}.result-stats>div+div{padding-left:12px}}

.terrain-panel{background:#123e31;color:#fff;border-radius:14px;margin-top:20px;padding:18px}.terrain-heading{display:flex;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:1px;color:#d2e1d5}.terrain-panel svg{display:block;width:100%;height:auto;margin-top:5px}.terrain-panel p{font-size:16px;line-height:1.5;margin:6px 0 9px}.terrain-panel small{display:block;font-size:12px;line-height:1.5;color:#b9cdc0}.slider-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;font-size:14px}.slider-heading output{font-variant-numeric:tabular-nums;color:#446025}.steepness-slider{width:100%;height:44px;accent-color:#38643b;cursor:pointer;margin:5px 0 0}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:#546d58;gap:4px}.manual-option{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4;margin-top:14px}.manual-option input{width:20px;height:20px;accent-color:#123e31}#slope-settings{margin-top:22px}#slope-settings>label:not(.manual-option){font-size:14px}#speed-assumption{font-size:13px;margin:0}.section-steepness{grid-column:1/-1}.section-steepness .slider-heading{margin-top:2px}.section-fields input[type=range]{padding:0;background:transparent;border:0}.section-rise{font-size:13px;line-height:1.5;margin:8px 0 0;color:#4b6254}.section-remove:disabled{opacity:.4;cursor:default}#terrain-joints text{fill:#d9f078;font-size:12px}.result h2{line-height:1.5}.measurement{font-size:clamp(48px,9vw,100px)}

.quick-shapes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.quick-shapes button{min-height:48px;padding:10px 6px;border:1px solid #bac8ba;border-radius:10px;background:transparent;color:#173c31;font:inherit;font-size:13px;cursor:pointer}.quick-shapes button[aria-pressed=true]{background:#123e31;border-color:#123e31;color:#d9f078}.split-description{font-size:15px;font-weight:600;text-align:center;margin:12px 0}.quick-mode .section-top,.quick-mode .section-direction,.quick-mode .section-fields>label:not(.adjustment-label){display:none}.quick-mode .slope-section:has(.section-steepness[hidden]):has(.adjustment-label[hidden]){display:none}.quick-mode .slope-section{padding:12px;margin-top:10px}.quick-mode .section-fields{display:block}#mixed-area>.manual-option{font-size:12px;margin:16px 0}.quick-mode .section-steepness .slider-heading label{font-weight:600}

#tempo-settings{margin-top:18px;padding-bottom:0;border-color:#bac8ba}#tempo-settings .slider-heading{margin-top:14px}#tempo-settings .tempo-ratio-label{margin:16px 0 8px;font-size:13px}#tempo-ratio,#putting-hand{width:100%;min-height:44px;border:1px solid #bac8ba;background:#f8faf5;border-radius:8px;padding:9px;color:#173c31;font:inherit;font-size:14px}.tempo-button{min-height:44px;border:1px solid #bac8ba;border-radius:8px;padding:10px 14px;background:#f8faf5;color:#173c31;cursor:pointer;font:inherit;font-size:14px;margin-top:12px}.tempo-trainer{margin-top:24px;border-top:1px solid #ffffff29;padding-top:22px}.tempo-trainer svg{width:100%;display:block;margin-top:10px}.tempo-trainer svg text{fill:#c1d3c5;font:12px Arial,sans-serif}.tempo-trainer p{font-size:12px;line-height:1.5;color:#b9cdc0;margin:12px 0 0}.tempo-play-row{display:flex;align-items:center;gap:16px;margin-top:12px}.tempo-play-row button{min-height:44px;padding:10px 18px;background:#d9f078;color:#123e31;border:0;border-radius:8px;font:inherit;font-size:14px;cursor:pointer}#tempo-phase{font-size:14px;color:#d9f078}#tempo-speed{direction:rtl}

.cal-tempo-preview{background:#123e31;border-radius:12px;padding:12px;margin-top:16px}.cal-tempo-preview svg{display:block;width:100%}.cal-tempo-preview svg text{fill:#c1d3c5;font:12px Arial,sans-serif}#cal-tempo-phase{display:block;text-align:center;color:#d9f078;font-size:13px;margin-top:8px}

#tempo-settings{margin:0 0 18px;border:1px solid #cbd6c8;border-radius:16px;padding:18px;background:#e8eee2}#tempo-settings .tempo-heading{font-size:16px;font-weight:600;color:#173c31}#tempo-settings .step{font-size:12px;color:#637661}#tempo-settings .tempo-ratio-label{display:block}

.stance-guide{border-top:1px solid #ffffff29;margin-top:24px;padding-top:22px}.stance-guide h3{font-size:11px;font-weight:500;letter-spacing:1px;margin:0}.stance-guide svg{display:block;width:100%;margin-top:8px}#stance-caption{font-size:15px;color:#d9f078;line-height:1.5;margin:0 0 10px}.stance-assumption{font-size:12px;line-height:1.55;color:#b9cdc0;margin:0}
