/* PL command launcher: routes short in-app instructions to the local project hook. */
.pl-command-launcher{position:fixed;z-index:88;top:max(10px,env(safe-area-inset-top));right:max(10px,calc((100vw - 640px)/2 + 10px));width:42px;height:42px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-999);background:var(--color-rgba-255-255-255-97);color:var(--ui-nav-ink);box-shadow:0 5px 16px var(--color-rgba-16-24-40-12);display:grid;place-items:center;font-size:var(--font-size-11);font-weight:var(--font-weight-900);letter-spacing:-.02em;backdrop-filter:blur(12px)}
.pl-command-launcher[hidden]{display:none!important}
.pl-command-launcher:active{transform:scale(.97)}
.pl-command-sheet{display:grid;gap:12px}.pl-command-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pl-command-head .muted{flex:1}.pl-command-dashboard{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.pl-command-sheet .field{gap:7px}.pl-command-sheet textarea{min-height:116px;line-height:1.5}.pl-command-status{min-height:20px;padding:9px 10px;border-radius:var(--radius-10);background:var(--color-f6f8f5)}.pl-command-status[data-tone="forwarded"]{color:var(--ok);background:var(--color-eef5ed)}.pl-command-status[data-tone="failed"]{color:var(--danger);background:var(--color-fff7ed)}.pl-command-status[data-tone="sent"],.pl-command-status[data-tone="connecting"],.pl-command-status[data-tone="queued"],.pl-command-status[data-tone="waiting"]{color:var(--color-315680);background:var(--color-f8fbff)}
.pl-command-status[data-tone="completed"]{color:var(--ok);background:var(--color-eef5ed)}.pl-validation-panel{display:grid;gap:8px;padding:10px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-10);background:var(--color-f8fbff)}.pl-validation-head strong{font-size:var(--font-size-14);color:var(--ui-nav-ink)}.pl-validation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pl-validation-grid .btn{min-width:0;padding-inline:8px}.pl-validation-panel>[data-pl-validation-report]{width:100%}.pl-command-pair-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-10);background:var(--color-f6f8f5)}.pl-command-checklist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.pl-command-check{min-width:0;padding:8px 6px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-10);background:var(--color-f6f8f5);color:var(--muted);text-align:center;font-size:var(--font-size-11);line-height:1.25}.pl-command-check span{display:grid;place-items:center;width:18px;height:18px;margin:0 auto 5px;border:var(--border-thin) solid var(--ui-border);border-radius:50%;color:transparent;background:var(--ui-surface)}.pl-command-check b{display:block;overflow:hidden;text-overflow:ellipsis}.pl-command-check.is-current{border-color:var(--color-315680);color:var(--color-315680);background:var(--color-f8fbff)}.pl-command-check.is-done{border-color:var(--ok);color:var(--ok);background:var(--color-eef5ed)}.pl-command-check.is-done span{border-color:var(--ok);background:var(--ok);color:var(--color-fff)}.pl-command-reply{padding:11px 12px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-10);background:var(--color-rgba-255-255-255-97);font-size:var(--font-size-13);line-height:1.5;white-space:pre-wrap}
@media(max-width:420px){.pl-command-launcher{top:max(8px,env(safe-area-inset-top));right:8px;width:40px;height:40px}.pl-command-head{align-items:stretch;flex-direction:column}.pl-command-dashboard{width:100%}.pl-command-checklist{grid-template-columns:1fr 1fr}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}button,input,select,textarea{font:inherit}button{border:0;color:inherit;cursor:pointer}.app{width:min(640px,100%);min-height:100vh;margin:auto;background:var(--color-f8fafc);padding-bottom:84px}.top{position:sticky;top:0;z-index:60;background:var(--ink);color:var(--color-fff);padding:17px 18px 14px}.top h1{font-size:var(--font-xl);margin:0;font-weight:var(--font-weight-900);letter-spacing:-.03em}.top p{margin:4px 0 0;color:var(--color-cbd5e1);font-size:var(--font-sm)}.page{display:none;padding:var(--ui-page-pad)}.page.active{display:block}.card{background:var(--ui-surface);border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);padding:var(--ui-card-padding);margin-bottom:var(--ui-card-gap);box-shadow:var(--ui-shadow-card)}.hero{background:linear-gradient(145deg,var(--color-0f172a),var(--color-26344b));border:0;color:var(--color-fff)}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:grid;gap:9px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.muted{color:var(--muted)}.small{font-size:var(--font-sm)}.tiny{font-size:var(--font-xs)}.title{font-weight:var(--font-weight-900)}.big{font-size:var(--font-size-40);font-weight:var(--font-weight-950);line-height:1}.btn{width:100%;min-height:48px;border-radius:var(--radius-15);padding:12px 14px;background:var(--ink);color:var(--color-fff);font-weight:var(--font-weight-900)}.btn.secondary{background:var(--color-e8edf4);color:var(--ink)}.btn.ghost{background:var(--color-fff);color:var(--ink);border:var(--border-thin) solid var(--line)}.btn.danger{background:var(--danger)}.btn.sm{width:auto;min-height:38px;padding:8px 11px;border-radius:var(--radius-12)}.icon{width:40px;height:40px;border-radius:var(--radius-12);background:var(--color-edf1f5);display:grid;place-items:center;font-weight:var(--font-weight-900)}.pill{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:var(--radius-999);background:var(--color-e8edf4);font-size:var(--font-sm);font-weight:var(--font-weight-850)}.tagrow{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:5px 8px;border-radius:var(--radius-999);background:var(--color-eef2f6);font-size:var(--font-xs);font-weight:var(--font-weight-800)}.tag.pri{background:var(--color-dcfce7);color:var(--color-166534)}.tag.sec{background:var(--color-dbeafe);color:var(--color-1d4ed8)}.search{width:100%;padding:13px;border:var(--border-thin) solid var(--ui-control-border);border-radius:var(--radius-13);background:var(--ui-surface);color:var(--ink)}.bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:70;width:min(640px,100%);display:grid;grid-template-columns:repeat(3,1fr);padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:var(--color-rgba-255-255-255-98);border-top:var(--border-thin) solid var(--ui-border)}.bottom button{background:transparent;color:var(--color-667085);padding:5px;font-size:var(--ui-bottom-label-size)}.bottom button b{display:grid;place-items:center;width:44px;height:34px;margin:0 auto 3px;border-radius:var(--radius-999);background:transparent;font-size:var(--ui-bottom-icon-size)}.bottom button.active{color:var(--ink);font-weight:var(--font-weight-900)}.list{display:grid;gap:8px}.listitem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);background:var(--ui-surface)}.battery{height:10px;border-radius:var(--radius-999);background:var(--color-334155);overflow:hidden;margin-top:10px}.battery>div{height:100%;background:var(--color-fff)}.mapwrap{min-height:450px;border-radius:var(--radius-17);background:var(--color-fbfcfe);display:grid;place-items:center;overflow:hidden}.mapwrap svg{width:min(100%,360px)!important;height:auto!important}.tabs{display:flex;gap:7px}.tabs button{flex:1;min-width:0;padding:10px;border-radius:var(--radius-12);background:var(--color-e8edf4);font-weight:var(--font-weight-850)}.tabs button.active{background:var(--ink);color:var(--color-fff)}.selection{padding:12px;border-radius:var(--radius-14);background:var(--color-fff7ed);border:var(--border-strong) solid var(--color-fb923c)}.exercise{position:relative;border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);padding:13px;background:var(--ui-surface)}.exercise.selected{border:var(--border-strong) solid var(--ink);box-shadow:0 0 0 3px var(--color-rgba-15-23-42-06)}.exercise .meta{font-size:var(--font-sm);color:var(--muted);margin-top:4px}.exercise-actions{display:flex;gap:6px}.check{width:32px;height:32px;border-radius:var(--radius-10);background:var(--color-eef2f6);font-weight:var(--font-weight-900)}.check.on{background:var(--ink);color:var(--color-fff)}.plan{border:var(--border-thin) solid var(--line);border-radius:var(--radius-17);padding:12px}.value-deck{display:grid;grid-template-columns:repeat(3,1fr);border:var(--border-thin) solid var(--color-d5dde7);border-radius:var(--radius-18);overflow:hidden;background:var(--color-fbfcfe)}.value{padding:10px 5px;text-align:center;background:transparent;min-height:94px}.value+.value{border-left:var(--border-thin) solid var(--color-e0e5ec)}.value span{display:block;font-size:var(--font-xs);color:var(--color-667085);font-weight:var(--font-weight-800)}.value b{display:block;font-size:var(--font-display);line-height:1.1;margin:8px 0 5px}.value em{font-size:var(--font-xs);color:var(--color-94a3b8);font-style:normal}.session-status{text-align:center;font-size:var(--font-sm);font-weight:var(--font-weight-850);color:var(--color-475569)}.timer{font-size:var(--font-size-54);font-weight:var(--font-weight-950);text-align:center;letter-spacing:-.04em}.progress{height:10px;border-radius:var(--radius-999);background:var(--color-e5e7eb);overflow:hidden}.progress>div{height:100%;background:var(--ink)}.history{border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);padding:13px}.setrow{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:var(--border-thin) solid var(--color-edf1f5)}.setrow:first-child{border-top:0}.settings-menu{display:grid;gap:8px}.settings-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);background:var(--ui-surface);font-weight:var(--font-weight-900)}.sheet{position:fixed;z-index:100;left:50%;bottom:0;transform:translateX(-50%);width:min(640px,100%);max-height:88vh;background:var(--color-rgba-255-255-255-995);border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-shape-24px-24px-0-0);box-shadow:0 -14px 36px var(--color-rgba-15-23-42-2);display:none}.sheet.open{display:block}.sheethead{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:var(--border-thin) solid var(--line)}.sheetbody{overflow:auto;max-height:calc(88vh - 62px);padding:14px}.handle{width:74px;height:6px;border-radius:var(--radius-999);background:var(--color-cbd5e1);margin:0 auto 8px}.field{display:grid;gap:6px}.field label{font-size:var(--font-xs);color:var(--color-667085);font-weight:var(--font-weight-850)}.field input,.field select,.field textarea{width:100%;padding:11px;border:var(--border-thin) solid var(--ui-control-border);border-radius:var(--radius-12);background:var(--ui-surface)}.field textarea{min-height:86px;resize:vertical}.switchrow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:var(--border-thin) solid var(--color-edf1f5)}.switch{width:48px;height:28px;border-radius:var(--radius-999);background:var(--color-cbd5e1);padding:3px}.switch i{display:block;width:22px;height:22px;border-radius:50%;background:var(--color-fff);transition:.15s}.switch.on{background:var(--ink)}.switch.on i{transform:translateX(20px)}.overlay{position:fixed;z-index:180;inset:0;display:none;place-items:center;background:var(--color-rgba-15-23-42-2);padding:20px}.overlay.open{display:grid}.donebox{background:var(--color-fff);border-radius:var(--radius-22);padding:24px;box-shadow:0 22px 60px var(--color-rgba-15-23-42-25);text-align:center;min-width:240px}.toast{position:fixed;z-index:200;left:50%;bottom:92px;transform:translateX(-50%);background:var(--color-0f172a);color:var(--color-fff);border-radius:var(--radius-999);padding:10px 14px;font-size:var(--font-sm);font-weight:var(--font-weight-800);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.bargraph{display:flex;align-items:flex-end;gap:5px;height:140px;padding-top:10px}.bargraph i{flex:1;min-width:8px;background:var(--color-cbd5e1);border-radius:var(--radius-shape-5px-5px-0-0)}.muscle-chips{display:flex;gap:6px;flex-wrap:wrap;max-height:180px;overflow:auto}.muscle-chip{padding:7px 9px;border-radius:var(--radius-999);background:var(--color-eef2f6);font-size:var(--font-xs);font-weight:var(--font-weight-800)}.muscle-chip.on{background:var(--ink);color:var(--color-fff)}.diag{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--font-xs);white-space:pre-wrap;background:var(--color-0f172a);color:var(--color-e2e8f0);padding:12px;border-radius:var(--radius-14)}.hidden{display:none!important}@media(max-width:420px){.page{padding:var(--ui-page-pad)}.card{padding:var(--ui-card-padding)}.mapwrap{min-height:420px}.value b{font-size:var(--font-xl)}.timer{font-size:var(--font-size-48)}}

/* Clean v2 UI system: shared primitives */


.top{padding:17px 20px 14px;min-height:62px}.top p:empty{display:none}.top h1{font-size:var(--font-xl)}
.card{border-radius:var(--ui-card-radius)}
.btn,.settings-menu button,.tabs button,.value,.check,.icon,.muscle-chip{min-height:var(--tap-min);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:active,.tabs button:active,.check:active,.icon:active{transform:scale(.985)}
.ui-surface{background:var(--ui-surface);border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius)}
.ui-muted{color:var(--muted)}
.ui-state-loading{opacity:.65;pointer-events:none}.ui-state-disabled{opacity:.45;pointer-events:none}
.ui-focus:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-rgba-59-130-246-28);outline-offset:2px}
/* current-site-like home composition, without duplicate copy */
.home-workout{background:linear-gradient(145deg,var(--color-17233d),var(--color-263754));color:var(--color-fff);border:0;padding:14px}
.home-workout h2{font-size:var(--font-xl);margin:0 0 12px}.home-workout-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(104px,.82fr);gap:10px;align-items:stretch}
.battery-panel{background:var(--color-f8fafc);color:var(--ink);border-radius:var(--radius-18);min-height:200px;padding:13px;display:flex;flex-direction:column;justify-content:space-between}
.battery-panel .battery{background:var(--color-dce4ee)}.battery-panel .battery>div{background:var(--color-17233d)}.battery-readout{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.battery-readout strong{font-size:var(--font-xl)}.battery-visual{flex:1;display:grid;place-items:center;color:var(--color-9fb0c8);letter-spacing:22px;padding-left:22px}
.home-workout-side{display:flex;flex-direction:column;justify-content:space-between;gap:10px}.home-workout-side h3{font-size:var(--font-md);margin:4px 0 0;line-height:1.32}.home-workout-side p{font-size:var(--font-xs);color:var(--color-d5ddea);margin:0;line-height:1.45}.home-workout-side .btn{background:var(--color-101a31)}
.home-workout :is(.listitem,.summary){color:var(--ink)}
.ui-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ui-section-head h2{margin:0}.ui-section-body{min-width:0}.home-muscle-maps{flex:1;min-height:118px;display:grid;grid-template-columns:1fr 1fr;gap:4px;align-items:center}.muscle-map-compact{min-height:0;height:118px;background:transparent;border-radius:var(--radius-10)}.home-muscle-maps .muscle-map-compact>svg{width:auto!important;max-width:100%;height:108px!important;max-height:108px!important}.muscle-map-interactive{touch-action:none}
.compact-card{padding:var(--ui-compact-card-pad-y) var(--ui-compact-card-pad-x)}.compact-card h3{font-size:var(--font-lg)}.compact-card .listitem{padding:var(--ui-compact-item-pad-y) var(--ui-compact-item-pad-x)}
/* shared draggable surfaces */
.sheet{display:block;visibility:hidden;pointer-events:none;opacity:0;transform:translate(-50%,100%);transition:transform var(--motion-mid) ease,opacity var(--motion-fast) ease,visibility 0s linear var(--motion-mid);will-change:transform}
.sheet.open{visibility:visible;pointer-events:auto;opacity:1;transform:translate(-50%,var(--sheet-y,0px));transition:transform var(--motion-mid) ease,opacity var(--motion-fast) ease}
.handle{touch-action:none;cursor:grab}.handle:active{cursor:grabbing}
/* shared display */
.ui-graph{display:flex;align-items:flex-end;gap:5px;height:140px;padding-top:10px}.ui-graph i{flex:1;min-width:8px;background:var(--color-cbd5e1);border-radius:var(--radius-shape-5px-5px-0-0);transition:height var(--motion-mid)}
.session-v1-exercises,.session-v1-layers{--selection-rail-item:104px;--selection-rail-height:50px;--selection-rail-pad-block:0px;--center-dial-motion:100ms;container-type:inline-size;width:100%;overflow:hidden;touch-action:auto}.session-v1-exercises{height:var(--selection-rail-height);border-bottom:var(--border-thin) solid var(--color-e4e9f0)}.session-v1-layers{--selection-rail-pad-block:6px}.session-v1-exercises :is(.selection-rail-console,.selection-rail-shell,.selection-rail),.session-v1-layers :is(.selection-rail-console,.selection-rail-shell,.selection-rail){width:100%;height:100%;min-width:0}.session-v1-exercises .selection-rail-console,.session-v1-layers .selection-rail-console{flex:1 1 100%}.session-v1-exercises .selection-rail-title,.session-v1-layers .selection-rail-title{display:none}.session-v1-exercises .selection-rail,.session-v1-layers .selection-rail{--selection-rail-row-size:calc(100% - var(--selection-rail-pad-block) - var(--selection-rail-pad-block));display:flex;align-items:center;padding:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x;scrollbar-width:none}.session-v1-exercises .selection-rail::-webkit-scrollbar,.session-v1-layers .selection-rail::-webkit-scrollbar{display:none}.session-v1-exercises .selection-rail-item,.session-v1-layers .selection-rail-item{flex:0 0 var(--selection-rail-item);min-width:var(--selection-rail-item);scroll-snap-align:center;transition-duration:var(--center-dial-motion)}.session-v1-exercises .selection-rail-item{border-radius:0;border-bottom:3px solid transparent;background:transparent;font-weight:var(--font-weight-900)}.session-v1-exercises .selection-rail-item.is-active{color:var(--color-111d36);border-bottom-color:var(--color-111d36)}.session-v1-layers .selection-rail{gap:7px}.session-v1-layers .selection-rail-item{padding:0 10px;border:var(--border-thin) solid var(--color-dfe5ec);border-radius:var(--radius-12);background:var(--color-fff);font-weight:var(--font-weight-900)}.session-v1-layers .selection-rail-item.is-active{background:var(--color-111d36);color:var(--color-fff);border-color:var(--color-111d36)}.selection-rail[data-active-actions-only] .selection-rail-item:not(.is-active) .selection-rail-side{visibility:hidden}.session-v1-layers .selection-rail-side button{border:0;background:transparent;color:inherit}.session-v1-layer-plus{grid-template-rows:1fr}
.composition-panel{min-height:78px;margin:0 0 12px;padding:10px 12px;border:var(--border-thin) solid var(--line);border-radius:var(--radius-16);background:var(--color-fff)}.composition-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:32px;align-items:center;text-align:center;font-size:var(--font-xs);font-weight:var(--font-weight-900);font-variant-numeric:tabular-nums}.composition-status span+span{border-left:var(--border-thin) solid var(--color-e1e7ef)}.composition-status .active{color:var(--color-244b86)}.composition-exercises{display:flex;gap:6px;height:34px;margin-top:2px;overflow-x:auto;scrollbar-width:none}.composition-exercises::-webkit-scrollbar{display:none}.composition-exercises button{flex:1 0 94px;min-width:0;padding:7px 9px;border-radius:var(--radius-10);background:var(--color-eef2f6);color:var(--color-667085);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-xs);font-weight:var(--font-weight-900)}.composition-exercises button.active{background:var(--color-17233d);color:var(--color-fff)}.composition-head{display:none}.drop-list{display:grid;gap:7px;margin-top:8px}.drop-layer{display:grid;grid-template-columns:34px 1fr 1fr 34px;align-items:center;gap:6px;padding:7px;border:var(--border-thin) solid var(--line);border-left:3px solid var(--color-94a3b8);border-radius:var(--radius-shape-0-13px-13px-0);background:var(--color-f8fafc)}.drop-layer strong{font-size:var(--font-xs);color:var(--color-475467)}.drop-remove{width:34px;min-height:34px;border-radius:var(--radius-10);background:var(--color-eef1f5);color:var(--color-667085)}.composition-add{min-height:38px;padding:7px 10px;border:1px dashed var(--color-9eb1ca);border-radius:var(--radius-12);background:var(--color-f8fbff);color:var(--color-315680);font-weight:var(--font-weight-900)}#sessionValueDeck.has-drops{position:relative;padding-top:22px}#sessionValueDeck.has-drops::before{content:'D1';position:absolute;top:1px;left:4px;color:var(--color-475467);font-size:var(--font-xs);font-weight:var(--font-weight-900)}
.session-v1-card{display:flex;flex-direction:column;min-height:0}.session-v1-card .composition-panel{margin:0 0 10px;padding:0;border:0;border-radius:0;background:transparent}.composition-remove{display:none}
.session-v1-layer-group{--layer-add-width:clamp(118px,30vw,132px);--selection-rail-height:clamp(47px,16cqi,52px);display:grid;grid-template-columns:minmax(0,1fr) var(--layer-add-width);min-height:var(--selection-rail-height);margin-top:9px;border:var(--border-thin) solid var(--color-d7dee8);border-radius:var(--radius-12);background:var(--color-fff);overflow:hidden}.session-v1-layer-scroll{min-width:0;min-height:0;overflow:hidden;border-right:var(--border-thin) solid var(--color-cbd4df);background:var(--color-f8fafc)}.session-v1-layer-group .session-v1-layers{height:var(--selection-rail-height);margin:0}.session-v1-layer-add{display:grid;grid-template-columns:minmax(0,1fr) 1px clamp(40px,10vw,46px);min-width:0;background:var(--color-fff)}.session-v1-layer-add .inline-rail{height:var(--selection-rail-height);min-width:0;padding:1px 2px;border:0;border-radius:0;box-shadow:none}.session-v1-layer-add .rail-help{display:none}.session-v1-layer-add .rail-label{font-size:var(--font-size-8);line-height:1}.session-v1-layer-add .rail-main{gap:0;min-height:23px}.session-v1-layer-add .rail-current{font-size:var(--ui-session-emphasis-size)}.session-v1-layer-add .rail-candidate{font-size:var(--font-size-8)}.session-v1-layer-add .rail-sub{min-height:10px;font-size:var(--font-size-7)}.session-v1-layer-divider{width:1px;background:var(--color-d7dee8)}.session-v1-layer-plus{display:grid;place-items:center;border:0;border-radius:0;background:var(--color-fff);color:var(--color-111d36);font-weight:var(--font-weight-900)}.session-v1-layer-plus span{font-size:var(--font-size-8);font-weight:var(--font-weight-700)}.session-v1-layer-plus strong{font-size:var(--font-xl);line-height:1}.session-v1-layer-plus:disabled{color:var(--color-bdc5d0);background:var(--color-f8fafc)}
@media(max-width:420px){.home-workout-grid{grid-template-columns:minmax(0,1.52fr) minmax(98px,.78fr)}.battery-panel{min-height:188px}.home-workout-side h3{font-size:var(--font-md)}}


/* Dragbar visuals only exist inside functional shared drag zones. */
.ui-surface-drag-zone{width:calc(100% + 24px);min-height:48px;flex:0 0 48px;margin:0 -12px;display:grid;place-items:start center;padding:10px 12px 8px;touch-action:none;cursor:ns-resize;-webkit-tap-highlight-color:transparent}.ui-surface-drag-zone .surface-cap{width:64px;height:5px;border-radius:var(--radius-999);background:var(--color-b8c3d1);margin:0 auto;touch-action:none;pointer-events:none}.ui-surface-drag-zone:active .surface-cap{background:var(--color-8f9dad)}
[data-hold-action]{--hold-progress:0;--hold-fill:var(--color-rgba-37-99-235-14);position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}[data-hold-action] *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}[data-hold-action]::after{content:"";position:absolute;z-index:0;inset:0;transform:scaleX(var(--hold-progress));transform-origin:left center;background:var(--hold-fill);opacity:0;pointer-events:none}[data-hold-animation="fill"]::after{opacity:1}[data-hold-tone="cancel"]{--hold-fill:var(--color-rgba-220-38-38-13)}[data-hold-tone="complete"]{--hold-fill:color-mix(in srgb,var(--workout-lime) 24%,transparent)}[data-hold-action]>*{position:relative;z-index:1}
.session-command-bar{
 --inline-layout-closed:minmax(0,.7fr) minmax(0,.7fr) minmax(78px,1fr) minmax(118px,2fr);
 --inline-layout-open:minmax(0,.7fr) minmax(0,.7fr) minmax(0,2.5fr) minmax(56px,.55fr);
  display:grid;
 grid-template-columns:var(--inline-layout-closed);transition:grid-template-columns var(--inline-expand-ms,180ms) var(--inline-expand-ease,cubic-bezier(.2,.8,.2,1));
 width:100%;
 padding:0;
 overflow:hidden;
 border:var(--border-thin) solid var(--line);
 border-radius:var(--radius-14);
 background:var(--color-fff);
}
.session-command-bar button{
 min-width:0;
 min-height:48px;
 padding:0 4px;
 display:grid;
 place-items:center;
 font-size:var(--font-sm);
 font-weight:var(--font-weight-850);
}
.session-command-bar button+button{
 border-left:var(--border-thin) solid var(--line);
}
.session-command-bar .session-rest-part{background:var(--color-rgba-17-29-54-94);color:var(--color-dbe3ef)}.session-command-bar .session-complete-part{background:var(--color-111d36);color:var(--color-fff);font-size:var(--font-md);font-weight:var(--font-weight-950)}

/* V1 session visual parity. Existing V2 session owners remain unchanged. */
#sessionPage.active{
 display:grid;
 grid-template-rows:max-content minmax(0,1fr);
 gap:8px;
 min-height:calc(100dvh - 146px);
 overflow:hidden;
}
#sessionPage>.hero{
 margin:0;
 padding:14px 18px 13px;
 border-radius:var(--radius-24);
 box-shadow:none;
}
#sessionPage>.hero .session-status{
 min-height:20px;
 font-size:var(--ui-session-status-size);
 font-weight:var(--font-weight-900);
 font-variant-numeric:tabular-nums;
 white-space:nowrap;
}
#sessionPage>.hero .timer{
 margin-top:2px;
 font-size:var(--ui-session-timer-size);
 line-height:1.04;
 letter-spacing:-.055em;
}
#sessionPage>.hero .progress{
 height:9px;
 margin-top:10px;
 background:var(--color-rgba-255-255-255-88);
}
#sessionPage>.hero .progress>div{
 background:var(--color-8fa3c1);
 transition:width .22s cubic-bezier(.2,.8,.2,1);
}
.session-v1-card{
 height:100%;
 margin:0;
 padding:12px 14px;
 overflow:hidden;
 border:var(--border-thin) solid var(--color-e5eaf0);
 border-radius:var(--radius-24);
 background:var(--color-fff);
 box-shadow:0 1px 2px var(--color-rgba-16-24-40-035),0 5px 16px var(--color-rgba-16-24-40-04);
}
.session-v1-card .composition-panel{
 flex:0 0 auto;
 margin:0;
}
.session-v1-card .rail-session-deck{
 flex:0 0 auto;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:clamp(9px,3vw,14px);
 margin-top:9px!important;
}
.session-v1-card .rail-session-deck .inline-rail{
 position:relative;
 height:clamp(104px,29vw,124px);
 padding:7px 5px;
 border:var(--border-thin) solid var(--color-e2e7ee);
 border-radius:var(--radius-18);
 background:var(--color-f5f7fa);
 opacity:.88;
 transform:scale(.97);
 box-shadow:0 2px 5px var(--color-rgba-16-24-40-035);
 transition:transform .15s ease,opacity .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.session-v1-card .rail-session-deck .inline-rail.rail-active,
.session-v1-card .rail-session-deck .inline-rail.rail-editing{
 z-index:2;
 border-color:var(--color-7f8da2);
 background:var(--color-fff);
 opacity:1;
 transform:scale(1.018) translateY(-1px);
 box-shadow:0 10px 22px var(--color-rgba-17-29-54-12),0 0 0 2px var(--color-rgba-17-29-54-055);
}
.session-v1-card .rail-session-deck .rail-label{
 color:var(--color-8b97a8);
 font-size:var(--ui-session-value-label-size);
}
.session-v1-card .rail-session-deck .rail-current{
 color:var(--color-101828);
 font-size:var(--ui-session-value-size);
 line-height:.95;
 letter-spacing:-.045em;
}
.session-v1-card .rail-session-deck .rail-candidate{
 color:var(--color-a7b0bd);
 font-size:var(--ui-session-value-candidate-size);
}
.session-v1-card .rail-session-deck .rail-sub{
 min-height:18px;
 width:min(82%,180px);
}
.session-v1-card .rail-session-deck .rail-help{
 right:7px;
 bottom:5px;
 color:var(--color-7d899b);
 font-size:var(--font-size-9);
}
.session-command-bar{
 flex:0 0 auto;
 height:clamp(62px,17vw,72px);
 margin-top:9px!important;
 border:0;
 border-radius:0;
 background:transparent;
 box-shadow:none;
}
.session-command-bar button{
 position:relative;
 height:100%;
 min-height:100%;
 padding:6px 4px;
 border-radius:0;
 font-size:var(--ui-session-action-size);
 line-height:1.15;
 border-top:var(--border-thin) solid var(--color-dde4ec);
 border-bottom:var(--border-thin) solid var(--color-dde4ec);
}
.session-command-bar button:first-child{border-left:var(--border-thin) solid var(--color-dde4ec);border-radius:var(--radius-shape-17px-0-0-17px)}.session-command-bar button:nth-child(2){border-right:var(--border-thin) solid var(--color-dde4ec);border-radius:var(--radius-shape-0-17px-17px-0)}
.session-command-bar [data-flow-action="cancel"]{
 background:var(--ui-session-cancel-bg);
 color:var(--ui-session-cancel-ink);
}
.session-command-bar [data-flow-action="complete"]{
 background:var(--ui-session-complete-bg);
 color:var(--ui-session-complete-ink);
}
.session-command-bar [data-flow-action="complete"]:disabled{opacity:.72;cursor:default}
.session-command-bar.room-turn-pending{grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(92px,2fr)}
.session-rest-slot.room-away-exclude{position:relative;background:var(--color-fff7f6);color:var(--color-b42318);cursor:pointer}
.session-rest-slot.room-away-exclude #sessionRestControl{opacity:0;pointer-events:none}
.session-rest-slot.room-away-exclude::after{content:attr(data-away-label);position:absolute;inset:0;display:grid;place-items:center;padding:4px;font-size:var(--font-sm);font-weight:var(--font-weight-900);text-align:center;pointer-events:none}
.inline-expand-owner{--inline-expand-ms:180ms;--inline-expand-ease:cubic-bezier(.2,.8,.2,1)}.inline-expand-slot{min-width:0;height:100%;display:grid;overflow:hidden}.inline-expand-expanded{display:none}.inline-expand-owner:has(.inline-expand-slot.is-expanded){grid-template-columns:var(--inline-layout-open)}.inline-expand-owner:has(.inline-expand-slot.is-expanded) .inline-expand-collapsed{display:none}.inline-expand-owner:has(.inline-expand-slot.is-expanded) .inline-expand-expanded{display:inline}
.session-rest-slot{--rail-label:var(--color-dbe3ef);--rail-current:var(--color-fff);--rail-candidate:var(--color-aebbd0);--rail-sub:var(--color-dbe3ef);--rail-help:var(--color-aebbd0);overflow:hidden;border-radius:var(--radius-shape-17px-0-0-17px)}.session-command-bar .session-rest-slot button{height:100%;min-height:0;border:0;border-radius:0;background:transparent}.session-rest-slot:not(.is-expanded) .session-rest-rail{flex-direction:row;align-items:center;justify-content:center;gap:4px}.session-rest-slot:not(.is-expanded) .rail-label{flex:0 0 auto}.session-rest-slot:not(.is-expanded) .rail-main{flex:0 0 auto;min-height:0;display:block}.session-rest-slot:not(.is-expanded) :is(.rail-candidate,.rail-sub,.rail-help){display:none}.session-rest-slot:not(.is-expanded) .rail-current{font-size:var(--font-sm)}
.session-command-bar .session-complete-part{
 border-right:var(--border-thin) solid var(--color-dde4ec);
 border-radius:var(--radius-shape-0-17px-17px-0);
 background:var(--color-111d36);
 color:var(--color-fff);
 font-size:var(--ui-session-emphasis-size);
 font-weight:var(--font-weight-950);
}
#sessionRestControl{padding:2px 4px}.session-rest-slot.is-expanded #sessionRestControl .rail-label,.session-rest-slot.is-expanded #sessionRestControl .rail-help{display:none}#sessionRestControl .rail-main{width:100%;min-height:34px;justify-items:center}#sessionRestControl .rail-current{justify-self:center;font-size:var(--ui-session-rest-size)}#sessionRestControl .rail-candidate{font-size:var(--font-size-9)}#sessionRestControl .rail-sub{min-height:14px;font-size:var(--font-size-8)}.session-rest-slot.is-expanded #sessionRestControl :is(.rail-candidate,.rail-sub){visibility:visible}
.session-history{
 flex:1 1 auto;
 min-height:48px;
 margin-top:auto!important;
 padding-top:10px;
 border-top:var(--border-thin) solid var(--color-e4e9f0);
}
.session-history-title{
 color:var(--color-344054);
 font-size:var(--font-sm);
 font-weight:var(--font-weight-900);
}
.session-v1-card #previousSets{
 padding:9px 11px;
 border:var(--border-thin) solid var(--color-e3e8ef);
 border-radius:var(--radius-12);
 background:var(--color-f8fafc);
}
.session-history-row{display:grid;grid-template-columns:minmax(66px,.9fr) minmax(76px,1fr) 76px auto;align-items:center;gap:6px;min-height:42px;padding:7px 0;border-top:var(--border-thin) solid var(--color-e9eef4);font-size:var(--font-xs)}.session-history-row:first-child{border-top:0}.session-history-row strong{color:var(--workout-navy)}.session-history-row b{white-space:nowrap;font-variant-numeric:tabular-nums}.session-history-row time{color:var(--workout-copy);font-size:var(--font-size-10);white-space:nowrap}.session-history-row button{min-height:28px;padding:4px 7px;border:var(--border-thin) solid var(--color-d8e1ec);border-radius:var(--radius-8);background:var(--color-fff);color:var(--workout-navy);font-size:var(--font-size-10);font-weight:var(--font-weight-800);white-space:nowrap}.session-history-row .muted{grid-column:2/-1}
@media(max-width:370px),(max-height:800px){
 #sessionPage.active{
  gap:6px;
  min-height:calc(100dvh - 139px);
 }
 #sessionPage>.hero{
  padding:10px 14px;
 }
 #sessionPage>.hero .timer{
  font-size:var(--ui-session-timer-size);
 }
 .session-v1-card{
  padding:9px 11px;
 }
 .session-v1-card .rail-session-deck .inline-rail{
  height:98px;
 }
 .session-command-bar{
  height:60px;
  margin-top:6px!important;
 }
 .session-history{
  padding-top:7px;
 }
}
.rest-next-values{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:8px;
 margin-top:10px;
}
.start-muscle-card{min-height:555px}.body-view-tabs{width:158px;margin:8px 0 8px auto}.start-map-shell{min-height:390px}
.dock-card{height:var(--dock-h,360px);min-height:180px;max-height:72vh;display:flex;flex-direction:column;overflow:hidden;padding:0 12px 12px;margin-bottom:0;box-shadow:0 -8px 26px var(--color-rgba-15-23-42-10)}
.dock-head{flex:0 0 auto}.dock-scroll{overflow:auto;overscroll-behavior:contain;padding:2px 1px 10px;margin-top:8px}.dock-plan{margin-top:12px;border-top:var(--border-thin) solid var(--line);padding-top:12px}.dock-start-action{flex:0 0 auto;display:grid;grid-template-columns:1fr;gap:8px;padding-top:8px;border-top:var(--border-thin) solid var(--line);background:var(--color-rgba-255-255-255-985)}.dock-start-action.is-split{grid-template-columns:1fr 1fr}
.settings-card{padding-top:12px}.settings-card .settings-menu button{font-size:var(--font-md)}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.metric{background:var(--color-f7f9fb);border:var(--border-thin) solid var(--line);border-radius:var(--radius-16);padding:14px;min-height:84px}.metric b{font-size:var(--font-xl);display:block;margin-top:8px}
.timeline-main{padding-top:12px}
.timeline-period{display:grid;gap:10px;margin-top:12px}.timeline-period button{min-height:42px;border:var(--border-thin) solid var(--line);border-radius:var(--radius-13);background:var(--color-fff);font-weight:var(--font-weight-900)}.timeline-period .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:var(--border-thin) solid var(--line);border-radius:var(--radius-14);background:var(--color-fff);gap:2px}.timeline-period .tabs button{min-height:36px;padding:6px;border:0;border-radius:var(--radius-11);background:transparent}.timeline-period .tabs button.active{background:var(--workout-lime);color:var(--workout-navy)}.timeline-period-nav{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px}.timeline-period-label{min-width:0;text-align:center;font-size:var(--font-md);font-weight:var(--font-weight-850);white-space:nowrap}.timeline-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.timeline-summary .metric{min-height:104px;padding:12px 10px}.timeline-summary .metric b{font-size:var(--ui-timeline-metric-size)}.timeline-summary .metric .small{line-height:1.2}
.timeline-volume{padding:14px}.timeline-bars{--timeline-drag-x:0px;height:180px;display:flex;align-items:flex-end;gap:7px;padding:16px 4px 0;border-bottom:var(--border-thin) solid var(--line);touch-action:pan-y;cursor:grab;user-select:none}.timeline-bars:active{cursor:grabbing}.timeline-day{height:100%;min-width:0;flex:0 0 calc((100% - 28px)/5);display:grid;grid-template-rows:1fr 20px;gap:6px;text-align:center;transform:translate3d(var(--timeline-drag-x),0,0);transition:transform var(--motion-fast) cubic-bezier(.2,.75,.25,1);will-change:transform}.timeline-bars.is-dragging .timeline-day{transition:none}.timeline-day.is-selected small{justify-self:center;padding:2px 6px;border-radius:999px;background:var(--workout-lime);color:var(--workout-navy);font-weight:var(--font-weight-900)}.timeline-day.is-selected .timeline-stack{transform:scaleX(1.08)}.timeline-stack{height:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start}.timeline-stack i{display:block;flex:0 0 auto;min-height:0;border-radius:var(--radius-shape-3px-3px-0-0)}.timeline-day small{font-size:var(--font-size-10);color:var(--muted);white-space:nowrap}.timeline-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 11px;margin-top:12px;font-size:var(--font-xs);color:var(--muted)}.timeline-legend span{display:inline-flex;align-items:center;gap:4px}.timeline-legend i{width:8px;height:8px;border-radius:50%;background:var(--timeline-color)}.timeline-empty{height:180px;display:grid;place-items:center;color:var(--muted);font-size:var(--font-sm)}.timeline-period button:disabled{opacity:.34;cursor:default}
#settingsPage>.card+ .card{display:none}
@media(prefers-reduced-motion:reduce){.timeline-day{transition:none}}
@media(max-width:420px){.start-muscle-card{min-height:535px}.start-map-shell{min-height:370px}.dock-card{--dock-h:340px}}


/* InlineValueRail: shared numeric control. vertical=value, horizontal=step. */
.inline-rail{width:100%;min-width:0;height:88px;padding:7px 8px;border:var(--border-thin) solid var(--color-d9e1ea);border-radius:var(--radius-14);background:var(--color-f8fafc);color:var(--color-101828);display:flex;flex-direction:column;align-items:stretch;overflow:hidden;touch-action:none;user-select:none;font-variant-numeric:tabular-nums;cursor:ns-resize;transition:border-color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}
.inline-rail:focus-visible{outline:2px solid var(--color-64748b);outline-offset:2px}.inline-rail.rail-editing{border-color:var(--color-101828);background:var(--color-fff);box-shadow:0 0 0 2px var(--color-rgba-15-23-42-07)}
.rail-label{flex:0 0 12px;min-width:0;text-align:center;font-size:var(--font-xs);line-height:1;font-weight:var(--font-weight-900);color:var(--rail-label,var(--color-667085));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-main{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:12px minmax(24px,1fr) 12px;align-items:center;justify-items:center}.rail-candidate{font-size:var(--font-xs);line-height:1;font-weight:var(--font-weight-850);color:var(--rail-candidate,var(--color-98a2b3));opacity:.82;white-space:nowrap}.rail-current{font-size:var(--font-display);line-height:1;font-weight:var(--font-weight-950);letter-spacing:-.04em;color:var(--rail-current,var(--color-101828));white-space:nowrap}.rail-sub{flex:0 0 19px;min-height:19px;width:min(92%,320px);align-self:center;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;justify-items:center;gap:2px}.rail-sub span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-xs);line-height:1;font-weight:var(--font-weight-850);color:var(--rail-candidate,var(--color-98a2b3))}.rail-sub b{font-size:var(--font-xs);line-height:1;font-weight:var(--font-weight-950);color:var(--rail-sub,var(--color-344054));white-space:nowrap}.rail-help{flex:0 0 12px;text-align:center;font-size:var(--font-xs);line-height:1;font-weight:var(--font-weight-850);color:var(--rail-help,var(--color-a0aab8));white-space:nowrap}
.rail-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.rail-settings-wide{margin-top:8px}.value-deck.rail-session-deck{gap:6px;border:0;background:transparent;overflow:visible}.rail-session-deck .inline-rail{height:92px;padding:6px 5px;border-radius:var(--radius-14)}.rail-session-deck .rail-current{font-size:var(--font-xl)}.rail-session-deck .rail-help{font-size:var(--font-xs)}.rail-session-deck .rail-sub span{font-size:var(--font-xs)}.rail-session-deck .rail-sub b{font-size:var(--font-xs)}
@media(max-width:390px){.inline-rail{height:84px;padding-inline:5px}.rail-current{font-size:var(--font-xl)}.rail-settings-grid{gap:6px}.rail-session-deck .inline-rail{height:88px}.rail-session-deck .rail-current{font-size:var(--font-xl)}}

/* Shared SelectionRail + DockOverlay */
.ui-dock-fixed-bottom{position:fixed!important;z-index:56!important;left:50%!important;bottom:calc(63px + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(640px,100%)!important;margin:0!important;border-radius:var(--radius-shape-24px-24px-0-0)!important;max-height:calc(100dvh - 112px)!important;background:var(--color-rgba-255-255-255-985)!important;backdrop-filter:blur(10px);box-shadow:0 -14px 34px var(--color-rgba-15-23-42-18)!important}
#startPage{padding-bottom:250px}body[data-page="start"] #startPage,body[data-page="start"] .app{padding-bottom:0}.dock-scroll{min-height:0;flex:1 1 auto}.dock-head{padding:0 1px}
.selection-rail-console{border:var(--border-thin) solid var(--line);border-radius:var(--radius-19);background:var(--color-fff);overflow:hidden;box-shadow:0 7px 22px var(--color-rgba-15-23-42-05)}
.selection-rail-title{min-height:32px;padding:7px 10px 4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.selection-rail-title strong{font-size:var(--font-xs);font-weight:var(--font-weight-950)}.selection-rail-title span{font-size:var(--font-xs);color:var(--muted);font-weight:var(--font-weight-850)}
.selection-rail-shell{position:relative;height:166px;overflow:hidden;background:linear-gradient(180deg,var(--color-f7f9fc) 0,var(--color-rgba-247-249-252-12) 29%,var(--color-rgba-255-255-255-0) 44%,var(--color-rgba-255-255-255-0) 56%,var(--color-rgba-247-249-252-12) 71%,var(--color-f7f9fc) 100%)}
.selection-rail-shell::before,.selection-rail-shell::after{content:"";position:absolute;z-index:3;left:10px;right:10px;height:1px;background:var(--color-e8edf3);pointer-events:none}.selection-rail-shell::before{top:55px}.selection-rail-shell::after{bottom:55px}
.selection-rail{--selection-rail-row-size:54px;--selection-rail-active-mark-display:none;position:relative;z-index:4;height:166px;padding:56px 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;touch-action:pan-y}.selection-rail::-webkit-scrollbar{display:none}
.selection-rail-item{height:var(--selection-rail-row-size);min-height:var(--selection-rail-row-size);padding:0 9px;border-radius:var(--radius-13);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;scroll-snap-align:center;color:var(--color-98a2b3);opacity:max(.24,calc(1 - (var(--ui-distance,1)*.2)));transform:scale(max(.76,calc(1 - (var(--ui-distance,1)*.07))));transition:opacity .12s ease,transform .12s ease,color .12s ease,background .12s ease,box-shadow .12s ease}.selection-rail-item.is-active{color:var(--color-101828);background:var(--color-f2f5f8)}.selection-rail-item.is-selected{color:var(--color-285c31);background:var(--color-eef5ed);box-shadow:inset 0 0 0 1px var(--color-d9e5d8)}.selection-rail-item.is-active:not(.is-selected) .selection-rail-side:after{content:'✓';min-width:24px;height:24px;border-radius:var(--radius-999);display:grid;place-items:center;background:var(--color-eef2f6);color:var(--color-667085);font-size:var(--font-xs);font-weight:var(--font-weight-950)}.selection-rail-item.is-selected .selection-rail-mark{background:var(--color-101828);color:var(--color-fff)}
.selection-rail-main{min-width:0;overflow:hidden}.selection-rail-main strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-sm);line-height:1.06;font-weight:var(--font-weight-950)}.selection-rail-main span{display:block;margin-top:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-7b8798);font-size:var(--font-xs);line-height:1;font-weight:var(--font-weight-750)}.selection-rail-main .selection-rail-marquee{text-align:left;text-overflow:clip;animation:selection-rail-marquee var(--selection-rail-marquee-duration,6s) ease-in-out infinite alternate}@keyframes selection-rail-marquee{0%,16%{text-indent:0}84%,100%{text-indent:var(--selection-rail-shift,0px)}}@media(prefers-reduced-motion:reduce){.selection-rail-main .selection-rail-marquee{animation:none;text-indent:0;text-overflow:ellipsis}}.selection-rail-side{display:flex;align-items:center;gap:5px}.selection-rail-side button{width:30px;height:30px;border-radius:var(--radius-10);background:var(--color-eef2f6);font-weight:var(--font-weight-900)}.selection-rail-side button.on{background:var(--color-101828);color:var(--color-fff)}.selection-rail-mark{min-width:24px;height:24px;padding:0 6px;border-radius:var(--radius-999);background:var(--color-eef2f6);color:var(--color-667085);display:grid;place-items:center;font-size:var(--font-xs);font-weight:var(--font-weight-950)}
.selection-badge-rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0;min-height:32px}.selection-badge-rail::-webkit-scrollbar{display:none}.selection-badge{flex:0 0 auto;max-width:190px;height:31px;border-radius:var(--radius-999);background:var(--color-101828);color:var(--color-fff);display:flex;align-items:center;overflow:hidden;font-size:var(--font-xs);font-weight:var(--font-weight-900);box-shadow:0 2px 7px var(--color-rgba-15-23-42-10)}.selection-badge[data-badge-kind="muscle"]{background:var(--color-eef4ff);color:var(--color-174ea6);border:var(--border-thin) solid var(--color-c9dafd)}.selection-badge-main{min-width:0;max-width:150px;height:100%;padding:0 8px 0 10px;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-badge-remove{width:30px;height:100%;display:grid;place-items:center;background:var(--color-rgba-255-255-255-11);color:inherit;font-size:var(--font-sm);font-weight:var(--font-weight-800)}.selection-badge[data-badge-kind="muscle"] .selection-badge-remove{background:var(--color-dce8ff)}.selection-badge-main:active,.selection-badge-remove:active{transform:none;opacity:.7}.selected-plan-empty{color:var(--muted);font-size:var(--font-xs);padding:6px 1px}
@media(max-width:420px){.selection-rail-shell,.selection-rail{height:158px}.selection-rail{--selection-rail-row-size:52px;padding-block:52px}.selection-rail-shell::before{top:52px}.selection-rail-shell::after{bottom:52px}}

/* Start dock: 1턱=summary/search, 2턱=3 rows, 3턱=5 rows. */
#exerciseDock{--dock-row-h:54px}
#exerciseDock[data-surface-snap-id="compact"] .dock-scroll{visibility:hidden;opacity:0;pointer-events:none}
#exerciseDock[data-surface-snap-id="compact"] .dock-head .search{display:none}
#exerciseDock[data-surface-snap-id="exercise"] .selection-rail-shell,#exerciseDock[data-surface-snap-id="exercise"] .selection-rail{height:calc(var(--dock-row-h)*3)}
#exerciseDock[data-surface-snap-id="exercise"] .selection-rail{padding-block:var(--dock-row-h)}
#exerciseDock[data-surface-snap-id="exercise"] .selection-rail-shell::before{top:var(--dock-row-h)}
#exerciseDock[data-surface-snap-id="exercise"] .selection-rail-shell::after{bottom:var(--dock-row-h)}
#exerciseDock[data-surface-snap-id="plan"] .selection-rail-shell,#exerciseDock[data-surface-snap-id="plan"] .selection-rail{height:calc(var(--dock-row-h)*5)}
#exerciseDock[data-surface-snap-id="plan"] .selection-rail{padding-block:calc(var(--dock-row-h)*2)}
#exerciseDock[data-surface-snap-id="plan"] .selection-rail-shell::before{top:calc(var(--dock-row-h)*2)}
#exerciseDock[data-surface-snap-id="plan"] .selection-rail-shell::after{bottom:calc(var(--dock-row-h)*2)}
.dock-selection-summary{display:grid;gap:4px;padding:0 1px 5px;border-bottom:var(--border-thin) solid var(--color-edf1f5)}
.dock-selection-row{min-height:32px;display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:6px}
.dock-selection-label{font-size:var(--font-xs);font-weight:var(--font-weight-950);color:var(--color-344054);white-space:nowrap}
.dock-selection-items{min-width:0;overflow:hidden}.dock-selection-items .selection-badge-rail{min-height:28px;padding:0;gap:5px}.dock-selection-items .selection-badge{height:28px;max-width:150px;font-size:var(--font-xs)}.dock-selection-items .selection-badge-main{max-width:116px;padding-inline:8px}.dock-selection-items .selection-badge-remove{width:27px}
.dock-selection-clear{min-height:28px;padding:4px 6px;border-radius:var(--radius-8);background:transparent;color:var(--color-667085);font-size:var(--font-xs);font-weight:var(--font-weight-900);white-space:nowrap}.dock-selection-clear:active{background:var(--color-eef2f6)}
.dock-selection-count{min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-999);background:var(--color-eef2f6);display:grid;place-items:center;color:var(--color-475569);font-size:var(--font-xs);font-weight:var(--font-weight-950)}
#exerciseDock .selected-plan-empty{padding:0;color:var(--color-98a2b3);font-size:var(--font-xs);white-space:nowrap}
.dock-recent{display:none;margin-top:10px;padding-top:10px;border-top:var(--border-thin) solid var(--line)}#exerciseDock[data-surface-snap-id="plan"] .dock-recent{display:block}
/* Start map owns the visible viewport; page does not scroll. */
#startPage.active{height:calc(100dvh - 132px);min-height:0;overflow:hidden;padding-bottom:0;display:flex;flex-direction:column}
#startPage .start-muscle-card{flex:1 1 auto;min-height:0;margin-bottom:0;display:flex;flex-direction:column;overflow:hidden}
.start-map-frame{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:var(--radius-17)}
#startPage .start-map-shell{height:100%;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;cursor:grab}
#startPage .start-map-shell:active{cursor:grabbing}
#startPage .start-map-shell>svg,[data-info-map]>svg{max-width:none!important;max-height:none!important;transform:translate3d(calc(var(--map-viewport-x,0px) + var(--map-user-x,0px)),calc(var(--map-viewport-y,0px) + var(--map-user-y,0px)),0) scale(var(--map-viewport-scale,1)) scale(var(--map-user-scale,1))!important;transform-origin:50% 50%}
[data-info-map]{touch-action:none;overscroll-behavior:contain;cursor:grab}[data-info-map]:active{cursor:grabbing}
.map-view-tabs{position:absolute;z-index:4;top:8px;right:8px;width:158px;margin:0;background:var(--color-rgba-248-250-252-9);padding:3px;border-radius:var(--radius-14);backdrop-filter:blur(5px)}
.map-view-tabs button{min-height:38px;padding:8px}
@media(max-width:420px){#startPage.active{height:calc(100dvh - 126px)}.map-view-tabs{width:146px}}

/* Start map hierarchy + battery controls */
.map-level-tabs{position:absolute;z-index:6;top:8px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);width:min(250px,60%);padding:3px;border:var(--border-thin) solid var(--color-dbe2ea);border-radius:var(--radius-13);background:var(--color-rgba-248-250-252-94);backdrop-filter:blur(5px)}
.map-level-tabs button{min-height:36px;padding:7px 8px;border-radius:var(--radius-10);background:transparent;font-size:var(--font-xs);font-weight:var(--font-weight-900);color:var(--color-667085)}.map-level-tabs button.active{background:var(--color-0f172a);color:var(--color-fff)}
.map-side-tools{position:absolute;z-index:6;right:8px;top:58px;display:grid;gap:8px}.map-side-tools button{width:58px;min-height:46px;padding:6px;border-radius:var(--radius-13);border:var(--border-thin) solid var(--color-dbe2ea);background:var(--color-rgba-248-250-252-94);font-size:var(--font-xs);font-weight:var(--font-weight-900);box-shadow:0 2px 8px var(--color-rgba-15-23-42-06)}.map-side-tools button.active{background:var(--color-0f172a);color:var(--color-fff);border-color:var(--color-0f172a)}.map-side-tools .battery-on{background:var(--color-ecfdf3);color:var(--color-047857);border-color:var(--color-a7f3d0)}
@media(max-width:420px){.map-level-tabs{width:230px}.map-side-tools button{width:54px}}

/* Start surface border polish: one hierarchy, lighter chrome */
#startPage .start-muscle-card{border-color:var(--color-e7ecf2);box-shadow:0 3px 12px var(--color-rgba-15-23-42-025)}
#startPage .start-map-frame{border:0;box-shadow:none}
#exerciseDock.dock-card{border:0;border-top:var(--border-thin) solid var(--color-e7ecf2);border-radius:var(--radius-shape-24px-24px-0-0);box-shadow:0 -10px 30px var(--color-rgba-15-23-42-10)}
#exerciseDock .dock-selection-summary{border-bottom-color:var(--color-eef2f6)}

/* Supabase Storage muscle SVG: canonical interactive map */
.mapwrap>svg{width:min(100%,360px)!important;height:auto!important;max-height:100%;overflow:visible}
.start-map-shell>svg{transform:translate3d(var(--map-viewport-x,0px),var(--map-viewport-y,0px),0) scale(var(--map-viewport-scale,1));transform-origin:50% 50%;transition:transform var(--muscle-viewport-motion,220ms) var(--muscle-map-easing,cubic-bezier(.2,.75,.25,1));will-change:transform}
.start-map-shell[data-map-viewport-dragging="1"]>svg{transition:none}#startPage .start-map-shell[data-map-user-gesture="1"]>svg{transition:none!important}
[data-surface-dragging="1"]~*{}
.mapwrap .muscle-region{cursor:pointer;pointer-events:all!important;touch-action:manipulation;transform-box:fill-box;transform-origin:center;opacity:var(--muscle-opacity,1);transform:scale(var(--muscle-scale,1));transition:opacity var(--motion-fast),transform var(--muscle-visual-motion,220ms) var(--muscle-map-easing,cubic-bezier(.2,.75,.25,1))}
.mapwrap .muscle-selection-outline-layer{pointer-events:none!important}
.mapwrap .muscle-selection-outline{pointer-events:none!important;transform-box:fill-box;transform-origin:center}
.inline-rail:not(.rail-active):not(.rail-editing) .rail-candidate,.inline-rail:not(.rail-active):not(.rail-editing) .rail-sub,.inline-rail:not(.rail-active):not(.rail-editing) .rail-help{visibility:hidden}.inline-rail.rail-active{border-color:var(--color-101828);background:var(--color-fff);box-shadow:0 0 0 2px var(--color-rgba-15-23-42-07)}
.mapwrap .muscle-selection-outline *{pointer-events:none!important}


.muscle-selection-badges{margin:6px 0 8px;min-height:0;position:relative;z-index:2}.muscle-selection-badges .selection-badge-rail{padding-inline:2px}
[data-selection-header="hidden"] .selection-rail-title{display:none}
.settings-menu a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px;border:var(--border-thin) solid var(--line);border-radius:var(--radius-15);background:var(--color-fff);color:inherit;font-weight:var(--font-weight-900);text-decoration:none}
.top-back{width:42px;height:42px;border-radius:var(--radius-13);background:var(--color-24314a);color:var(--color-fff);font-size:var(--font-lg);flex:0 0 auto}.top-copy{min-width:0}body:not([data-page="start"]) .top-back{display:none}body[data-page="start"] .top{display:flex;align-items:center;gap:12px}body[data-page="start"] #startPage{padding:7px 14px 250px}body[data-page="start"] .start-muscle-card{padding:7px;border-radius:var(--radius-22);background:var(--color-fff)}body[data-page="start"] .start-muscle-card>.row{display:none}body[data-page="start"] .start-map-frame{flex:1}body[data-page="start"] .start-map-shell{min-height:calc(100dvh - 180px);border-radius:var(--radius-18);background:linear-gradient(var(--color-f8fafc),var(--color-fff))}body[data-page="start"] .start-map-shell svg{width:min(78%,280px)!important}#exerciseDock[data-surface-snap-id="compact"] .dock-selection-clear{visibility:hidden}.dock-start-action .btn:disabled{background:var(--color-d7dce5);color:var(--color-fff);cursor:default}

.timer-button{display:block;width:100%;padding:0;background:transparent;color:inherit}.timer-button.paused{opacity:.62}
.timer-button.waiting{
 display:grid;
 place-items:center;
 gap:3px;
 min-height:64px;
 letter-spacing:-.03em;
}
.session-wait-title{
 font-size:var(--ui-session-wait-title-size);
 font-weight:var(--font-weight-900);
 line-height:1;
}
.session-wait-meta{
 color:var(--workout-lime);
 font-size:var(--ui-session-status-size);
 font-weight:var(--font-weight-800);
 letter-spacing:-.02em;
}
/* Commercial light theme: shared tokens only, no page-specific markup. */

html,body{background:linear-gradient(145deg,var(--color-eef3ed),var(--color-fafbfa))}.app{background:var(--color-f8faf7);box-shadow:0 0 44px var(--color-rgba-31-68-40-08)}
.top{background:var(--color-rgba-255-255-255-96);color:var(--color-152b1a);border-bottom:var(--border-thin) solid var(--line);box-shadow:0 3px 14px var(--color-rgba-36-71-44-05);backdrop-filter:blur(14px)}.top p{color:var(--muted)}
.card,.listitem,.exercise,.settings-menu button{border-color:var(--ui-border);box-shadow:var(--ui-shadow-card)}
.hero{background:linear-gradient(145deg,var(--color-24482d),var(--color-3d8249));color:var(--color-fff)}.btn{background:linear-gradient(135deg,var(--color-4caf50),var(--color-358b3d));box-shadow:0 5px 12px var(--color-rgba-55-139-63-18)}
.btn.secondary,.tabs button,.pill{background:var(--color-eef5ed);color:var(--color-285c31);box-shadow:none}.btn.ghost{background:var(--color-fff);color:var(--color-285c31);border-color:var(--color-d9e5d8);box-shadow:none}.tabs button.active{background:var(--color-3f9747);color:var(--color-fff)}
.bottom{background:var(--color-rgba-255-255-255-97);box-shadow:0 -5px 18px var(--color-rgba-35-70-43-06)}.bottom button.active{color:var(--color-3d9845)}.bottom button.active b{background:var(--color-e8f4e7)}
.search{background:var(--color-f6f8f5);border-color:var(--color-e1e7e0)}.battery{background:var(--color-e3ebe2)}.battery>div,.bargraph i{background:linear-gradient(var(--color-66bb6a),var(--color-3f9847))}
.session-command-bar .session-complete-part,.session-command-bar [data-flow-action="complete"]{background:var(--color-3f9747)}.inline-rail.active,.selection-rail-item.active{border-color:var(--color-4da654)!important;box-shadow:0 0 0 3px var(--color-rgba-77-166-84-12)!important}
.toast{background:var(--color-234b2c)}.sheet{box-shadow:0 -18px 45px var(--color-rgba-37-79-46-16)}
.top{display:none}
.battery-summary{grid-column:1/-1}.battery-summary>h3{margin:0 0 12px;font-size:var(--font-md)}.battery-summary-layout{display:grid;align-items:center;border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow-card)}.battery-ring{--battery-angle:360deg;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,var(--color-fff) 61%,transparent 63%),conic-gradient(var(--color-57b85d) var(--battery-angle),var(--color-e8ede7) 0)}.battery-ring strong{font-size:var(--font-size-34);line-height:1;color:var(--color-13291a)}.battery-ring span{font-size:var(--font-size-13);color:var(--muted)}.battery-condition strong{display:block;color:var(--ok);font-size:var(--font-size-19);margin-bottom:6px}.battery-condition p{margin:0;color:var(--color-3f4d42);line-height:1.55;font-size:var(--font-sm)}.battery-legend{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:var(--font-xs)}.battery-legend:before{content:'';width:11px;height:11px;border-radius:50%;background:var(--color-95cf5c)}.battery-summary-maps{display:grid;grid-template-columns:1fr 1fr;align-items:center}@media(max-width:520px){.battery-ring strong{font-size:var(--font-size-29)}}
.home-workout{background:var(--ui-surface);color:var(--ink);border:var(--border-thin) solid var(--ui-border)}
.battery-ring{--battery-color:var(--color-57b85d);--battery-text:var(--color-13291a);background:radial-gradient(circle at center,var(--color-fff) 61%,transparent 63%),conic-gradient(var(--battery-color) var(--battery-angle),var(--color-e8ede7) 0)}.battery-ring strong{color:var(--battery-text)}
.bottom{grid-template-columns:repeat(4,1fr)}.battery-summary-layout{grid-template-columns:140px minmax(0,1fr);grid-template-rows:auto auto}.battery-ring{grid-column:1;grid-row:1;justify-self:center}.battery-condition{grid-column:1;grid-row:2;text-align:center}.battery-condition strong{margin:7px 0 0;color:var(--ink);font-size:var(--font-size-14);white-space:nowrap}.battery-condition p,.battery-legend{display:none}.battery-summary-maps{grid-column:2;grid-row:1}.bottom button{color:var(--ui-nav-ink)}.bottom button.active{color:var(--ui-nav-ink)}.bottom button.active b{background:var(--ui-nav-active-bg);color:var(--ui-nav-ink)}body,button,input,select,textarea{letter-spacing:-.015em}h1,h2,h3,.title{font-weight:var(--font-weight-800);letter-spacing:-.035em}.big,.timer,.battery-ring strong,.value b{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@media(max-width:520px){.battery-summary-layout{grid-template-columns:112px minmax(0,1fr)}.battery-condition strong{font-size:var(--font-size-12)}}
#homePage{padding-inline:16px}#homePage.active{display:flex;flex-direction:column}#homeWorkoutSection{flex:0 0 auto}.home-summary-grid{flex:1 1 0;min-height:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--ui-compact-stack-gap)}.home-summary-card{min-height:0;margin:0;display:flex;flex-direction:column;overflow:hidden}.home-summary-card .list{flex:1 1 auto;min-height:0;overflow:hidden;margin-top:var(--ui-compact-content-gap)!important}.home-summary-more{width:auto;min-height:34px;padding:7px 11px;border:var(--border-thin) solid var(--line);border-radius:var(--radius-11);background:var(--color-fff);font-weight:var(--font-weight-750)}
.home-best-grid{display:grid!important;grid-template-columns:repeat(var(--home-best-count,1),minmax(0,1fr));gap:var(--ui-compact-content-gap)}.home-best-grid .listitem{min-width:0;min-height:var(--ui-compact-empty-min);display:grid;place-content:center;text-align:center}.home-best-grid .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-xs)}.home-best-grid b{display:block;margin-top:4px}.home-summary-empty{height:auto;min-height:var(--ui-compact-empty-min);display:grid;place-content:center;text-align:center;color:var(--muted);font-size:var(--font-xs)}.home-summary-empty b{display:block;margin-bottom:5px;color:var(--ink);font-size:var(--font-sm)}.home-summary-empty i{display:block;margin-bottom:7px;font-size:var(--font-size-25);font-style:normal;opacity:.5}.sheet.home-summary-sheet{height:52dvh;max-height:88dvh}.sheet.home-summary-sheet .sheetbody{height:calc(52dvh - 62px)}:root{--battery-ring-size:112px;--battery-content-gap:8px}.battery-summary-layout{gap:var(--battery-content-gap);padding:10px 12px}.battery-ring{width:var(--battery-ring-size)}.battery-condition strong{margin-top:3px}.battery-summary-maps{gap:2px}.home-summary-card .home-summary-empty{font-size:var(--font-size-10);line-height:1.2}.home-summary-card .home-summary-empty i{margin-bottom:2px;font-size:var(--font-size-18)}.home-summary-card .home-summary-empty b{margin-bottom:2px;font-size:var(--font-size-11)}@media(max-width:520px){:root{--battery-ring-size:98px;--battery-content-gap:6px}.battery-summary-layout{padding:8px 10px}}.battery-summary-maps .mapwrap{height:auto;aspect-ratio:35/93}.battery-summary-maps svg{width:92%!important;height:auto!important;max-height:none}
/* Home Body Battery action rail: one state-owned menu inside the battery section. */
.battery-summary{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;align-items:stretch}
.battery-action-rail{display:grid;grid-template-rows:repeat(var(--battery-action-count,2),minmax(0,1fr));gap:8px;min-width:0}
.battery-action-picker{display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-width:0;min-height:0}
.battery-action-picker[open]{grid-template-rows:minmax(0,1fr) minmax(0,2fr);gap:8px}
.battery-action-picker[open] .battery-action{padding:4px 3px;gap:2px}
.battery-action-picker[open] .battery-action i{width:24px;height:24px;font-size:var(--font-size-10)}
.battery-action-picker>summary{list-style:none;cursor:pointer}
.battery-action-picker>summary::-webkit-details-marker{display:none}
.battery-action-options{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-height:0}.battery-action-picker:not([open])>.battery-action-options{display:none}
.battery-action--solo{background:linear-gradient(180deg,var(--color-f7fbe9),var(--color-fff))}
.battery-action{min-width:0;min-height:0;padding:8px 6px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-14);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--ui-surface);color:var(--ink);text-align:center;font-size:var(--font-size-11);font-weight:var(--font-weight-800);line-height:1.15}
.battery-action i{width:28px;height:28px;border:var(--border-strong) solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:var(--font-size-12);line-height:1;font-style:normal}
.battery-action span{display:block;max-width:100%;word-break:keep-all}
.battery-action--primary{border-color:transparent;background:linear-gradient(135deg,var(--color-b9ed00),var(--color-8fd200));color:var(--color-0a1018)}
.battery-action--room{background:var(--color-f7f9fc)}
.battery-action--complete{border-color:transparent;background:var(--ui-session-complete-bg);color:var(--ui-session-complete-ink)}
.battery-action--cancel{border-color:var(--ui-session-cancel-ink);background:var(--ui-session-cancel-bg);color:var(--ui-session-cancel-ink)}
@media(max-width:520px){.battery-summary{grid-template-columns:minmax(0,1fr) 76px;gap:6px}.battery-action-rail{gap:6px}.battery-action{padding:6px 4px;font-size:var(--font-size-10)}.battery-action i{width:26px;height:26px}}

#sessionPage .rail-unit-toggle{min-width:48px!important;height:32px!important;padding:0 10px!important;border-radius:var(--radius-999)!important;font-size:var(--font-size-14)!important;line-height:32px!important}.session-command-bar.superset-middle{grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(118px,3fr)}.session-command-bar.superset-middle .session-rest-slot{display:none}.session-command-bar.superset-middle .session-complete-part{border-radius:var(--radius-17)}.session-command-bar.room-no-rest.room-turn-pending{grid-template-columns:1fr 1fr}.session-command-bar.room-no-rest:not(.room-turn-pending){grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(118px,2fr)}.session-command-bar.room-no-rest .session-rest-slot{display:none}.session-complete-slot{min-width:0;display:grid;grid-template-columns:1fr;border-left:var(--border-thin) solid var(--line)}.session-complete-slot>button{border-left:0!important}.session-command-bar.room-mode .session-complete-slot{grid-template-columns:1fr 1fr}.session-command-bar.room-mode .session-complete-slot>button+button{border-left:var(--border-thin) solid var(--line)!important}.session-command-bar.room-mode .room-turn-take{display:grid}.session-command-bar.room-mode.room-member.room-no-rest{grid-template-columns:1fr}.session-command-bar.room-mode.room-member .session-complete-slot{border-left:0}.session-command-bar.room-mode.room-all-ready.room-no-rest:not(.room-member){grid-template-columns:minmax(0,.7fr) minmax(118px,2fr)}.session-command-bar.room-mode:not(.room-no-rest).room-turn-pending{grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr) minmax(92px,1fr)}.session-command-bar.room-mode.room-all-ready:not(.room-no-rest):not(.room-member){grid-template-columns:minmax(0,.7fr) minmax(92px,1fr) minmax(118px,2fr)}.session-command-bar :is([data-flow-action="cancel"],[data-flow-action="complete"]){grid-template-rows:auto auto;align-content:center;row-gap:1px}.session-command-bar :is([data-flow-action="cancel"],[data-flow-action="complete"]) span{display:block;white-space:nowrap;line-height:1}.session-command-bar [data-flow-action="cancel"]::before{content:attr(data-ui-icon);display:block;margin:0;font-size:var(--font-size-18);line-height:1;font-weight:var(--font-weight-900)}.session-command-bar [data-flow-action="complete"]::before{content:attr(data-ui-icon);display:grid;place-items:center;width:20px;height:20px;margin:0 auto;border-radius:50%;background:var(--color-209447);color:var(--color-fff);font-size:var(--font-size-14);line-height:1;font-weight:var(--font-weight-950)}.session-command-bar .room-turn-take::before{content:attr(data-ui-icon);display:inline-block;margin-right:4px;font-size:var(--font-size-13);line-height:1}.session-command-bar [data-flow-action="next"]::after,#restPage [data-action="skip-rest"]::after{content:attr(data-ui-icon);display:inline-block;margin-left:7px;font-size:var(--font-size-18);line-height:1;vertical-align:-1px}.session-rest-slot:not(.is-expanded) .session-rest-rail::before{content:attr(data-ui-icon);display:inline-block;margin-right:4px;font-size:var(--font-size-15);line-height:1}.session-v1-card>[data-flow-scope="workout"][data-flow-action="complete"]::before{content:attr(data-ui-icon);display:inline-block;margin-right:7px;font-size:var(--font-size-20);line-height:1;vertical-align:-2px}
#sessionPage,#restPage{color:var(--workout-navy)}#sessionPage>.hero{background:linear-gradient(145deg,var(--workout-navy),var(--workout-navy-2));color:var(--color-fff)}#sessionPage>.hero .session-status{font-weight:var(--font-weight-750);letter-spacing:-.02em}#sessionPage>.hero .timer,#restPage .timer{font-weight:var(--font-weight-800);letter-spacing:-.045em}#sessionPage>.hero .progress>div{background:var(--workout-lime)}.session-v1-name h2,.session-v1-card .rail-session-deck .rail-current,.rest-next-copy strong{color:var(--workout-navy);font-weight:var(--font-weight-800)}.session-v1-card .rail-session-deck .inline-rail{background:var(--color-f7f9fc)}.session-v1-card .rail-session-deck .inline-rail.rail-active,.session-v1-card .rail-session-deck .inline-rail.rail-editing{border-color:var(--workout-navy);box-shadow:0 8px 22px var(--color-rgba-7-22-51-12),0 0 0 2px var(--color-rgba-7-22-51-06)}.session-command-bar .session-rest-part,.session-rest-slot{background:var(--workout-navy);color:var(--color-fff)}.session-command-bar .session-complete-part,.session-command-bar [data-flow-action="next"]{background:var(--workout-lime);color:var(--workout-navy);font-weight:var(--font-weight-800)}.session-command-bar [data-flow-action="complete"]{background:var(--ui-session-complete-bg);color:var(--ui-session-complete-ink)}.session-v1-card>[data-flow-scope="workout"]{border:var(--border-thin) solid var(--color-dce2ea);background:var(--ui-session-workout-bg);color:var(--ui-session-workout-ink);font-weight:var(--font-weight-750)}#restPage>.hero{background:linear-gradient(135deg,var(--color-f3ffd2),var(--workout-lime-soft));color:var(--workout-navy)}#restPage>.hero .small{color:var(--workout-navy)!important;font-weight:var(--font-weight-750)}#restPage>.hero .progress{background:var(--color-dff2a8)}#restPage>.hero .progress>div{background:linear-gradient(90deg,var(--color-8ed600),var(--workout-lime))}#restPage [data-action="skip-rest"]{background:linear-gradient(135deg,var(--color-a5e600),var(--workout-lime));color:var(--workout-navy);font-weight:var(--font-weight-800)}#sessionPage button,#restPage button{letter-spacing:-.025em}
.session-v1-exercises .selection-rail-item,.session-v1-layers .selection-rail-item{position:relative;display:flex;justify-content:center;gap:0;text-align:center}.session-v1-exercises .selection-rail-main,.session-v1-layers .selection-rail-main{min-width:0}.session-v1-layers .selection-rail-side{position:absolute;right:6px}.session-v1-layer-add .inline-rail{text-align:center}
.session-status{color:var(--workout-lime)!important;font-weight:var(--font-weight-800)}.timer-colon{color:var(--workout-lime)}#sessionPage>.hero{justify-content:center;gap:8px;min-height:112px}
.session-presence{width:100%;margin-top:2px;color:var(--workout-navy)}
.session-presence-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:9px 12px;border:0;border-radius:var(--radius-14);background:var(--color-fff);color:inherit;text-align:left;font:inherit}
.session-presence-main{display:flex;align-items:center;gap:8px;min-width:0;font-weight:var(--font-weight-800)}.session-presence-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--workout-lime-soft);font-style:normal}.session-presence-meta{color:var(--color-4c5b72);font-size:var(--font-xs);font-weight:var(--font-weight-700);white-space:nowrap}.session-presence-meta:before{content:'• ';color:var(--workout-lime);font-size:var(--font-size-18);vertical-align:-1px}
.session-presence-members{display:none;margin-top:7px}.session-presence.is-expanded .session-presence-members{display:block}
.selection-rail{user-select:none}.session-presence-members .selection-rail-side{display:none}
/* 드롭세트는 삭제 액션만 우측 슬롯에 남기고 체크 표시는 공용 변수로 숨긴다. */
.selection-rail-mark{display:var(--selection-mark-display,inline-flex)}
.session-v1-layer-group,.session-v1-layers{--selection-rail-height:62px}
.session-v1-layers{
  --selection-mark-display:none;
  --selection-rail-active-mark-display:none;
  --selection-rail-adjacent-visibility:hidden;
}
.selection-rail-item.is-active:not(.is-selected) .selection-rail-side::after{
  display:var(--selection-rail-active-mark-display,grid);
}
.selection-rail-item:not(.is-active){
  visibility:var(--selection-rail-adjacent-visibility,visible);
}
.session-v1-layer-add .rail-candidate{
  display:none;
}
.session-v1-layer-add .inline-rail{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-items:center;
}
.session-v1-layer-add .rail-main{
  min-height:0;
  grid-template-rows:1fr;
  place-items:center;
}
.settings-dashboard{padding:14px var(--ui-page-pad) 92px}.settings-titlebar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 13px}.settings-titlebar h1{margin:0;font-size:var(--ui-menu-title-size)}.settings-alert{display:grid;place-items:center;width:42px;height:42px;border:0;background:transparent;color:var(--color-071633);font-size:var(--font-size-25)}.settings-groups{display:grid;gap:12px}.settings-group{margin:0;padding:12px 14px 6px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--ui-card-radius);background:var(--ui-surface);box-shadow:var(--ui-shadow-card)}.settings-group h2{margin:0 0 7px 2px;font-size:var(--ui-menu-section-size)}.settings-row{display:grid;grid-template-columns:var(--ui-menu-icon-col) minmax(0,1fr) auto;align-items:center;width:100%;min-height:var(--ui-row-height);padding:var(--ui-row-pad-y) var(--ui-row-pad-x);border:0;border-top:var(--border-thin) solid var(--ui-border-soft);background:transparent;color:var(--ui-menu-ink);text-align:left;font:inherit}.settings-group h2+.settings-row{border-top:0}.settings-row-icon{display:grid;place-items:center;width:var(--ui-menu-icon-box);height:var(--ui-menu-icon-box);color:var(--ui-menu-ink);font-size:var(--ui-menu-icon-size)}.settings-row-label{font-size:var(--ui-menu-row-size);font-weight:var(--font-weight-720)}.settings-row-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-menu-meta-size)}.settings-row-meta em{color:var(--color-72ad00);font-style:normal}.settings-chevron{font-size:var(--font-size-25);font-weight:var(--font-weight-300);line-height:1}.settings-toggle{position:relative;width:50px;height:29px;border-radius:var(--radius-999);background:var(--color-d8ded8);box-shadow:inset 0 0 0 1px var(--color-rgba-7-22-51-06)}.settings-toggle:after{content:'';position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:var(--color-fff);box-shadow:0 2px 5px var(--color-rgba-0-0-0-2);transition:transform .18s}.settings-toggle.on{background:var(--color-8ddd00)}.settings-toggle.on:after{transform:translateX(21px)}@media(max-width:390px){.settings-dashboard{padding-inline:var(--ui-page-pad)}.settings-group{padding-inline:12px}.settings-row-label{font-size:var(--ui-menu-row-compact-size)}}
#doneOverlayIcon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:var(--workout-lime);color:var(--workout-navy);font-size:var(--font-size-28);line-height:1}#doneOverlay[data-tone="cancel"] #doneOverlayIcon{background:var(--workout-navy);color:var(--color-fff)}#doneOverlay.open .donebox{animation:feedback-pop .24s ease-out}@keyframes feedback-pop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.exercise-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.exercise-editor-head .btn{width:auto;min-width:82px;padding:11px 15px}
.exercise-editor-dial{border:var(--border-thin) solid var(--line);border-radius:var(--radius-18);background:var(--color-fff);overflow:hidden;user-select:none}
.exercise-editor-field-rail{border-bottom:var(--border-thin) solid var(--line)}.exercise-editor-field-rail .selection-rail-console,.exercise-editor-value-rail .selection-rail-console{border:0;border-radius:0;box-shadow:none}.exercise-editor-value-rail .selection-rail-title{display:none}.exercise-editor-value-rail .selection-rail-shell,.exercise-editor-value-rail .selection-rail{height:166px}.exercise-editor-value-rail .selection-rail{padding-block:56px}.exercise-editor-value-rail .selection-rail-item.is-active{font-size:var(--font-size-18)}.exercise-editor-hint{text-align:center;padding:9px;color:var(--muted);font-size:var(--font-size-11)}
.exercise-editor-multi{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 12px}.exercise-editor-multi .tag{background:var(--color-e9f7e7);color:var(--color-23762e)}


.exercise-info-tabs{grid-template-columns:repeat(3,1fr)}
.exercise-info-viewport{height:clamp(320px,56vh,520px);overflow:hidden}
.exercise-info-viewport>[data-info-pane]{height:100%;overflow-y:auto;overscroll-behavior:contain;padding-bottom:2px}

/* Timeline history bottom surface: shared UI.surface.snap + internal record scrolling. */
.timeline-history-panel{position:fixed;z-index:56;left:50%;bottom:var(--app-bottom-nav-height,63px);transform:translateX(-50%);width:min(640px,100%);height:var(--timeline-history-h,180px);max-height:calc(100dvh - var(--app-bottom-nav-height,63px));display:flex;flex-direction:column;overflow:hidden;background:var(--color-rgba-255-255-255-985);border:var(--border-thin) solid var(--ui-border);border-bottom:0;border-radius:var(--radius-shape-24px-24px-0-0);box-shadow:0 -14px 34px var(--color-rgba-15-23-42-18);backdrop-filter:blur(10px)}
.timeline-history-drag-zone{flex:0 0 48px;margin:0;width:100%;padding-top:10px}
.timeline-history-controls{flex:0 0 auto;padding:0 12px 4px;background:inherit}
.timeline-history-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 12px 16px}
.timeline-history-scroll>#historyList{padding-bottom:4px}
body[data-page="timeline"] #timelinePage{padding-bottom:190px}

/* Shared data table: common owner is UI.display.table. */
.ui-table-shell{
  display:grid;
  gap:10px;
  min-width:0;
}
.ui-table-toolbar{
  position:sticky;
  top:0;
  z-index:3;
  display:grid;
  gap:7px;
  padding-bottom:8px;
  background:var(--ui-surface,var(--color-fff));
}
.ui-table-toolbar-main,
.ui-table-toolbar-meta,
.ui-table-pager{
  display:flex;
  align-items:center;
  gap:8px;
}
.ui-table-toolbar-main .ui-table-search{
  min-width:0;
  flex:1;
}
.ui-table-toolbar-meta{
  min-height:34px;
  justify-content:space-between;
}
.ui-table-count{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.ui-table-pager{
  margin-left:auto;
}
.ui-table-pager .btn{
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
}
.ui-table-note{
  line-height:1.45;
}
.ui-table-scroll{
  overflow:auto;
  border:var(--border-thin) solid var(--ui-border);
  border-radius:var(--radius-12);
  background:var(--ui-surface,var(--color-fff));
  overscroll-behavior:contain;
}
.ui-table-grid{
  width:100%;
  min-width:max-content;
  border-collapse:separate;
  border-spacing:0;
  font-size:var(--font-xs);
}
.ui-table-grid th,
.ui-table-grid td{
  padding:7px;
  border-right:var(--border-thin) solid var(--ui-border);
  border-bottom:var(--border-thin) solid var(--ui-border);
  background:var(--ui-surface,var(--color-fff));
  vertical-align:top;
}
.ui-table-grid th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--color-f8fafc);
  color:var(--muted);
  font-weight:var(--font-weight-800);
  text-align:left;
  white-space:nowrap;
}
.ui-table-grid td:first-child,
.ui-table-grid th:first-child{
  position:sticky;
  left:0;
  z-index:1;
}
.ui-table-grid th:first-child{
  z-index:4;
}
.ui-table-grid tr:last-child td{
  border-bottom:0;
}
.ui-table-grid th:last-child,
.ui-table-grid td:last-child{
  border-right:0;
}

/* Admin DB only supplies field/media cells; table chrome stays shared. */
.admin-db-input,
.admin-db-select,
.admin-db-json{
  width:160px;
  min-height:34px;
  padding:6px;
  border:var(--border-thin) solid var(--ui-control-border);
  border-radius:var(--radius-8);
  background:var(--ui-surface,var(--color-fff));
  font:inherit;
}
.admin-db-json{height:74px;resize:vertical}
.admin-db-multi{width:190px;min-height:84px}
.admin-db-readonly{display:block;max-width:190px;word-break:break-all;color:var(--muted)}
.admin-db-media-panel{display:grid;gap:8px;width:260px;margin-top:8px}
.admin-db-media-card{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:7px;border:var(--border-thin) solid var(--ui-border);border-radius:var(--radius-10)}
.admin-db-media-card img{width:72px;height:58px;object-fit:contain;background:var(--color-f8fafc);border-radius:var(--radius-8)}
.admin-db-media-actions{display:flex;gap:5px;flex-wrap:wrap}
.admin-db-row-actions{display:flex;gap:5px;flex-wrap:wrap}
.admin-db-media-add{display:flex;gap:6px}
.admin-db-media-add input{min-width:0;flex:1}
.admin-db-status{min-height:20px}
.admin-db-dirty{box-shadow:inset 3px 0 0 var(--orange)}
@media(max-width:420px){
  .ui-table-toolbar-main{align-items:stretch}
  .ui-table-toolbar-main>.btn{width:auto;white-space:nowrap}
  .ui-table-toolbar-meta{padding-inline:2px}
}

/* Shared session visual hierarchy: static owner moved from CompositionUI. */
#sessionPage{
  --session-type-copy:650;
  --session-type-title:700;
  --session-type-value:760;
}
#sessionPage>.hero .session-status{font-weight:var(--font-weight-700)}
#sessionPage>.hero .timer{font-weight:var(--font-weight-760)}
#sessionPage .session-v1-card{
  padding:12px;
  border-radius:var(--radius-18);
  box-shadow:0 2px 12px var(--color-rgba-15-23-42-045);
}
#sessionPage .session-v1-card .composition-panel{margin-bottom:10px}
#sessionPage .session-v1-exercises,
#restPage .session-v1-exercises{
  border-bottom:var(--border-thin) solid var(--ui-border-soft);
}
#sessionPage .session-v1-exercises .selection-rail-item,
#restPage .session-v1-exercises .selection-rail-item{
  border-bottom-width:2px;
  font-weight:var(--session-type-title,700);
  letter-spacing:-.02em;
}
#sessionPage .session-v1-exercises .selection-rail-item.is-active,
#restPage .session-v1-exercises .selection-rail-item.is-active{
  background:transparent;
  color:var(--workout-navy);
  border-bottom-color:transparent;
}
#sessionPage .session-v1-exercises .selection-rail-item.is-active::after,
#restPage .session-v1-exercises .selection-rail-item.is-active::after{
  content:'';
  position:absolute;
  left:22%;
  right:22%;
  bottom:0;
  height:2px;
  border-radius:var(--radius-999);
  background:var(--workout-navy);
}
#sessionPage .session-v1-layer-group,
#sessionPage .session-v1-layers{--selection-rail-height:52px}
#sessionPage .session-v1-layer-group{
  border-color:var(--ui-border-soft);
  border-radius:var(--radius-10);
  background:var(--ui-surface-soft);
}
#sessionPage .session-v1-layer-scroll{
  background:transparent;
  border-right-color:var(--ui-border-soft);
}
#sessionPage .session-v1-layers .selection-rail{gap:0}
#sessionPage .session-v1-layers .selection-rail-item{
  padding:0 12px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--workout-copy);
  font-weight:var(--session-type-title);
  box-shadow:none;
}
#sessionPage .session-v1-layers .selection-rail-item.is-active{
  background:transparent;
  color:var(--workout-navy);
  border-color:transparent;
  box-shadow:inset 0 -2px 0 var(--workout-navy);
}
#sessionPage .session-v1-layers .selection-rail-side button{
  color:var(--workout-copy);
  font-weight:var(--font-weight-600);
}
#sessionPage .session-v1-layer-add{background:var(--ui-surface)}
#sessionPage .session-v1-layer-add .inline-rail{background:transparent}
#sessionPage .session-v1-layer-add .rail-label{
  color:var(--workout-copy);
  font-weight:var(--font-weight-600);
}
#sessionPage .session-v1-layer-add .rail-current{
  color:var(--workout-navy);
  font-weight:var(--session-type-title);
}
#sessionPage .session-v1-layer-plus{font-weight:var(--font-weight-650)}
#sessionPage #sessionValueDeck.rail-session-deck{
  gap:0;
  overflow:hidden;
  border:var(--border-thin) solid var(--ui-border-soft);
  border-radius:var(--radius-14);
  background:var(--ui-surface-soft);
  box-shadow:none;
}
#sessionPage #sessionValueDeck .inline-rail{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#sessionPage #sessionValueDeck .inline-rail + .inline-rail{
  border-left:var(--border-thin) solid var(--ui-border-soft)!important;
}
#sessionPage #sessionValueDeck .inline-rail.rail-active,
#sessionPage #sessionValueDeck .inline-rail.rail-editing{
  background:var(--ui-surface)!important;
  box-shadow:inset 0 0 0 1px var(--ui-border)!important;
}
#sessionPage #sessionValueDeck .rail-label{
  color:var(--workout-copy);
  font-weight:var(--font-weight-600);
}
#sessionPage #sessionValueDeck .rail-current{
  color:var(--workout-navy);
  font-weight:var(--session-type-value);
}
#sessionPage .session-command-bar{
  overflow:hidden;
  border:var(--border-thin) solid var(--ui-border);
  border-radius:var(--radius-15);
  background:var(--ui-surface);
  box-shadow:none;
}
#sessionPage .session-command-bar [data-flow-action="cancel"],
#sessionPage .session-command-bar .session-complete-slot,
#sessionPage .session-command-bar [data-flow-action="complete"]{
  background:var(--ui-surface);
}
#sessionPage .session-command-bar [data-flow-action="cancel"],
#sessionPage .session-command-bar [data-flow-action="complete"]{
  font-weight:var(--font-weight-700);
}
#sessionPage .session-command-bar .session-complete-slot{
  border-left:var(--border-thin) solid var(--ui-border-soft);
}
#sessionPage .session-command-bar .session-rest-slot{
  border-left:var(--border-thin) solid var(--ui-border);
}
#sessionPage .session-command-bar [data-flow-action="next"]{font-weight:var(--font-weight-750)}
#sessionPage .session-v1-card>[data-flow-scope="workout"]{
  border-color:var(--ui-border-soft);
  border-radius:var(--radius-12);
  background:transparent;
  font-weight:var(--font-weight-700);
  box-shadow:none;
}
#sessionPage .session-history{
  margin-top:12px;
  border-top:var(--border-thin) solid var(--ui-border-soft);
  padding-top:12px;
}
#sessionPage .session-v1-card #previousSets{
  padding:4px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
}
#sessionPage .session-history-title{font-weight:var(--font-weight-700)}
#sessionPage .session-history-row :is(strong,b),
#sessionPage .session-history .setrow b{font-weight:var(--font-weight-700)}

/* Shared text-scale owner: inherited controls follow the selected app font mode. */
body{font-size:var(--font-md)}

/* Responsive text containment: preserve labels without cross-control spill. */
#sessionPage>.hero .session-status{min-width:0;overflow:hidden;text-overflow:ellipsis}
#sessionPage .session-presence-main{overflow:hidden}
#sessionPage .session-presence-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sessionPage .session-presence-meta{flex:0 0 auto}
#sessionPage .session-command-bar :is([data-flow-action="cancel"],[data-flow-action="complete"]) span,
#sessionPage .session-command-bar [data-flow-action="next"] span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sessionPage .session-history-row > :is(strong,b,time,button,span){min-width:0}
#sessionPage .session-history-row > :is(strong,b,time){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:340px){
 #sessionPage .session-command-bar{--inline-layout-closed:minmax(48px,.8fr) minmax(48px,.8fr) minmax(68px,1fr) minmax(88px,1.35fr);--inline-layout-open:minmax(48px,.8fr) minmax(48px,.8fr) minmax(0,1.8fr) minmax(54px,.7fr)}
 #sessionPage .session-command-bar button{padding-inline:2px;font-size:var(--ui-session-action-compact-size)}
 #sessionPage .session-command-bar [data-flow-action="next"]{font-size:var(--font-sm)}
 #sessionPage .session-history-row{grid-template-columns:minmax(58px,.82fr) minmax(72px,1fr) minmax(64px,.82fr) auto;gap:4px}
 #sessionPage .session-history-row button{padding-inline:5px}
}

/* Responsive session grid containment for narrow/long text. */
#sessionPage.active{grid-template-columns:minmax(0,1fr)}
#sessionPage>.hero,#sessionPage .session-v1-card,#sessionPage .session-v1-card .composition-panel,#sessionPage #sessionValueDeck,#sessionPage .session-command-bar,#sessionPage .session-presence,#sessionPage .session-presence-toggle{min-width:0;max-width:100%}
#sessionPage .session-v1-card,#sessionPage .session-presence,#sessionPage .session-presence-toggle{width:100%}
#sessionPage .session-presence,#sessionPage .session-presence-toggle{overflow:hidden}
@media(max-width:430px){
 #sessionPage .session-command-bar{--inline-layout-closed:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.4fr);--inline-layout-open:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.8fr) minmax(0,.7fr)}
 #sessionPage .session-command-bar.superset-middle,#sessionPage .session-command-bar.room-no-rest:not(.room-turn-pending){grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.8fr)}
 #sessionPage .session-command-bar.room-mode.room-all-ready.room-no-rest:not(.room-member){grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr)}
 #sessionPage .session-command-bar.room-mode:not(.room-no-rest).room-turn-pending{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1fr)}
 #sessionPage .session-command-bar.room-mode.room-all-ready:not(.room-no-rest):not(.room-member){grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.6fr)}
}

/* Live-painted dials bind distance visuals directly to the current scroll position. */
.selection-rail[data-live-paint] .selection-rail-item{transition:color .12s ease,background .12s ease,box-shadow .12s ease}

#exerciseList .exercise-personal-thumbnail{float:left;width:38px;height:38px;object-fit:cover;border-radius:7px;margin-right:8px;background:white}
