.exercise-live-section{padding-top:clamp(28px,5vw,52px)}
.exercise-live-tool{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}
.exercise-live-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:24px;border-bottom:1px solid var(--border)}
.exercise-live-head h2{font-size:24px;line-height:1.15;margin:6px 0 0;letter-spacing:0}
.exercise-live-head p{max-width:68ch;margin:9px 0 0;color:var(--fg-3);font-size:14px;line-height:1.65}
.exercise-live-setup{display:flex;align-items:end;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#exerciseLiveStart{flex:0 0 auto;min-width:224px;white-space:normal}
.exercise-live-field{display:grid;gap:5px;color:var(--fg-3);font-size:12px;font-weight:700}
.exercise-live-field input{width:92px;min-height:42px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg-1);font:inherit;font-size:15px;padding:8px 10px}
.exercise-live-console{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px)}
.exercise-live-stage{padding:24px;min-width:0}
.exercise-live-phase{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:5px;background:#fff1bd;color:#5b3c00;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:0}
.exercise-live-timer{font-variant-numeric:tabular-nums;font-size:48px;line-height:1;font-weight:850;letter-spacing:0;margin-top:18px;min-width:5.4ch;color:var(--fg-1)}
.exercise-live-status{min-height:20px;margin-top:9px;color:var(--fg-3);font-size:13px}
.exercise-live-copy{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}
.exercise-live-copy h3{font-size:18px;line-height:1.3;letter-spacing:0}
.exercise-live-copy p{margin-top:8px;color:var(--fg-2);font-size:15px;line-height:1.65}
.exercise-live-copy .exercise-live-prompt{font-weight:750;color:var(--fg-1)}
.exercise-live-meta{display:grid;gap:7px;margin-top:18px;color:var(--fg-3);font-size:13px;line-height:1.55}
.exercise-live-meta strong{color:var(--fg-1)}
.exercise-live-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px}
.exercise-live-icon{display:inline-grid;place-items:center;width:42px;height:42px;min-width:42px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg-1);font-size:19px;line-height:1;cursor:pointer}
.exercise-live-icon:hover{border-color:var(--teal-deep);color:var(--teal-deep)}
.exercise-live-icon:focus-visible,.exercise-live-field input:focus-visible,.exercise-live-link:focus-visible{outline:3px solid #f2c94c;outline-offset:2px}
.exercise-live-icon:disabled{opacity:.38;cursor:not-allowed}
.exercise-live-extend,.exercise-live-substitute{width:auto;min-width:42px;padding:0 11px;font-size:12px;font-weight:800}
.exercise-live-handoff{border-left:1px solid var(--border);background:#f6faf8;padding:24px;min-width:0}
.exercise-live-handoff h3{font-size:18px;line-height:1.25;letter-spacing:0}
.exercise-live-handoff p{color:var(--fg-3);font-size:13px;line-height:1.6;margin-top:8px}
.exercise-live-qr{display:block;width:176px;height:176px;max-width:100%;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:4px;margin:18px auto 14px;image-rendering:pixelated}
.exercise-live-qr-fallback{border:1px dashed var(--border);padding:14px;margin:18px 0 14px;color:var(--fg-3);font-size:13px;text-align:center}
.exercise-live-link{display:block;width:100%;min-height:42px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--fg-2);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;padding:9px;overflow:hidden}
.exercise-live-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.exercise-live-share-actions .btn{min-height:40px;font-size:12px;padding:8px 11px}
.exercise-live-share-status{min-height:38px}
.exercise-participant-view{min-height:100vh;background:#f7faf8;color:var(--fg-1);padding:24px}
.exercise-participant-inner{width:min(900px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:32px;align-items:start}
.exercise-participant-main{padding:clamp(12px,4vw,36px) 0}
.exercise-participant-phase{display:inline-block;background:#fff1bd;color:#5b3c00;border-radius:5px;padding:6px 10px;font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:0}
.exercise-participant-title{font-size:36px;line-height:1.1;letter-spacing:0;margin-top:18px;max-width:24ch}
.exercise-participant-instruction{font-size:22px;line-height:1.45;margin-top:26px;max-width:58ch}
.exercise-participant-prompt{font-size:18px;line-height:1.5;margin-top:18px;padding-left:16px;border-left:4px solid var(--teal-deep);font-weight:750}
.exercise-participant-guidance{display:grid;gap:10px;margin-top:28px;color:var(--fg-3);font-size:15px;line-height:1.6}
.exercise-participant-aside{position:sticky;top:24px;border-left:1px solid var(--border);padding:18px 0 18px 24px}
.exercise-participant-timer{font-variant-numeric:tabular-nums;font-size:44px;line-height:1;font-weight:850;letter-spacing:0;min-width:5.4ch}
.exercise-participant-status{min-height:42px;margin-top:10px;color:var(--fg-3);font-size:13px;line-height:1.5}
.exercise-participant-exit{display:inline-flex;margin-top:22px;font-weight:750;font-size:13px;color:var(--teal-deep)}
body.exercise-participant-mode>header,body.exercise-participant-mode>footer{display:none!important}
body.exercise-participant-mode main>:not(#exerciseParticipantView){display:none!important}
body.exercise-participant-mode main{min-height:100vh}
@media(max-width:760px){
  .factband .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .factband .stat{min-width:0}
  .exercise-live-head{grid-template-columns:1fr;align-items:start}
  .exercise-live-setup{justify-content:flex-start}
  .exercise-live-console{grid-template-columns:1fr}
  .exercise-live-handoff{border-left:0;border-top:1px solid var(--border)}
  .exercise-live-timer{font-size:42px}
  .exercise-participant-view{padding:18px}
  .exercise-participant-inner{grid-template-columns:1fr;gap:12px}
  .exercise-participant-title{font-size:30px}
  .exercise-participant-instruction{font-size:19px}
  .exercise-participant-aside{position:static;order:-1;border-left:0;border-bottom:1px solid var(--border);padding:10px 0 18px}
}
@media(prefers-reduced-motion:reduce){
  .exercise-live-tool *,.exercise-participant-view *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
