/* Camera workout (PushUpCoachScreen.kt): edge to edge and dark in both themes; controls stay inside the safe area. */
.workout{--workout-ink:#14251e;--workout-sage:#e3edcc;--workout-white:#f5f7ee;position:fixed;inset:0;height:100vh;height:100dvh;z-index:20;overflow:hidden;background:var(--workout-ink);color:var(--workout-white);overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.workout-video,.workout-pose{position:absolute;inset:0;width:100%;height:100%}
.workout-video{object-fit:cover}
.workout.mirrored .workout-video{transform:scaleX(-1)}
.workout-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#07150fc0 0,transparent 28%,transparent 55%,#07150fed 100%)}
.workout-ui{position:relative;height:100%;display:flex;flex-direction:column;padding:calc(10px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px))}
.workout-top{display:flex;align-items:center;justify-content:space-between}
.workout-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#14251ee6;color:var(--workout-white)}
.workout-icon .ui-icon{width:20px;height:20px}
.workout-icon:disabled{color:#f5f7ee66;cursor:default}
.workout-flip[hidden]{display:grid;visibility:hidden}
.workout-brand{font-size:13px;font-weight:600}
.workout-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}
.workout-guide{position:absolute;inset:82px 0 16px;pointer-events:none}
.workout-guide:before,.workout-guide:after{content:'';position:absolute;width:24px;height:24px;border:0 solid #e3edcc99}
.workout-guide:before{left:0;top:0;border-width:2px 0 0 2px;border-top-left-radius:2px}
.workout-guide:after{right:0;bottom:0;border-width:0 2px 2px 0;border-bottom-right-radius:2px}
.workout-cue{position:absolute;top:22px;left:50%;transform:translateX(-50%);margin:0;display:flex;align-items:center;gap:8px;width:max-content;max-width:min(288px,100%);padding:10px 14px;border-radius:24px;background:#14251ef0;font-size:13px;line-height:18px;text-align:center}
.workout-cue-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#ff4b4b}
.workout-cue[data-valid="true"] .workout-cue-dot{background:#8ef08a}
.workout-guide[hidden],.workout-cue[hidden],.workout-panel-slot:empty{display:none}
.workout-panel{max-width:310px;max-height:100%;overflow:auto;display:grid;justify-items:center;gap:12px;padding:12px 0;text-align:center}
.workout-panel h2{margin:0;font-size:21px;font-weight:600;letter-spacing:0;color:var(--workout-white)}
.workout-panel p{margin:0;font-size:14px;line-height:1.45;color:#cbd5c6}
.workout-panel-icon .ui-icon{width:32px;height:32px;color:var(--workout-sage)}
.workout-panel-action{min-height:44px;padding:0 22px;border-radius:22px;background:var(--workout-sage);color:var(--workout-ink);font-weight:600}
.workout-panel-link{min-height:44px;padding:0 12px;font-size:14px;color:var(--workout-white);text-decoration:underline}
.workout-spinner{width:28px;height:28px;border-radius:50%;border:3px solid #e3edcc44;border-top-color:var(--workout-sage);animation:workout-spin 1s linear infinite}
@keyframes workout-spin{to{transform:rotate(1turn)}}
/* Wide screens keep the controls in a phone-width column; Leave and Flip stay in the corners. */
.workout-stats,.workout-actions{width:100%;max-width:720px;margin-left:auto;margin-right:auto}
.workout-stats{display:flex;align-items:flex-end;justify-content:space-between;padding:18px 6px}
.workout-stats strong{display:block;font-variant-numeric:tabular-nums}
.workout-stats span{display:block;font-size:11px;letter-spacing:2px;color:#dee6d9}
.workout-reps{font:600 88px/92px 'Space Grotesk',sans-serif;letter-spacing:-4px}
.workout-time-block{text-align:right;padding-bottom:2px}
.workout-time{font-size:24px;font-weight:500;margin-bottom:6px}
.workout-actions{display:flex;gap:10px}
.workout-finish{flex:1;min-height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:20px;background:var(--workout-sage);color:var(--workout-ink);font-size:16px;font-weight:700}
.workout-finish .ui-icon{width:18px;height:18px}
.workout-finish:disabled{background:#53604d;color:#b6c1ac;cursor:default}
.workout-help{width:56px;height:56px;flex:none;border-radius:18px;background:#14251ef2;color:var(--workout-white);font-size:23px}
.workout button:focus-visible{outline:3px solid var(--workout-sage);outline-offset:3px}
/* Phones in landscape and short windows, like the native compact layout (< 540dp). */
@media(max-height:540px){.workout-guide,.workout-panel-icon{display:none}.workout-cue{top:8px}.workout-stats{padding:8px 6px}.workout-reps{font-size:56px;line-height:60px}.workout-panel{gap:6px;padding:4px 0}.workout-panel h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.workout-spinner{animation:none}}
/* The help sheet stays light in dark mode, as on mobile. */
.workout-help-sheet{background:#f5f3e9;color:#14251e;border-color:#e1e5d9}
.workout-help-sheet h2{font-size:28px;letter-spacing:-1px;margin:0}
.workout-help-sheet p{font-size:16px;line-height:24px;margin:18px 0 0}
.workout-help-sheet .button.dark,html[data-theme="dark"] .workout-help-sheet .button.dark{background:#14251e;color:#f5f7ee;border-color:#14251e}
@media(max-width:480px){.workout-help-sheet{width:100%;max-width:none;margin:auto 0 0;border-radius:24px 24px 0 0;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}}

/* Session finished (WorkoutResultScreen.kt). */
.workout-result{max-width:480px}
.workout-scorecard{border-radius:22px;padding:20px;color:#fff9e9;background:radial-gradient(circle at calc(100% + 8px) 25px,transparent 50px,#fff9e90a 50px 70px,transparent 70px 74px,#fff9e90a 74px 94px,transparent 94px 98px,#fff9e90a 98px 118px,transparent 118px),#17362c}
.workout-scorecard header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workout-scorecard h2{margin:0;font:600 23px 'Space Grotesk',sans-serif;color:#fff9e9}
.workout-scorecard-check{width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;background:#fff9e924}
.workout-scorecard-check .ui-icon{width:17px;height:17px}
.workout-scorecard-points{display:flex;align-items:center;gap:14px;margin:12px 0}
.workout-scorecard-points strong{font:600 64px/72px 'Space Grotesk',sans-serif;letter-spacing:-3px;color:#f5c58f}
.workout-scorecard-points span{font-size:13px;line-height:1.3;color:#fff9e9d9}
.workout-scorecard footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #fff9e929;padding-top:14px;font-size:12px}
.workout-scorecard footer span{display:flex;align-items:center;gap:5px}
.workout-scorecard footer .ui-icon{width:17px;height:17px;color:#f5c58f}
.workout-scorecard-flame{width:14px;height:17px}
.workout-result-notice{margin-top:24px;padding:20px;border-radius:18px;background:var(--sage)}
.workout-result-notice h3{margin:0 0 8px;font-size:16px}
.workout-result-notice p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.workout-products{min-width:0;margin:24px 0 0;padding:0;border:0}
.workout-products legend{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0;margin-bottom:10px}
.workout-products legend span{font-size:16px;font-weight:700}
.workout-products legend small{font-size:11px;color:var(--muted)}
/* Beats `.feature-page label`, which stacks form labels. */
.feature-page .workout-product{position:relative;display:flex;align-items:center;gap:11px;min-height:72px;margin:0;padding:12px;border-radius:14px;border-bottom:1px solid var(--line);font-weight:400;cursor:pointer}
.feature-page .workout-product.selected{background:var(--sage);border-bottom-color:transparent}
.workout-product .product-copy span{white-space:normal}
.workout-product input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.workout-product:has(input:focus-visible){outline:3px solid #ef9a76;outline-offset:2px}
.workout-product em{font-style:normal;font-weight:700;color:var(--green)}
.workout-product-check{width:20px;height:20px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:transparent}
.workout-product.selected .workout-product-check{background:var(--green);border-color:var(--green);color:var(--card)}
.workout-product-check .ui-icon{width:13px;height:13px}
.workout-amount-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:var(--muted)}
.workout-result .link{min-height:44px}
.feature-page .workout-amount{display:block;margin:8px 0 0;font-size:13px;font-weight:600}
.workout-amount input{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.workout-amount input[aria-invalid="true"]{border-color:var(--orange)}
.workout-amount-help{margin:6px 0 0;font-size:12px;color:var(--muted)}
.workout-result-actions{display:grid;gap:4px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
.workout-result-actions .button.full{margin-top:0;display:flex;align-items:center;justify-content:center;gap:8px}
.workout-result-actions .button .ui-icon{width:18px;height:18px}
.workout-result .workout-later{width:100%;font-size:13px;color:var(--muted)}

/* Workout entry points elsewhere in the workspace. */
.balance-earn{display:block;min-height:44px;margin-top:4px;padding:0;font-size:12px;font-weight:700;color:#fff;text-decoration:underline}
.streak-start{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;margin-bottom:8px;border-radius:14px;background:#c74625;color:#fff;font-size:16px;font-weight:700}
.streak-start .ui-icon{width:20px;height:20px}
.personal-streak-footer .streak-start{color:#fff;font-size:16px;font-weight:700;border-radius:14px}
