@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{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)}
.settings-legal{gap:var(--s3);flex-wrap:wrap;margin-top:var(--s8)}
.settings-legal>span{font-size:var(--text-xs);color:var(--text-muted)}
@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}

/* 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}
