
:root{color-scheme:dark;--bg:#0c1d17;--surface:#142b22;--surface-2:#1a3529;--text:#f2f5ee;--muted:#abc0b1;--line:#365043;--green:#c5e89e;--blue:#83d4f5;--orange:#ffd292;--danger:#ffb6ac;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;font-size:16px;background:var(--bg);color:var(--text);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:transparent;min-height:44px;border-radius:7px;padding:9px 14px;font-weight:500}button:hover{background:var(--surface-2)}button:disabled{opacity:.45;cursor:not-allowed}button[aria-pressed=true],button[aria-selected=true]{color:var(--green)}:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:var(--green);text-underline-offset:4px}h1,h2,h3,p{margin:0}h2{font-size:21px;font-weight:600;line-height:1.5}h3{font-size:18px;font-weight:600}p{line-height:1.7}svg{display:block}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}::selection{background:#c5e89e;color:#10241a}input{accent-color:var(--green);caret-color:var(--green)}input[type=range]{width:100%;height:24px;margin:0;cursor:pointer}input[type=number],input[type=search],select{min-height:44px;border:1px solid var(--line);border-radius:7px;background:#10241b;color:var(--text);padding:9px 12px;max-width:100%;min-width:0}select{cursor:pointer;font-size:16px}input::placeholder{color:var(--muted)}input[aria-invalid=true]{border-color:var(--danger)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.text-button{border-color:transparent;color:var(--muted);padding:4px 8px;font-size:13px;font-weight:400}.app-header{height:64px;max-width:1440px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.app-header>a{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--text);font-size:21px;letter-spacing:-.02em}.app-header b{color:var(--green)}.app-name{font-size:15px;letter-spacing:0;color:var(--muted);font-weight:400}.lab{max-width:1440px;padding:24px 32px;margin:auto}.mode-switch{display:flex;width:max-content;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--line)}.mode-switch button{border:0;border-radius:0;padding:10px 24px;color:var(--muted);font-size:16px;border-bottom:2px solid transparent}.mode-switch button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.range-column{min-width:0}.club-bar{display:flex;align-items:end;gap:16px;margin-bottom:12px;min-height:60px}.club-bar label{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-bottom:5px}#learn-club{flex:1}#club{width:100%;font-size:17px;font-weight:500}.camera-control{width:148px;flex:none}.camera-control select{width:100%}#trial-picker{min-width:0;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}#trial-picker label{grid-column:1/-1}#trial-picker input,#trial-picker select{width:100%;font-size:14px}.range-view{position:static;min-width:0}.stage{position:relative;height:clamp(350px,48vw,580px);overflow:hidden;border-radius:10px;background:#91b59e}.stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.stage canvas:active{cursor:grabbing}.range-status{position:absolute;left:14px;top:12px;background:#122a20df;color:#e7f1e4;border:1px solid #ffffff24;padding:5px 9px;border-radius:4px;font-size:12px;pointer-events:none}.guide-toggle{position:absolute;right:12px;top:10px;min-height:36px;background:#122a20ec;border-color:#ffffff34;font-size:12px;padding:5px 10px}.guide-toggle[aria-pressed=true]{color:#153027;background:var(--green)}.playback{display:flex;align-items:center;gap:12px;padding:12px 0 4px}.playback-actions{display:flex;gap:4px;flex:none}.playback-actions button{border-color:transparent;min-width:44px;padding:8px 9px}.playback-actions #play-pause{font-size:14px;min-width:70px}.playback #timeline{min-width:40px;flex:1}.speed-label{width:86px;flex:none}.speed-label select{width:100%;font-size:14px;padding:7px}.playback-detail{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:var(--muted);position:relative;min-height:32px}.playback-detail #swing-phase{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playback-detail output{font-variant-numeric:tabular-nums}.playback-detail summary{font-size:12px}.fine-playback{position:absolute;right:0;top:36px;z-index:3;background:var(--surface);border:1px solid var(--line);padding:12px;display:flex;flex-wrap:wrap;gap:6px;max-width:330px;box-shadow:0 12px 26px #0004}.fine-playback button{font-size:13px}.result-column{background:var(--surface);border-radius:10px;padding:24px;margin-top:72px;min-width:0}.result-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.result-heading>span:first-child{color:var(--muted);font-size:13px}#shape-current strong{color:var(--green);font-size:18px;font-weight:600}#shape-current>span{display:none}#selected-head{font-size:14px;line-height:1.6;margin-top:10px;overflow-wrap:anywhere;color:var(--text)}.stage-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;margin:22px 0 14px}.metric p{color:var(--muted);font-size:12px;line-height:1.5;margin-bottom:5px}.metric strong{font-size:26px;font-weight:500;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric:first-child strong{font-size:39px;font-weight:600}.metric small{color:var(--muted);margin-left:4px;font-size:13px}.result-note{font-size:12px;color:var(--muted);line-height:1.6;border-bottom:1px solid var(--line);padding-bottom:18px}.quick-speed{margin-top:19px}.quick-speed label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;color:var(--muted)}.quick-speed output{font-size:23px;color:var(--text);font-variant-numeric:tabular-nums}.quick-speed small{font-size:12px;margin-left:5px}.settings-trigger{width:100%;margin-top:14px;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;padding:10px 12px}.settings-trigger>span:first-child{font-size:14px}.settings-trigger>span:nth-child(2){grid-row:2;grid-column:1;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.settings-trigger svg{grid-column:2;grid-row:1/3;color:var(--green)}.shot-action{display:flex;align-items:center;gap:12px;margin-top:20px}.stage-label{display:flex;flex:1;min-width:0;flex-direction:column;color:var(--muted);gap:2px;font-size:12px;line-height:1.6}.stage-label span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-label span:last-child{font-size:11px}#shoot{display:flex;justify-content:space-between;align-items:center;gap:26px;min-width:122px;background:var(--green);color:#163020;border-color:var(--green);font-size:18px;min-height:52px;padding:10px 17px;font-weight:600}#shoot:hover{background:#d7f3b8}.pending{margin-top:10px;min-height:36px;font-size:12px;color:var(--muted);line-height:1.5}.trial-status,.trial-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:12px}.trial-note .text-button{padding:0;font-size:12px;color:var(--green)}.panel-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:30px 0 0}.panel-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:12px 4px;font-size:15px}.panel-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--green)}#shot-count{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;background:var(--surface-2);border-radius:20px;color:var(--green);margin-left:4px;font-size:12px;font-variant-numeric:tabular-nums}.detail-panel{padding:24px 0;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head p{font-size:14px;color:var(--muted);margin-top:5px}.classification-note,.hint{font-size:12px;color:var(--muted);line-height:1.7}.shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shape-grid button{display:flex;align-items:center;gap:18px;min-height:90px;padding:16px 22px;text-align:left;border-color:var(--line);font-size:15px}.shape-grid button[aria-pressed=true]{background:var(--surface-2);border-color:var(--green);color:var(--green)}.shape-grid svg{width:40px;height:44px;stroke-width:0}.shape-section>.hint{margin-top:14px}.shot-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shot-card{text-align:left;min-width:0;padding:18px;background:var(--surface);border:1px solid var(--line)}.shot-card[aria-pressed=true]{border-color:var(--green)}.shot-card .shot-title{font-size:14px;display:block;line-height:1.7;overflow-wrap:anywhere}.shot-card .shot-number{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.shot-card strong{display:block;font-size:30px;font-weight:500;margin:12px 0 8px;font-variant-numeric:tabular-nums}.shot-card strong small{font-size:13px;margin-left:4px}.shot-card .shot-note{display:block;font-size:12px;color:var(--muted);line-height:1.6}.empty-comparison{grid-column:1/-1;padding:32px 0;color:var(--muted);line-height:1.8;font-size:15px}.full-values{margin-top:20px}details>summary{cursor:pointer;min-height:40px;padding:10px 0;color:var(--muted);font-size:14px}details>summary:hover{color:var(--text)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;white-space:nowrap}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:400}td button{font-size:12px;white-space:normal;text-align:left;line-height:1.7}.explain{display:grid;grid-template-columns:1fr 1fr;gap:36px}.explain p{font-size:15px;color:var(--muted);margin-top:12px;max-width:70ch}#impact-values{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin:24px 0}#impact-values>div{min-width:0}dt{font-size:12px;color:var(--muted);margin-bottom:4px}dd{font-size:16px;margin:0;font-variant-numeric:tabular-nums}.plane-head{display:flex;justify-content:space-between;align-items:center}.views{display:flex;gap:4px}.views button{min-height:36px;font-size:13px;padding:5px 10px}.views button[aria-pressed=true]{background:var(--surface-2);border-color:var(--green)}#plane{width:100%;height:auto;margin-top:10px}.legend{display:flex;gap:16px;font-size:12px;margin:8px 0}.legend span:before{content:'';display:inline-block;width:10px;height:3px;background:currentColor;margin-right:5px;vertical-align:middle}.path{color:var(--orange)}.face{color:var(--blue)}.launch{color:var(--green)}.range-readouts{display:grid;grid-template-columns:1fr 130px;gap:20px;align-items:center;margin-top:20px}.path-badge{display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:12px}.path-badge strong{display:block;font-size:20px;font-weight:500}.path-angle{color:#fff36b}.face-angle{color:var(--blue)}#face-compare{width:130px;height:auto}.swing-guides{margin-top:26px;border-top:1px solid var(--line);padding-top:24px}.guide-options{display:flex;flex-wrap:wrap;gap:7px}.guide-options button{font-size:13px}.guide-options button[aria-pressed=true]{border-color:var(--green);background:var(--surface-2)}#guide-description{margin-top:14px}#trial-evidence-body p{font-size:14px;color:var(--muted);margin:8px 0}#trial-evidence-body h3{font-size:15px;margin-top:20px}#trial-evidence-body li{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:5px}.about{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.about>p,.model p{max-width:75ch;color:var(--muted);font-size:13px;margin:10px 0}.about>a{font-size:13px}.model{margin-top:12px}footer{display:flex;justify-content:space-between;margin-top:28px;padding:20px 0 10px;font-size:13px;color:var(--muted)}footer span{font-size:12px}dialog{margin:auto 0 0 auto;padding:0;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;background:var(--surface);color:var(--text);width:min(100%,520px);max-width:100%;max-height:86svh;box-shadow:0 -12px 40px #0004}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#030c08b8}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--line);flex:none}.sheet-header>div>span{font-size:12px;color:var(--muted)}.sheet-header h2{font-size:22px;margin-top:2px}.sheet-header button{border-color:transparent;padding:10px}.sheet-content{overflow-y:auto;min-height:0;padding:18px 24px 24px;overscroll-behavior:contain}.controls-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}.controls-heading p{font-size:12px;color:var(--muted);max-width:24ch}.controls-heading button{white-space:nowrap}.control-groups{display:flex;gap:5px;margin:20px 0}.control-groups button{flex:1;font-size:14px;padding:8px}.control-groups button[aria-pressed=true]{background:var(--green);color:#183020;border-color:var(--green)}.control{margin-bottom:24px}.control label{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:15px;margin-bottom:9px}.input-wrap{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.control input[type=number]{width:88px;text-align:right;font-size:18px;font-variant-numeric:tabular-nums}.control input[type=range]{height:28px}#sliders[data-group=speed] .control:not([data-control-group=speed]),#sliders[data-group=direction] .control:not([data-control-group=direction]),#sliders[data-group=vertical] .control:not([data-control-group=vertical]){display:none}.sheet-done{margin:0 24px 20px;background:var(--green);border-color:var(--green);color:#173021;flex:none}body:has(dialog[open]){overflow:hidden}*{scrollbar-width:thin;scrollbar-color:#526e5a transparent}
@media(min-width:960px){dialog{height:100svh;max-height:100svh;border-radius:12px 0 0 12px;border-bottom:1px solid var(--line)}.sheet-content{flex:1}}
@media(max-width:959px){.app-header{padding:0 16px;height:56px}.app-header>a{font-size:19px;gap:12px}.app-name{font-size:13px}.app-header .text-button{font-size:12px;padding-right:0}.lab{padding:14px 16px}.mode-switch{width:100%;margin-bottom:16px}.mode-switch button{flex:1;padding:10px 8px}.workspace{display:block}.club-bar{gap:10px;margin-bottom:10px;min-height:55px}.camera-control{width:126px}#club{font-size:16px}.stage{height:clamp(270px,38svh,360px);border-radius:9px}.playback{gap:6px;padding-top:8px}.playback-actions{gap:0}.playback-actions #play-pause{min-width:56px;font-size:13px}.playback-actions button{min-width:38px;padding:8px}.speed-label{width:78px}.speed-label select{font-size:13px;padding:7px}.playback-detail{font-size:11px;min-height:28px}.playback-detail summary{font-size:11px}.playback-detail #swing-phase{display:none}.playback-detail output{margin-right:auto}.result-column{background:none;margin:14px 0 0;border-top:1px solid var(--line);border-radius:0;padding:16px 0 0}.result-heading>span:first-child{font-size:12px}#shape-current strong{font-size:16px}.stage-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0 10px;align-items:end}.metric p{font-size:11px;margin-bottom:5px}.metric strong{font-size:20px}.metric:first-child strong{font-size:30px}.metric small{font-size:11px;margin-left:2px}.result-note{font-size:11px;padding-bottom:12px}.quick-speed{margin-top:14px}.quick-speed label{font-size:13px;margin-bottom:6px}.quick-speed output{font-size:21px}.settings-trigger{margin-top:11px;min-height:52px}.settings-trigger>span:nth-child(2){grid-row:1;grid-column:2;margin:0;font-size:11px}.settings-trigger svg{display:none}.settings-trigger>span:first-child{font-size:13px}.shot-action{margin-top:12px}#shoot{min-width:130px;font-size:17px;min-height:50px}.pending{min-height:18px;font-size:11px}.panel-tabs{margin-top:24px;gap:22px}.panel-tabs button{font-size:14px}.detail-panel{padding-top:22px}.section-head{gap:10px;align-items:flex-start;margin-bottom:18px}.section-head p{font-size:13px}.section-head h2{font-size:18px}.classification-note{display:none}.shape-grid{gap:6px}.shape-grid button{min-height:88px;flex-direction:column;gap:3px;padding:8px 4px;font-size:12px;line-height:1.4;text-align:center}.shape-grid svg{width:32px;height:34px}.shot-cards{grid-template-columns:1fr 1fr;gap:8px}.shot-card{padding:14px}.shot-card .shot-title{font-size:13px}.shot-card strong{font-size:27px}.explain{grid-template-columns:1fr;gap:20px}.explain p{font-size:14px}.guide-options button{font-size:12px;padding:8px 10px}.range-readouts{grid-template-columns:1fr 130px}.sheet-header{padding:18px 20px 14px}.sheet-content{padding:14px 20px 18px}.sheet-done{margin:0 20px 18px}#trial-picker{grid-template-columns:1fr}#trial-picker label{margin-bottom:0}#trial-picker input{min-height:40px;font-size:13px}#trial-picker select{font-size:14px}.club-bar:has(#trial-picker:not([hidden])){align-items:end}.trial-note{font-size:12px}.about{margin-top:12px}}
@media(max-width:359px){.lab{padding-inline:12px}.app-header{padding-inline:12px}.app-name{display:none}.camera-control{width:115px}.stage{height:270px}.metric p{font-size:11px}.metric strong{font-size:18px}.metric:first-child strong{font-size:27px}.settings-trigger>span:nth-child(2){font-size:11px}.panel-tabs{gap:16px}.shot-cards{grid-template-columns:1fr}.sheet-content{padding-inline:16px}.control input[type=number]{width:76px}.playback-detail>details{margin-left:auto}}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:sheet-in .22s cubic-bezier(.16,1,.3,1)}@keyframes sheet-in{from{transform:translateY(22px);opacity:.7}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(min-width:960px) and (max-height:800px){.stage{height:400px}.result-column{padding:18px}.stage-metrics{gap:14px;margin-top:16px}.lab{padding-top:16px}.mode-switch{margin-bottom:12px}}

@media(max-width:959px){.stage{height:clamp(250px,32svh,300px)}.result-column{display:flex;flex-direction:column}.result-heading{order:0}#selected-head{order:1}.stage-metrics{order:2}.shot-action{order:3;margin-top:4px}.result-note{order:4;margin-top:10px}.quick-speed{order:5}.settings-trigger{order:6}.trial-status{order:7}.pending{order:8}.trial-note{order:9}}

.sheet-done:hover{background:#d7f3b8;color:#173021}

@media(max-width:959px){.stage{height:clamp(240px,30svh,280px)}.result-column{margin-top:8px;padding-top:12px}.result-note{padding-bottom:8px}.quick-speed{margin-top:10px}}
@media(max-width:359px){.metric:last-child strong{font-size:16px;white-space:nowrap}.section-head>.text-button{flex-shrink:0}}

/* Shaft trials preserve the existing range layout and 44px controls. */
#trial-picker .shaft-label{display:block;margin-top:10px}#trial-shaft{width:100%;min-width:0}.trial-smash{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;color:var(--muted)}.trial-smash input{width:94px;min-height:44px;text-align:right}.trial-launch-values{display:block;margin-top:10px;color:var(--text);font-size:13px;line-height:1.7;overflow-wrap:anywhere}.trial-smash[hidden],.trial-launch-values[hidden]{display:none}

@media(max-width:959px){.trial-smash{order:6}.trial-launch-values{order:3}#trial-picker:not([hidden]){grid-column:1/-1}}

.shaft-status{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--muted)}@media(max-width:959px){.club-bar:has(#trial-picker:not([hidden])){flex-wrap:wrap}#trial-picker:not([hidden]){flex-basis:100%}}

/* Live study layout: observe the ball, change a value, read its effect. */
html{scrollbar-color:var(--line) var(--bg);scroll-padding-top:12px}
.lab{padding:12px 20px 32px;max-width:1440px}
.mode-switch{width:100%;margin-bottom:8px;align-items:center}
.mode-switch button{padding:8px 16px;font-size:14px}
.mode-switch .mode-help{margin-left:auto;border:0;color:var(--muted);font-size:12px;padding-inline:10px}
.club-bar{min-height:0;margin-bottom:12px;gap:12px}
.club-bar label{font-size:12px;margin-bottom:4px}
#club{font-size:16px}.camera-control{width:150px}
.workspace{grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.range-column{position:sticky;top:0;z-index:10;background:var(--bg);padding-bottom:8px;min-width:0}
.stage{height:clamp(260px,52svh,500px);border-radius:7px}
.stage-metrics{grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:12px;margin:0;padding:12px 4px 8px;align-items:start;border-bottom:1px solid var(--line)}
.metric{min-width:0}.metric p{font-size:12px;margin-bottom:3px;white-space:nowrap}
.metric strong{font-size:25px}.metric-total strong,.metric:first-child strong{font-size:38px;font-weight:600}
.metric small{margin-left:3px;font-size:12px}.metric:last-child strong{font-size:23px;white-space:nowrap}
.roll-readout{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.playback{padding:4px 0;gap:8px;min-height:48px}
.playback-detail{font-size:11px;min-height:28px}.playback-detail summary{font-size:11px;padding-block:4px;min-height:28px}
.result-column{display:block;background:transparent;border-radius:0;padding:0;margin:0;min-width:0}
.result-heading{margin:0 0 8px}.result-heading>span:first-child{display:none}
#shape-current strong{font-size:15px}#selected-head{margin:0 0 12px}
.controls-heading{align-items:center;min-height:36px}.controls-heading h2{font-size:17px;font-weight:600}
.controls-heading .text-button{font-size:12px;min-height:36px}
.control-groups{margin:4px 0 8px;gap:0;border-bottom:1px solid var(--line)}
.control-groups button{padding:8px 5px;font-size:12px;white-space:nowrap;border:0;border-radius:0;border-bottom:2px solid transparent}
.control-groups button[aria-pressed=true]{background:transparent;color:var(--green);border-bottom-color:var(--green)}
.control{margin-bottom:6px}.control label{font-size:14px;margin:0;gap:8px;min-height:44px}
.control input[type=number]{min-height:40px;height:40px;font-size:17px;padding:5px 8px;width:80px}
.control input[type=range]{height:36px}.controls>details{margin-top:4px}.controls>details>summary{min-height:44px;padding-block:12px;font-size:13px}
.conditions-summary{font-size:12px;color:var(--muted);line-height:1.6;margin:4px 0}
.shot-action{margin-top:10px;gap:12px}#shoot{min-height:44px;font-size:16px;min-width:106px;padding:8px 14px}
.result-note{border:0;font-size:12px;margin-top:10px;padding:0;line-height:1.6}
.pending{margin-top:6px;min-height:0;font-size:12px}
.trial-smash{margin:8px 0}.trial-launch-values{font-size:12px;line-height:1.5}.quick-speed{margin:8px 0}
.panel-tabs{margin-top:20px}.shot-card strong:before{content:'トータル目安';display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
@media(max-width:959px){
 .lab{padding:8px 16px 24px}.workspace{display:block}
 .mode-switch button{padding-inline:12px}.club-bar{gap:8px;margin-bottom:8px}
 .camera-control{width:124px}.club-bar select{padding:6px 8px;font-size:14px}
 .range-column{top:0;padding-bottom:4px;border-bottom:1px solid var(--line)}
 .stage{height:clamp(148px,29svh,230px)}
 .stage-metrics{grid-template-columns:1.3fr 1fr 1fr 1.25fr;gap:6px;padding:8px 0 5px;margin:0;min-height:76px}
 .metric p{font-size:11px;margin-bottom:3px}.metric strong{font-size:22px}
 .metric:first-child strong{font-size:32px}.metric:last-child strong{font-size:18px}
 .metric small{font-size:11px;margin-left:2px}.roll-readout{font-size:11px;margin-top:2px}
 .playback{gap:6px;padding:0;min-height:44px}.playback-actions{gap:0}.playback-actions #play-pause{min-width:56px;padding-inline:7px;font-size:13px}
 .playback-actions button{min-width:36px;padding-inline:6px}.speed-label{width:75px}.speed-label select{font-size:12px;min-height:36px}
 .playback-detail{display:none}.result-column{display:block;margin:0;padding:8px 0 0}
 .result-heading{display:none}.controls-heading{display:none}
 .control-groups{margin:0 0 4px;min-height:44px}.control-groups button{font-size:12px;min-height:44px}
 .control{margin-bottom:0}.control label{min-height:40px;font-size:13px}
 .control input[type=number]{min-height:36px;height:36px;font-size:16px}
 .control input[type=range]{height:32px}
 .conditions-summary{margin:2px 0}.shot-action{margin-top:6px}.result-note,.pending{font-size:11px}
 .panel-tabs{margin-top:20px}#selected-head{font-size:12px;margin:0 0 8px}
 #trial-picker{grid-template-columns:1fr 1fr}#trial-picker .shaft-label{margin-top:4px}
 .trial-launch-values{margin-top:8px}.quick-speed{margin-top:4px}
}
@media(max-height:560px) and (max-width:959px){
 .stage{height:124px}.stage-metrics{padding-block:5px;min-height:68px}.metric:first-child strong{font-size:29px}
 .range-status{font-size:11px;top:8px;left:8px}.guide-toggle{min-height:32px;font-size:11px;top:6px;right:6px}
}
@media(max-width:359px){
 .lab{padding-inline:12px}.mode-switch button{padding-inline:10px;font-size:13px}
 .metric:last-child strong{font-size:16px}.metric:first-child strong{font-size:29px}
 .metric strong{font-size:20px}.metric p{font-size:11px}.stage-metrics{gap:4px}
 .control-groups button{font-size:11px;padding-inline:3px}
}

@media(max-width:959px){
 html{scroll-padding-top:calc(var(--observation-height,260px) + 8px)}
 .control-groups{scroll-margin-top:8px}
}

.mode-switch button{flex:none;white-space:nowrap}

.control-groups #reset{flex:0 0 44px;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;color:var(--muted)}
.shot-shaft{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
