@layer tokens,base,components,pages,responsive;
@layer tokens{:root{color-scheme:dark;--background:#10110f;--background-secondary:#141512;--surface:#1b1d19;--surface-elevated:#23251f;--surface-input:#141611;--border:#2c2e27;--border-strong:#484c40;--text-primary:#f2f2e9;--text-secondary:#b1b5a8;--text-muted:#828979;--accent:#e5c37c;--accent-hover:#f3d695;--action:#ee784b;--action-hover:#ff8e62;--action-disabled:#635044;--success:#aac786;--warning:#e5c37c;--error:#ff9b8e;--info:#a0bdcc;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--r1:6px;--r2:12px;--r3:18px;--r4:24px;--pill:999px;--body:'Segoe UI',Arial,sans-serif;--display:'Bahnschrift','Arial Narrow',Impact,sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--h3:1.3rem;--h2:1.8rem;--h1:3.5rem;--display-xl:5.5rem;--button-height:48px;--input-height:48px;--icon:20px;--container:1240px;--sidebar:236px;--transition:150ms ease;--z-sticky:10;--z-nav:20;--z-toast:100;--shadow:0 20px 80px #0005}

}
@layer base{*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--text-primary);font:400 var(--text-base)/1.5 var(--body);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{color:inherit}
button:disabled{cursor:wait;opacity:.5}
button,select,input,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.12}
h1{font:650 var(--h1)/1 var(--display);letter-spacing:-.045em}
h2{font-size:var(--h2);font-weight:600;letter-spacing:-.035em}
h3{font-size:var(--h3);font-weight:600;letter-spacing:-.02em}
p{color:var(--text-secondary)}
svg{flex-shrink:0;vertical-align:middle}
input,select,textarea{width:100%;background:var(--surface-input);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--r1);min-height:var(--input-height);padding:var(--s3) var(--s4);accent-color:var(--action)}
textarea{min-height:100px;resize:vertical}
input::placeholder{color:var(--text-muted)}
input[type=checkbox]{width:20px;min-height:20px;height:20px}
input[type=range]{padding:0;min-height:32px}
label{display:block;font-size:var(--text-sm);color:var(--text-secondary)}
label input,label select,label textarea{margin-top:var(--s2)}
input[type=number]{appearance:textfield}
input::-webkit-inner-spin-button{appearance:none}
table{width:100%;border-collapse:collapse;text-align:left}
th{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:500}
th,td{padding:var(--s4);border-bottom:1px solid var(--border)}
td{font-size:var(--text-sm)}
::selection{background:var(--action);color:var(--background)}
.skip-link{position:fixed;top:-80px;left:var(--s4);padding:var(--s4);background:var(--accent);color:var(--background);z-index:200}
.skip-link:focus{top:var(--s4)}
.muted{color:var(--text-muted)}
.secondary{color:var(--text-secondary)}
.gold{color:var(--accent)}
.orange{color:var(--action)}
.success{color:var(--success)}
.small{font-size:var(--text-sm)}
.numeric{font-variant-numeric:tabular-nums}
.label,.eyebrow{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.eyebrow{color:var(--text-muted);display:flex;align-items:center;gap:var(--s2)}
.display{font-family:var(--display);font-weight:650;letter-spacing:-.035em}
.spacer{flex:1;min-width:0}
.nowrap{white-space:nowrap}
.text-left{text-align:left}
.hidden{display:none!important}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.form-stack{display:grid;gap:var(--s5)}
.full{grid-column:1/-1}
.inline{display:flex;align-items:center;gap:var(--s3)}
.stack{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:var(--s4)}
.row{display:flex;justify-content:space-between;align-items:center;gap:var(--s4)}
.divider{border:0;border-top:1px solid var(--border);margin:var(--s6) 0}
.boot{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s6);padding:calc(24px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px));text-align:center}
.boot-status{display:flex;flex-direction:column;align-items:center;gap:var(--s3);max-width:100%}
.boot-status p{font-size:var(--text-sm);line-height:1.6}
.boot .loading-line{position:relative;width:min(240px,100%);height:5px;border-radius:var(--pill);overflow:hidden;background:var(--border)}
.boot .loading-line::before{content:'';position:absolute;inset:0 auto 0 0;width:44%;border-radius:inherit;background:linear-gradient(90deg,var(--action),var(--accent));animation:alzusa-loading-sweep 1.6s cubic-bezier(.65,0,.35,1) infinite}
@keyframes alzusa-loading-sweep{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
@media(prefers-reduced-motion:reduce){.boot .loading-line::before{animation:none;transform:none}}
[data-theme=light]{color-scheme:light;--background:#f1f2ec;--background-secondary:#e8eae0;--surface:#fafbf5;--surface-elevated:#e9ecdf;--surface-input:#fff;--border:#d4d9c9;--border-strong:#b2bca3;--text-primary:#1c2416;--text-secondary:#536046;--text-muted:#697560;--accent:#835c17;--accent-hover:#684709;--action:#ac411b;--action-hover:#8e3213;--success:#416321;--error:#a52919;--info:#335c75}

}
@layer components{.brand{display:flex;align-items:center;gap:var(--s3);color:var(--text-primary)}
.btn{min-height:var(--button-height);border:1px solid var(--border-strong);border-radius:var(--r1);padding:var(--s3) var(--s5);display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);background:transparent;font-size:var(--text-sm);font-weight:600;transition:background var(--transition),border-color var(--transition)}
.btn:hover{background:var(--surface-elevated);border-color:var(--text-muted)}
.btn.primary{background:var(--action);border-color:var(--action);color:#17150f}
.btn.primary:hover{background:var(--action-hover)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--background)}
.btn.quiet{border-color:transparent;color:var(--text-secondary)}
.btn.danger{color:var(--error);border-color:var(--error)}
.btn.wide{width:100%}
.btn.large{min-height:60px;padding:var(--s4) var(--s6);font-size:var(--text-base)}
.text-btn{background:none;border:0;color:var(--text-secondary);display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) 0;min-height:44px;font-size:var(--text-sm)}
.text-btn:hover{color:var(--text-primary)}
.icon-btn{width:44px;height:44px;border:1px solid transparent;border-radius:var(--r1);background:transparent;display:inline-grid;place-items:center;color:var(--text-secondary)}
.icon-btn:hover{background:var(--surface-elevated);color:var(--text-primary)}
.icon-btn.bordered{border-color:var(--border)}
.badge{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:var(--pill);font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;white-space:nowrap}
.badge.success{color:var(--success);background:color-mix(in srgb,var(--success) 4.3%,transparent);border-color:color-mix(in srgb,var(--success) 18.8%,transparent)}
.badge.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 22.0%,transparent)}
.badge.action{color:var(--action);border-color:color-mix(in srgb,var(--action) 22.0%,transparent)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s6)}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6)}
.card-header h3{font-size:var(--text-lg)}
.stat-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--r2);color:var(--accent)}
.metric{min-width:0;overflow-wrap:anywhere;padding:var(--s5) var(--s6);border-right:1px solid var(--border)}
.metric:last-child{border:0}
.metric>.label{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.065em}
.metric-value{font:600 2.3rem/1.3 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;margin:var(--s2) 0 var(--s1)}
.metric-value>small{font:400 var(--text-sm) var(--body);color:var(--text-muted);margin-left:var(--s2)}
.metric-note{color:var(--text-muted);font-size:var(--text-xs)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--r2);background:var(--surface)}
.section-title{display:flex;align-items:center;gap:var(--s3);margin:var(--s8) 0 var(--s4)}
.section-title h2{font-size:var(--h3)}
.section-title>span{font-size:var(--text-xs);color:var(--text-muted)}
.empty-state{text-align:center;padding:var(--s12) var(--s6)}
.empty-state h3{margin:var(--s5) 0 var(--s3)}
.empty-state p{max-width:390px;margin:0 auto var(--s6)}
.empty-symbol{color:var(--accent)}
.tabs{display:flex;gap:var(--s2);border-bottom:1px solid var(--border);margin-bottom:var(--s6);overflow:auto}
.tab{border:0;background:none;color:var(--text-muted);padding:var(--s4) var(--s5);border-bottom:2px solid transparent;font-size:var(--text-sm);white-space:nowrap}
.tab.active{color:var(--text-primary);border-bottom-color:var(--action)}
.segmented{min-width:0;max-width:100%;overflow-x:auto;display:flex;gap:var(--s1);background:var(--surface-input);border:1px solid var(--border);padding:var(--s1);border-radius:var(--r1)}
.segmented button{border:0;background:none;padding:var(--s2) var(--s3);color:var(--text-muted);border-radius:var(--r1);font-size:var(--text-sm);min-height:36px;white-space:nowrap}
.segmented button.active{background:var(--surface-elevated);color:var(--text-primary)}
.check-label{display:flex;align-items:center;gap:var(--s3)}
.check-label input{margin:0;flex-shrink:0}
.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 14.5%,transparent);color:var(--accent);font-weight:600;font-size:var(--text-sm)}
.toast-region{position:fixed;bottom:var(--s6);left:50%;transform:translateX(-50%);z-index:var(--z-toast);width:max-content;max-width:calc(100% - 32px)}
.toast{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--r2);box-shadow:var(--shadow);font-size:var(--text-sm)}
.toast>svg{color:var(--success)}
.toast.error>svg{color:var(--error)}
dialog{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3);color:var(--text-primary);padding:0;max-width:560px;width:calc(100% - 32px);max-height:90dvh;box-shadow:var(--shadow)}
dialog::backdrop{background:#050604bf;backdrop-filter:blur(4px)}
.modal-header{flex-shrink:0;gap:var(--s3);display:flex;align-items:center;justify-content:space-between;padding:var(--s5) var(--s6);border-bottom:1px solid var(--border)}
.modal-header h2{min-width:0;overflow-wrap:anywhere;font-size:var(--h3)}
.modal-body{min-height:0;min-width:0;flex:1 1 auto;padding:var(--s6);overflow-y:auto;overscroll-behavior:contain}
.modal-footer{flex-shrink:0;flex-wrap:wrap;padding:var(--s4) var(--s6);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--s3)}
.modal-body p+p{margin-top:var(--s4)}
.callout{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s4);border-radius:var(--r1);background:var(--surface-input);color:var(--text-secondary);font-size:var(--text-sm)}
.callout>svg{color:var(--accent);margin-top:2px}
.error-box{color:var(--error);font-size:var(--text-sm);padding:var(--s3);border:1px solid var(--error);border-radius:var(--r1)}
.list-row{display:flex;align-items:center;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--border)}
.list-row:last-child{border:0}
.list-row h3{font-size:var(--text-base);margin-bottom:var(--s1)}
.list-row p{font-size:var(--text-sm)}
.list-row.clickable{cursor:pointer}
.list-row.clickable:hover h3{color:var(--accent)}
.list-num{font:400 1.25rem var(--display);color:var(--text-muted);width:28px}
.form-help{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--s2)}
.switch{display:inline-flex;width:40px;height:23px;background:var(--border-strong);border-radius:var(--pill);padding:3px;flex-shrink:0}
.switch:before{content:'';width:17px;height:17px;background:var(--text-primary);border-radius:50%;transition:transform var(--transition)}
.switch.on{background:var(--action)}
.switch.on:before{transform:translateX(17px);background:var(--background)}
.setting-row{width:100%;display:flex;align-items:center;gap:var(--s4);justify-content:space-between;padding:var(--s5) 0;border:0;border-bottom:1px solid var(--border);background:none;text-align:left}
.setting-row:last-child{border-bottom:0}
.setting-row h3{font-size:var(--text-base);margin-bottom:var(--s1)}
.setting-row p{font-size:var(--text-sm)}
.chart-wrap{position:relative}
.line-chart{width:100%;overflow:visible}
.line-chart text{fill:var(--text-muted);font-size:12px;font-family:var(--body)}
.chart-grid{stroke:var(--border);stroke-dasharray:3 5}
.chart-line{stroke:var(--accent);stroke-width:2.5;fill:none}
.chart-area{fill:var(--accent);opacity:.035}
.chart-point{fill:var(--surface);stroke:var(--accent);stroke-width:2;cursor:help}
.chart-point:hover,.chart-point:focus{r:7;fill:var(--accent)}
.line-chart.action .chart-line,.line-chart.action .chart-point{stroke:var(--action)}
.line-chart.action .chart-area{fill:var(--action)}
.chart-unit{position:absolute;top:0;left:0;font-size:var(--text-xs);color:var(--text-muted)}
.chart-empty{padding:var(--s12);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}

}
@layer pages{.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:var(--background-secondary);border-right:1px solid var(--border);padding:var(--s10) var(--s5) var(--s5);display:flex;flex-direction:column;z-index:var(--z-nav)}
.sidebar .brand{padding-left:var(--s3);margin-bottom:var(--s12)}
.nav-label{font-size:.65rem;letter-spacing:.15em;color:var(--text-muted);margin:0 var(--s4) var(--s4)}
.nav-link{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);min-height:48px;margin-bottom:var(--s2);color:var(--text-secondary);font-size:var(--text-sm);border-radius:var(--r1);border:1px solid transparent}
.nav-link:hover{background:var(--surface)}
.nav-link.active{background:color-mix(in srgb,var(--action) 6.3%,transparent);border-color:color-mix(in srgb,var(--action) 12.5%,transparent);color:var(--action)}
.nav-link .nav-count{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted)}
.sidebar-bottom{margin-top:auto}
.adapt-mini{padding:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);margin-bottom:var(--s6)}
.adapt-mini>div{color:var(--accent);font-size:var(--text-sm);font-weight:600;display:flex;gap:var(--s2);align-items:center;margin-bottom:var(--s2)}
.adapt-mini p{font-size:var(--text-xs);line-height:1.6}
.side-profile{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s2);border-top:1px solid var(--border)}
.side-profile strong{font-size:var(--text-sm);font-weight:500}
.side-profile small{display:block;color:var(--text-muted);font-size:var(--text-xs)}
.shell-content{margin-left:var(--sidebar)}
.topbar{height:88px;padding:0 var(--s10);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.breadcrumb{display:flex;align-items:center;gap:var(--s3);font-size:var(--text-sm);color:var(--text-muted)}
.breadcrumb strong{font-weight:400;color:var(--text-primary)}
.topbar-right{display:flex;align-items:center;gap:var(--s5)}
.top-date{font-size:var(--text-sm);color:var(--text-muted)}
.notification-button{position:relative}
.notification-button .unread{position:absolute;right:10px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--action)}
.main{max-width:var(--container);padding:var(--s10);margin:auto}
.mobile-header,.bottom-nav{display:none}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);margin-bottom:var(--s8)}
.page-heading .eyebrow{margin-bottom:var(--s4)}
.page-heading h1{font-size:3rem;overflow-wrap:anywhere}
.page-heading p{margin-top:var(--s3);font-size:var(--text-sm)}
.demo-strip{padding:var(--s2) var(--s10);font-size:var(--text-xs);display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--accent) 4.3%,transparent);border-bottom:1px solid var(--border);color:var(--text-muted)}
.demo-strip button{border:0;background:none;color:var(--accent);font-size:var(--text-xs);min-height:30px}
.home-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:var(--s6)}
.next-workout{container-type:inline-size;padding:var(--s8);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:325px}
.next-workout .hero-index{position:absolute;right:var(--s5);top:var(--s8);font:700 14rem/.9 var(--display);letter-spacing:-.07em;color:color-mix(in srgb,var(--accent) 2.7%,transparent);pointer-events:none}
.next-workout .eyebrow{color:var(--accent)}
.next-workout h2{overflow-wrap:break-word;word-break:normal;hyphens:manual;font:600 3rem/1.04 var(--display);font-size:clamp(1.4rem,10cqi,3.4rem);text-transform:uppercase;letter-spacing:-.045em;max-width:100%;margin:var(--s6) 0 var(--s5);position:relative}
.workout-meta{display:flex;align-items:center;gap:var(--s5);color:var(--text-secondary);font-size:var(--text-sm)}
.workout-meta>span{display:flex;align-items:center;gap:var(--s2)}
.hero-bottom{display:flex;align-items:center;gap:var(--s4);margin-top:auto;padding-top:var(--s8);position:relative}
.hero-bottom .btn.primary{flex:1;justify-content:space-between;font-size:var(--text-base);padding:var(--s4) var(--s5)}
.hero-bottom .btn.icon-btn{height:56px;width:56px;padding:0}
.week-card{min-width:0;padding:var(--s6);display:flex;flex-direction:column}
.week-card .card-header{margin-bottom:var(--s8);flex-wrap:wrap}
.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s2)}
.week-day{text-align:center;font-size:var(--text-xs);color:var(--text-muted)}
.day-circle{margin-top:var(--s3);height:34px;width:34px;max-width:100%;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);font-size:var(--text-sm)}
.week-day.done .day-circle{color:var(--success);background:color-mix(in srgb,var(--success) 7.1%,transparent);border-color:color-mix(in srgb,var(--success) 22.0%,transparent)}
.week-day.today .day-circle{color:var(--background);background:var(--accent);border-color:var(--accent)}
.week-progress{height:4px;background:var(--border);border-radius:var(--pill);margin:var(--s6) 0 var(--s3);overflow:hidden}
.week-progress>span{display:block;height:100%;background:var(--accent)}
.week-footer{display:flex;align-items:center;gap:var(--s3);padding-top:var(--s6);margin-top:auto;border-top:1px solid var(--border);font-size:var(--text-sm)}
.week-footer svg{color:var(--accent)}
.week-footer p{font-size:var(--text-xs)}
.home-metrics{margin-top:var(--s6)}
.lower-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:var(--s6);margin-top:var(--s6)}
.coach-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s6);display:flex;flex-direction:column}
.coach-card .coach-symbol{display:flex;gap:var(--s2);color:var(--accent);font-size:var(--text-sm);font-weight:600}
.coach-card h3{margin:var(--s5) 0 var(--s3);font-size:1.4rem;line-height:1.3}
.coach-card p{font-size:var(--text-sm);line-height:1.8}
.coach-card .text-btn{margin-top:auto;justify-content:space-between;padding-top:var(--s5)}
.bar-chart{height:166px;display:flex;align-items:flex-end;gap:var(--s4);padding-top:var(--s4)}
.bar-group{flex:1;height:100%;display:flex;gap:var(--s1);align-items:flex-end;position:relative;padding-bottom:var(--s6)}
.bar{background:var(--border-strong);border-radius:3px 3px 0 0;flex:1;min-height:2px;max-width:80px;cursor:help}
.bar.current{background:var(--accent)}
.bar-group>span{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:var(--text-xs);color:var(--text-muted)}
.chart-legend{display:flex;gap:var(--s5);color:var(--text-muted);font-size:var(--text-xs)}
.chart-legend i{display:inline-block;width:6px;height:6px;margin-right:var(--s2);background:var(--accent);border-radius:50%}
.last-workout{display:grid;grid-template-columns:52px 1fr auto;gap:var(--s4);align-items:center;padding:var(--s5) 0;border-top:1px solid var(--border)}
.date-block{text-align:center;background:var(--surface-elevated);padding:var(--s2);border-radius:var(--r1)}
.date-block strong{display:block;font:500 1.5rem var(--display)}
.date-block small{font-size:.65rem;text-transform:uppercase;color:var(--text-muted)}
.last-workout h3{font-size:var(--text-base);margin-bottom:var(--s1)}
.last-workout p{font-size:var(--text-xs)}
.last-workout-value{text-align:right;font-size:var(--text-sm)}
.last-workout-value small{display:block;color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--s1)}
.workout-shell{max-width:1250px;margin:auto;padding:0 var(--s8) var(--s8)}
.workout-top{display:flex;align-items:center;gap:var(--s6);padding:var(--s6) 0;border-bottom:1px solid var(--border)}
.workout-top .workout-title{border-left:1px solid var(--border);padding-left:var(--s6)}
.workout-title .eyebrow{color:var(--success);font-size:.65rem;letter-spacing:.15em;margin-bottom:var(--s1)}
.workout-title h1{font:500 var(--text-base) var(--body);letter-spacing:0}
.workout-clock{font:500 1.5rem var(--display);font-variant-numeric:tabular-nums}
.sync-label{display:flex;align-items:center;gap:var(--s2);color:var(--text-muted);font-size:var(--text-xs)}
.workout-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s16);padding-top:var(--s8)}
.workout-main{max-width:690px}
.exercise-progress{display:flex;gap:var(--s2);margin:var(--s4) 0 var(--s8)}
.exercise-progress>span{height:3px;background:var(--border);flex:1}
.exercise-progress>span.done{background:var(--accent)}
.exercise-progress>span.current{background:var(--action)}
.exercise-heading .eyebrow{color:var(--accent);margin-bottom:var(--s3)}
.exercise-heading h2{font:650 3.5rem/.98 var(--display);letter-spacing:-.04em;text-transform:uppercase;max-width:650px}
.exercise-heading .exercise-equipment{display:block;color:var(--text-muted);font:450 1.5rem/1.4 var(--display);letter-spacing:.03em;margin-top:var(--s2)}
.set-target{display:flex;align-items:center;justify-content:space-between;margin:var(--s8) 0 var(--s4);font-size:var(--text-lg)}
.set-target span{color:var(--text-secondary);font-size:var(--text-sm)}
.set-target b{color:var(--accent);font-weight:500}
.input-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s6);display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}
.number-control>label{font-size:var(--text-sm);margin-bottom:var(--s3);color:var(--text-secondary)}
.number-field{display:flex;align-items:center;gap:var(--s2);background:var(--surface-input);border:1px solid var(--border-strong);border-radius:var(--r1);height:100px;padding:var(--s2) var(--s4)}
.number-field input{min-width:0;padding:0;border:0;background:none;text-align:center;height:80px;font:600 3.5rem var(--display);font-variant-numeric:tabular-nums;margin:0;outline-offset:0}
.number-field .prefix{white-space:nowrap;color:var(--text-muted);font-size:var(--text-lg)}
.number-field .unit{color:var(--text-muted);font-size:var(--text-lg)}
.stepper{display:flex;gap:var(--s2);margin-top:var(--s3)}
.stepper button{flex:1;border:1px solid var(--border);border-radius:var(--r1);min-height:44px;background:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--s2);font-size:var(--text-sm)}
.stepper button:hover{background:var(--surface-elevated)}
.previous-performance{grid-column:1/-1;border-top:1px solid var(--border);padding-top:var(--s4);display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);color:var(--text-muted)}
.previous-performance strong{font-weight:500;color:var(--text-secondary)}
.adapt-box{display:flex;align-items:center;gap:var(--s4);padding:var(--s5);margin-top:var(--s4);border:1px solid color-mix(in srgb,var(--accent) 18.8%,transparent);background:color-mix(in srgb,var(--accent) 2.4%,transparent);border-radius:var(--r2)}
.adapt-box>.adapt-mark{color:var(--accent)}
.adapt-box .label{color:var(--accent);font-size:.65rem;display:block;margin-bottom:var(--s1)}
.adapt-box strong{font-size:var(--text-sm);font-weight:500}
.adapt-box p{font-size:var(--text-xs);margin-top:var(--s1)}
.adapt-box .text-btn{color:var(--accent);margin-left:auto}
.workout-actions{padding-top:var(--s6)}
.workout-actions .primary{width:100%;font-size:var(--text-lg);justify-content:space-between;min-height:64px}
.workout-secondary{display:flex;justify-content:space-between;gap:var(--s2);margin-top:var(--s3)}
.workout-secondary .text-btn{font-size:var(--text-xs)}
.workout-aside{border-left:1px solid var(--border);padding-left:var(--s8)}
.workout-aside .card-header{margin-bottom:var(--s4)}
.exercise-item{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border:1px solid transparent;border-radius:var(--r1);width:100%;text-align:left;background:none}
.exercise-item .position{width:24px;color:var(--text-muted);font:500 1rem var(--display)}
.exercise-item h3{font-size:var(--text-sm);line-height:1.4}
.exercise-item p{font-size:var(--text-xs);margin-top:var(--s1)}
.exercise-item.active{background:var(--surface);border-color:var(--border)}
.exercise-item.active .position{color:var(--action)}
.set-list{margin-top:var(--s8)}
.set-row{display:grid;grid-template-columns:26px 1fr auto 24px;align-items:center;gap:var(--s3);width:100%;background:none;border:0;border-bottom:1px solid var(--border);padding:var(--s4) 0;text-align:left;font-size:var(--text-sm)}
.set-row .set-no{color:var(--text-muted)}
.set-row.completed .set-no{color:var(--success)}
.set-row.current{color:var(--accent)}
.set-row.current .set-no{color:var(--accent)}
.set-row .set-value{font-variant-numeric:tabular-nums;color:var(--text-secondary)}
.rest-timer{border:1px solid var(--border-strong);border-radius:var(--r2);padding:var(--s5);margin-top:var(--s6);background:var(--surface)}
.rest-time{font:600 2.5rem var(--display);font-variant-numeric:tabular-nums;color:var(--accent)}
.rest-actions{display:flex;gap:var(--s2);margin-top:var(--s3)}
.rest-actions button{flex:1;font-size:var(--text-xs);padding:var(--s2);min-height:40px}
.paused-overlay{padding:var(--s8);text-align:center;border:1px solid var(--accent);border-radius:var(--r2);margin:var(--s6) 0}
.paused-overlay h2{margin:var(--s4) 0}
.paused-overlay p{margin-bottom:var(--s6)}
.summary-hero{text-align:center;padding:var(--s10) var(--s6)}
.summary-hero>.stat-icon{margin:0 auto var(--s6);width:70px;height:70px;border-radius:50%}
.summary-hero h1{margin-bottom:var(--s4)}
.summary-grid{max-width:850px;margin:auto}
.summary-grid .metrics{margin:var(--s6) 0}
.summary-grid>.btn{margin-top:var(--s6)}
.plan-tabs{display:flex;gap:var(--s3);margin-bottom:var(--s6);overflow:auto}
.plan-tile{padding:var(--s4) var(--s5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);min-width:220px;text-align:left}
.plan-tile.active{border-color:var(--accent)}
.plan-tile h3{font-size:var(--text-base);margin-bottom:var(--s2)}
.plan-meta{display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap;margin-top:var(--s4)}
.plan-hero{min-width:0;flex-wrap:wrap;display:flex;justify-content:space-between;gap:var(--s6);padding:var(--s8);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);margin-bottom:var(--s6)}
.plan-hero h2{overflow-wrap:anywhere;font-family:var(--display);font-size:2.6rem;letter-spacing:-.04em;text-transform:uppercase}
.plan-hero p{font-size:var(--text-sm);max-width:550px;margin-top:var(--s3)}
.plan-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.day-card{min-width:0;overflow-wrap:anywhere;padding:var(--s5);border:1px solid var(--border);background:var(--surface);border-radius:var(--r2);display:flex;flex-direction:column}
.day-card .label{color:var(--accent);font-size:.65rem;margin-bottom:var(--s3)}
.day-card h3{font-size:var(--h3);margin-bottom:var(--s2)}
.day-card>p{font-size:var(--text-xs)}
.day-card .mini-exercises{margin:var(--s5) 0;border-top:1px solid var(--border)}
.mini-exercise{padding:var(--s3) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);font-size:var(--text-sm);border-bottom:1px solid var(--border)}
.mini-exercise small{color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}
.day-card .btn{margin-top:auto}
.editor-top{display:flex;justify-content:space-between;gap:var(--s4);align-items:center;margin-bottom:var(--s6)}
.editor-top input{font-size:1.5rem;max-width:600px;background:none;border-color:transparent;padding-left:0}
.editor-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:var(--s6)}
.editor-days .btn{margin-bottom:var(--s2);width:100%;justify-content:flex-start}
.editor-days .btn.active{border-color:var(--accent);color:var(--accent)}
.editor-exercise{padding:var(--s5);border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);margin-bottom:var(--s4)}
.editor-exercise.drag-over{border-color:var(--action)}
.editor-exercise-header{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}
.editor-exercise-header h3{font-size:var(--text-base);flex:1}
.editor-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s3)}
.editor-fields label{font-size:var(--text-xs)}
.editor-fields input{padding:var(--s2);min-height:44px}
.search-field{position:relative}
.search-field>svg{position:absolute;left:var(--s4);top:15px;color:var(--text-muted)}
.search-field input{padding-left:var(--s12)}
.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s6)}
.exercise-card{min-width:0;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s5);text-align:left;min-height:155px;display:flex;flex-direction:column;align-items:flex-start}
.exercise-card:hover{border-color:var(--border-strong)}
.exercise-card .exercise-type{color:var(--accent);margin-bottom:var(--s5)}
.exercise-card h3{font-size:var(--text-base);margin-bottom:var(--s2)}
.exercise-card p{font-size:var(--text-xs)}
.library-list{max-height:420px;overflow:auto;margin-top:var(--s4)}
.library-list button{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--border);padding:var(--s4) 0;display:flex;gap:var(--s3);align-items:center}
.library-list button:hover{color:var(--accent)}
.analytics-top{flex-wrap:wrap;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:var(--s4);margin-bottom:var(--s6)}
.analytics-charts{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--s6);margin-top:var(--s6)}
.analytics-charts .card h3{font-size:var(--text-lg)}
.exercise-leader{display:flex;align-items:center;gap:var(--s4);padding:var(--s5) 0;border-bottom:1px solid var(--border)}
.exercise-leader .name{flex:1;min-width:0;overflow-wrap:anywhere}
.exercise-leader h3{font-size:var(--text-sm);margin-bottom:var(--s2)}
.exercise-leader p{font-size:var(--text-xs)}
.exercise-leader .value{font:600 1.5rem var(--display);text-align:right}
.exercise-leader .value small{font:400 var(--text-xs) var(--body);color:var(--text-muted);margin-left:var(--s1)}
.history-list{display:grid;gap:var(--s3)}
.history-item{display:flex;align-items:center;gap:var(--s5);padding:var(--s5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);width:100%;text-align:left}
.history-item:hover{border-color:var(--border-strong)}
.history-item h3{overflow-wrap:anywhere;font-size:var(--text-base);margin-bottom:var(--s2)}
.history-item p{font-size:var(--text-sm)}
.history-stat{flex-shrink:0;margin-left:auto;font:500 1.6rem var(--display);white-space:nowrap}
.history-stat small{display:block;font:400 var(--text-xs) var(--body);color:var(--text-muted);text-align:right}
.coach-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--s8)}
.coach-list button{display:block;text-align:left;background:none;border:1px solid transparent;border-radius:var(--r1);padding:var(--s4);width:100%;margin-bottom:var(--s2)}
.coach-list button.active{background:var(--surface);border-color:var(--border)}
.coach-list strong{display:block;font-size:var(--text-sm);margin-bottom:var(--s2)}
.coach-list small{font-size:var(--text-xs);color:var(--text-muted)}
.coach-report{border:1px solid var(--border);background:var(--surface);border-radius:var(--r2);padding:var(--s10)}
.coach-report .eyebrow{color:var(--accent);margin-bottom:var(--s6)}
.coach-report h2{font:650 2.7rem/1 var(--display);text-transform:uppercase;max-width:450px;margin-bottom:var(--s5)}
.coach-report .report-body{font-size:var(--text-base);line-height:1.95;color:var(--text-secondary);white-space:pre-line}
.coach-report .report-facts{display:flex;gap:var(--s8);padding:var(--s6) 0;margin:var(--s6) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.report-facts strong{display:block;font:600 2rem var(--display)}
.report-facts span{font-size:var(--text-xs);color:var(--text-muted)}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s6)}
.profile-card-top{display:flex;align-items:center;gap:var(--s5);margin-bottom:var(--s8)}
.profile-card-top .avatar{width:64px;height:64px;font-size:var(--h3)}
.profile-card-top h2{overflow-wrap:anywhere;font-size:1.5rem;margin-bottom:var(--s2)}
.profile-card-top p{font-size:var(--text-sm)}
.settings-section+.settings-section{margin-top:var(--s6)}
.settings-section>.eyebrow{margin-bottom:var(--s3)}
.legal-footer{display:flex;gap:var(--s5);font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--border)}
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}
.auth-brand{display:flex;flex-direction:column;padding:var(--s12);background:var(--surface);border-right:1px solid var(--border);position:relative;overflow:hidden}
.auth-brand-content{margin:auto 0;padding:var(--s12) 0}
.auth-brand h1{font-size:clamp(3rem,5vw,5.5rem);line-height:.95;max-width:650px}
.auth-brand h1 span{color:var(--action)}
.auth-brand p{max-width:380px;line-height:1.8;margin-top:var(--s6)}
.auth-ticks{display:flex;gap:var(--s2);height:120px;align-items:flex-end;margin-top:var(--s10)}
.auth-ticks span{width:8px;background:var(--border-strong)}
.auth-ticks span:nth-last-child(-n+5){background:var(--accent)}
.auth-brand-footer{font-size:var(--text-xs);letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase}
.auth-form-wrap{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:var(--s10)}
.auth-form{width:100%;max-width:380px}
.auth-form h2{font-size:2rem;margin-bottom:var(--s3)}
.auth-form>p{font-size:var(--text-sm);margin-bottom:var(--s8)}
.auth-form label{margin-bottom:var(--s5)}
.auth-form .btn{width:100%;margin-top:var(--s4)}
.auth-form .auth-links{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s5);font-size:var(--text-sm);color:var(--text-muted)}
.auth-form .auth-links button{color:var(--accent);background:none;border:0;padding:var(--s2);font-size:var(--text-sm)}
.auth-form .or{display:flex;align-items:center;gap:var(--s4);margin:var(--s6) 0;color:var(--text-muted);font-size:var(--text-xs)}
.auth-form .or:before,.auth-form .or:after{content:'';height:1px;background:var(--border);flex:1}
.auth-form .demo-caption{font-size:var(--text-xs);text-align:center;margin-top:var(--s3)}
.auth-form-wrap .legal-footer{max-width:380px;width:100%;justify-content:center;border:0}
.feeling-option{padding:var(--s4) 0;border-bottom:1px solid var(--border)}
.feeling-option .row{margin-bottom:var(--s2)}
.feeling-scale{display:flex;gap:var(--s2)}
.feeling-scale label{flex:1;text-align:center;position:relative}
.feeling-scale input{position:absolute;opacity:0;width:1px;height:1px}
.feeling-scale span{display:block;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r1);cursor:pointer}
.feeling-scale input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7.1%,transparent);color:var(--accent)}
.feeling-scale input:focus-visible+span{outline:2px solid var(--accent)}
.install-banner{padding:var(--s4);background:var(--surface-elevated);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--s4);font-size:var(--text-sm)}
.session-info{font-size:var(--text-xs);color:var(--text-muted);margin:var(--s6) 0}
.export-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin:var(--s6) 0}
.export-options button{flex-direction:column;padding:var(--s6) var(--s3);gap:var(--s3)}

}
@layer responsive{@media(min-width:1500px){.main{padding:var(--s12)}
.home-grid,.lower-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}
.next-workout{min-height:345px}
}
@media(max-width:1199px){:root{--sidebar:200px}
.main{padding:var(--s8)}
.topbar{padding:0 var(--s8)}
.sidebar{padding-left:var(--s3);padding-right:var(--s3)}
.home-grid,.lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.next-workout h2{font-size:clamp(1.4rem,10cqi,3.4rem)}
.next-workout{padding:var(--s6)}
.workout-meta{gap:var(--s3);font-size:var(--text-xs)}
.week-days{gap:var(--s1)}
.day-circle{height:29px;width:29px}
.metric{padding:var(--s5) var(--s4)}
.metric-value{font-size:2rem}
.plan-days{grid-template-columns:repeat(2,minmax(0,1fr))}
.workout-grid{gap:var(--s8)}
.analytics-charts{grid-template-columns:1fr}
.workout-aside{padding-left:var(--s5)}
}
@media(max-width:959px){:root{--sidebar:78px}
.sidebar{align-items:center;padding-top:var(--s8)}
.sidebar .brand{padding:0;margin-bottom:var(--s8)}
.sidebar .nav-label,.sidebar .nav-link span,.sidebar .adapt-mini,.side-profile>div:not(.avatar),.side-profile>.icon-btn{display:none}
.sidebar .nav-link{width:50px;padding:var(--s3);justify-content:center}
.sidebar-bottom{width:100%}
.side-profile{justify-content:center;padding:var(--s4) 0}
.top-date{display:none}
.main{padding:var(--s6)}
.home-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.lower-grid{grid-template-columns:1fr 1fr}
.week-card{padding:var(--s5)}
.next-workout h2{font-size:clamp(1.4rem,10cqi,3.4rem)}
.page-heading h1{font-size:2.8rem}
.workout-grid{grid-template-columns:minmax(0,1fr) 250px;gap:var(--s6)}
.exercise-heading h2{font-size:2.8rem}
.number-field{padding:var(--s2);height:90px}
.number-field input{font-size:3rem}
.input-card{gap:var(--s4);padding:var(--s5)}
.profile-layout{grid-template-columns:minmax(0,1fr)}
.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.coach-layout{grid-template-columns:190px 1fr;gap:var(--s5)}
.coach-report{padding:var(--s6)}
.auth-brand{padding:var(--s8)}
.auth-form-wrap{padding:var(--s8)}
.editor-layout{grid-template-columns:180px 1fr}
}
@media(max-width:759px){.sidebar,.topbar{display:none}
.shell-content{margin:0}
.mobile-header{height:76px;padding:env(safe-area-inset-top) var(--s5) 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.mobile-header .ci-logo{width:121px;height:26px}
.main{padding:var(--s6) var(--s5) calc(100px + env(safe-area-inset-bottom))}
.bottom-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;background:var(--background-secondary);border-top:1px solid var(--border);padding:var(--s2) var(--s2) calc(var(--s2) + env(safe-area-inset-bottom));z-index:var(--z-nav)}
.bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--s1);flex:1;color:var(--text-muted);font-size:.65rem;min-height:52px}
.bottom-nav a.active{color:var(--accent)}
.bottom-nav a.train{color:var(--action)}
.bottom-nav a.train>span:first-child{background:var(--action);color:var(--background);border-radius:var(--r1);padding:var(--s2) var(--s4);margin-top:-22px;border:4px solid var(--background-secondary)}
.demo-strip{padding:var(--s1) var(--s5);font-size:.65rem}
.demo-strip button{font-size:.65rem}
.page-heading{margin-bottom:var(--s6);gap:var(--s3)}
.page-heading h1{font-size:2.6rem}
.page-heading .eyebrow{margin-bottom:var(--s3);font-size:.65rem}
.page-heading p{font-size:var(--text-sm);max-width:280px}
.page-heading>.btn{padding:var(--s2) var(--s3);font-size:var(--text-xs)}
.home-grid,.lower-grid{grid-template-columns:minmax(0,1fr);gap:var(--s4)}
.next-workout{padding:var(--s6);min-height:310px}
.next-workout h2{font-size:clamp(1.4rem,10cqi,3.4rem);margin:var(--s5) 0}
.next-workout .hero-index{right:var(--s6);font-size:13rem}
.workout-meta{font-size:var(--text-sm);gap:var(--s5)}
.hero-bottom{padding-top:var(--s6)}
.week-card{padding:var(--s5)}
.week-card .card-header{margin-bottom:var(--s4)}
.day-circle{width:100%;max-width:38px;height:auto;aspect-ratio:1;margin:var(--s2) auto 0}
.week-progress{margin-top:var(--s5)}
.week-footer{padding-top:var(--s4);margin-top:var(--s4)}
.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric{padding:var(--s5)}
.metric:nth-child(2){border-right:0}
.metric:nth-child(-n+2){border-bottom:1px solid var(--border)}
.metric-value{font-size:clamp(1.25rem,6.5vw,2.1rem)}
.metric>.label{font-size:.65rem}
.lower-grid{margin-top:var(--s4)}
.home-metrics{margin-top:var(--s4)}
.card{padding:var(--s5)}
.card-header{margin-bottom:var(--s5)}
.coach-card h3{margin-top:var(--s4)}
.bar-chart{height:170px}
.section-title{margin-top:var(--s6)}
.last-workout{gap:var(--s3);grid-template-columns:46px 1fr auto}
.last-workout h3{font-size:var(--text-sm)}
.last-workout-value{font-size:var(--text-xs)}
.toast-region{bottom:calc(88px + env(safe-area-inset-bottom))}
.workout-shell{padding:0 var(--s5) calc(var(--s6) + env(safe-area-inset-bottom))}
.workout-top{padding:var(--s4) 0;gap:var(--s3);flex-wrap:wrap}
.workout-top>.brand{display:none}
.workout-top .workout-title{padding:0;border:0;flex:1}
.workout-title h1{font-size:var(--text-sm)}
.workout-top .workout-clock{font-size:1.25rem}
.workout-top .sync-label{display:none}
.workout-top .btn{font-size:var(--text-xs);padding:var(--s2);min-height:40px}
.workout-top .icon-btn{width:40px;height:40px}
.workout-grid{display:block;padding-top:var(--s5)}
.workout-aside{border:0;padding:0;margin-top:var(--s8)}
.workout-aside .exercise-navigation{display:none}
.workout-main{max-width:none}
.exercise-progress{margin:var(--s3) 0 var(--s6)}
.exercise-heading h2{font-size:2.8rem}
.exercise-heading .exercise-equipment{font-size:1.3rem}
.set-target{margin-top:var(--s6)}
.input-card{padding:var(--s4);gap:var(--s4)}
.number-field{height:92px;padding:var(--s2)}
.number-field input{font-size:3rem}
.number-field .prefix,.number-field .unit{font-size:var(--text-sm)}
.previous-performance{gap:var(--s3);font-size:var(--text-xs)}
.adapt-box{padding:var(--s4);gap:var(--s3)}
.adapt-box .text-btn{font-size:var(--text-xs);white-space:nowrap}
.adapt-box strong{font-size:var(--text-sm)}
.workout-actions{position:sticky;bottom:0;background:var(--background);z-index:var(--z-sticky);padding-top:var(--s4);padding-bottom:env(safe-area-inset-bottom)}
.workout-actions .primary{min-height:60px;font-size:var(--text-base)}
.workout-secondary{margin-top:var(--s1)}
.workout-secondary .text-btn{font-size:var(--text-xs)}
.workout-secondary .text-btn svg{width:16px}
.set-list{margin-top:var(--s5)}
.rest-timer{position:relative;margin:var(--s4) 0 0;padding:var(--s4);display:flex;align-items:center;gap:var(--s4)}
.rest-timer .row{flex:1}
.rest-time{font-size:1.6rem}
.rest-actions{margin:0}
.rest-actions .btn{padding:var(--s2);white-space:nowrap}
.workout-aside .rest-timer{display:none}
.mobile-rest{display:block}
.summary-hero{padding:var(--s8) 0}
.summary-hero h1{font-size:2.8rem}
.summary-grid .metrics{margin:var(--s5) 0}
.plan-hero{padding:var(--s5);flex-direction:column}
.plan-hero h2{font-size:clamp(1.65rem,7.5vw,2.2rem)}
.plan-hero>.inline{flex-wrap:wrap}
.plan-days{grid-template-columns:minmax(0,1fr)}
.day-card{min-width:0;overflow-wrap:anywhere;padding:var(--s5)}
.day-card .mini-exercises{margin:var(--s4) 0}
.plan-tile{min-width:190px}
.editor-layout{display:block}
.editor-days{display:flex;gap:var(--s2);overflow:auto;margin-bottom:var(--s5)}
.editor-days .btn{white-space:nowrap;width:auto}
.editor-fields{grid-template-columns:repeat(3,1fr)}
.editor-fields label:nth-child(n+4){grid-column:auto}
.editor-exercise{padding:var(--s4)}
.editor-exercise-header{gap:var(--s2)}
.editor-exercise-header .icon-btn{width:36px}
.editor-top{align-items:flex-start}
.editor-top input{font-size:1.2rem}
.library-grid{gap:var(--s3)}
.exercise-card{padding:var(--s4);min-height:155px}
.exercise-card h3{font-size:var(--text-sm)}
.library-toolbar{flex-direction:column;align-items:stretch}
.analytics-top{align-items:flex-start;flex-direction:column}
.segmented{max-width:100%;overflow:auto}
.segmented button{font-size:var(--text-xs);padding:var(--s2) var(--s3)}
.analytics-charts{margin-top:var(--s4);gap:var(--s4)}
.line-chart{min-height:150px}
.history-item{padding:var(--s4);gap:var(--s3)}
.history-item h3{font-size:var(--text-sm)}
.history-item p{font-size:var(--text-xs)}
.history-stat{font-size:1.25rem}
.coach-layout{display:block}
.coach-list{display:flex;overflow:auto;gap:var(--s2);margin-bottom:var(--s5)}
.coach-list button{min-width:160px}
.coach-report{padding:var(--s6) var(--s5)}
.coach-report h2{font-size:2.4rem}
.coach-report .report-facts{gap:var(--s6)}
.coach-report .report-body{font-size:var(--text-sm)}
.profile-layout{gap:var(--s4)}
.auth-shell{display:block}
.auth-brand{padding:var(--s6);border-right:0;border-bottom:1px solid var(--border)}
.auth-brand-content{padding:var(--s8) 0 0}
.auth-brand h1{font-size:clamp(1.75rem,7.5vw,2.25rem)}
.auth-brand p,.auth-ticks,.auth-brand-footer{display:none}
.auth-form-wrap{padding:var(--s8) var(--s6)}
.auth-form h2{font-size:1.5rem}
.auth-form>p{margin-bottom:var(--s6)}
.auth-form-wrap .legal-footer{margin-top:var(--s6)}
dialog{max-height:92dvh;border-radius:var(--r2)}
.modal-header,.modal-body{padding:var(--s5)}
.modal-footer{padding:var(--s4) var(--s5)}
.modal-footer .btn{flex:1;padding:var(--s3)}
.form-grid{gap:var(--s3)}
.legal-footer{flex-wrap:wrap}
.install-banner{font-size:var(--text-xs)}
 }
@media(min-width:760px){.mobile-rest{display:none}
}
@media(max-width:380px){.main{padding-left:var(--s4);padding-right:var(--s4)}
.next-workout h2{font-size:clamp(1.4rem,10cqi,3.4rem)}
.workout-meta{font-size:var(--text-xs)}
.input-card{gap:var(--s3);padding:var(--s3)}
.number-field input{font-size:2.6rem}
.workout-shell{padding-left:var(--s4);padding-right:var(--s4)}
.exercise-heading h2{font-size:2.4rem}
.adapt-box{gap:var(--s2)}
.adapt-box>.adapt-mark{display:none}
.workout-secondary .text-btn{font-size:.65rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(max-width:759px){.page-heading>.text-btn{min-width:32px;flex-shrink:0}
.page-heading>.text-btn span{display:none}
.page-heading>div{min-width:0}
.page-heading h1{font-size:2.45rem}
}
@media(max-width:759px){.exercise-heading h2{font-size:2.4rem;overflow-wrap:anywhere;hyphens:auto}
.workout-title{min-width:0}
.workout-top .spacer{display:none}
.workout-top{gap:var(--s2)}
.workout-title .eyebrow{font-size:.6rem;letter-spacing:.08em}
.workout-title h1{font-size:var(--text-xs)}
.session-info{margin:var(--s3) 0}
.workout-grid{padding-top:var(--s3)}
.exercise-progress{margin-bottom:var(--s5)}
.workout-actions{box-shadow:0 -8px 0 var(--background)}
.input-card,.number-control,.number-field{min-width:0}
}
@media(max-width:759px){.exercise-heading h2{hyphens:manual}
.workout-top .sync-label{display:flex;flex-basis:100%;order:4;min-height:24px;padding:0;font-size:var(--text-xs)}
}
.legal-text{white-space:pre-line;line-height:1.7;color:var(--text-secondary)}
@media print{body{background:#fff;color:#111}
.sidebar,.topbar,.mobile-header,.bottom-nav,.demo-strip,.btn,.text-btn,.icon-btn,.toast-region,.legal-footer{display:none!important}
.shell-content{margin:0}
.main{padding:0}
.card,.coach-report,.metrics,.history-item{background:#fff;color:#111;border-color:#ccc;break-inside:avoid}
p,.muted,.secondary,th{color:#555}
.chart-line{stroke:#555}
.chart-grid{stroke:#ddd}
.line-chart text{fill:#555}
}

}
.profile-shortcuts{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s6)}
.stepper .btn{padding-inline:var(--s2);min-width:0}
@media(max-width:380px){.stepper{gap:var(--s1)}
.stepper .btn{gap:var(--s1);padding-inline:var(--s1)}
}
.library-filter-grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));align-items:end;gap:var(--s4)}
.library-filter-grid .search-field{min-height:var(--input-height);margin:0}
.library-filter-grid .search-field input{margin:0}
.library-count{margin:var(--s4) 0 var(--s6)}
.exercise-card-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--s3);line-height:1.5}
.exercise-detail-tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}
.exercise-description{font-size:var(--text-lg);margin-bottom:var(--s4)}
.exercise-instructions{display:grid;gap:var(--s4);padding-left:var(--s6);color:var(--text-secondary)}
.exercise-instructions li::marker{color:var(--accent);font-weight:700}
.exercise-weight-note{margin-top:var(--s6)}
.exercise-weight-note strong{display:block;margin-bottom:var(--s2)}
@media(max-width:759px){.library-filter-grid{grid-template-columns:1fr 1fr}
.library-filter-grid .search-field{grid-column:1/-1}
.exercise-card-description{font-size:var(--text-xs);-webkit-line-clamp:4}
}
@media (pointer:coarse){html,body{touch-action:pan-x pan-y pinch-zoom}
input,select,textarea{font-size:max(16px,1rem)}
}
.workout-sync-toast{position:fixed;top:calc(var(--s3) + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - var(--s6));padding:var(--s3) var(--s4);border:1px solid var(--border-strong);border-radius:var(--r2);background:var(--surface-elevated);color:var(--text-primary);font-size:var(--text-sm);z-index:var(--z-toast);pointer-events:none}
@media(max-width:759px){.workout-shell{box-sizing:border-box;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top) var(--s4) 0;}
.workout-shell:has(.paused-overlay){padding-bottom:env(safe-area-inset-bottom)}
.workout-top{flex:none;padding:var(--s2) 0;gap:var(--s2);flex-wrap:nowrap}
.workout-top .workout-title{min-width:0}
.workout-title h1{font-size:var(--text-sm);overflow-wrap:anywhere}
.workout-title .eyebrow{font-size:.6rem}
.workout-top>.spacer{display:none}
.workout-top .btn,.workout-top .icon-btn{flex:none;min-height:44px}
.workout-top .icon-btn{width:44px;height:44px}
.workout-clock{white-space:nowrap}
.workout-shell>.session-info{flex:none;margin:var(--s2) 0;font-size:var(--text-xs)}
.workout-grid::-webkit-scrollbar{display:none;width:0;height:0}
.workout-grid{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-top:var(--s3);padding-bottom:var(--s5);scroll-padding-block:var(--s4)}
.exercise-progress{margin:var(--s2) 0 var(--s4)}
.exercise-heading .eyebrow{margin-bottom:var(--s2)}
.exercise-heading h2{font-size:2.4rem;line-height:1.05}
.exercise-heading .exercise-equipment{font-size:1.1rem;margin-top:var(--s1)}
.set-target{margin:var(--s4) 0 var(--s3)}
.input-card{gap:var(--s3);padding:var(--s3)}
.number-control>label{margin-bottom:var(--s2)}
.number-field{height:76px}
.number-field input{height:64px;font-size:2.7rem}
.stepper{margin-top:var(--s2)}
.stepper button{touch-action:manipulation}
.previous-performance{padding-top:var(--s3);flex-wrap:wrap}
.workout-actions{position:static;flex:none;padding:var(--s3) 0 calc(var(--s2) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--background);box-shadow:none;z-index:var(--z-sticky)}
.workout-actions .primary{min-height:52px}
.workout-secondary .text-btn{min-height:44px;min-width:0}
.rest-timer{flex-wrap:wrap;gap:var(--s3)}
.adapt-box>div{min-width:0}
.adapt-box strong{overflow-wrap:anywhere}

}
@media(max-width:759px){.workout-shell.workout-keyboard{position:fixed;inset:auto 0 auto;top:var(--workout-visible-top,0px);height:var(--workout-visible-height,100dvh);padding-bottom:var(--s2)}
.workout-keyboard .workout-actions{display:none}
.workout-top .workout-title>.eyebrow{display:none}
.workout-top{padding-block:var(--s1)}
.workout-title h1{font-size:var(--text-sm);line-height:1.3}
.workout-grid{padding-top:var(--s2)}
.exercise-progress{margin:var(--s1) 0 var(--s3)}
.exercise-heading>.eyebrow{display:none}
.exercise-heading h2{font-size:2rem;line-height:1.05}
.exercise-heading .exercise-equipment{font-size:var(--text-base);margin-top:var(--s1);line-height:1.2}
.set-target{margin:var(--s3) 0 var(--s2)}
.adapt-box{margin-top:var(--s3);padding:var(--s3);gap:var(--s2)}
.adapt-box .adapt-mark{display:none}
.adapt-box .adapt-context{display:block;margin-top:4px;font-size:11px;line-height:1.45}
.adapt-box .text-btn{min-height:44px}

}
.auth-form label.remember-login{display:flex;align-items:center;gap:var(--s3);min-height:48px;margin:0;cursor:pointer}
.remember-login input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:0;accent-color:var(--accent)}
.remember-login small{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--s1)}
.template-choice{flex-wrap:wrap}
.template-choice>.spacer{min-width:0;flex-basis:100%;overflow-wrap:anywhere}
.template-choice>.manage-actions{width:100%;flex-wrap:wrap}
.template-choice>.manage-actions>.btn{flex:1 1 auto}
.completed-training{background:var(--surface);border:1px solid var(--border)}
.completed-training>.eyebrow{display:flex;align-items:center;gap:var(--s2);color:var(--success)}
.completed-training h2{margin:var(--s4) 0 var(--s2);overflow-wrap:anywhere}
.completed-training-meta{color:var(--text-secondary);margin-bottom:var(--s3)}
.completed-training-next{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--border)}
.completed-training-next p{margin-top:var(--s2)}
.completed-training-actions{display:flex;gap:var(--s4);flex-wrap:wrap;align-items:center;margin-top:var(--s5)}
.picker-muscle{border:1px solid var(--border);border-radius:var(--r1);margin:var(--s3) 0;overflow:hidden}
.picker-muscle.is-relevant{border-color:var(--border-strong)}
.picker-muscle>summary{min-height:var(--button-height);padding:var(--s4);display:flex;align-items:center;gap:var(--s3);cursor:pointer;list-style:none;background:var(--surface)}
.picker-muscle>summary::-webkit-details-marker{display:none}
.picker-muscle>summary strong{flex:1;min-width:0;overflow-wrap:anywhere}
.picker-muscle-arrow{display:inline-flex;color:var(--text-muted)}
.picker-muscle[open]>summary .picker-muscle-arrow{transform:rotate(90deg)}
.picker-relevance{font-size:var(--text-xs);color:var(--accent)}
.picker-muscle-items{padding:0 var(--s3)}
.picker-muscle-items>button{width:100%;display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s2);min-height:var(--button-height);border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left}
.picker-muscle-items>button:hover{background:var(--surface-elevated)}
.picker-muscle-items>button:last-child{border-bottom:0}
.picker-muscle-items .spacer{min-width:0;overflow-wrap:anywhere}
.picker-usage{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--s1)}
.picker-secondary-label{padding:var(--s4) var(--s2) var(--s2);border-top:1px solid var(--border)}
.picker-muscle-items>p{padding:var(--s3)}
#modal .modal-header > #modal-title[tabindex="-1"]:focus,
.unified-exercise-dialog > .modal-header > #exercise-detail-title[tabindex="-1"]:focus{outline:none}
dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:min(90dvh,calc(var(--dialog-visible-height,100dvh) - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}
dialog.dialog-keyboard{inset:var(--dialog-visible-top,0px) 0 auto;margin:16px auto}
body:has(dialog[open]){overflow:hidden}
.modal-header>.icon-btn{flex-shrink:0;min-width:44px;min-height:44px}
.modal-footer>.btn{white-space:normal;text-align:center}
.form-grid>label{min-width:0}
@media(max-width:359px){.library-grid{grid-template-columns:minmax(0,1fr)}
}
.plan-hero>div{min-width:0}
.plan-hero>.inline{flex-wrap:wrap}
.profile-card-top>div{min-width:0;overflow-wrap:anywhere}
.profile-card-top .avatar{flex-shrink:0}
@media(max-width:599px){.history-item{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:start;gap:var(--s2) var(--s3)}
.history-item>.date-block{grid-column:1;grid-row:1/3}
.history-item>div:not(.history-stat){grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
.history-item>.history-stat{grid-column:2;grid-row:2;margin:0;text-align:left;white-space:normal}
.history-item>.history-stat small{display:inline;text-align:left;margin-left:var(--s2)}
.history-item>svg{grid-column:3;grid-row:1/3;align-self:center}

}
@media(max-width:599px){.exercise-leader{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:var(--s2) var(--s3)}
.exercise-leader>.list-num{grid-column:1;grid-row:1/3;align-self:center}
.exercise-leader>.name{grid-column:2;grid-row:1}
.exercise-leader>.value{grid-column:2;grid-row:2;text-align:left;overflow-wrap:anywhere;font-size:var(--text-lg)}
.exercise-leader>svg{grid-column:3;grid-row:1/3;align-self:center}

}
.plan-template-card{flex-wrap:wrap;min-width:0}
.plan-template-card>.inline{flex:1 1 240px;min-width:0;align-items:flex-start}
.plan-template-card>.inline>div:last-child{min-width:0;overflow-wrap:anywhere}
.plan-template-card>.btn{margin-left:auto}


/* Settings: one compact index, four shared Web/native pages. */
.settings-page{max-width:780px;margin-inline:auto;min-width:0}
.settings-heading{margin-bottom:var(--s6)}
.settings-heading h1{font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.15;letter-spacing:-.025em;overflow-wrap:break-word}
.settings-heading h1:focus{outline:none}
.settings-heading p{font-size:var(--text-sm);margin-top:var(--s2)}
.settings-back{display:inline-flex;gap:var(--s2);align-items:center;min-height:44px;margin-bottom:var(--s3)}
.settings-account{margin-bottom:var(--s5);padding:var(--s5)}
.settings-account .profile-card-top{margin-bottom:var(--s3);gap:var(--s4)}
.settings-account .profile-card-top h2{font-size:1.25rem;line-height:1.25;letter-spacing:-.02em}
.settings-account .profile-card-top .avatar{width:48px;height:48px;font-size:1rem}
.settings-list.card{padding:0;margin-bottom:var(--s5)}
.settings-item.setting-row{min-height:72px;padding:var(--s4);gap:var(--s3);text-decoration:none}
.settings-account .settings-item{padding-inline:0}
.settings-copy{display:block;flex:1;min-width:0}
.settings-copy strong{display:block;font-size:var(--text-base);font-weight:600;line-height:1.4;word-break:normal;overflow-wrap:break-word}
.settings-copy>span{display:block;font-size:var(--text-sm);line-height:1.45;color:var(--text-secondary);margin-top:2px;word-break:normal;overflow-wrap:break-word}
.settings-symbol{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;color:var(--accent)}
.settings-item>svg{color:var(--text-muted)}
.settings-value{font-size:var(--text-sm);color:var(--accent);flex-shrink:0;max-width:30%;overflow-wrap:break-word}
.settings-item:focus-visible{outline-offset:-3px}
.settings-item:first-child{border-top-left-radius:var(--r3);border-top-right-radius:var(--r3)}
.settings-item:last-child{border-bottom-left-radius:var(--r3);border-bottom-right-radius:var(--r3)}
@media(hover:hover){.settings-item:hover{background:var(--surface-elevated)}}
.settings-danger .settings-copy strong,.settings-danger .settings-symbol{color:var(--error)}
.settings-logout{margin-top:var(--s5)}
.logout-button{min-height:48px;padding:12px 20px;border:1px solid var(--action);background:var(--surface-elevated);color:var(--text-primary)}
.logout-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.logout-button:active{background:color-mix(in srgb,var(--action) 24%,var(--surface-elevated))}
@media(hover:hover){.logout-button:hover{background:color-mix(in srgb,var(--action) 15%,var(--surface-elevated));border-color:var(--action);color:var(--text-primary)}}
.settings-legal{gap:var(--s3);flex-wrap:wrap;margin-top:var(--s8)}
.settings-legal>span{font-size:var(--text-xs);color:var(--text-muted)}
.settings-legal .settings-version{flex:1 0 100%;text-align:right;margin-top:var(--s4);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
/* Connection and storage are separate signals; no icon-only mobile state. */
.sync-status{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:44px;min-height:40px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--r1);background:var(--surface);color:var(--text-secondary);font:inherit;font-size:var(--text-xs);cursor:pointer}
.sync-status [data-sync-icon]{display:flex;flex-shrink:0}.sync-status-copy{display:grid;text-align:left;gap:1px;min-width:0}.sync-status-label{white-space:nowrap}.sync-status-detail{font-size:10px;line-height:1.25;white-space:nowrap}.sync-status-detail[hidden],.sync-status-mark[hidden]{display:none}
.sync-status-mark{font-weight:800;border:1px solid currentColor;border-radius:50%;width:14px;height:14px;line-height:12px;text-align:center;flex-shrink:0}
.sync-status:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sync-status[data-sync-status=saved]{color:color-mix(in srgb,var(--success) 70%,var(--text-secondary));border-color:color-mix(in srgb,var(--success) 25%,var(--border));background:color-mix(in srgb,var(--success) 4%,var(--surface))}
.sync-status[data-sync-status=error],.sync-status[data-sync-status=local-error],.sync-status[data-sync-status=conflict],.sync-status[data-sync-status=auth-required],.sync-status[data-sync-status=unavailable]{color:var(--error);border-color:color-mix(in srgb,var(--error) 65%,var(--border))}
.sync-status[data-sync-status=saving],.sync-status[data-sync-status=offline]{color:var(--accent)}
.sync-dialog-heading{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}.sync-dialog-heading svg{flex-shrink:0}.sync-dialog-heading h3{margin:0}.sync-progress{display:flex;align-items:center;gap:var(--s2)}
@media(hover:hover){.sync-status:hover{border-color:var(--border-strong);color:var(--text-primary)}}
@media(max-width:1199px){.sync-status{min-height:44px;padding:5px;gap:4px;max-width:140px}.sync-status-detail{font-size:10px}.sync-status .sync-status-mark{display:none}.sync-status[data-sync-status=unavailable] .sync-status-label{white-space:normal;max-width:66px;line-height:1.2}.mobile-header>.brand{min-width:0}.mobile-header>.inline{flex-shrink:0;gap:4px}}
@media(max-width:389px){.mobile-header{padding-inline:var(--s4)}.mobile-header .ci-logo{width:clamp(76px,28vw,106px);height:26px}.sync-status{max-width:120px}.sync-status-detail{white-space:normal;max-width:66px}.mobile-header .icon-btn{flex-shrink:0}}
@media(max-width:374px){.settings-item.setting-row{padding:var(--s3);gap:var(--s2)}.settings-account{padding:var(--s4)}.settings-account .settings-item{padding-inline:0}.settings-copy strong{font-size:.9375rem}.settings-symbol{width:20px}}

/* Public imprint: scoped typography and word wrapping inside the existing dialog. */
.imprint-copy section+section{margin-top:24px}.imprint-copy h3{font-size:18px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}.imprint-copy p{margin:0;line-height:1.65;overflow-wrap:anywhere}.imprint-copy a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.imprint-copy .text-btn{margin-top:8px}

/* Legal acceptance is separate from newsletter and optional media consent. */
.legal-acceptance{align-items:flex-start;line-height:1.6;font-size:.875rem}.legal-acceptance input{flex:0 0 auto;min-width:20px;min-height:20px;margin-top:3px}.legal-acceptance span{min-width:0;overflow-wrap:break-word}.legal-text section+section{margin-top:24px}.legal-text a{text-decoration:underline}

/* Shared editorial exercise content; bounded cover inside existing scrollable dialogs. */
.exercise-help-cover{margin:16px 0;max-height:180px;overflow:hidden;border-radius:12px;background:var(--surface,#171b15)}
.exercise-help-cover img{display:block;width:100%;height:180px;object-fit:contain}
.exercise-editorial-text{white-space:pre-line}

/* App touch surface: retain scrolling and selection, but do not opt into page zoom gestures.
   Browser/OS accessibility magnification can override these hints; no events are cancelled. */
@media(any-pointer:coarse){
 html.alzusa-app,.alzusa-app body,.alzusa-app #app,.alzusa-app dialog,.alzusa-app .modal-body,.alzusa-app .onboarding-scroll,.alzusa-app .workout-grid{touch-action:pan-x pan-y}
 .alzusa-app .builder-picker-filters select{font-size:max(16px,1rem)}
}

/* Shared personal details in the profile dialog and first onboarding step. */
.profile-field{display:grid;gap:6px;min-width:0}.profile-field label{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.profile-field p{margin:0}.profile-field-error{font-size:13px;line-height:1.5;color:var(--error)}.profile-field-error[hidden]{display:none}.profile-field [aria-invalid="true"]{border-color:var(--error)}.profile-field input[readonly]{color:var(--text-secondary);background:var(--surface-input);cursor:default}#profile-form input[type=date]{min-width:0;width:100%;box-sizing:border-box}

/* Explicit registration consent; keep the native checkbox visible beside wrapped text. */
.auth-form label.legal-acceptance{align-items:flex-start}.auth-register .legal-acceptance input[type=checkbox]{width:22px;height:22px;min-height:22px;min-width:22px;max-width:22px;flex:0 0 22px;padding:0;margin-top:3px;accent-color:var(--accent)}.legal-acceptance>span{min-width:0}.auth-consent .auth-legal-link{display:inline;min-height:0;padding:0;font:inherit;line-height:inherit;vertical-align:baseline;text-decoration:underline}.auth-consent>p.small{margin:var(--s2) 0 0}

/* Read-only plan previews and publication status use existing dialog/layout tokens. */
.plan-preview-exercises{padding-left:1.4em;display:grid;gap:var(--s4)}.plan-preview-exercises li{padding-left:var(--s2)}.plan-preview-day{margin-bottom:var(--s6)}.nav-coming{display:block;font-size:.65rem;color:var(--text-muted);line-height:1.4}.first-training-note{margin-top:var(--s4)}

@media(max-width:480px){.first-training .hero-bottom{flex-wrap:wrap}.first-training .hero-bottom>.btn{width:100%;justify-content:center}}

/* Private exercise media: no dimensions or downloads in catalog lists. */
.exercise-private-media{margin-block:1rem;padding:1rem;border:1px solid var(--border,#35372f);border-radius:var(--radius,16px)}
.exercise-private-media video{display:block;width:100%;max-height:50dvh;object-fit:contain;background:#080908;border-radius:12px;margin-block:.75rem}

.exercise-media-preview{width:100%;aspect-ratio:16/9;max-height:50dvh;display:grid;place-items:center;background:#080908;border-radius:12px;margin-block:.75rem;overflow:hidden}
.exercise-media-preview img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.exercise-private-media [hidden]{display:none}

/* Compact library cards: viewport-only protected thumbnails; full text stays in the guide. */
.library-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:stretch}
.exercise-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--s4);align-items:center;min-height:116px;padding:var(--s4)}
.exercise-card-thumbnail{position:relative;display:grid;place-items:center;overflow:hidden;width:88px;height:auto;aspect-ratio:16/9;flex-shrink:0;border:1px solid var(--border);border-radius:var(--r1);background:var(--surface-input);color:var(--accent)}
.exercise-card-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}
.exercise-card-thumbnail>svg,.exercise-card-thumbnail img{grid-area:1/1}
.exercise-card-thumbnail.is-loaded{aspect-ratio:auto}.exercise-card-thumbnail.is-loaded img{position:static;inset:auto;display:block;height:auto;opacity:1}.exercise-card-thumbnail.is-loaded>svg{visibility:hidden}
.exercise-card-copy{min-width:0;width:100%}.exercise-card h3{margin:0;font-size:var(--text-base);line-height:1.35;word-break:normal;overflow-wrap:anywhere}
.exercise-card .exercise-card-meta{margin:var(--s2) 0 0;font-size:var(--text-xs);color:var(--text-secondary)}
.exercise-card-flags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}.exercise-card-flags:empty{display:none}.exercise-card-flags .exercise-relevance{margin:0}
@media(max-width:759px){.library-grid{grid-template-columns:minmax(0,1fr)}.exercise-card{grid-template-columns:72px minmax(0,1fr);gap:var(--s3);min-height:104px}.exercise-card-thumbnail{width:72px}}

/* Larger exercise artwork and a persistent, factual current-plan badge. */
.library-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
/* Defer offscreen row layout without dropping searchable/focusable results from the DOM. */
.library-grid>.exercise-card{content-visibility:auto;contain-intrinsic-block-size:auto 144px}
#picker-list>.user-picker-row,#picker-list>.builder-picker-row,#picker-list>button,#picker-list .picker-muscle-items>button{content-visibility:auto;contain-intrinsic-block-size:auto 80px}
@media(max-width:759px){.library-grid>.exercise-card{contain-intrinsic-block-size:auto 128px}}
.exercise-card{grid-template-columns:136px minmax(0,1fr);min-height:144px;padding:var(--s5)}
.exercise-card-thumbnail{width:136px}
.exercise-card-flags .exercise-in-plan{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 8px;border:1px solid rgba(139,181,110,.27);border-radius:var(--pill);background:rgba(139,181,110,.12);color:var(--success,#aac786);font-size:var(--text-xs);line-height:1.4}
.exercise-in-plan>svg{flex:0 0 auto}.exercise-in-plan>span{min-width:0}
@media(max-width:759px){.library-grid{grid-template-columns:minmax(0,1fr)}.exercise-card{grid-template-columns:104px minmax(0,1fr);gap:var(--s3);min-height:128px;padding:var(--s4)}.exercise-card-thumbnail{width:104px}}
@media(max-width:359px){.exercise-card{grid-template-columns:88px minmax(0,1fr)}.exercise-card-thumbnail{width:88px}}
/* Scope the wider layout to exercise guides; ordinary dialogs retain their existing dimensions. */
dialog.exercise-dialog{max-width:1180px;width:calc(100% - 48px);max-height:90dvh}
.exercise-detail-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:var(--s8);align-items:start}
.exercise-detail-layout.is-text-only{grid-template-columns:minmax(0,1fr)}
.unified-exercise-dialog[open]{display:flex;flex-direction:column;overflow:hidden;max-height:min(92dvh,calc(var(--dialog-visible-height,100dvh) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}
.unified-exercise-dialog .modal-header,.exercise-detail-tabs{flex-shrink:0}
.unified-exercise-dialog>.modal-header{padding:var(--s2) var(--s6)}
.unified-exercise-dialog>.modal-header h2{font-size:1.15rem;line-height:1.35}
.unified-exercise-dialog:not(.exercise-video-expanded) .exercise-video-stage{max-height:var(--exercise-video-max-height,none)}
.unified-exercise-dialog .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.unified-exercise-dialog [hidden]{display:none!important}
.exercise-detail-tabs{display:flex;gap:var(--s2);padding:0 var(--s6);border-bottom:1px solid var(--border)}
.exercise-detail-tabs [role=tab]{flex:1;min-width:0;min-height:48px;padding:var(--s3);border:0;border-bottom:3px solid transparent;background:none;color:var(--text-secondary);font:inherit;font-weight:600;cursor:pointer}
.exercise-detail-tabs [role=tab][aria-selected=true]{border-color:var(--accent);color:var(--accent)}
.exercise-detail-tabs [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.exercise-detail-metadata{margin-top:var(--s4)}.exercise-detail-metadata .exercise-detail-tags{margin-bottom:var(--s3)}
.exercise-name-link{display:inline-flex;align-items:center;gap:var(--s2);min-height:44px;max-width:100%;appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;line-height:inherit;cursor:pointer;overflow-wrap:anywhere}
.exercise-name-link:hover{color:var(--accent)}
.exercise-name-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.user-exercise .exercise-name-link{min-height:36px}.user-exercise .exercise-name-link svg{flex-shrink:0}
.exercise-history-toolbar{display:flex;justify-content:space-between;align-items:end;gap:var(--s3);margin-bottom:var(--s5);flex-wrap:wrap}
.exercise-history-toolbar label{flex:1 1 170px;max-width:320px;min-width:0}
.exercise-history-toolbar select{min-height:48px;width:100%;font-size:1rem}
.exercise-history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.exercise-history-metrics .metric{min-width:0}.exercise-history-metrics .metric-value{font-size:clamp(1.2rem,2vw,1.8rem);overflow-wrap:anywhere}
.exercise-history-empty{padding:var(--s6) 0}.exercise-history-empty h3{margin-bottom:var(--s3)}
.exercise-recent-sessions{margin-top:var(--s6)}.exercise-recent-sessions>p{margin-block:var(--s3) var(--s5)}
.exercise-history-session{margin-top:var(--s3)}.exercise-history-session .row{align-items:start;flex-wrap:wrap}.exercise-history-session h4{overflow-wrap:anywhere}
.exercise-history-sets{list-style:none;padding:0;margin:var(--s4) 0 0;display:grid;gap:var(--s3)}
.exercise-history-sets li{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;border-top:1px solid var(--border);padding-top:var(--s3)}
.exercise-history-sets li strong{font-weight:600;overflow-wrap:anywhere}
.exercise-video-expanded .exercise-detail-tabs,.exercise-video-expanded .exercise-detail-metadata{display:none}
.exercise-video-expanded [data-exercise-panel=execution]{display:flex;flex:1;min-height:0;min-width:0}
@media(max-width:759px){.unified-exercise-dialog>.modal-header{padding-inline:var(--s4)}.exercise-detail-tabs{padding-inline:var(--s4)}.exercise-history-metrics{grid-template-columns:minmax(0,1fr)}.exercise-history-metrics .metric{padding:var(--s4)}.exercise-history-toolbar .btn{min-height:48px}}
.exercise-detail-media,.exercise-detail-copy{min-width:0}.exercise-detail-media{position:sticky;top:0}
.exercise-detail-media .exercise-private-media{margin:0;padding:0;border:0}
.exercise-private-media [data-media-status]:empty{display:none}
.exercise-video-stage{display:grid;place-items:center;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#efefed}
.exercise-video-stage video,.exercise-video-placeholder{grid-area:1/1}
.exercise-private-media .exercise-video-stage video{width:100%;height:100%;max-height:none;margin:0;object-fit:contain;border-radius:0;background:transparent;opacity:0}
.exercise-private-media .exercise-video-stage.has-video-frame video{opacity:1}
.exercise-video-placeholder{position:absolute;inset:0;color:var(--accent);display:grid;place-items:center;z-index:1;pointer-events:none}
.exercise-video-loader-art{display:none}
.exercise-video-stage.is-loading .exercise-video-placeholder{background:transparent}
.exercise-video-stage.is-loading .exercise-video-play{display:none}
.exercise-video-stage.is-loading .exercise-video-loader-art{display:block;width:64px;height:61px;background:url('./alzusa-media-loader.webp') center/contain no-repeat}
.exercise-private-media .exercise-media-status-loading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.exercise-video-stage.is-loading .exercise-video-loader-art{background-image:url('./alzusa-media-loader-still.png')}}
.exercise-detail-copy .exercise-detail-tags{margin-top:0}.exercise-detail-copy>.exercise-description{margin-top:var(--s5)}
@media(max-width:899px){dialog.exercise-dialog{width:calc(100% - 24px);max-width:720px;max-height:92dvh}.exercise-detail-layout{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.exercise-detail-media{position:static}.exercise-video-stage{max-height:42dvh}.exercise-detail-copy>.exercise-description{margin-top:var(--s4)}}

/* Opened exercise guidance reuses the existing dialog and typography. */
.exercise-guide{min-width:0;overflow-wrap:anywhere}.exercise-guide-section{margin-top:var(--s6)}.exercise-guide-section:first-child{margin-top:var(--s4)}.exercise-guide-section h3{margin-bottom:var(--s3)}.exercise-guide-list{padding-left:20px}.exercise-guide-list li{margin:0 0 var(--s3)}.exercise-guide-list li::marker{color:var(--accent)}
/* Exercise playback stays inline. The same media element expands within the existing dialog. */
.exercise-video-stage{cursor:pointer;touch-action:manipulation}
.exercise-video-stage:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.exercise-private-media .exercise-video-stage video{pointer-events:none;min-height:0}
.exercise-video-frame{position:relative;min-width:0}
.exercise-media-actions{position:absolute;right:var(--s2);bottom:var(--s2);z-index:2;display:flex;margin:0}
.exercise-media-enlarge{position:relative;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border-strong);border-radius:50%;box-shadow:0 2px 8px #0004}
.exercise-media-enlarge:hover{color:var(--accent);border-color:var(--accent)}
.exercise-eye-plus{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:var(--surface);color:var(--accent)}
dialog.exercise-dialog.exercise-video-expanded{width:calc(100% - 24px);max-width:1440px;height:94dvh;max-height:94dvh}
.exercise-video-expanded .modal-body{display:flex;padding:var(--s4);overflow:hidden}
.exercise-video-expanded .exercise-detail-layout,.exercise-video-expanded .exercise-detail-media,.exercise-video-expanded .exercise-private-media,.exercise-video-expanded .exercise-video-frame{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;width:100%}
.exercise-video-expanded .exercise-detail-media{position:static}
.exercise-video-expanded .exercise-detail-copy,.exercise-video-expanded .modal-footer{display:none}
.exercise-video-expanded .exercise-video-stage{flex:1;min-height:0;aspect-ratio:auto;max-height:none}
.exercise-video-expanded [data-media-status]:empty{display:none}
.exercise-video-expanded [data-media-status],.exercise-video-expanded [data-load-exercise-video]{flex-shrink:0}
@media(max-width:599px){.exercise-video-expanded .modal-header{padding:var(--s3) var(--s4)}.exercise-video-expanded .modal-header h2{font-size:1rem}.exercise-video-expanded .modal-body{padding:var(--s3)}}

/* User-facing Adapt profile, isolated from the existing workout/frame layout. */
.adapt-profile-layout{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:var(--s5);align-items:start}
.adapt-profile-picker{min-width:0}.adapt-profile-picker label{display:grid;gap:var(--s2)}
.adapt-profile-exercises{margin-top:var(--s4);max-height:65vh;overflow-y:auto}.adapt-profile-choice{width:100%;text-align:left;min-height:48px;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit}.adapt-profile-choice.selected{background:var(--surface-2);outline:1px solid var(--gold)}
.adapt-profile-detail{min-width:0;display:grid;gap:var(--s4)}.adapt-profile-detail .card{min-width:0}.adapt-profile-detail h2{overflow-wrap:anywhere}.adapt-profile-detail h3{margin-top:var(--s5)}
.adapt-profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin:var(--s5) 0}.adapt-profile-metrics dt{font-size:.85rem;color:var(--muted)}.adapt-profile-metrics dd{margin:var(--s2) 0 0;font-weight:700}.adapt-profile-bands{display:flex;gap:var(--s2);flex-wrap:wrap}
@media(max-width:700px){.adapt-profile-layout{grid-template-columns:minmax(0,1fr)}.adapt-profile-exercises{max-height:210px}.adapt-profile-metrics{grid-template-columns:minmax(0,1fr)}.adapt-profile .settings-heading h1{font-size:clamp(2rem,8vw,3rem)}}
