.club-3d-stage{--scene-bg:#f3f3ef;--scene-label:#fffef8f5;--scene-text:#294638;--scene-border:#cbd4c5;--scene-target:#236746;--scene-flight:#7750ae;--scene-curve:#ad7326;--scene-path:#12748d;--scene-muted:#667b82}
.pose-ball-reading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding:13px 20px;background:var(--scene-bg);color:var(--scene-text);border-top:1px solid var(--scene-border);font-size:14px;line-height:1.5}
.pose-ball-reading b{font-weight:600;margin-right:5px}.pose-ball-reading small{margin-left:auto;font-size:12px;color:var(--scene-muted)}
.pose-gear-reading{padding:14px 20px;border-top:1px solid var(--scene-border);background:var(--scene-bg);color:var(--scene-text)}
.pose-gear-status{display:flex;align-items:center;justify-content:space-between;gap:18px}.pose-gear-status p{margin:0;display:grid;gap:5px;font-size:14px;line-height:1.5;color:var(--scene-text)}
.pose-gear-status b{color:var(--scene-curve);font-size:13px}.pose-gear-status .btn{flex:none;font-size:13px;min-height:42px;border-color:var(--scene-border);background:var(--scene-bg);color:var(--scene-text)}
.pose-gear-reading>details{margin-top:13px;font-size:14px}.pose-gear-reading>details>summary{cursor:pointer;line-height:1.5;color:var(--scene-text)}
.pose-gear-reading>details>div{max-width:900px;padding-top:12px;display:grid;gap:12px}.pose-gear-reading>details p{font-size:14px;line-height:1.65;margin:0;color:var(--scene-text)}
.pose-gear-reading>details .pose-gear-limit{font-size:13px;color:var(--scene-muted)}
@media(max-width:760px){.pose-gear-reading{padding:12px}.pose-gear-status{align-items:flex-start;flex-direction:column;gap:10px}.pose-gear-status .btn{width:100%;min-height:44px}.mobile-scene-expanded>.pose-gear-reading{display:none}}
@media(max-width:700px){.pose-ball-reading{padding:10px 12px;gap:5px 16px;font-size:13px}.pose-ball-reading small{margin-left:0;flex-basis:100%;font-size:12px}}
.club-3d-stage[data-scene-theme="dark"]{--scene-bg:#111d26;--scene-label:#1b2c37f5;--scene-text:#e9f1f3;--scene-border:#40535e;--scene-target:#65d9ae;--scene-flight:#c1a0ff;--scene-curve:#f1c16d;--scene-path:#59c5e1;--scene-muted:#9baeb8}
.pose-scene-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--scene-bg);border-block:1px solid var(--scene-border);color:var(--scene-text)}
.pose-scene-toolbar>span{font-size:.7rem;font-weight:750;letter-spacing:.06em;line-height:1.5}
.pose-theme-toggle{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:8px;border:1px solid var(--scene-border);border-radius:8px;color:var(--scene-text);background:var(--scene-label);cursor:pointer}
.pose-theme-toggle svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.pose-theme-toggle[aria-pressed="true"]{border-color:#65d9ae;color:#8ee4c4}
.pose-theme-toggle:focus-visible{outline:3px solid #b48843;outline-offset:3px}
.club-3d-stage .club-3d-scene{background:var(--scene-bg);isolation:isolate}
.scene-annotations{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.scene-annotations svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.scene-annotations line{stroke-width:1.3;opacity:.75}
.scene-annotation{position:absolute;padding:5px 8px;border:1px solid var(--scene-border);border-left:3px solid var(--annotation-color);border-radius:5px;color:var(--scene-text);background:var(--scene-label);font:650 11px/1.4 var(--studio-font);box-shadow:0 2px 8px #0c19200d;white-space:nowrap}
.scene-annotation[hidden]{display:none}
.club-3d-stage .pose-stage-flight,.club-3d-stage .pose-stage-zoom,.club-3d-stage .ground-scene-label{color:var(--scene-text);background:var(--scene-label);border-color:var(--scene-border)}
.club-3d-stage .pose-stage-flight{color:var(--scene-flight)}
.club-3d-stage .pose-stage-zoom button{color:var(--scene-text);background:transparent;border-color:var(--scene-border)}
.is-flight .pose-stage-flight{top:12px}
.club-3d-stage .ground-scene-label b,.club-3d-stage .ground-scene-label span{color:inherit}
.pose-scene-key{display:flex;gap:8px;align-items:center;margin:0;padding:12px 16px;background:var(--scene-bg);color:var(--scene-text);font-size:.75rem;line-height:1.5;border-top:1px solid var(--scene-border)}
.pose-scene-key i{flex-shrink:0;width:24px;border-top:3px solid var(--scene-target)}
.club-3d-stage .pose-flight-legend{background:var(--scene-bg);color:var(--scene-text);border-color:var(--scene-border)}
.pose-flight-legend .legend-flight{--line:var(--scene-flight)}
.pose-flight-legend .legend-initial{--line:var(--scene-muted)}
.pose-flight-legend .legend-curve{--line:var(--scene-curve)}
.pose-flight-legend .legend-target{--line:var(--scene-target)}
/* Give flight annotations enough horizontal space beside the delivery controls. */
@container workspace (max-width:1200px){.delivery-lab .is-flight .club-3d-viewport{grid-template-columns:1fr}.delivery-lab .is-flight .club-3d-canvas{position:static;height:clamp(400px,54svh,560px)}.delivery-lab .is-flight .club-3d-scene{min-height:0;height:auto}.delivery-lab .is-flight .pose-flight-results{border-left:0;border-top:1px solid #d5ddce}.delivery-lab .is-flight .pose-flight-results dl{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){.pose-scene-toolbar{padding:10px;gap:8px}.pose-scene-toolbar>span{font-size:.62rem;max-width:48%}.pose-theme-toggle{font-size:.75rem;padding:8px}.delivery-lab .is-flight .pose-flight-results dl{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-annotation{font-size:10px;padding:4px 6px}.is-flight .pose-stage-flight{top:12px}.pose-scene-key{padding:10px}}

.pose-flight-legend .legend-path{--line:var(--scene-path)}

/* Compact replay controls share the model header. */
.delivery-lab .pose-scene-toolbar{display:grid;grid-template-columns:minmax(105px,1fr) minmax(240px,2.8fr) auto;gap:24px;align-items:center;padding:16px 20px}
.delivery-lab .pose-scene-toolbar>span{max-width:none}
.pose-header-transport{min-width:0;width:100%;max-width:600px;justify-self:center;color:var(--scene-text)}
.delivery-lab .pose-header-transport label{display:block;margin:0;text-align:center;font-size:.72rem;font-weight:500;line-height:1.4}
.delivery-lab .pose-header-transport output{display:block;max-width:none;margin:0;color:var(--scene-muted);font-size:inherit;font-weight:inherit;font-variant-numeric:tabular-nums;text-align:center}
.delivery-lab .pose-header-transport input[type="range"]{display:block;width:100%;height:28px;min-height:28px;margin:3px 0 5px;padding:0;accent-color:var(--scene-target);cursor:ew-resize}
.pose-transport-buttons{display:flex;justify-content:center;gap:8px}
.delivery-lab .pose-transport-buttons button{display:grid;place-items:center;position:static;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;margin:0;border:1px solid var(--scene-border);border-radius:10px;background:var(--scene-label);color:var(--scene-text);box-shadow:none;cursor:pointer}
.pose-transport-buttons svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.delivery-lab .pose-transport-buttons .pose-transport-play{background:var(--scene-target);border-color:var(--scene-target);color:var(--scene-bg)}
.pose-transport-buttons button:hover{filter:brightness(.93)}
.pose-transport-buttons button:focus-visible,.pose-header-transport input:focus-visible{outline:3px solid var(--scene-curve);outline-offset:3px}
@media(max-width:760px){.delivery-lab .pose-scene-toolbar{grid-template-columns:1fr auto;gap:12px;padding:12px}.pose-header-transport{grid-column:1/-1;grid-row:2;max-width:none}.delivery-lab .pose-scene-toolbar>.pose-theme-toggle{grid-column:2;grid-row:1}.delivery-lab .pose-header-transport label{font-size:.7rem}}

/* Scene labels are independent of arrows, contact points and playback. */
.pose-scene-actions{display:flex;align-items:center;gap:6px}
.pose-labels-toggle[aria-pressed="true"]{border-color:var(--scene-target);color:var(--scene-target)}
.pose-labels-toggle svg{stroke-linecap:round;stroke-linejoin:round}
.club-3d-stage[data-scene-labels="hidden"] .scene-annotations,
.club-3d-stage[data-scene-labels="hidden"] .ground-scene-label,
.club-3d-stage[data-scene-labels="hidden"] .club-3d-badge{display:none}

/* Contact replay: quiet phase label, never blocks orbit/touch gestures. */
.club-3d-compression{position:absolute;right:14px;top:14px;padding:7px 11px;border:1px solid #bca97488;border-radius:999px;background:#fffdf0ed;color:#234338;font:600 12px/1.35 system-ui,sans-serif;box-shadow:0 2px 12px #18372c12;pointer-events:none;z-index:3}
.club-3d-compression[hidden]{display:none}
@media(max-width:600px){.club-3d-compression{right:8px;top:8px;font-size:10px;padding:5px 8px}}

/* One reversible switch for every technical overlay, independent of labels. */
.pose-guides-toggle[aria-pressed="true"]{border-color:var(--scene-target);color:var(--scene-target)}
.pose-guides-toggle svg{stroke-linecap:round;stroke-linejoin:round}
.club-3d-stage[data-scene-guides="hidden"] .scene-annotations,
.club-3d-stage[data-scene-guides="hidden"] .ground-scene-label,
.club-3d-stage[data-scene-guides="hidden"] .pose-scene-key,
.club-3d-stage[data-scene-guides="hidden"] .pose-flight-legend{display:none}
