/* CLEAN4.5.14.1.2.3.3.12.5.12.3 — Steady mobile cockpit fit + full exercise image containment. STAGING ONLY. */
:root{--sg-blue:#58b7ff;--sg-cyan:#59d6d1;--sg-good:#69d79b;--sg-warn:#e7c07a;--sg-red:#ff7b8d;--sg-panel:#0b171b;--sg-line:rgba(153,214,225,.20)}
.sg-shell{max-width:980px;margin:0 auto}.sg-kicker{font:900 12px/1.1 "Barlow Condensed",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--sg-cyan)}
.sg-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.sg-reference-note{margin-top:12px;color:var(--muted);font-size:12.5px;line-height:1.5}
.sg-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sg-field{display:grid;gap:7px}.sg-field>span,.sg-field>label{font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.sg-field select,.sg-field input[type=range]{width:100%}.sg-span-2{grid-column:1/-1}
.sg-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sg-mode{position:relative;cursor:pointer}.sg-mode input{position:absolute;opacity:0;pointer-events:none}.sg-mode-box{display:block;min-height:116px;padding:14px;border:1px solid var(--sg-line);border-radius:15px;background:rgba(255,255,255,.025)}.sg-mode-box b{display:block;font:900 22px/1 "Barlow Condensed",Arial,sans-serif;text-transform:uppercase}.sg-mode-box span{display:block;margin-top:7px;color:var(--muted);font-size:12.5px;line-height:1.45}.sg-mode input:checked+.sg-mode-box{border-color:var(--sg-blue);background:rgba(88,183,255,.12);box-shadow:inset 0 0 0 1px rgba(88,183,255,.23)}.sg-mode input:focus-visible+.sg-mode-box{outline:3px solid var(--sg-cyan);outline-offset:2px}
.sg-voice-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,1fr);gap:12px;align-items:end}.sg-volume{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;color:var(--muted);font-size:12px}.sg-volume output{min-width:36px;text-align:right;color:#fff;font-weight:900}
.sg-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(231,192,122,.30);border-radius:12px;background:rgba(231,192,122,.07);color:#f0dcae;font-size:13px;line-height:1.5}.sg-check input{width:22px;height:22px;flex:none;margin-top:1px}
.sg-plan-list{display:grid;gap:8px;margin-top:12px}.sg-plan-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--sg-line);border-radius:12px;background:rgba(255,255,255,.025)}.sg-plan-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(89,214,209,.14);color:var(--sg-cyan);font-weight:900}.sg-plan-row b{display:block}.sg-plan-row span{display:block;color:var(--muted);font-size:11.5px;margin-top:3px}.sg-plan-mode{white-space:nowrap;color:#bfe9ff!important;font-weight:800}
.sg-stage{position:relative;overflow:hidden;padding:0!important;border-color:rgba(88,183,255,.28)!important;background:linear-gradient(155deg,#081b20,#081217 72%)!important}.sg-stage-top{padding:16px 18px 13px;border-bottom:1px solid var(--sg-line);background:rgba(0,0,0,.13)}.sg-stage-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.sg-stage-meta strong{font-size:12px;letter-spacing:.07em;text-transform:uppercase}.sg-stage-meta span{color:var(--muted);font-size:11px}.sg-progress{height:6px;margin-top:11px;background:rgba(255,255,255,.07);overflow:hidden}.sg-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--sg-blue),var(--sg-cyan));transition:width .25s ease}
.sg-stage-body{padding:22px 20px 18px;min-height:430px;display:grid;align-content:start}.sg-now-next{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.sg-now-next>div{border:1px solid var(--sg-line);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.025)}.sg-now-next small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.sg-now-next b{display:block;margin-top:4px;font-size:13px}.sg-current{font:900 clamp(36px,7vw,64px)/.91 "Barlow Condensed",Arial,sans-serif;text-transform:uppercase;margin:5px 0 12px;color:#fff}.sg-current .accent{color:var(--sg-cyan)}.sg-instruction{font-size:16px;line-height:1.58;color:#dbe8e7;margin:0}.sg-dose{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.sg-pill{display:inline-flex;padding:6px 10px;border:1px solid var(--sg-line);border-radius:999px;background:rgba(255,255,255,.04);font-size:12px;font-weight:800}.sg-support,.sg-easier{margin-top:12px;padding:11px 12px;border-radius:11px;font-size:13px;line-height:1.5}.sg-support{border-left:4px solid var(--sg-warn);background:rgba(231,192,122,.08);color:#f2ddb1}.sg-easier{border-left:4px solid var(--sg-good);background:rgba(105,215,155,.07);color:#cff1df}
.sg-timer-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:16px;padding:12px;border:1px solid rgba(88,183,255,.28);border-radius:13px;background:rgba(88,183,255,.07)}.sg-clock{font:900 38px/1 "Barlow Condensed",Arial,sans-serif;color:var(--sg-cyan);min-width:75px;text-align:center}.sg-timer-copy b{display:block}.sg-timer-copy span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.sg-audio-status{min-height:1.4em;margin-top:11px;color:#bcd5e1;font-size:11.5px;line-height:1.4}
.sg-controls{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:13px 16px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--sg-line);background:rgba(5,14,18,.97);backdrop-filter:blur(10px)}.sg-controls .btn{min-height:48px;margin:0!important}.sg-controls .danger{border-color:rgba(255,123,141,.45)!important;color:#ffd5db!important;background:rgba(255,123,141,.08)!important}.sg-controls .wide2{grid-column:span 2}
.sg-outcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.sg-outcome{appearance:none;border:1px solid var(--sg-line);border-radius:14px;background:rgba(255,255,255,.03);color:#fff;padding:16px 12px;text-align:left;cursor:pointer}.sg-outcome b{display:block;font:900 20px/1 "Barlow Condensed",Arial,sans-serif;text-transform:uppercase}.sg-outcome span{display:block;color:var(--muted);font-size:11.5px;line-height:1.4;margin-top:6px}.sg-outcome.complete{border-color:rgba(105,215,155,.35)}.sg-outcome.stop{border-color:rgba(255,123,141,.38)}.sg-outcome:disabled{display:none}.sg-receipt{padding:13px 14px;border-radius:12px;background:rgba(105,215,155,.08);border:1px solid rgba(105,215,155,.3);color:#d4f5e2;line-height:1.5}
body.sg-session-active #bpf-global-bottom-nav,body.sg-session-active .bpf-global-bottom-nav,body.sg-session-active .bottom-nav,body.sg-session-active .bpf-bottom-nav,body.sg-session-active .bot-nav{display:none!important}
body.sg-session-active .top{display:none}.sg-hidden{display:none!important}.sg-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.sg-setup-grid,.sg-mode-grid,.sg-voice-row{grid-template-columns:1fr}.sg-span-2{grid-column:auto}.sg-now-next{grid-template-columns:1fr}.sg-now-next>div:last-child{display:none}.sg-stage-body{padding:19px 16px 15px;min-height:calc(100dvh - 205px)}.sg-controls{grid-template-columns:1fr 1fr}.sg-controls .wide2{grid-column:span 2}.sg-outcome-grid{grid-template-columns:1fr}.sg-plan-row{grid-template-columns:38px minmax(0,1fr)}.sg-plan-mode{grid-column:2}.sg-current{font-size:clamp(38px,12vw,58px)}}

/* 12.5.12.2 — Workout Player visual parity while preserving Steady safety/session semantics. */
.sg-visual-wrap{margin:0 0 16px;display:grid;gap:8px}.sg-visual-btn{appearance:none;border:1px solid rgba(88,183,255,.32);border-radius:14px;padding:0;overflow:hidden;background:#05090c;cursor:zoom-in;box-shadow:0 12px 32px rgba(0,0,0,.22)}.sg-visual-btn:focus-visible{outline:3px solid var(--sg-cyan);outline-offset:3px}.sg-exercise-img{display:block;width:100%;height:clamp(180px,32vw,300px);object-fit:contain;object-position:center;background:#05090c}.sg-visual-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px}.sg-guide-link{color:#bfe9ff;font-weight:900;text-decoration:none}.sg-guide-link:hover,.sg-guide-link:focus-visible{text-decoration:underline}.sg-next-thumb{width:62px;height:46px;object-fit:contain;object-position:center;border-radius:8px;border:1px solid rgba(255,255,255,.10);margin-top:6px;display:block}.sg-next-thumb[hidden]{display:none!important}
.sg-img-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);display:none;place-items:center;padding:18px}.sg-img-modal.on{display:grid}.sg-img-modal-card{position:relative;width:min(94vw,680px);max-height:94dvh;overflow:auto;border:1px solid rgba(88,183,255,.35);border-radius:16px;background:#060b0f;box-shadow:0 24px 80px rgba(0,0,0,.65)}.sg-img-modal-card img{display:block;width:100%;height:auto}.sg-img-close{position:sticky;top:10px;float:right;margin:10px 10px -58px 0;z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.78);color:white;font-size:24px;cursor:pointer}.sg-img-modal-title{padding:12px 14px 16px;color:#fff;font-weight:900}
.exq-visual-link{display:block;margin:-2px -2px 12px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:#05090c}.exq-visual-link img{display:block;width:100%;height:auto}.exq-player-link{display:inline-flex;margin-top:10px;align-items:center;justify-content:center;min-height:42px;padding:9px 13px;border-radius:10px;border:1px solid rgba(88,183,255,.35);background:rgba(88,183,255,.08);color:#cceeff;text-decoration:none;font-weight:900;font-size:12px}.exq-player-link:hover,.exq-player-link:focus-visible{background:rgba(88,183,255,.15)}
@media(max-width:700px){.sg-exercise-img{height:190px}.sg-visual-actions>span{display:none}.sg-now-next>div:last-child{display:block}.sg-next-thumb{width:54px;height:40px}.sg-stage-body{min-height:auto}.sg-img-modal{padding:8px}.sg-img-modal-card{width:98vw;max-height:96dvh}}


/* 12.5.12.3 — Mobile-first no-hunting cockpit polish.
   Steady safety/session semantics remain authoritative. Workout Player parity is layout/control parity only. */
.sg-preview-actions{align-items:stretch}

@media(max-width:700px){
  /* Setup: keep the decision surface compact and keep the primary action reachable. */
  #sgHero{padding:13px 14px;border-radius:16px}
  #sgHero h1{font-size:clamp(31px,9.5vw,42px);line-height:.92;margin-bottom:7px}
  #sgHero .lead{font-size:12.5px;line-height:1.38;margin-bottom:7px}
  #sgHero .sg-hero-actions{gap:6px;margin-top:8px}
  #sgHero .sg-hero-actions .btn{padding:9px 10px;min-height:38px;font-size:11px;flex:1 1 46%}
  #sgSafety{padding:9px 10px;margin-top:9px;font-size:11.5px;line-height:1.35;border-left-width:4px}
  #sgSetup{padding:12px;margin-top:9px}
  #sgSetup h2{font-size:20px;margin-bottom:7px}
  #sgSetup .sg-kicker{font-size:10px}
  .sg-setup-grid{grid-template-columns:1fr 1fr;gap:8px}
  .sg-field>span,.sg-field>label{font-size:10px}
  .sg-field select{min-height:40px;font-size:12px;padding:7px 8px}
  .sg-span-2{grid-column:1/-1}
  .sg-mode-grid{grid-template-columns:1fr 1fr;gap:7px}
  .sg-mode-box{min-height:78px;padding:9px 8px;border-radius:11px}
  .sg-mode-box b{font-size:17px;line-height:.95}
  .sg-mode-box span{font-size:10px;line-height:1.28;margin-top:5px}
  .sg-voice-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .sg-volume{gap:5px;font-size:9.5px}
  .sg-volume output{min-width:30px}
  .sg-check{grid-column:1/-1;padding:8px 9px;font-size:10.5px;line-height:1.32;gap:7px}
  .sg-check input{width:19px;height:19px}
  #sgPreviewBtn{position:sticky;bottom:calc(6px + env(safe-area-inset-bottom));z-index:20;min-height:48px;margin-top:8px;box-shadow:0 8px 26px rgba(0,0,0,.42)}

  /* Preview: the user should not need to scroll back down to find Start. */
  #sgPreview{padding:12px 12px 70px;margin-top:9px}
  #sgPreview h2{font-size:21px}
  #sgPreviewIntro{font-size:12px;line-height:1.35;margin-bottom:7px}
  #sgPreview .sg-plan-list{gap:5px;margin-top:7px;max-height:25dvh;overflow:auto;overscroll-behavior:contain;padding-right:2px}
  #sgPreview .sg-plan-row{padding:7px 8px;gap:7px;border-radius:9px;grid-template-columns:32px minmax(0,1fr)}
  #sgPreview .sg-plan-num{width:27px;height:27px;font-size:11px}
  #sgPreview .sg-plan-row b{font-size:12px}
  #sgPreview .sg-plan-row span{font-size:9.5px;margin-top:2px}
  #sgPreview .sg-plan-mode{grid-column:2;font-size:9px!important}
  #sgPreview .sub{font-size:10px;line-height:1.3;margin-top:7px}
  #sgPreview .sg-preview-actions{position:sticky;bottom:calc(6px + env(safe-area-inset-bottom));z-index:25;margin:8px -4px -60px;padding:6px;border:1px solid rgba(153,214,225,.18);border-radius:12px;background:rgba(5,14,18,.97);backdrop-filter:blur(10px);box-shadow:0 -8px 24px rgba(0,0,0,.36);display:grid;grid-template-columns:2fr 1fr;gap:6px}
  #sgPreview .sg-preview-actions .btn{min-height:46px;padding:8px 9px;font-size:11px;margin:0}

  /* Active player: one fixed-height cockpit. The control bar is always visible; body has only an escape-scroll on unusually short devices. */
  body.sg-session-active{overflow:hidden;background:#03090c}
  body.sg-session-active .wrap.sg-shell{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}
  body.sg-session-active main{height:100dvh;min-height:100dvh;display:flex}
  body.sg-session-active #sgStage{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0;border-radius:0;border-left:0!important;border-right:0!important}
  .sg-stage-top{padding:7px 10px 6px}
  .sg-stage-meta{gap:6px;flex-wrap:nowrap}
  .sg-stage-meta strong{font-size:9.5px;white-space:nowrap}
  .sg-stage-meta span{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
  .sg-progress{height:4px;margin-top:6px}
  .sg-stage-body{min-height:0!important;padding:7px 9px 5px!important;overflow:auto;overscroll-behavior:contain;align-content:start}
  .sg-now-next{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:5px;margin-bottom:5px}
  .sg-now-next>div{min-height:38px;padding:5px 7px;border-radius:8px;position:relative}
  .sg-now-next small{font-size:7.5px}
  .sg-now-next b{font-size:10.5px;line-height:1.15;margin-top:2px;padding-right:0}
  .sg-next-thumb{width:35px;height:28px;position:absolute;right:5px;bottom:4px;margin:0;background:#05090c}
  .sg-now-next>div:last-child b{padding-right:39px}
  .sg-visual-wrap{margin:0 0 4px;gap:3px}
  .sg-visual-btn{border-radius:10px;display:grid;place-items:center;min-height:0;background:#05090c}
  .sg-exercise-img{width:100%;height:min(29dvh,225px)!important;max-height:225px;min-height:145px;object-fit:contain!important;object-position:center!important;background:#05090c}
  .sg-visual-actions{min-height:18px;font-size:9px;justify-content:flex-end;gap:5px}
  .sg-visual-actions>span{display:none!important}
  .sg-guide-link{font-size:9.5px}
  #sgRoundLabel{font-size:8.5px;margin:0 0 1px}
  .sg-current{font-size:clamp(27px,8.7vw,38px)!important;line-height:.92;margin:2px 0 3px}
  .sg-instruction{font-size:12.5px;line-height:1.32;margin:0}
  .sg-dose{margin-top:4px;gap:4px}
  .sg-pill{padding:3px 7px;font-size:9.5px}
  .sg-support,.sg-easier{margin-top:4px;padding:5px 7px;border-radius:8px;font-size:10.5px;line-height:1.28;border-left-width:3px}
  .sg-timer-card{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;margin-top:4px;padding:5px 6px;border-radius:9px}
  .sg-clock{font-size:26px;min-width:50px}
  .sg-timer-copy b{font-size:10px}
  .sg-timer-copy span{font-size:8.5px;margin-top:1px;line-height:1.2}
  .sg-timer-card .btn{min-height:34px;padding:5px 7px;border-radius:8px;font-size:9.5px}
  .sg-audio-status{min-height:11px;margin:3px 0 0;font-size:8.5px;line-height:1.2}
  .sg-controls{position:relative!important;bottom:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:rgba(5,14,18,.99)}
  .sg-controls .btn{min-height:42px;padding:5px 3px!important;border-radius:9px;font-size:9.5px;line-height:1.05;white-space:normal}
  .sg-controls .wide2{grid-column:auto}
  .sg-img-modal{padding:6px}
  .sg-img-modal-card{width:98vw;max-height:97dvh}
  .sg-img-modal-card img{max-height:88dvh;object-fit:contain;background:#05090c}
}

@media(max-width:380px){
  .sg-exercise-img{height:min(26dvh,185px)!important;min-height:125px}
  .sg-current{font-size:26px!important}
  .sg-instruction{font-size:11.5px}
  .sg-support,.sg-easier{font-size:9.8px}
  .sg-controls .btn{font-size:8.8px}
}

@media(max-height:700px) and (max-width:700px){
  .sg-exercise-img{height:min(24dvh,165px)!important;min-height:110px}
  .sg-now-next{margin-bottom:3px}
  .sg-support,.sg-easier{padding:4px 6px;margin-top:3px}
  .sg-timer-card{margin-top:3px}
}

/* 12.5.12.4 — TRUE SINGLE-SCREEN ACTIVE COCKPIT.
   No Steady path/safety/audio/timing/completion semantics changed.
   Priority order: full exercise image -> essential coaching -> essential controls -> no vertical hunting. */

/* Active-session viewport contract at every practical screen size. */
body.sg-session-active{overflow:hidden!important;background:#03090c}
body.sg-session-active .wrap.sg-shell{width:100%!important;max-width:none!important;height:100dvh!important;min-height:100dvh!important;margin:0!important;padding:0!important}
body.sg-session-active main{height:100dvh!important;min-height:100dvh!important;display:flex!important;align-items:stretch!important;justify-content:center!important;overflow:hidden!important}
body.sg-session-active #sgStage{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;width:min(1180px,100vw)!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;margin:0 auto!important;border-radius:0!important;overflow:hidden!important}
body.sg-session-active .sg-stage-top{flex:none}
body.sg-session-active .sg-stage-body{min-height:0!important;overflow:hidden!important}
body.sg-session-active .sg-controls{position:relative!important;bottom:auto!important;z-index:30!important;flex:none!important}

/* Desktop / tablet cockpit: visual and coaching sit side-by-side so controls never fall below the fold. */
@media(min-width:701px){
  body.sg-session-active #sgStage{width:min(1120px,100vw)!important}
  body.sg-session-active .sg-stage-top{padding:8px 14px 7px!important}
  body.sg-session-active .sg-stage-meta{gap:8px;flex-wrap:nowrap}
  body.sg-session-active .sg-stage-meta strong{font-size:10px;white-space:nowrap}
  body.sg-session-active .sg-stage-meta span{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
  body.sg-session-active .sg-progress{height:4px;margin-top:6px}

  body.sg-session-active .sg-stage-body{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;
    grid-template-rows:auto auto auto auto auto auto auto auto minmax(0,1fr)!important;
    column-gap:12px!important;
    row-gap:4px!important;
    padding:8px 12px 6px!important;
    align-content:stretch!important;
  }
  body.sg-session-active .sg-now-next{grid-column:1/-1;grid-row:1;grid-template-columns:1fr 1fr!important;gap:7px;margin:0 0 2px!important}
  body.sg-session-active .sg-now-next>div{min-height:44px;padding:6px 9px;border-radius:9px;position:relative}
  body.sg-session-active .sg-now-next small{font-size:8px}
  body.sg-session-active .sg-now-next b{font-size:11px;line-height:1.1;margin-top:2px}
  body.sg-session-active .sg-next-thumb{width:38px;height:30px;position:absolute;right:6px;bottom:5px;margin:0}
  body.sg-session-active .sg-now-next>div:last-child b{padding-right:44px}

  body.sg-session-active .sg-visual-wrap{grid-column:1;grid-row:2/10;margin:0!important;gap:3px;min-height:0;display:grid!important;grid-template-rows:minmax(0,1fr) auto;align-self:stretch}
  body.sg-session-active .sg-visual-btn{height:100%;min-height:0;display:grid;place-items:center;border-radius:10px}
  body.sg-session-active .sg-exercise-img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#05090c}
  body.sg-session-active .sg-visual-actions{min-height:16px;font-size:8.5px;line-height:1.1}
  body.sg-session-active .sg-guide-link{font-size:9px}

  body.sg-session-active #sgRoundLabel{grid-column:2;grid-row:2;margin:0!important;font-size:8px;align-self:end}
  body.sg-session-active .sg-current{grid-column:2;grid-row:3;font-size:clamp(29px,3.7vw,43px)!important;line-height:.88!important;margin:0!important;align-self:start}
  body.sg-session-active .sg-instruction{grid-column:2;grid-row:4;font-size:12px!important;line-height:1.27!important;margin:0!important}
  body.sg-session-active .sg-dose{grid-column:2;grid-row:5;margin:0!important;gap:4px}
  body.sg-session-active .sg-pill{padding:3px 7px;font-size:9.5px}
  body.sg-session-active .sg-support{grid-column:2;grid-row:6;margin:0!important;padding:5px 7px!important;font-size:10px!important;line-height:1.22!important;border-left-width:3px}
  body.sg-session-active .sg-easier{grid-column:2;grid-row:7;margin:0!important;padding:5px 7px!important;font-size:10px!important;line-height:1.22!important;border-left-width:3px}
  body.sg-session-active .sg-timer-card{grid-column:2;grid-row:8;margin:0!important;padding:5px 6px!important;gap:6px!important;border-radius:8px}
  body.sg-session-active .sg-clock{font-size:25px;min-width:48px}
  body.sg-session-active .sg-timer-copy b{font-size:9.5px}
  body.sg-session-active .sg-timer-copy span{font-size:8px;line-height:1.15;margin-top:1px}
  body.sg-session-active .sg-timer-card .btn{min-height:32px;padding:4px 7px;font-size:9px}
  body.sg-session-active .sg-audio-status{grid-column:2;grid-row:9;min-height:10px;margin:0!important;font-size:8px;line-height:1.15;align-self:end}

  body.sg-session-active .sg-controls{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important}
  body.sg-session-active .sg-controls .btn{min-height:42px!important;padding:5px 7px!important;font-size:10px!important;line-height:1.05!important;margin:0!important}
}

/* Phone cockpit: vertical, but every essential item remains inside the stage viewport. */
@media(max-width:700px){
  body.sg-session-active .sg-stage-top{padding:5px 8px 4px!important}
  body.sg-session-active .sg-stage-meta strong{font-size:8.5px!important}
  body.sg-session-active .sg-stage-meta span{font-size:7.8px!important}
  body.sg-session-active .sg-progress{height:3px!important;margin-top:4px!important}

  body.sg-session-active .sg-stage-body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto minmax(110px,22dvh) auto auto auto auto auto auto!important;
    column-gap:4px!important;
    row-gap:3px!important;
    padding:4px 6px 3px!important;
    align-content:stretch!important;
    overflow:hidden!important;
  }
  body.sg-session-active .sg-now-next{grid-column:1/-1;grid-row:1;grid-template-columns:1fr 1fr!important;gap:4px!important;margin:0!important}
  body.sg-session-active .sg-now-next>div{min-height:32px!important;padding:4px 5px!important;border-radius:7px!important}
  body.sg-session-active .sg-now-next small{font-size:6.5px!important}
  body.sg-session-active .sg-now-next b{font-size:8.7px!important;line-height:1.05!important;margin-top:1px!important}
  body.sg-session-active .sg-next-thumb{width:29px!important;height:23px!important;right:4px!important;bottom:3px!important}
  body.sg-session-active .sg-now-next>div:last-child b{padding-right:32px!important}

  body.sg-session-active .sg-visual-wrap{grid-column:1/-1;grid-row:2;margin:0!important;gap:1px!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) 13px!important}
  body.sg-session-active .sg-visual-btn{height:100%!important;min-height:0!important;border-radius:8px!important;display:grid!important;place-items:center!important}
  body.sg-session-active .sg-exercise-img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
  body.sg-session-active .sg-visual-actions{min-height:13px!important;height:13px!important;font-size:7.2px!important;line-height:1!important;justify-content:flex-end!important;overflow:hidden}
  body.sg-session-active .sg-visual-actions>span{display:none!important}
  body.sg-session-active .sg-guide-link{font-size:7.6px!important;line-height:1!important}

  body.sg-session-active #sgRoundLabel{grid-column:1;grid-row:3;margin:0!important;font-size:7px!important;align-self:end}
  body.sg-session-active .sg-dose{grid-column:2;grid-row:3;margin:0!important;justify-content:flex-end!important;align-self:end}
  body.sg-session-active .sg-pill{padding:2px 6px!important;font-size:8px!important}
  body.sg-session-active .sg-current{grid-column:1/-1;grid-row:4;font-size:clamp(22px,7.2vw,31px)!important;line-height:.88!important;margin:0!important}
  body.sg-session-active .sg-instruction{grid-column:1/-1;grid-row:5;font-size:10.5px!important;line-height:1.2!important;margin:0!important}
  body.sg-session-active .sg-support{grid-column:1;grid-row:6;margin:0!important;padding:4px 5px!important;font-size:8.5px!important;line-height:1.15!important;border-left-width:3px!important;border-radius:6px!important}
  body.sg-session-active .sg-easier{grid-column:2;grid-row:6;margin:0!important;padding:4px 5px!important;font-size:8.5px!important;line-height:1.15!important;border-left-width:3px!important;border-radius:6px!important}
  body.sg-session-active .sg-timer-card{grid-column:1/-1;grid-row:7;margin:0!important;padding:3px 5px!important;gap:4px!important;border-radius:7px!important;min-height:31px}
  body.sg-session-active .sg-clock{font-size:21px!important;min-width:40px!important}
  body.sg-session-active .sg-timer-copy b{font-size:8.4px!important;line-height:1!important}
  body.sg-session-active .sg-timer-copy span{font-size:7px!important;line-height:1.05!important;margin-top:0!important}
  body.sg-session-active .sg-timer-card .btn{min-height:27px!important;padding:3px 5px!important;font-size:7.8px!important;border-radius:6px!important}
  body.sg-session-active .sg-audio-status{grid-column:1/-1;grid-row:8;min-height:8px!important;margin:0!important;font-size:6.8px!important;line-height:1!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

  body.sg-session-active .sg-controls{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;padding:4px 5px calc(4px + env(safe-area-inset-bottom))!important}
  body.sg-session-active .sg-controls .btn{min-height:38px!important;padding:4px 2px!important;border-radius:7px!important;font-size:8.3px!important;line-height:1.02!important;white-space:normal!important}
}

/* Short phones: preserve control visibility and full image; compress secondary text before allowing any stage scroll. */
@media(max-width:700px) and (max-height:720px){
  body.sg-session-active .sg-stage-body{grid-template-rows:auto minmax(88px,17dvh) auto auto auto auto auto auto!important;row-gap:2px!important;padding-top:3px!important}
  body.sg-session-active .sg-now-next>div{min-height:28px!important;padding:3px 4px!important}
  body.sg-session-active .sg-now-next b{font-size:8px!important}
  body.sg-session-active .sg-current{font-size:21px!important}
  body.sg-session-active .sg-instruction{font-size:9.4px!important;line-height:1.12!important}
  body.sg-session-active .sg-support,body.sg-session-active .sg-easier{font-size:7.7px!important;padding:3px 4px!important}
  body.sg-session-active .sg-timer-copy span{display:none!important}
  body.sg-session-active .sg-audio-status{display:none!important}
  body.sg-session-active .sg-controls .btn{min-height:35px!important;font-size:7.7px!important}
}

/* Pin the active cockpit to the visual viewport. Global page padding/margins must never displace it. */
body.sg-session-active{margin:0!important;padding:0!important}
body.sg-session-active main{margin:0!important;padding:0!important}
body.sg-session-active #sgStage{position:fixed!important;inset:0!important;z-index:9000!important}

/* Phone packing correction: do not stretch auto grid rows into dead space. */
@media(max-width:700px){
  body.sg-session-active .sg-stage-body{align-content:start!important;grid-template-rows:auto minmax(120px,25dvh) auto auto auto auto auto auto!important}
}
@media(max-width:700px) and (max-height:720px){
  body.sg-session-active .sg-stage-body{grid-template-rows:auto minmax(100px,20dvh) auto auto auto auto auto auto!important}
  body.sg-session-active .sg-visual-wrap{grid-template-rows:minmax(0,1fr)!important}
  body.sg-session-active .sg-visual-actions{display:none!important}
}

/* Use the spare phone cockpit space for a larger, easier-to-read full-form visual. */
@media(max-width:700px) and (min-height:721px){
  body.sg-session-active .sg-stage-body{grid-template-rows:auto minmax(200px,32dvh) auto auto auto auto auto auto!important}
}


/* CLEAN4.5.14.1.2.3.3.12.5.12.7 — STEADY ACTIVE SESSION / TRAIN-TODAY VISUAL DISCIPLINE
   Setup and preview remain the 12.5.12.4 Steady experience. These rules apply ONLY while a session is active.
   Design contract: calm neutral canvas, one clear lesson surface, full visual, concise coaching, large controls, no page bleed-through. */
body.sg-session-active{
  --sg-tt-bg:#08090b;
  --sg-tt-panel:#111419;
  --sg-tt-panel2:#171b21;
  --sg-tt-text:#f4eee4;
  --sg-tt-muted:#b9b0a4;
  --sg-tt-line:rgba(255,255,255,.11);
  --sg-tt-teal:#39b9b2;
  --sg-tt-teal-soft:rgba(57,185,178,.13);
  --sg-tt-danger:#c94a5d;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--sg-tt-bg)!important;
  color:var(--sg-tt-text)!important;
}
body.sg-session-active .wrap.sg-shell{
  position:fixed!important;
  inset:0!important;
  z-index:8990!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--sg-tt-bg)!important;
}
body.sg-session-active .sg-shell>.top,
body.sg-session-active .sg-shell>.foot,
body.sg-session-active #bpf-global-bottom-nav,
body.sg-session-active .bpf-global-bottom-nav,
body.sg-session-active .bottom-nav,
body.sg-session-active .bpf-bottom-nav,
body.sg-session-active .bot-nav{display:none!important}
body.sg-session-active #main{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--sg-tt-bg)!important;
}
body.sg-session-active #main>:not(#sgStage):not(#sgImgModal){display:none!important}
body.sg-session-active #sgStage{
  position:fixed!important;
  inset:0!important;
  z-index:9000!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:var(--sg-tt-bg)!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
body.sg-session-active #sgStage:before,
body.sg-session-active #sgStage:after{content:none!important;display:none!important}

/* A single centered content system, matching Train Today's visual rhythm. */
body.sg-session-active .sg-stage-top,
body.sg-session-active .sg-stage-body,
body.sg-session-active .sg-controls{
  width:min(1040px,calc(100% - 28px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.sg-session-active .sg-stage-top{
  padding:14px 2px 10px!important;
  border:0!important;
  border-bottom:1px solid var(--sg-tt-line)!important;
  background:transparent!important;
}
body.sg-session-active .sg-stage-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
}
body.sg-session-active .sg-stage-meta strong{
  color:var(--sg-tt-text)!important;
  font:900 14px/1 Inter,Arial,sans-serif!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
}
body.sg-session-active .sg-stage-meta span{
  color:var(--sg-tt-muted)!important;
  font:700 12px/1.2 Inter,Arial,sans-serif!important;
  text-align:right!important;
}
body.sg-session-active .sg-progress{
  height:5px!important;
  margin-top:10px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.08)!important;
}
body.sg-session-active .sg-progress i{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:var(--sg-tt-teal)!important;
}

body.sg-session-active .sg-stage-body{
  min-height:0!important;
  overflow:hidden!important;
  padding:14px 0 12px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  column-gap:22px!important;
  row-gap:10px!important;
  align-items:stretch!important;
  align-content:stretch!important;
}

/* Up next is a quiet orientation line, not another dashboard card. */
body.sg-session-active .sg-now-next{
  grid-column:1/-1!important;
  grid-row:1!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.sg-session-active .sg-now-next>div:first-child{display:none!important}
body.sg-session-active .sg-now-next>div:last-child{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:24px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
body.sg-session-active .sg-now-next small{
  color:var(--sg-tt-teal)!important;
  font:900 11px/1 Inter,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.sg-session-active .sg-now-next b{
  color:var(--sg-tt-muted)!important;
  font:800 13px/1.2 Inter,Arial,sans-serif!important;
  margin:0!important;
  padding:0!important;
}
body.sg-session-active .sg-next-thumb{display:none!important}

/* Exercise visual: full form, quiet panel, never cropped. */
body.sg-session-active .sg-visual-wrap{
  grid-column:1!important;
  grid-row:2!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--sg-tt-line)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#050607!important;
  box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
  display:block!important;
}
body.sg-session-active .sg-visual-btn{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#050607!important;
  display:grid!important;
  place-items:center!important;
  cursor:zoom-in!important;
}
body.sg-session-active .sg-exercise-img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
}
body.sg-session-active .sg-visual-actions,
body.sg-session-active #sgRoundLabel,
body.sg-session-active .sg-audio-status{display:none!important}

/* Coaching is one readable column, not a stack of mini-panels. */
body.sg-session-active .sg-current,
body.sg-session-active .sg-instruction,
body.sg-session-active .sg-dose,
body.sg-session-active .sg-support,
body.sg-session-active .sg-easier,
body.sg-session-active .sg-timer-card{grid-column:2!important}
body.sg-session-active .sg-current{
  grid-row:2!important;
  align-self:start!important;
  margin:0 0 8px!important;
  font-family:'Barlow Condensed',Arial,sans-serif!important;
  font-size:clamp(40px,4.2vw,58px)!important;
  font-weight:900!important;
  line-height:.90!important;
  letter-spacing:-.025em!important;
  text-transform:uppercase!important;
  color:var(--sg-tt-text)!important;
}
/* Put the rest of coaching into a simple right-column flow by using display:contents. */
body.sg-session-active .sg-stage-body{position:relative!important}
body.sg-session-active .sg-instruction{
  grid-row:2!important;
  align-self:start!important;
  margin:82px 0 0!important;
  color:#ded7ce!important;
  font-size:18px!important;
  line-height:1.48!important;
  font-weight:600!important;
}
body.sg-session-active .sg-dose{
  grid-row:2!important;
  align-self:start!important;
  margin:154px 0 0!important;
  display:flex!important;
}
body.sg-session-active .sg-pill{
  padding:7px 11px!important;
  border:1px solid rgba(57,185,178,.42)!important;
  border-radius:999px!important;
  background:var(--sg-tt-teal-soft)!important;
  color:#e8fffd!important;
  font-size:14px!important;
  font-weight:900!important;
}
body.sg-session-active .sg-support,
body.sg-session-active .sg-easier{
  grid-row:2!important;
  align-self:start!important;
  margin:200px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#e7dfd5!important;
  font-size:15px!important;
  line-height:1.42!important;
}
body.sg-session-active .sg-support b{color:#e4bd72!important}
body.sg-session-active .sg-easier{
  margin-top:242px!important;
  color:#c7ded5!important;
}
body.sg-session-active .sg-easier b{color:#70c99d!important}
body.sg-session-active .sg-timer-card{
  grid-row:2!important;
  align-self:start!important;
  margin:292px 0 0!important;
  padding:12px 14px!important;
  border:1px solid var(--sg-tt-line)!important;
  border-radius:14px!important;
  background:var(--sg-tt-panel)!important;
  box-shadow:none!important;
  gap:10px!important;
}
body.sg-session-active .sg-clock{
  min-width:62px!important;
  color:var(--sg-tt-teal)!important;
  font-size:34px!important;
}
body.sg-session-active .sg-timer-copy b{
  color:var(--sg-tt-text)!important;
  font-size:14px!important;
}
body.sg-session-active .sg-timer-copy span{
  color:var(--sg-tt-muted)!important;
  font-size:11px!important;
}
body.sg-session-active .sg-timer-card .btn{
  min-height:44px!important;
  padding:9px 12px!important;
  border-radius:11px!important;
  font-size:13px!important;
}
body.sg-session-active.sg-mode-manual .sg-timer-card:has(#sgTimerBtn.sg-hidden){display:none!important}

/* Controls: large, calm, obvious. One primary action. */
body.sg-session-active .sg-controls{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  padding:10px 0 calc(12px + env(safe-area-inset-bottom))!important;
  border:0!important;
  border-top:1px solid var(--sg-tt-line)!important;
  background:var(--sg-tt-bg)!important;
}
body.sg-session-active .sg-controls .btn{
  min-height:62px!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid var(--sg-tt-line)!important;
  border-radius:13px!important;
  background:var(--sg-tt-panel)!important;
  color:var(--sg-tt-text)!important;
  box-shadow:none!important;
  font:900 16px/1.1 Inter,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.sg-session-active .sg-controls .btn:hover{background:var(--sg-tt-panel2)!important}
body.sg-session-active .sg-controls .btn:focus-visible{
  outline:3px solid #fff!important;
  outline-offset:3px!important;
}
body.sg-session-active #sgNextBtn{
  background:var(--sg-tt-teal)!important;
  border-color:var(--sg-tt-teal)!important;
  color:#04100f!important;
}
body.sg-session-active .sg-controls .danger{
  background:rgba(201,74,93,.10)!important;
  border-color:rgba(201,74,93,.45)!important;
  color:#ffd9de!important;
}

/* Tablet/smaller desktop: keep same hierarchy, reduce only scale—not control usability. */
@media(max-width:900px) and (min-width:701px){
  body.sg-session-active .sg-stage-body{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr)!important;column-gap:16px!important;padding-top:10px!important}
  body.sg-session-active .sg-current{font-size:40px!important}
  body.sg-session-active .sg-instruction{margin-top:66px!important;font-size:16px!important}
  body.sg-session-active .sg-dose{margin-top:130px!important}
  body.sg-session-active .sg-support{margin-top:174px!important;font-size:14px!important}
  body.sg-session-active .sg-easier{margin-top:214px!important;font-size:14px!important}
  body.sg-session-active .sg-timer-card{margin-top:260px!important}
  body.sg-session-active .sg-controls .btn{min-height:58px!important;font-size:15px!important}
}

/* Mobile: one quiet lesson. Full image + readable coaching + 2x2 large controls. */
@media(max-width:700px){
  body.sg-session-active .sg-stage-top,
  body.sg-session-active .sg-stage-body,
  body.sg-session-active .sg-controls{width:calc(100% - 20px)!important}
  body.sg-session-active .sg-stage-top{padding:9px 0 7px!important}
  body.sg-session-active .sg-stage-meta strong{font-size:11px!important}
  body.sg-session-active .sg-stage-meta span{font-size:9px!important;max-width:62%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.sg-session-active .sg-progress{height:4px!important;margin-top:7px!important}
  body.sg-session-active .sg-stage-body{
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto auto auto!important;
    gap:6px!important;
    padding:7px 0 6px!important;
    overflow:hidden!important;
  }
  body.sg-session-active .sg-now-next{grid-column:1!important;grid-row:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.sg-session-active .sg-now-next>div:last-child{min-height:18px!important;overflow:hidden!important}
  body.sg-session-active .sg-now-next small{font-size:9px!important}
  body.sg-session-active .sg-now-next b{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.sg-session-active .sg-visual-wrap{
    grid-column:1!important;
    grid-row:2!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:15px!important;
  }
  body.sg-session-active .sg-current{
    grid-column:1!important;grid-row:3!important;
    margin:0!important;
    font-size:clamp(29px,8.6vw,38px)!important;
    line-height:.91!important;
  }
  body.sg-session-active .sg-instruction{
    grid-column:1!important;grid-row:4!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.28!important;
  }
  body.sg-session-active .sg-dose{
    grid-column:1!important;grid-row:5!important;
    margin:0!important;
  }
  body.sg-session-active .sg-pill{font-size:10.5px!important;padding:4px 8px!important}
  body.sg-session-active .sg-support,
  body.sg-session-active .sg-easier{
    grid-column:1!important;
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.22!important;
  }
  body.sg-session-active .sg-support{grid-row:6!important}
  body.sg-session-active .sg-easier{grid-row:7!important}
  body.sg-session-active .sg-timer-card{
    position:absolute!important;
    right:0!important;
    bottom:4px!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:5px 7px!important;
    border-radius:9px!important;
    grid-template-columns:auto auto!important;
    gap:5px!important;
  }
  body.sg-session-active .sg-clock{font-size:21px!important;min-width:0!important}
  body.sg-session-active .sg-timer-copy{display:none!important}
  body.sg-session-active .sg-timer-card .btn{min-height:32px!important;padding:4px 6px!important;font-size:9px!important}
  body.sg-session-active .sg-controls{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:8px 0 calc(9px + env(safe-area-inset-bottom))!important;
  }
  body.sg-session-active .sg-controls .btn{
    min-height:56px!important;
    padding:10px 8px!important;
    border-radius:12px!important;
    font-size:15px!important;
  }
}

/* Short phones: image yields some height, buttons and coaching do not become tiny. */
@media(max-width:700px) and (max-height:720px){
  body.sg-session-active .sg-stage-meta strong{font-size:10px!important}
  body.sg-session-active .sg-stage-body{gap:4px!important;padding-top:4px!important}
  body.sg-session-active .sg-current{font-size:27px!important}
  body.sg-session-active .sg-instruction{font-size:11.8px!important;line-height:1.18!important}
  body.sg-session-active .sg-support,body.sg-session-active .sg-easier{font-size:10.2px!important;line-height:1.15!important}
  body.sg-session-active .sg-controls{gap:6px!important;padding-top:6px!important}
  body.sg-session-active .sg-controls .btn{min-height:50px!important;font-size:14px!important}
}

/* === 12.5.12.7 FINAL TRAIN-TODAY-CLEAN ACTIVE SURFACE ===
   Setup/preview remain untouched. These rules apply only while the guided
   session or its immediate outcome owns the viewport. */
body.sg-session-active{
  --sg-clean-bg:#07111d;
  --sg-clean-panel:#0b1827;
  --sg-clean-panel2:#0e2032;
  --sg-clean-line:#234159;
  --sg-clean-line-soft:rgba(111,153,185,.22);
  --sg-clean-text:#f7f8fb;
  --sg-clean-muted:#aebdca;
  --sg-clean-teal:#57d4cf;
  --sg-clean-blue:#2d8cff;
  --sg-clean-danger:#cf6070;
  background:var(--sg-clean-bg)!important;
  overflow:hidden!important;
}
body.sg-session-active .wrap.sg-shell,
body.sg-session-active #main,
body.sg-session-active #sgStage{
  background:var(--sg-clean-bg)!important;
}
body.sg-session-active .wrap.sg-shell{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important;z-index:8990!important;
}
body.sg-session-active .sg-shell>.top,
body.sg-session-active .sg-shell>.foot,
body.sg-session-active #bpf-global-bottom-nav,
body.sg-session-active .bpf-global-bottom-nav,
body.sg-session-active .bottom-nav,
body.sg-session-active .bpf-bottom-nav,
body.sg-session-active .bot-nav{display:none!important}
body.sg-session-active #main{height:100dvh!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
body.sg-session-active #main>:not(#sgStage):not(#sgImgModal){display:none!important}
body.sg-session-active #sgStage{
  position:fixed!important;inset:0!important;z-index:9000!important;width:100vw!important;height:100dvh!important;
  min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;
}
body.sg-session-active #sgStage::before,body.sg-session-active #sgStage::after{display:none!important;content:none!important}
body.sg-session-active .sg-stage-top,
body.sg-session-active .sg-stage-body,
body.sg-session-active .sg-controls{width:min(1120px,calc(100% - 36px))!important;margin-left:auto!important;margin-right:auto!important}
body.sg-session-active .sg-stage-top{padding:14px 0 10px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--sg-clean-line-soft)!important}
body.sg-session-active .sg-stage-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
body.sg-session-active .sg-stage-meta strong{font:900 14px/1 Inter,Arial,sans-serif!important;color:var(--sg-clean-text)!important;letter-spacing:.02em!important;text-transform:uppercase!important}
body.sg-session-active .sg-stage-meta span{font:700 12px/1.2 Inter,Arial,sans-serif!important;color:var(--sg-clean-muted)!important;text-align:right!important}
body.sg-session-active .sg-progress{height:5px!important;margin-top:10px!important;background:#14273a!important;border-radius:999px!important;overflow:hidden!important}
body.sg-session-active .sg-progress i{background:linear-gradient(90deg,var(--sg-clean-blue),var(--sg-clean-teal))!important;border-radius:999px!important;height:100%!important;display:block!important}

body.sg-session-active .sg-stage-body{
  min-height:0!important;overflow:hidden!important;padding:14px 0 12px!important;
  display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;gap:10px 24px!important;align-items:stretch!important;
}
body.sg-session-active .sg-now-next{grid-column:1/-1!important;grid-row:1!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;display:block!important}
body.sg-session-active .sg-now-next>div:first-child{display:none!important}
body.sg-session-active .sg-now-next>div:last-child{display:flex!important;align-items:baseline!important;gap:8px!important;min-height:22px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
body.sg-session-active .sg-now-next small{font:900 11px/1 Inter,Arial,sans-serif!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--sg-clean-teal)!important}
body.sg-session-active .sg-now-next b{font:800 13px/1.2 Inter,Arial,sans-serif!important;color:var(--sg-clean-muted)!important}
body.sg-session-active .sg-next-thumb{display:none!important}

body.sg-session-active .sg-visual-wrap{grid-column:1!important;grid-row:2!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:1px solid var(--sg-clean-line)!important;border-radius:20px!important;background:#03070b!important;overflow:hidden!important;box-shadow:0 18px 55px rgba(0,0,0,.28)!important;display:block!important}
body.sg-session-active .sg-visual-btn{width:100%!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;background:#03070b!important;display:grid!important;place-items:center!important}
body.sg-session-active .sg-exercise-img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important;display:block!important}
body.sg-session-active .sg-visual-actions{display:none!important}

body.sg-session-active .sg-coach-panel{
  grid-column:2!important;grid-row:2!important;min-width:0!important;min-height:0!important;
  display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;
  gap:11px!important;padding:4px 2px 2px!important;overflow:hidden!important;background:transparent!important;
}
body.sg-session-active .sg-coach-panel #sgRoundLabel{display:none!important}
body.sg-session-active .sg-current{margin:0!important;font:900 clamp(38px,4.1vw,56px)/.92 'Barlow Condensed',Arial,sans-serif!important;letter-spacing:-.025em!important;text-transform:uppercase!important;color:var(--sg-clean-text)!important}
body.sg-session-active .sg-instruction{margin:0!important;font:600 17px/1.42 Inter,Arial,sans-serif!important;color:#dce4eb!important}
body.sg-session-active .sg-dose{margin:0!important;display:flex!important}
body.sg-session-active .sg-pill{padding:7px 11px!important;border:1px solid rgba(87,212,207,.42)!important;border-radius:999px!important;background:rgba(87,212,207,.10)!important;color:#eaffff!important;font:900 13px/1.15 Inter,Arial,sans-serif!important}
body.sg-session-active .sg-support,body.sg-session-active .sg-easier{margin:0!important;padding:0!important;border:0!important;background:transparent!important;font:700 14px/1.35 Inter,Arial,sans-serif!important;color:#dfe7ed!important}
body.sg-session-active .sg-support b{color:#f2cf86!important}
body.sg-session-active .sg-easier{color:#c8ded8!important}
body.sg-session-active .sg-easier b{color:#79d8ae!important}
body.sg-session-active .sg-timer-card{margin:4px 0 0!important;padding:12px 14px!important;border:1px solid var(--sg-clean-line-soft)!important;border-radius:14px!important;background:var(--sg-clean-panel)!important;box-shadow:none!important;gap:10px!important}
body.sg-session-active .sg-clock{min-width:58px!important;font-size:31px!important;color:var(--sg-clean-teal)!important}
body.sg-session-active .sg-timer-copy b{font-size:13px!important;color:var(--sg-clean-text)!important}
body.sg-session-active .sg-timer-copy span{font-size:11px!important;color:var(--sg-clean-muted)!important}
body.sg-session-active .sg-timer-card .btn{min-height:42px!important;padding:8px 10px!important;border-radius:10px!important;font-size:12px!important}
body.sg-session-active .sg-audio-status{display:none!important}
body.sg-session-active.sg-mode-manual .sg-timer-card:has(#sgTimerBtn.sg-hidden){display:none!important}

body.sg-session-active .sg-controls{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;padding:10px 0 calc(12px + env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid var(--sg-clean-line-soft)!important;background:var(--sg-clean-bg)!important}
body.sg-session-active .sg-controls .btn{min-height:62px!important;margin:0!important;padding:12px 14px!important;border:1px solid var(--sg-clean-line)!important;border-radius:13px!important;background:var(--sg-clean-panel)!important;color:var(--sg-clean-text)!important;box-shadow:none!important;font:900 16px/1.1 Inter,Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important}
body.sg-session-active .sg-controls .btn:hover{background:var(--sg-clean-panel2)!important}
body.sg-session-active .sg-controls .btn:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
body.sg-session-active #sgNextBtn{background:linear-gradient(135deg,#2f92ff,#2674ff)!important;border-color:#479cff!important;color:#fff!important;box-shadow:0 10px 28px rgba(39,116,255,.22)!important}
body.sg-session-active .sg-controls .danger{background:rgba(207,96,112,.10)!important;border-color:rgba(207,96,112,.48)!important;color:#ffdce1!important}

/* Clean immediate outcome after Finish or Stop: no underlying gold frame or page overlap. */
body.sg-session-outcome{margin:0!important;padding:0!important;background:#07111d!important;overflow:hidden!important}
body.sg-session-outcome .wrap.sg-shell{position:fixed!important;inset:0!important;z-index:8990!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;background:#07111d!important;overflow:auto!important}
body.sg-session-outcome .sg-shell>.top,body.sg-session-outcome .sg-shell>.foot,body.sg-session-outcome #bpf-global-bottom-nav,body.sg-session-outcome .bpf-global-bottom-nav,body.sg-session-outcome .bottom-nav,body.sg-session-outcome .bpf-bottom-nav{display:none!important}
body.sg-session-outcome #main{min-height:100dvh!important;margin:0!important;padding:clamp(22px,6vh,70px) 18px!important;background:#07111d!important;display:grid!important;place-items:center!important}
body.sg-session-outcome #main>:not(#sgOutcome):not(#sgReceipt){display:none!important}
body.sg-session-outcome #sgOutcome,body.sg-session-outcome #sgReceipt{width:min(760px,100%)!important;margin:0!important;padding:clamp(22px,4vw,38px)!important;border:1px solid #234159!important;border-radius:22px!important;background:#0b1827!important;box-shadow:0 22px 70px rgba(0,0,0,.34)!important}

@media(max-width:700px){
  body.sg-session-active .sg-stage-top,body.sg-session-active .sg-stage-body,body.sg-session-active .sg-controls{width:calc(100% - 20px)!important}
  body.sg-session-active .sg-stage-top{padding:9px 0 7px!important}
  body.sg-session-active .sg-stage-meta strong{font-size:11px!important}
  body.sg-session-active .sg-stage-meta span{font-size:9px!important;max-width:62%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.sg-session-active .sg-progress{height:4px!important;margin-top:7px!important}
  body.sg-session-active .sg-stage-body{grid-template-columns:1fr!important;grid-template-rows:auto minmax(155px,34dvh) auto!important;gap:6px!important;padding:7px 0 6px!important;overflow:hidden!important}
  body.sg-session-active .sg-now-next{grid-column:1!important;grid-row:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.sg-session-active .sg-now-next>div:last-child{min-height:17px!important;overflow:hidden!important}
  body.sg-session-active .sg-now-next small{font-size:9px!important}
  body.sg-session-active .sg-now-next b{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.sg-session-active .sg-visual-wrap{grid-column:1!important;grid-row:2!important;border-radius:15px!important;min-height:0!important}
  body.sg-session-active .sg-coach-panel{grid-column:1!important;grid-row:3!important;gap:5px!important;padding:0!important;overflow:hidden!important}
  body.sg-session-active .sg-current{font-size:clamp(28px,8.4vw,36px)!important;line-height:.92!important}
  body.sg-session-active .sg-instruction{font-size:12.5px!important;line-height:1.24!important}
  body.sg-session-active .sg-pill{font-size:10.5px!important;padding:4px 8px!important}
  body.sg-session-active .sg-support,body.sg-session-active .sg-easier{font-size:10.8px!important;line-height:1.18!important}
  body.sg-session-active .sg-timer-card{margin:1px 0 0!important;padding:6px 8px!important;border-radius:9px!important;min-height:34px!important}
  body.sg-session-active .sg-clock{font-size:20px!important;min-width:38px!important}
  body.sg-session-active .sg-timer-copy{display:none!important}
  body.sg-session-active .sg-timer-card .btn{min-height:30px!important;padding:4px 7px!important;font-size:9px!important}
  body.sg-session-active .sg-controls{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:8px 0 calc(9px + env(safe-area-inset-bottom))!important}
  body.sg-session-active .sg-controls .btn{min-height:56px!important;padding:10px 8px!important;border-radius:12px!important;font-size:15px!important}
}
@media(max-width:700px) and (max-height:720px){
  body.sg-session-active .sg-stage-top{padding-top:6px!important;padding-bottom:5px!important}
  body.sg-session-active .sg-stage-body{grid-template-rows:auto minmax(122px,29dvh) auto!important;gap:4px!important;padding-top:4px!important;padding-bottom:4px!important}
  body.sg-session-active .sg-coach-panel{gap:3px!important}
  body.sg-session-active .sg-current{font-size:26px!important}
  body.sg-session-active .sg-instruction{font-size:11.4px!important;line-height:1.17!important}
  body.sg-session-active .sg-support,body.sg-session-active .sg-easier{font-size:9.8px!important;line-height:1.12!important}
  body.sg-session-active .sg-controls{gap:6px!important;padding-top:6px!important;padding-bottom:calc(7px + env(safe-area-inset-bottom))!important}
  body.sg-session-active .sg-controls .btn{min-height:50px!important;font-size:14px!important}
}

/* === CLEAN4.5.14.1.2.3.3.12.5.12.8 — TRAIN-TODAY BLUE FAMILY VISUAL ALIGNMENT ===
   Visual-only successor to 12.5.12.7. Steady setup structure and all runtime
   behavior remain unchanged. Blue/navy is the parent palette; cyan/teal is
   deliberately limited to small labels, progress accents, and focus cues. */
body[data-bpf-guide-page="steady-practice"]{
  --sg-family-bg:#040a12;
  --sg-family-panel:#07121f;
  --sg-family-panel2:#0b1b2c;
  --sg-family-line:rgba(126,184,229,.16);
  --sg-family-line-strong:rgba(70,167,255,.34);
  --sg-family-text:#f7f9fc;
  --sg-family-muted:#aebdca;
  --sg-family-blue:#268cff;
  --sg-family-blue2:#075dff;
  --sg-family-cyan:#42d4e4;
  background:
    radial-gradient(circle at 82% 8%,rgba(22,111,235,.13),transparent 29%),
    radial-gradient(circle at 12% 48%,rgba(47,210,187,.035),transparent 24%),
    linear-gradient(180deg,#030911,#06101a 46%,#040a12)!important;
  color:var(--sg-family-text)!important;
}
body[data-bpf-guide-page="steady-practice"] .sg-shell>.top{
  border-bottom:1px solid rgba(126,184,229,.10);
  padding-bottom:14px;
}
body[data-bpf-guide-page="steady-practice"] .sg-shell>.top .brand{color:#eaf3fb!important}
body[data-bpf-guide-page="steady-practice"] .sg-shell>.top .help{
  color:#c4d1dc!important;background:rgba(255,255,255,.018)!important;
  border-color:rgba(126,184,229,.16)!important
}
body[data-bpf-guide-page="steady-practice"] #sgHero{
  border-color:rgba(38,140,255,.34)!important;
  background:
    radial-gradient(520px 330px at 98% 0%,rgba(12,103,233,.26),transparent 68%),
    linear-gradient(135deg,#071729 0%,#061426 58%,#07172a 100%)!important;
  box-shadow:0 20px 58px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
/* Fix the badge/kicker collision visible on the prior Steady hero. */
body[data-bpf-guide-page="steady-practice"] #sgHero>.badge{
  display:inline-flex!important;position:relative!important;inset:auto!important;
  margin:0 0 14px!important;padding:7px 12px!important;
  border-color:rgba(66,212,228,.34)!important;
  background:rgba(38,140,255,.08)!important;
  color:var(--sg-family-cyan)!important;
  line-height:1!important;transform:none!important;
}
body[data-bpf-guide-page="steady-practice"] #sgHero>.kicker{
  display:block!important;position:relative!important;inset:auto!important;
  margin:0 0 10px!important;color:var(--sg-family-cyan)!important;
  line-height:1.1!important;transform:none!important;
}
body[data-bpf-guide-page="steady-practice"] #sgHero h1{color:#f7f9fc!important}
body[data-bpf-guide-page="steady-practice"] #sgHero h1 .r{color:#f7f9fc!important}
body[data-bpf-guide-page="steady-practice"] #sgHero .lead{color:#afbfcd!important}
body[data-bpf-guide-page="steady-practice"] #sgSetup,
body[data-bpf-guide-page="steady-practice"] #sgPreview,
body[data-bpf-guide-page="steady-practice"] #sgReminder{
  border-color:var(--sg-family-line)!important;
  background:linear-gradient(180deg,rgba(7,18,31,.97),rgba(5,14,24,.97))!important;
}
body[data-bpf-guide-page="steady-practice"] .sg-kicker{color:var(--sg-family-cyan)!important}
body[data-bpf-guide-page="steady-practice"] .sg-mode-box,
body[data-bpf-guide-page="steady-practice"] .sg-plan-row{
  border-color:var(--sg-family-line)!important;background:rgba(4,13,22,.52)!important
}
body[data-bpf-guide-page="steady-practice"] .sg-mode input:checked+.sg-mode-box{
  border-color:rgba(38,140,255,.78)!important;background:rgba(38,140,255,.14)!important;
  box-shadow:inset 0 0 0 1px rgba(38,140,255,.18)!important
}
body[data-bpf-guide-page="steady-practice"] .sg-mode input:focus-visible+.sg-mode-box{outline-color:var(--sg-family-blue)!important}
body[data-bpf-guide-page="steady-practice"] .sg-plan-num{
  background:rgba(38,140,255,.16)!important;color:#8fc7ff!important
}
body[data-bpf-guide-page="steady-practice"] .sg-plan-mode{color:#9bcfff!important}
body[data-bpf-guide-page="steady-practice"] #sgPreviewBtn,
body[data-bpf-guide-page="steady-practice"] #sgStartBtn{
  background:linear-gradient(145deg,#2fa0ff,#0868ff 68%,#0754e9)!important;
  color:#fff!important;border:1px solid rgba(126,198,255,.26)!important;
  box-shadow:0 14px 34px rgba(17,103,255,.22),inset 0 1px 0 rgba(255,255,255,.14)!important
}

/* Active session: same family as Train for Today, with cyan/teal reduced to
   small labels and accents rather than becoming the surface identity. */
body.sg-session-active{
  --sg-clean-bg:#040a12;
  --sg-clean-panel:#07121f;
  --sg-clean-panel2:#0b1b2c;
  --sg-clean-line:rgba(126,184,229,.22);
  --sg-clean-line-soft:rgba(126,184,229,.15);
  --sg-clean-text:#f7f9fc;
  --sg-clean-muted:#aebdca;
  --sg-clean-teal:#42d4e4;
  --sg-clean-blue:#268cff;
  --sg-clean-danger:#cf6070;
  background:
    radial-gradient(circle at 82% 0%,rgba(22,111,235,.11),transparent 31%),
    linear-gradient(180deg,#030911,#06101a 48%,#040a12)!important;
}
body.sg-session-active .wrap.sg-shell,
body.sg-session-active #main,
body.sg-session-active #sgStage{background:transparent!important}
body.sg-session-active .sg-stage-top,
body.sg-session-active .sg-stage-body,
body.sg-session-active .sg-controls{width:min(1120px,calc(100% - 44px))!important}
body.sg-session-active .sg-progress{background:rgba(126,184,229,.10)!important}
body.sg-session-active .sg-progress i{
  background:linear-gradient(90deg,#278cff,#1682ff 78%,#42d4e4)!important
}
body.sg-session-active .sg-now-next small{color:var(--sg-clean-teal)!important}
body.sg-session-active .sg-visual-wrap{
  border-color:rgba(126,184,229,.20)!important;
  background:#02070d!important;
  box-shadow:0 20px 55px rgba(0,0,0,.30)!important
}
body.sg-session-active .sg-visual-btn,
body.sg-session-active .sg-exercise-img{background:#02070d!important}
body.sg-session-active .sg-pill{
  border-color:rgba(70,167,255,.34)!important;
  background:rgba(38,140,255,.10)!important;
  color:#d9ebff!important
}
body.sg-session-active .sg-support b{color:#e6c57d!important}
body.sg-session-active .sg-easier{color:#cbd8e2!important}
body.sg-session-active .sg-easier b{color:#9fc6e8!important}
body.sg-session-active .sg-timer-card{
  border-color:rgba(126,184,229,.17)!important;background:rgba(7,18,31,.92)!important
}
body.sg-session-active .sg-clock{color:#70b7ff!important}
body.sg-session-active .sg-controls{
  border-top-color:rgba(126,184,229,.14)!important;background:#040a12!important
}
body.sg-session-active .sg-controls .btn{
  border-color:rgba(126,184,229,.20)!important;background:#07121f!important;color:#f4f8fc!important
}
body.sg-session-active .sg-controls .btn:hover{background:#0b1b2c!important;border-color:rgba(70,167,255,.34)!important}
body.sg-session-active #sgNextBtn{
  background:linear-gradient(145deg,#2fa0ff,#0868ff 68%,#0754e9)!important;
  border-color:rgba(126,198,255,.32)!important;
  box-shadow:0 12px 30px rgba(17,103,255,.24)!important
}
body.sg-session-active .sg-controls .danger{
  background:rgba(207,96,112,.075)!important;border-color:rgba(207,96,112,.36)!important
}
body.sg-session-outcome,
body.sg-session-outcome .wrap.sg-shell,
body.sg-session-outcome #main{background:#040a12!important}
body.sg-session-outcome #sgOutcome,
body.sg-session-outcome #sgReceipt{
  border-color:rgba(126,184,229,.20)!important;background:#07121f!important
}
@media(max-width:700px){
  body.sg-session-active .sg-stage-top,
  body.sg-session-active .sg-stage-body,
  body.sg-session-active .sg-controls{width:calc(100% - 22px)!important}
  body[data-bpf-guide-page="steady-practice"] #sgHero>.badge{margin-bottom:12px!important}
}

/* 12.5.12.9 — mode-exclusive active controls. Higher specificity than the
   active-session grid rule so hidden Manual/Class control rows stay hidden. */
body.sg-session-active .sg-controls.sg-hidden{display:none!important}
body.sg-session-active.sg-mode-manual #sgClassControls{display:none!important}
body.sg-session-active.sg-mode-class #sgManualControls{display:none!important}
