.machine-guide-video { display:grid; gap:14px; padding:18px; border:1px solid rgba(255,255,255,.09); border-radius:18px; background:linear-gradient(135deg,rgba(255,45,85,.13),rgba(255,255,255,.035)); }
.machine-guide-video h3,.machine-guide-video p { margin:0; }
.machine-guide-video-link { display:block; width:100%; text-align:center; text-decoration:none; }
.pushup-counter-sheet { width:min(680px,calc(100vw - 20px)); max-height:calc(100dvh - 20px); overflow:auto; }
.pushup-camera-stage { position:relative; aspect-ratio:16/10; margin:18px 0 12px; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:radial-gradient(circle at 50% 35%,#253249,#080d16 68%); }
.pushup-camera-stage video,.pushup-camera-stage canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.pushup-camera-stage canvas { pointer-events:none; }
.pushup-counter-readout { position:absolute; left:14px; bottom:14px; display:flex; align-items:baseline; gap:8px; padding:9px 15px; border:1px solid rgba(85,217,151,.4); border-radius:16px; background:rgba(4,10,18,.78); backdrop-filter:blur(10px); }
.pushup-counter-readout strong { font-size:clamp(2.4rem,12vw,4.8rem); line-height:.9; color:#55d997; }
.pushup-counter-readout span { color:#dce9e3; font-weight:750; }
.pushup-counter-feedback { text-align:center; }
.pushup-counter-feedback p { margin:6px 0 0; }
.pushup-counter-phase { display:inline-flex; padding:7px 12px; border-radius:999px; background:rgba(255,178,92,.15); color:#ffc985; }
.pushup-counter-phase.ready { background:rgba(85,217,151,.14); color:#74e8ad; }
.pushup-counter-placement { display:grid; grid-template-columns:28px 1fr; gap:8px 10px; align-items:start; margin:16px 0; }
.pushup-counter-placement span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:rgba(85,217,151,.15); color:#74e8ad; font-weight:800; }
.pushup-counter-placement p { margin:3px 0 0; }
.pushup-counter-status { min-height:38px; margin:12px 0; text-align:center; }
.pushup-camera-start { width:100%; margin-bottom:10px; }
.pushup-counter-manual { display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:8px; margin-bottom:10px; }
.pushup-counter-launch { display:grid; gap:6px; margin:12px 0; padding:12px; border:1px solid rgba(85,217,151,.18); border-radius:16px; background:rgba(85,217,151,.06); }
.pushup-counter-launch button { width:100%; }
.pushup-counter-launch small { color:var(--muted,#9ca9ba); text-align:center; }
@media (max-width:520px) { .pushup-counter-sheet{padding:16px}.pushup-camera-stage{aspect-ratio:4/3}.pushup-counter-manual{grid-template-columns:1fr 1.35fr 1fr}.pushup-counter-manual button{padding-inline:7px} }
