body.treadmill-console-page { min-height: 100dvh; }
body.treadmill-console-page main.treadmill-console { width:min(1540px,calc(100% - 40px));margin:auto;padding:14px 0 max(24px,env(safe-area-inset-bottom)); }
.treadmill-console * { box-sizing:border-box; }
.visually-hidden { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.console-workout { padding:0 2px 10px; }
.console-workout-heading,.console-title-line,.console-step-line,.console-connections,.console-trace-heading,.trace-time { display:flex;align-items:baseline;justify-content:space-between;gap:12px; }
.console-workout-heading { margin-bottom:7px; }
.execution-phase,.execution-mode { font-weight:800;font-size:clamp(12px,1.2vw,16px);letter-spacing:.055em; }
.execution-phase { color:var(--rc-positive); }
.execution-mode[data-mode^="manual"] { color:var(--rc-warning); }
.console-title-line { align-items:end; }
.console-title-line h1 { margin:0;color:var(--rc-text);font-size:clamp(24px,3vw,48px);letter-spacing:-.035em;line-height:1.05;overflow-wrap:anywhere; }
.execution-total { white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--rc-text);font-size:clamp(17px,2vw,30px);font-weight:700; }
.console-step-line { justify-content:flex-start;flex-wrap:wrap;margin-top:8px;color:var(--rc-text-muted);font-size:clamp(14px,1.5vw,20px); }
.console-step-line>strong { color:var(--rc-text); }
.console-step-line .console-next { margin-left:auto; }
.console-step-line .console-next strong { color:var(--rc-text);font-weight:650; }
.console-workout p { margin:8px 0 0;color:var(--rc-text-muted);font-size:13px; }
.console-message:empty,.console-stop-message:empty { display:none; }
.console-workout #execution-warning:not(:empty) { color:var(--rc-warning); }
.execution-mode-controls { display:flex;flex-wrap:wrap;gap:8px;margin-top:10px; }
.execution-mode-controls button { min-height:46px;padding:8px 15px;border:1px solid var(--rc-border);border-radius:var(--rc-radius-control);background:var(--rc-surface-strong);color:var(--rc-text);font:inherit;font-size:14px;font-weight:700;cursor:pointer; }
.execution-mode-controls button[aria-pressed="true"] { border-color:var(--rc-warning); }
.execution-mode-controls button:disabled { opacity:.45;cursor:not-allowed; }
.console-connections { justify-content:flex-start;flex-wrap:wrap;margin:8px 0 12px; }
.console-status { display:inline-flex;align-items:center;gap:7px;color:var(--rc-text-muted);font-size:13px; }
.console-status::before { content:'';width:7px;height:7px;border-radius:50%;background:var(--rc-warning); }
.console-status[data-state="fresh"]::before { background:var(--rc-positive); }
.console-status[data-state="disconnected"]::before,.console-status[data-state="error"]::before { background:var(--rc-danger); }
.console-trace { height:clamp(215px,34dvh,390px);padding:14px 18px 8px;margin-bottom:14px;border:1px solid var(--rc-border);border-radius:var(--rc-radius-section);background:var(--rc-surface);display:flex;flex-direction:column; }
.console-trace-heading { flex:0 0 auto;font-size:13px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--rc-text-muted); }
.console-trace-heading>div { display:flex;gap:16px; }
.trace-key::before { content:'';display:inline-block;width:19px;margin-right:6px;vertical-align:4px;border-top:3px solid; }
.trace-key.planned::before { color:var(--rc-primary); }
.trace-key.actual::before { color:var(--rc-positive);border-top-width:5px; }
#workout-trace { width:100%;height:100%;min-height:0;overflow:visible; }
#trace-planned { stroke:var(--rc-primary);stroke-width:3.5;stroke-linejoin:round;vector-effect:non-scaling-stroke; }
#trace-actual { stroke:var(--rc-positive);stroke-width:5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke; }
#trace-now { stroke:var(--rc-text);stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke; }
#trace-now-label { fill:var(--rc-text);font-size:19px;font-weight:800; }
#trace-grid line { stroke:var(--rc-border);stroke-width:1;vector-effect:non-scaling-stroke; }
#trace-grid text { fill:var(--rc-text-muted);font-size:18px; }
.trace-time { flex:0 0 auto;font-size:12px;color:var(--rc-text-muted);font-variant-numeric:tabular-nums; }
.console-telemetry { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px;padding:6px 0 18px;text-align:center; }
.console-telemetry>div { min-width:0; }
.console-telemetry output { display:block;color:var(--rc-text);font-size:clamp(38px,5vw,80px);font-weight:800;line-height:1.05;letter-spacing:-.06em;font-variant-numeric:tabular-nums; }
.console-telemetry>div:first-child output { font-size:clamp(42px,5.5vw,88px); }
.console-telemetry>div:nth-child(2) output { color:var(--rc-danger); }
.console-telemetry small { display:block;color:var(--rc-text-muted);font-size:clamp(11px,1vw,15px);font-weight:800;letter-spacing:.05em; }
.console-controls { display:grid;gap:10px; }
.console-pace-form { display:flex;align-items:end;gap:10px; }
.console-pace-inputs { display:flex;align-items:end;gap:8px; }
.console-pace-inputs>div { width:100px; }
.console-pace-inputs label { display:block;margin-bottom:4px;color:var(--rc-text-muted);font-size:12px; }
.console-pace-inputs>span { align-self:center;color:var(--rc-text-muted); }
body.treadmill-console-page .console-controls input,body.treadmill-console-page .console-controls button { min-height:72px;border:1px solid var(--rc-border);border-radius:var(--rc-radius-control);background:var(--rc-surface-strong);color:var(--rc-text);font:inherit;font-size:clamp(17px,1.5vw,23px); }
body.treadmill-console-page .console-controls input { width:100%;padding:8px;font-variant-numeric:tabular-nums; }
body.treadmill-console-page .console-controls button { padding:8px 12px;font-weight:750;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none; }
.console-adjustments { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.console-speed-controls,.console-incline-controls { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
body.treadmill-console-page .console-controls .console-stop { width:100%;min-height:88px;background:var(--rc-danger);color:#21100d;border:0;font-size:clamp(26px,3vw,40px);letter-spacing:.08em; }
body.treadmill-console-page .console-controls button:active,body.treadmill-console-page .console-controls button.is-pressed { background:var(--rc-primary);color:var(--rc-on-primary); }
body.treadmill-console-page .console-controls button:disabled { opacity:.45;cursor:not-allowed; }
.console-stop-message[data-state="error"],.console-message[data-state="error"] { color:var(--rc-danger); }
.console-stop-message,.console-message { margin:0; }
body.treadmill-console-page :focus-visible { outline:3px solid var(--rc-focus);outline-offset:3px; }
@media(max-width:760px) { body.treadmill-console-page main.treadmill-console { width:calc(100% - 24px);padding-top:9px; }.console-title-line { align-items:start;flex-direction:column;gap:4px; }.console-step-line .console-next { width:100%;margin-left:0; }.console-workout #execution-instruction { display:none; }.console-trace { height:clamp(190px,26dvh,240px);padding:10px 12px 7px; }.console-telemetry { grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px; }.console-telemetry output { font-size:clamp(40px,12vw,66px); }.console-pace-form { flex-wrap:wrap; }.console-adjustments { grid-template-columns:1fr; }.console-controls .console-stop { grid-row:1; }.console-controls button { min-height:72px!important; } }
@media(min-width:1024px) and (orientation:landscape) { .console-trace { height:30dvh; }.console-workout #execution-instruction { display:none; }.console-controls { grid-template-columns:1fr auto;align-items:end; }.console-adjustments { grid-column:1/-1; }.console-stop { grid-column:2;grid-row:1;min-width:300px; } }
@media(max-width:760px) { body.treadmill-console-page .console-controls input { min-height:72px!important; } body.treadmill-console-page .console-controls .console-stop { min-height:88px!important; } }
@media(max-width:760px) { .execution-mode-controls { flex-wrap:nowrap;gap:5px; }.execution-mode-controls button { flex:1 1 0;min-width:0;padding:6px 5px;font-size:11px;line-height:1.15; }.console-trace { height:190px; } }
@media(max-width:760px) { .console-telemetry>div:first-child output { font-size:clamp(52px,13vw,72px); } }
@media(min-width:1600px) { body.treadmill-console-page main.treadmill-console { width:min(1850px,calc(100% - 80px)); }.console-trace { max-height:520px; } }
@media(prefers-reduced-motion:reduce) { .treadmill-console *, .treadmill-console *::before { animation:none!important;transition:none!important; } }

/* Match the Home and Plan visual language without changing the live console layout. */
body.treadmill-console-page { background:#111411;color:#f2f0e9; }
body.treadmill-console-page .app-nav { border-color:rgba(237,239,232,.12);background:rgba(17,20,17,.96); }
body.treadmill-console-page .app-nav__link.active { border-color:rgba(116,185,139,.3);background:rgba(116,185,139,.14);color:#b8d9c2; }
body.treadmill-console-page main.treadmill-console { display:grid;gap:12px;padding-top:18px; }
.console-workout { position:relative;isolation:isolate;padding:11px clamp(16px,2vw,25px) 12px;border:1px solid rgba(116,185,139,.25);border-radius:16px;background:radial-gradient(circle at 4% 0,rgba(116,185,139,.13),transparent 48%),linear-gradient(118deg,#192a21,#1b211c 56%,#191d19);box-shadow:0 18px 50px rgba(0,0,0,.2); }
.console-workout::before { content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,#74b98b,rgba(116,185,139,.25) 55%,transparent); }
.console-workout-heading { align-items:start;gap:16px; }
.console-live-label { display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;min-height:30px; }
.console-eyebrow { color:#a9b8aa;font-size:11px;font-weight:850;letter-spacing:.16em; }
.execution-phase,.execution-mode { display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;border:1px solid rgba(116,185,139,.28);border-radius:99px;background:rgba(116,185,139,.12);color:#a5dfb7;font-size:11px;letter-spacing:.09em; }
.execution-mode { border-color:rgba(239,104,64,.28);background:rgba(239,104,64,.11);color:#ffab8b; }
.execution-mode[data-mode^="manual"] { color:#f7bb83; }
.console-title-line { margin-top:4px; }
.console-title-line h1 { color:#f2f0e9;font-size:clamp(24px,2.6vw,36px); }
.execution-total { color:#e2e8de;font-size:clamp(14px,1.4vw,20px); }
.console-step-line { margin-top:7px;padding-top:7px;border-top:1px solid rgba(237,239,232,.13); }
.treadmill-console[data-has-step="false"]:not([data-viewing="selected"]) .console-step-line { display:none; }
.console-step-line>strong { color:#f2f0e9; }
.console-step-line .console-next strong { color:#d4decf; }
.execution-mode-controls button { border-color:rgba(237,239,232,.15);background:#252e27;color:#e9ede5; }
.execution-mode-controls { margin-top:7px; }
.execution-mode-controls button { min-height:38px;padding:5px 11px;font-size:12px; }
.execution-mode-controls button:hover:not(:disabled) { border-color:rgba(239,104,64,.55);background:#303a31; }
.execution-mode-controls #resume-auto:not(:disabled) { border-color:rgba(116,185,139,.5);background:rgba(116,185,139,.17);color:#bfe9c7; }
.console-connections { margin:0;padding:2px 4px;gap:8px 20px; }
.console-status { font-size:12px; }
.console-trace { margin:0;border-color:rgba(237,239,232,.12);border-radius:17px;background:#1a211b; }
.console-trace-heading { color:#aab6aa;letter-spacing:.11em; }
.console-telemetry { gap:8px;padding:0; }
.console-telemetry>div { padding:16px 10px 13px;border:1px solid rgba(237,239,232,.12);border-radius:15px;background:#1b211c; }
.console-telemetry output { color:#f2f0e9; }
.console-telemetry small { margin-top:5px;letter-spacing:.11em; }
.console-controls { padding:14px;border:1px solid rgba(237,239,232,.12);border-radius:17px;background:#1a201b; }
body.treadmill-console-page .console-controls input,body.treadmill-console-page .console-controls button { border-color:rgba(237,239,232,.17);background:#252d26;color:#f2f0e9; }
body.treadmill-console-page .console-controls button:hover:not(:disabled):not(.console-stop) { border-color:rgba(239,104,64,.55);background:#303a31; }
body.treadmill-console-page .console-controls .console-stop { background:#ed6844;color:#25170f; }
body.treadmill-console-page .console-controls .console-stop:hover:not(:disabled) { background:#ff805a; }

.console-preview-picker { position:relative;z-index:5;width:min(300px,40%);flex:0 0 auto; }
.console-preview-picker label { display:block;margin-bottom:3px;color:#a9b8aa;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase; }
.console-preview-picker select { display:block;width:100%;min-height:32px;padding:4px 28px 4px 9px;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(237,239,232,.18);border-radius:9px;background:#252d26;color:#f2f0e9;font:inherit;font-size:12px;cursor:pointer; }
.console-preview-picker select:disabled { opacity:.6;cursor:default; }
#session-load-status { display:block;color:#ffb18f;font-size:11px;line-height:1.2; }
#session-load-status:empty { display:none; }
.treadmill-console[data-viewing="selected"] #trace-actual,.treadmill-console[data-viewing="selected"] #trace-now,.treadmill-console[data-viewing="selected"] #trace-now-label,.treadmill-console[data-viewing="selected"] .trace-key.actual { display:none; }
@media(max-width:760px) { body.treadmill-console-page main.treadmill-console { gap:9px;padding-top:10px; }.console-workout { padding:10px 12px; }.console-workout-heading { align-items:start; }.console-live-label { gap:4px; }.console-eyebrow { width:100%;font-size:9px; }.console-preview-picker { width:min(180px,49%); }.console-preview-picker label { font-size:9px; }.console-preview-picker select { font-size:11px; }.console-title-line { margin-top:4px; }.console-title-line h1 { font-size:clamp(22px,6vw,27px); }.console-telemetry>div { padding:10px 5px; }.console-controls { padding:10px; } }
@media(min-width:761px) and (max-height:900px) { .console-workout { padding-top:14px;padding-bottom:12px; }.console-trace { height:clamp(165px,23dvh,225px)!important; }.console-telemetry>div { padding-top:10px;padding-bottom:9px; } }
@media(max-width:760px) { .console-trace { height:125px; }.console-telemetry { row-gap:5px; }.console-telemetry>div { padding-top:5px;padding-bottom:4px; }.console-telemetry output { line-height:.95; }.console-controls { padding-top:7px; } }

/* Phone console: the watch is the session picker, with the graph and controls in view. */
@media(max-width:600px) {
  body.treadmill-console-page main.treadmill-console { gap:7px;padding-top:6px; }
  .console-workout { padding:9px 11px 10px;border-radius:12px;box-shadow:none; }
  .console-workout-heading { display:block;margin:0; }
  .console-live-label { min-height:0;width:100%;flex-wrap:nowrap;gap:6px; }
  .console-eyebrow { width:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;letter-spacing:.08em; }
  .execution-phase,.execution-mode { flex:0 0 auto;min-height:22px;padding:2px 7px;font-size:10px; }
  .console-preview-picker { display:none!important; }
  .console-title-line { flex-direction:row;align-items:baseline;gap:8px;margin-top:7px; }
  .console-title-line h1 { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-width:0;max-height:46px;font-size:21px;line-height:1.1; }
  .execution-total { flex:0 0 auto;color:#b9c7b9;font-size:12px; }
  .treadmill-console[data-has-step="false"] .execution-total { display:none; }
  .console-step-line { gap:3px 7px;margin-top:6px;padding-top:6px;font-size:12px;line-height:1.2; }
  .console-step-line .console-next { width:auto;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .execution-mode-controls { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px; }
  .execution-mode-controls button { min-height:44px;padding:5px 4px;font-size:11px;line-height:1.1; }
  .console-workout #execution-warning:not(:empty) { margin:5px 0 0;font-size:11px;line-height:1.2; }
  .console-connections { flex-wrap:wrap;gap:3px 12px;padding:1px 2px; }
  .console-status { font-size:10px;line-height:1.2; }
  .console-trace { height:185px;padding:9px 10px 6px;border-radius:12px; }
  .console-trace-heading { font-size:10px;letter-spacing:.08em; }
  .console-trace-heading>div { gap:8px; }
  .trace-key::before { width:11px;margin-right:4px;vertical-align:3px; }
  .trace-time { font-size:10px; }
  .console-telemetry { grid-template-columns:1.15fr .85fr 1fr .8fr;gap:4px; }
  .console-telemetry>div { display:grid;align-content:center;min-height:78px;padding:5px 2px;border-radius:10px; }
  .console-telemetry output,.console-telemetry>div:first-child output { font-size:clamp(27px,7.8vw,36px);line-height:1;letter-spacing:-.07em; }
  .console-telemetry>div:first-child output { font-size:clamp(34px,10vw,44px); }
  .console-telemetry small { min-height:18px;margin-top:5px;font-size:8px;line-height:1.1;letter-spacing:0;white-space:normal; }
  .console-controls { gap:7px;padding:7px;border-radius:12px; }
}
