:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--color-canvas: #f3f6f4;--color-surface: #ffffff;--color-surface-muted: #e9efeb;--color-text: #14241c;--color-text-muted: #52635a;--color-border: #d5ded8;--color-brand: #12643f;--color-brand-strong: #0b4b2e;--color-brand-soft: #dff2e7;--color-demo: #8c3d12;--color-demo-soft: #fff0df;--color-danger: #9b2c2c;--color-focus: #0c70c7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .5rem;--radius-md: .875rem;--radius-lg: 1.25rem;--shadow-sm: 0 1px 2px rgb(20 36 28 / 6%);--shadow-md: 0 18px 40px rgb(20 36 28 / 9%);--content-max: 76rem;--nav-width: 15.5rem}*{box-sizing:border-box}html{min-width:20rem;background:var(--color-canvas)}body{min-width:20rem;min-height:100vh;margin:0;background:var(--color-canvas);color:var(--color-text)}button,a,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:var(--space-4);top:var(--space-4);z-index:100;transform:translateY(-180%);border-radius:var(--radius-sm);background:var(--color-text);color:#fff;padding:var(--space-3) var(--space-4);font-weight:700}.skip-link:focus{transform:translateY(0)}.app-shell{display:grid;min-height:100vh;grid-template-areas:"header header" "nav main" "nav footer";grid-template-columns:var(--nav-width) minmax(0,1fr);grid-template-rows:auto 1fr auto}.app-header{grid-area:header;display:flex;min-height:4.75rem;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:#ffffffeb;padding:var(--space-3) clamp(var(--space-4),3vw,var(--space-8));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;min-width:0;align-items:center;gap:var(--space-3);font-weight:750;letter-spacing:-.02em}.brand__mark{display:grid;width:2.5rem;height:2.5rem;flex:0 0 auto;place-items:center;border-radius:var(--radius-sm);background:var(--color-brand);color:#fff;font-size:.82rem;letter-spacing:.04em}.brand__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-badge{border:1px solid #e5b989;border-radius:999px;background:var(--color-demo-soft);color:var(--color-demo);padding:.2rem .5rem;font-size:.68rem;font-weight:800;letter-spacing:.09em}.health-status{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.8rem;font-weight:650;white-space:nowrap}.health-status__dot{width:.55rem;height:.55rem;border-radius:50%;background:#a2aaa6;box-shadow:0 0 0 4px #eef0ef}.health-status--healthy .health-status__dot{background:#238251;box-shadow:0 0 0 4px #e1f2e8}.health-status--unavailable{color:var(--color-danger)}.health-status--unavailable .health-status__dot{background:var(--color-danger);box-shadow:0 0 0 4px #fae9e9}.main-navigation{grid-area:nav;border-right:1px solid var(--color-border);background:var(--color-surface);padding:var(--space-8) var(--space-4)}.main-navigation__label{margin:0 var(--space-3) var(--space-3);color:var(--color-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.main-navigation__list{display:grid;gap:var(--space-1);margin:0;padding:0;list-style:none}.main-navigation__link{display:flex;min-height:2.75rem;align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);font-size:.9rem;font-weight:650;text-decoration:none;transition:background .14s ease,color .14s ease}.main-navigation__link:hover{background:var(--color-surface-muted);color:var(--color-text)}.main-navigation__link--active{background:var(--color-brand-soft);color:var(--color-brand-strong)}.app-main{grid-area:main;width:100%;max-width:var(--content-max);margin-inline:auto;padding:clamp(var(--space-6),5vw,var(--space-12))}.app-footer{grid-area:footer;border-top:1px solid var(--color-border);color:var(--color-text-muted);padding:var(--space-4) clamp(var(--space-6),5vw,var(--space-12));font-size:.78rem}.placeholder-page{display:grid;gap:clamp(var(--space-8),5vw,var(--space-12))}.placeholder-page__intro{display:flex;align-items:flex-start;gap:var(--space-5)}.placeholder-page__icon{display:grid;width:3.5rem;height:3.5rem;flex:0 0 auto;place-items:center;border:1px solid #bed8c8;border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand-strong)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-brand);font-size:.73rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}h1,h2,p{text-wrap:pretty}h1{margin:0;font-size:clamp(2rem,5vw,3.35rem);line-height:1.05;letter-spacing:-.045em}.page-lead{max-width:42rem;margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:clamp(1rem,2vw,1.15rem);line-height:1.65}.placeholder-card{display:flex;max-width:50rem;align-items:center;justify-content:space-between;gap:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:clamp(var(--space-6),4vw,var(--space-10));box-shadow:var(--shadow-md)}.placeholder-card__label{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.placeholder-card h2{margin:0;font-size:clamp(1.2rem,3vw,1.6rem);letter-spacing:-.025em}.placeholder-card p:last-child{max-width:38rem;margin:var(--space-3) 0 0;color:var(--color-text-muted);line-height:1.6}.placeholder-card__arrow{flex:0 0 auto;color:var(--color-brand)}.program-builder{display:grid;gap:var(--space-6)}.program-builder__title{display:flex;align-items:flex-start;gap:var(--space-5)}.program-builder__icon{display:grid;width:3.5rem;height:3.5rem;flex:0 0 auto;place-items:center;border:1px solid #bed8c8;border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand-strong)}.builder-session-bar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-4);border:1px solid #e5b989;border-radius:var(--radius-md);background:var(--color-demo-soft);padding:var(--space-3) var(--space-4)}.builder-session-bar__message{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);color:var(--color-demo);font-size:.8rem}.builder-session-bar__message>span:not(.local-save-status){color:var(--color-text-muted)}.local-save-status{display:inline-flex;align-items:center;border-radius:999px;background:#ffffffb8;padding:.25rem .55rem;font-weight:800;white-space:nowrap}.local-save-status--saved{color:var(--color-brand-strong)}.local-save-status--error{color:var(--color-danger)}.builder-session-bar__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.builder-tabs-bar{display:flex;min-width:0;align-items:flex-end;border-bottom:1px solid var(--color-border)}.builder-tabs-scroll{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.builder-tabs{display:flex;width:-moz-max-content;width:max-content;min-width:100%;align-items:flex-end}.builder-tab{position:relative;display:flex;min-width:9rem;max-width:15rem;flex:0 0 auto;align-items:stretch;border:1px solid var(--color-border);border-bottom:3px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:#edf2ef}.drag-handle{display:inline-grid;min-width:2.75rem;min-height:2.75rem;flex:0 0 auto;place-items:center;border:0;background:transparent;color:var(--color-text-muted);cursor:grab;touch-action:none}.drag-handle:hover,.drag-handle:focus-visible{background:var(--color-surface-muted);color:var(--color-brand-strong)}.drag-handle:active{cursor:grabbing}.sortable-item--dragging{z-index:20;opacity:.72;box-shadow:var(--shadow-md)}.builder-tab--active{border-bottom-color:var(--color-brand);background:var(--color-surface);color:var(--color-brand-strong)}.builder-tab__button,.builder-tab__rename{min-width:0;flex:1;overflow:hidden;border:0;background:transparent;color:inherit;padding:var(--space-2) var(--space-3);font-weight:750;text-align:left;text-overflow:ellipsis;white-space:nowrap}.builder-tab__rename{width:8rem;border-radius:var(--radius-sm) 0 0 0;background:#fff}.builder-tab__menu-button,.add-tab-button{display:inline-grid;min-width:2.75rem;min-height:2.75rem;place-items:center;border:0;background:transparent;color:var(--color-text-muted)}.builder-tab__menu-button:hover{background:var(--color-surface-muted);color:var(--color-text)}.add-tab-button{flex:0 0 auto;border:1px solid var(--color-border);border-bottom:3px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-surface);color:var(--color-brand-strong)}.tab-menu{position:absolute;z-index:30;top:calc(100% + .35rem);right:0;display:grid;width:13rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--space-1);box-shadow:var(--shadow-md)}.tab-menu button{display:flex;min-height:2.5rem;align-items:center;gap:var(--space-2);border:0;border-radius:.35rem;background:transparent;color:var(--color-text);padding:var(--space-2) var(--space-3);text-align:left}.tab-menu button:hover,.tab-menu button:focus-visible{background:var(--color-surface-muted)}.tab-menu .tab-menu__danger{color:var(--color-danger)}.builder-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(19rem,.85fr);gap:var(--space-5);align-items:start}.builder-panel{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.builder-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border);padding:var(--space-5)}.builder-panel__header h2,.program-exercise-card h3,.library-card h3,.empty-program h3,.exercise-modal h2{margin:0;letter-spacing:-.025em}.builder-panel__header h2{font-size:1.25rem}.panel-kicker{margin:0 0 var(--space-1);color:var(--color-text-muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.count-badge{flex:0 0 auto;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-muted);padding:.3rem .6rem;font-size:.72rem;font-weight:750}.empty-program{display:grid;min-height:18rem;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-8);color:var(--color-text-muted);text-align:center}.empty-program h3{color:var(--color-text)}.empty-program p{max-width:24rem;margin:0;line-height:1.55}.program-exercise-list,.library-list{display:grid;gap:var(--space-3);margin:0;padding:var(--space-4);list-style:none}.program-exercise-item{position:relative;min-width:0}.program-exercise-item>.drag-handle{position:absolute;z-index:2;top:var(--space-4);left:var(--space-4)}.program-exercise-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);padding-left:calc(var(--space-4) + 2.75rem + var(--space-2))}.exercise-number{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand-strong);font-size:.75rem;font-weight:800}.program-exercise-card__content>p,.library-card p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:.85rem;line-height:1.5}.exercise-actions,.copy-exercise-action,.move-exercise-actions{display:flex;gap:var(--space-2)}.exercise-actions{min-width:9.5rem;align-items:stretch;flex-direction:column}.copy-exercise-action{flex-wrap:wrap}.move-exercise-actions>button{min-width:0;flex:1}.copy-exercise-action select{min-width:0;min-height:2.6rem;flex:1 1 7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);padding:var(--space-2)}.variable-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0}.variable-list div{display:inline-flex;gap:var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:.35rem .5rem;font-size:.73rem}.variable-list dt{color:var(--color-text-muted)}.variable-list dd{margin:0;font-weight:750}.library-controls{display:grid;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:#fbfcfb;padding:var(--space-4)}.filter-grid,.variable-editor__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.form-field{display:grid;gap:var(--space-2);min-width:0}.form-field label,.variable-editor legend{color:var(--color-text-muted);font-size:.76rem;font-weight:750}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:2.65rem;border:1px solid #bac8bf;border-radius:var(--radius-sm);background:#fff;color:var(--color-text);padding:.65rem .75rem}.form-field textarea{min-height:6rem;resize:vertical}.control-with-icon{position:relative}.control-with-icon>svg{position:absolute;z-index:1;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.control-with-icon input,.control-with-icon select{padding-left:2.35rem}.library-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}.library-card h3{font-size:1rem}.exercise-metadata{display:grid;gap:.15rem;font-size:.72rem!important}.exercise-metadata span:last-child{color:var(--color-brand);font-weight:700}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.add-button,.primary-button,.secondary-button,.danger-button,.modal-navigation button,.icon-button{display:inline-flex;min-height:2.6rem;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:.82rem;font-weight:750}.add-button,.primary-button{border:1px solid var(--color-brand);background:var(--color-brand);color:#fff}.add-button:hover,.primary-button:hover{background:var(--color-brand-strong)}.secondary-button,.danger-button,.modal-navigation button,.icon-button{border:1px solid var(--color-border);background:#fff;color:var(--color-text)}.danger-button{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.library-empty{margin:0;padding:var(--space-8) var(--space-5);color:var(--color-text-muted);text-align:center}.modal-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow-y:auto;background:#0e1b149e;padding:var(--space-4)}.exercise-modal{width:min(42rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;border-radius:var(--radius-lg);background:var(--color-surface);padding:clamp(var(--space-5),4vw,var(--space-8));box-shadow:var(--shadow-md)}.confirm-dialog{width:min(30rem,100%);border-radius:var(--radius-lg);background:var(--color-surface);padding:clamp(var(--space-5),4vw,var(--space-8));box-shadow:var(--shadow-md)}.confirm-dialog h2{margin:0;letter-spacing:-.025em}.confirm-dialog p{margin:var(--space-3) 0 var(--space-6);color:var(--color-text-muted);line-height:1.55}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.exercise-modal__header,.exercise-modal__footer,.modal-navigation,.input-with-unit{display:flex;align-items:center}.exercise-modal__header,.exercise-modal__footer{justify-content:space-between;gap:var(--space-4)}.exercise-modal__header{align-items:flex-start}.icon-button{width:2.65rem;flex:0 0 auto;padding:0}.exercise-modal__help{margin:var(--space-3) 0 var(--space-5);color:var(--color-text-muted);line-height:1.5}.exercise-modal>.form-field+.form-field,.variable-editor{margin-top:var(--space-4)}.variable-editor{border:0;padding:0}.variable-editor legend{margin-bottom:var(--space-3)}.input-with-unit{gap:var(--space-2)}.input-with-unit span{flex:0 0 auto;min-width:2.2rem;color:var(--color-text-muted);font-size:.8rem}.exercise-modal__footer{margin-top:var(--space-6);border-top:1px solid var(--color-border);padding-top:var(--space-5)}.modal-navigation{gap:var(--space-2)}@media (max-width: 68rem){.builder-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 47.99rem){.app-shell{grid-template-areas:"header" "nav" "main" "footer";grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto}.app-header{align-items:flex-start}.brand{flex-wrap:wrap}.brand__name{max-width:12rem}.health-status{padding-top:var(--space-3);font-size:0}.health-status__dot{width:.65rem;height:.65rem}.main-navigation{overflow-x:auto;border-right:0;border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3);scrollbar-width:thin}.main-navigation__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.main-navigation__list{display:flex;width:-moz-max-content;width:max-content;gap:var(--space-1)}.main-navigation__link{min-height:2.75rem;white-space:nowrap}.app-main{padding-inline:var(--space-5)}.placeholder-page__intro{display:grid}.placeholder-card{align-items:flex-end}.program-builder__title{display:grid}.builder-session-bar{align-items:stretch;flex-direction:column}.builder-session-bar__message{align-items:flex-start;flex-direction:column}.builder-session-bar__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.builder-session-bar__actions button:last-child{grid-column:1 / -1}.builder-panel__header,.program-exercise-card,.library-card{grid-template-columns:minmax(0,1fr)}.program-exercise-card{display:grid;padding-top:calc(var(--space-4) + 2.75rem + var(--space-2));padding-left:var(--space-4)}.program-exercise-card .secondary-button,.library-card .add-button{width:100%}.exercise-actions{min-width:0}.copy-exercise-action{display:grid;grid-template-columns:minmax(0,1fr)}.tab-menu{position:fixed;top:auto;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);width:auto}.filter-grid,.variable-editor__grid{grid-template-columns:minmax(0,1fr)}.exercise-modal__footer{align-items:stretch;flex-direction:column}.confirm-dialog__actions{align-items:stretch;flex-direction:column-reverse}.modal-navigation button,.exercise-modal__footer .primary-button{flex:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
