/* A shared goal is the centre of the company's community. */
.choice-symbol{display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:1}
.choice-symbol .intensity-icon{display:block;width:30px;height:28px;flex:none}
/* A long form keeps its action after the fields instead of covering them. */
#workout-form[data-step=intensity] .wizard-actions{position:static;margin-top:20px;padding:16px 0 12px;border-top:1px solid var(--line)}
@media(max-width:700px){body[data-page=builder] main:has(#workout-form[data-step=intensity]){padding-bottom:24px}}
.company-challenges{margin:26px 0}.company-challenges>.helper{font-size:13px;line-height:1.7;margin:0 0 22px}.challenge-list{display:grid;gap:18px}.team-challenge{background:var(--hero);color:var(--hero-ink);padding:28px;border-radius:22px}.challenge-top{display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:11px}.challenge-top>.pill{background:var(--accent);color:var(--on-accent)}.team-challenge h3{font-size:29px;line-height:1.2;letter-spacing:-.7px;margin:22px 0}.challenge-value{display:flex;align-items:baseline;gap:14px;margin:15px 0}.challenge-value strong{font-size:52px;letter-spacing:-2px}.challenge-value span{font-size:13px;opacity:.8}.team-challenge .meter{background:#ffffff25}.team-challenge .meter span{background:var(--accent)}.team-challenge>p{font-size:13px;line-height:1.6;margin:15px 0 20px;opacity:.8}.team-challenge>.text-button{display:inline-flex;color:inherit;min-height:44px;align-items:center;margin-left:18px}.team-challenge.scheduled{background:var(--soft);color:var(--ink);border:1px solid var(--line)}.team-challenge.cancelled,.team-challenge.ended{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.challenge-empty{padding:26px;border:1px dashed var(--line);border-radius:18px;background:var(--surface)}.challenge-empty>span{font-size:45px}.challenge-empty h3{font-size:20px;margin:12px 0}.challenge-empty p{font-size:13px;line-height:1.6;color:var(--muted)}.challenge-planner{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:18px;padding:0 22px}.challenge-planner>summary{padding:20px 0;font-size:15px}.challenge-planner form{padding-bottom:22px}.challenge-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.challenge-planner input,.challenge-planner select{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:14px;min-width:0}.challenge-planner form>.primary{margin-top:18px;width:100%;min-height:50px}.company-challenges+.team-goal{margin-top:28px}.catalogue-health{margin-bottom:20px}.catalogue-health>.secondary{margin-top:16px}.catalogue-health h2{font-size:20px}.catalogue-counts{margin-top:20px}.catalogue-counts>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.catalogue-counts dd{font-weight:650}.training-context{padding:20px;border:1px solid var(--line);border-radius:16px;margin:20px 0;background:var(--surface)}.training-context>.input-label:first-child{margin-top:0}.training-context select{min-height:48px;font-size:16px}

/* The player uses the whole screen; the video grows with the device. */
#player:has(.execution-player){width:100%;height:100dvh;max-height:100dvh;max-width:none;border-radius:0;margin:0}#player .execution-player{max-width:1800px;margin:auto;padding:18px 28px;min-height:100dvh}.execution-player .player-header h2{margin-right:auto}.execution-player .focus-button{min-height:44px;padding:10px 15px;margin-right:12px;font-size:12px}.execution-player .player-phases{margin:10px 0 15px}.execution-heading h3{margin-bottom:18px}.execution-layout{grid-template-columns:minmax(0,3fr) minmax(260px,1fr)}.execution-stage .exercise-video-frame{height:clamp(330px,62dvh,850px);aspect-ratio:auto}.execution-stage .exercise-media{width:100%}.execution-player .execution-next{margin-top:12px}.execution-player .player-header{gap:10px}#player:fullscreen{background:var(--surface)}#player.focus-mode .player-phases{display:none}#player.focus-mode .execution-stage .exercise-video-frame{height:72dvh}
@media(max-width:760px){.challenge-fields{gap:6px 10px}.team-challenge{padding:23px 20px}.team-challenge h3{font-size:25px}.challenge-value strong{font-size:45px}.challenge-top{font-size:10px}.team-challenge>.primary{width:100%}.team-challenge>.text-button{margin:8px 0 0}.challenge-planner{padding:0 16px}.challenge-planner input,.challenge-planner select{font-size:16px}.challenge-value{gap:10px}.challenge-value span{font-size:12px}
 #player .execution-player{padding:12px 16px max(22px,env(safe-area-inset-bottom))}.execution-player .focus-button{font-size:10px;padding:8px;margin-right:0}.execution-player .player-header h2{font-size:12px;max-width:48%}.execution-player .player-phases{margin:7px 0 12px}.execution-heading h3{font-size:21px;margin-bottom:12px}.execution-stage{width:calc(100% + 32px);margin-left:-16px}.execution-stage .exercise-video-frame{border-radius:0;height:auto;aspect-ratio:16/9}.execution-stage .media-external{margin-left:16px}.execution-target .prescription{margin:8px 0}.execution-target .prescription strong{font-size:40px}.execution-layout{gap:8px}#player.focus-mode .execution-stage .exercise-video-frame{height:48dvh;aspect-ratio:auto}
}
@media(orientation:landscape) and (max-height:550px) and (min-width:650px){#player .execution-player{padding:10px 18px}.execution-player .player-phases{display:none}.execution-heading h3{font-size:20px;margin:6px 0 10px}.execution-stage .exercise-video-frame{height:65dvh;min-height:0}.execution-target .prescription strong{font-size:35px}.execution-cue,.execution-note{display:none}.execution-player .player-controls{margin-top:10px}.execution-clock{padding:8px 0}}
.generation-support{margin:0 0 16px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;text-align:left}
.generation-support summary{cursor:pointer;font-weight:600}
.generation-support p{font-size:13px;margin:10px 0}
.generation-support pre{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
