:root{--bg:#f4efe6;--bg-top:#f8f4ec;--surface:#fffffcf0;--surface-translucent:#fffffcd1;--surface-solid:#fbfcf8;--surface-highlight:#fffffc;--input-bg:#fff;--surface-2:#eef2eb;--line:#473d311f;--text:#202522;--muted:#6a726f;--green:#2f7868;--green-soft:#dcefe8;--green-ink:#294a40;--amber:#b57725;--amber-soft:#fae7cf;--indigo:#5a63a8;--indigo-soft:#eceefd;--indigo-faint:#f3f4fd;--danger:#b0554c;--danger-soft:#f8e7e5;--dialog-bg:linear-gradient(180deg, #fffcf7fc, #f6efe4fc);--shadow:0 18px 40px #31281f14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--bg:#121714;--bg-top:#19201c;--surface:#1d2420f5;--surface-translucent:#171d1ae0;--surface-solid:#202823;--surface-highlight:#28312c;--input-bg:#171d1a;--surface-2:#2a342f;--line:#e2ebe624;--text:#f2f5f3;--muted:#aab5af;--green:#64b6a1;--green-soft:#24483e;--green-ink:#b9e3d7;--amber:#e0a85a;--amber-soft:#503a20;--indigo:#aeb5ff;--indigo-soft:#343954;--indigo-faint:#292d43;--danger:#f08e84;--danger-soft:#492b2a;--dialog-bg:linear-gradient(180deg, #262f2afc, #181e1bfc);--shadow:0 18px 40px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #5a63a81f, transparent 24%), radial-gradient(circle at bottom left, #2f78681a, transparent 22%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg) 100%);min-width:320px;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.rail{border-right:1px solid var(--line);background:var(--surface-translucent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;gap:28px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand,.account-chip,.topbar-actions,.exercise-head,.inline-row,.split-line,.template-title,.journal-head,.stat-card,.module-line,.recent-line,.sync-line{align-items:center;display:flex}.brand{gap:10px;min-height:48px}.rail-header{gap:10px;display:grid}.rail-settings-btn{text-align:left;width:100%}.brand-mark{width:42px;height:42px}.brand strong,.brand span{display:block}.brand strong{overflow-wrap:anywhere;font-size:17px;line-height:1.05}.brand span{color:var(--muted);font-size:12px}.rail-nav,.mobile-nav-inner{gap:8px;display:grid}.nav-btn{min-height:44px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:18px;align-items:center;gap:10px;padding:8px 10px;display:flex}.nav-btn:hover,.nav-btn.is-active{border-color:var(--line);background:var(--surface);color:var(--text)}.nav-icon{background:var(--surface-2);width:28px;height:28px;color:var(--green);border-radius:14px;flex:0 0 28px;place-items:center;font-size:13px;font-weight:800;display:grid}.rail-note{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin-top:auto;padding:14px}.rail-note strong{font-size:30px;display:block}.rail-note span{color:var(--muted);font-size:13px}.main{width:min(1180px,100%);min-width:0;margin:0 auto;padding:24px 26px 44px}.mode-page{gap:16px;display:grid}.page-scope{border:1px solid var(--line);background:var(--surface-translucent);border-radius:18px;flex-wrap:wrap;align-items:end;gap:14px;padding:14px 16px;display:flex}.page-scope .field{min-width:180px}.quick-date-list{flex:520px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0;display:grid}.quick-date-btn{border:1px solid var(--line);background:var(--surface-2);min-width:0;min-height:48px;color:var(--muted);border-radius:12px;place-items:center;gap:2px;padding:5px 2px;font-size:11px;display:grid}.quick-date-btn strong{color:var(--text);font-size:13px}.quick-date-btn:hover:not(.is-active){background:var(--surface)}.quick-date-btn.is-active{border-color:var(--green);background:var(--green);color:#fff}.quick-date-btn.is-active strong{color:#fff}.quick-date-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.page-intro{padding:4px 2px}.page-intro h2{margin:4px 0 6px}.page-intro p:last-child{max-width:680px;color:var(--muted);margin:0}.mode-panel-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.mode-panel-head h2{margin:0}.mode-panel-head span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.food-entry-list{gap:10px;display:grid}.food-entry{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;grid-template-columns:minmax(150px,1fr) minmax(140px,190px) minmax(120px,170px) 28px;align-items:end;gap:12px;padding:14px;display:grid}.food-entry-title{align-self:center}.food-entry-title strong,.food-entry-title small{display:block}.food-entry-title small{color:var(--muted);margin-top:4px;font-size:12px}.food-entry .set-remove{align-self:center}.food-page-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.food-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:16px;gap:6px;padding:24px;display:grid}.food-empty strong{color:var(--text)}.tracker-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.tracker-option{border:1px solid var(--line);background:var(--surface-2);min-height:48px;color:var(--muted);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.tracker-option.is-active{border-color:var(--green);color:var(--text)}.tracker-option input{accent-color:var(--green)}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.eyebrow{min-height:18px;color:var(--muted);margin:0 0 4px;font-size:13px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(30px,4vw,44px);line-height:1.05}h2{margin-bottom:14px;font-size:21px}.account-chip{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--muted);white-space:nowrap;border-radius:999px;gap:8px;padding:0 12px}.topbar-actions{justify-content:flex-end;gap:10px;min-width:0}.ai-mode-toggle{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--muted);border-radius:18px;align-items:center;gap:8px;padding:4px 10px 4px 6px;font-weight:800;display:flex;box-shadow:0 10px 26px #262f2a0d}.ai-mode-toggle span{background:var(--indigo-soft);width:30px;height:30px;color:var(--indigo);border-radius:14px;place-items:center;font-size:12px;display:grid}.ai-mode-toggle strong,.ai-mode-toggle small{text-align:left;line-height:1.05;display:block}.ai-mode-toggle small{color:var(--danger);margin-top:2px;font-size:11px}.ai-mode-toggle.is-active{background:var(--indigo-soft);color:var(--text);border-color:#4f56a759}.ai-paywall-banner{background:var(--indigo-faint);border:1px solid #4f56a747;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:flex}.ai-paywall-banner div{gap:3px;display:grid}.ai-paywall-banner span{color:var(--muted);font-size:13px}.status-dot{background:var(--green);border-radius:999px;width:8px;height:8px}.dashboard-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.stat-card{border:1px solid var(--line);background:var(--surface);min-height:90px;box-shadow:var(--shadow);border-radius:18px;justify-content:space-between;gap:8px;padding:16px}.stat-card-button{color:inherit;cursor:pointer;text-align:left}.stat-card-button:hover{border-color:var(--green)}.stat-card-button:focus-visible{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #2c7e662e}.stat-card span{color:var(--muted);font-size:13px;display:block}.stat-card strong{margin-top:6px;font-size:27px;line-height:1;display:block}.stat-card small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:800;display:block}.stat-badge{background:var(--green-soft);width:34px;height:34px;color:var(--green);border-radius:18px;place-items:center;font-weight:800;display:grid}.stat-card:nth-child(2) .stat-badge{background:var(--amber-soft);color:var(--amber)}.stat-card:nth-child(3) .stat-badge{background:var(--indigo-soft);color:var(--indigo)}.stat-card:nth-child(4) .stat-badge,.stat-plus{background:var(--danger-soft);color:var(--danger)}.stat-card-action{align-items:stretch}.stat-plus{border:1px solid #aa3b383d;border-radius:18px;flex:0 0 38px;align-self:center;place-items:center;width:38px;height:38px;font-size:24px;font-weight:900;line-height:1;display:grid}.stat-plus:disabled{cursor:wait;opacity:.6}.monthly-modal{width:min(680px,100vw - 28px)}.monthly-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.monthly-summary div{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;min-height:72px;padding:12px}.monthly-summary span{color:var(--muted);font-size:12px;font-weight:800;display:block}.monthly-summary strong{margin-top:6px;font-size:28px;display:block}.workout-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.main,.workout-grid,.workout-grid>*,.dashboard-strip>*,.templates-grid>*,.modules-grid>*,.progress-grid>*,.exercise-list,.exercise-card,.exercise-head,.panel{min-width:0}.panel,.exercise-card,.template-card,.module-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:16px}.field-stack{gap:12px;display:grid}.field{gap:6px;display:grid}.field span,.mini-label{color:var(--muted);font-size:12px;font-weight:700}.field input,.field select,.field textarea,.date-display,.set-cell input,.exercise-select,.inline-template-select,.template-exercise-row select,.file-pick{border:1px solid var(--line);background:var(--input-bg);width:100%;min-height:42px;color:var(--text);border-radius:18px;outline:none;padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus,.date-display:focus,.set-cell input:focus,.exercise-select:focus,.inline-template-select:focus,.template-exercise-row select:focus{border-color:var(--green);box-shadow:0 0 0 3px #276f5c1f}.inline-row{gap:10px}.inline-row .field{flex:1;min-width:0}.primary-btn,.secondary-btn,.icon-btn,.text-btn{border:1px solid var(--line);border-radius:18px;min-height:42px}.primary-btn{background:var(--green);color:#fff;border-color:var(--green);width:100%;font-weight:800}.secondary-btn{background:var(--surface-2);color:var(--text);padding:0 12px;font-weight:700}.secondary-btn.danger-action{background:var(--danger-soft);color:var(--danger);border-color:#aa3b3847}.text-btn{background:var(--surface);color:var(--green);padding:0 12px;font-weight:800}.icon-btn{background:var(--surface-2);width:42px;color:var(--text);flex:0 0 42px;place-items:center;font-weight:900;display:grid}.icon-btn.danger{color:var(--danger)}.icon-btn:disabled{cursor:not-allowed;opacity:.45}.icon-btn svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.icon-btn svg circle{fill:currentColor;stroke:none}.exercise-list{gap:12px;min-width:0;display:grid}.hidden-file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.workout-top-column,.workout-bottom-column{gap:12px;min-width:0;display:grid}.workout-left-column{min-width:0;display:contents}.workout-top-column{order:1}.journal-section{order:2;min-width:0}.workout-bottom-column{order:3}@media (width>=901px){.workout-grid>.panel{grid-column:1/-1}.workout-grid>.panel>.field-stack{grid-template-columns:minmax(0,1fr) minmax(360px,1.05fr);align-items:start;gap:24px;display:grid}.workout-left-column{grid-area:1/1;gap:12px;display:grid}.journal-section{grid-area:1/2;align-self:start}.workout-bottom-column{gap:12px;display:grid}.workout-bottom-column>.day-status-line{order:1}.workout-bottom-column>.sync-line{order:2}.workout-bottom-column>.day-actions{order:3}.workout-bottom-column>.copy-calendar-panel{order:4}.workout-bottom-column>.primary-btn{order:5;width:100%}.workout-bottom-column>.optional-details{order:6}}.journal-head{justify-content:space-between;gap:12px;min-height:42px;margin-bottom:12px}.journal-head h2{margin-bottom:2px}.journal-head span{color:var(--muted);font-size:13px}.journal-head strong{background:var(--surface);color:var(--muted);border-radius:999px;flex:none;padding:5px 9px;font-size:12px}.date-picker-wrap{position:relative}.date-row,.calendar-head,.month-plan-actions,.template-exercise-row,.template-form-actions{align-items:center;gap:8px;display:flex}.date-row{align-items:end}.date-row .field{flex:1;min-width:0}.calendar-toggle{flex:none}.month-plan{gap:8px;display:grid}.month-plan-panel{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;gap:10px;padding:10px;display:grid}.month-plan-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px;display:grid}.month-plan-row .field,.month-plan-row input,.month-plan-row select{min-width:0}.weekday-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday-picker button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);border-radius:18px;padding:4px 0;font-weight:900}.weekday-picker button.is-active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.month-plan-summary{min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.month-plan-summary span{text-transform:capitalize}.month-plan-summary strong{color:var(--text)}.month-plan-actions{justify-content:flex-end}.optional-details{gap:8px;display:grid}.optional-details-toggle{border:1px solid var(--line);background:var(--surface-solid);width:100%;min-height:48px;color:var(--text);text-align:left;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.optional-details-toggle span{gap:2px;min-width:0;display:grid}.optional-details-toggle small{color:var(--muted);font-size:12px;font-weight:700}.optional-details-toggle b{background:var(--surface-2);width:28px;height:28px;color:var(--green);border-radius:14px;flex:0 0 28px;place-items:center;font-size:16px;display:grid}.optional-details-panel{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;gap:10px;padding:10px;display:grid}.day-status-line,.copy-calendar-summary{min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.day-status-line strong,.copy-calendar-summary strong{color:var(--text)}.day-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.day-actions .secondary-btn{padding:0 8px}.day-actions .danger-action{grid-column:1/-1}.copy-calendar-panel{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;gap:10px;padding:10px;display:grid}.activities-panel{margin-top:14px}.activity-card-list,.settings-list{gap:10px;display:grid}.activity-card,.settings-line{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px}.theme-switch{background:var(--surface-2);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.theme-switch button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:12px;padding:0 12px;font-weight:800}.theme-switch button.is-active{background:var(--surface-highlight);color:var(--green);box-shadow:var(--shadow)}.activity-card-head,.settings-line{justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 12px;display:flex}.activity-card-head{color:var(--text);text-align:left;background:0 0;border:0}.activity-card-head span,.settings-line span{gap:3px;min-width:0;display:grid}.activity-card-head small,.settings-line small{color:var(--muted);font-size:12px;font-weight:700}.activity-card-head b{background:var(--surface-2);width:28px;height:28px;color:var(--green);border-radius:14px;flex:0 0 28px;place-items:center;display:grid}.activity-card-body{gap:10px;padding:0 10px 10px;display:grid}.activity-segment{border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:10px;padding:10px;display:grid}.activity-input-group{gap:8px;display:grid}.activity-input-group+.activity-input-group{border-top:1px solid var(--line);padding-top:10px}.activity-group-title{color:var(--muted);font-size:12px;font-weight:900}.activity-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.activity-fields-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.activity-fields-sleep{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-fields-orbitrek{grid-template-columns:minmax(0,1fr)}.activity-readout{min-height:65px;color:var(--muted);align-items:end;font-weight:800;display:grid}.activity-calories-row{color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(110px,150px) auto;align-items:end;gap:8px;font-size:13px;display:grid}.activity-calories-row label{gap:4px;display:grid}.activity-calories-row input{border:1px solid var(--line);border-radius:18px;width:100%;min-height:36px;padding:6px 8px}.activity-calories-row strong{color:var(--text)}.settings-grid{gap:14px;display:grid}.settings-line input{width:22px;height:22px;accent-color:var(--green)}.date-display{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.date-display:after{content:"";opacity:.72;border:2px solid;border-top-width:4px;border-radius:3px;width:14px;height:14px}.calendar-popover{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;margin-top:10px;padding:10px}.calendar-head{justify-content:space-between;margin-bottom:8px}.calendar-head strong{text-transform:capitalize}.calendar-nav-btn{flex-basis:36px;width:36px;min-height:36px;font-size:22px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{min-height:24px;color:var(--muted);place-items:center;font-size:11px;font-weight:800;display:grid}.calendar-day{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);border-radius:18px;font-weight:800;position:relative}.calendar-day:hover{border-color:var(--green)}.calendar-day.has-completed-workout{border-color:var(--green);background:var(--green-soft);color:var(--green)}.calendar-day.has-planned-workout,.calendar-day.has-skipped-workout{background:var(--danger-soft);color:var(--danger);border-color:#aa3b3875}.calendar-day.has-completed-workout:after,.calendar-day.has-planned-workout:after,.calendar-day.has-skipped-workout:after{content:"";background:var(--green);border-radius:999px;width:5px;height:5px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.calendar-day.has-planned-workout:after,.calendar-day.has-skipped-workout:after{background:var(--danger)}.calendar-day.is-selected{border-color:var(--green);background:var(--green);color:#fff}.calendar-day.has-planned-workout.is-selected,.calendar-day.has-skipped-workout.is-selected{border-color:var(--danger);background:var(--danger)}.calendar-day.is-copy-selected{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}.calendar-day.is-source{cursor:not-allowed;opacity:.55}.calendar-day.is-selected:after{background:#fff}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;font-weight:800;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-dot{border-radius:999px;width:7px;height:7px}.calendar-dot.is-completed{background:var(--green)}.calendar-dot.is-planned,.calendar-dot.is-skipped{background:var(--danger)}.exercise-head{gap:10px;margin-bottom:10px}.exercise-select{min-width:0;font-weight:800}.muscle-info{border-left:3px solid var(--green);background:var(--green-soft);color:var(--green-ink);margin:0 0 12px;padding:10px 12px;font-size:14px}.set-grid{grid-auto-columns:128px;grid-auto-flow:column;gap:10px;width:100%;min-width:0;max-width:100%;padding-bottom:4px;display:grid;overflow-x:auto}.set-cell{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;min-width:128px;padding:10px}.set-head{min-height:28px;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:800;display:flex}.set-remove{width:24px;height:24px;color:var(--danger);background:0 0;border:0;border-radius:12px;font-weight:900}.set-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.set-cell input{min-height:38px;padding:6px 8px}.exercise-actions{align-items:center;gap:10px;margin-top:12px;display:flex}.empty-workout{border:1px dashed var(--line);background:var(--surface-solid);min-height:86px;color:var(--muted);border-radius:18px;gap:4px;padding:14px;display:grid}.empty-workout strong{color:var(--text)}.inline-template-select{flex:1;min-width:180px}.sync-line,.split-line{min-height:34px;color:var(--muted);justify-content:space-between;gap:8px;font-size:14px}.split-line strong,.sync-line strong{color:var(--text)}.templates-grid,.modules-grid,.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.template-title{justify-content:space-between;gap:12px;margin-bottom:10px}.template-title-main{min-width:0}.template-title-main h2{overflow-wrap:anywhere}.template-title span{background:var(--surface-2);width:fit-content;color:var(--muted);white-space:nowrap;border-radius:999px;margin-top:6px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.template-actions{flex:none;gap:6px;display:flex}.template-edit-btn,.template-delete-btn{flex:0 0 42px}.template-card ul,.module-card ul{color:var(--muted);gap:7px;margin:0 0 14px;padding-left:18px;display:grid}.ai-template-trigger{background:var(--indigo-soft);min-height:34px;color:var(--indigo);border:1px solid #4f56a747;border-radius:18px;flex:none;padding:0 10px;font-weight:900}.ai-template-trigger:hover{border-color:var(--indigo)}.template-builder{border-color:#276f5c52}.template-exercise-list{gap:8px;display:grid}.template-exercise-row select{flex:auto;min-width:0}.template-exercise-row{cursor:grab}.template-drag-grip{appearance:none;width:28px;height:42px;color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;background:0 0;border:0;flex:0 0 28px;place-items:center;padding:0;font-size:0;line-height:0;display:grid}.template-drag-grip:before{content:"⋮⋮";letter-spacing:-2px;opacity:.7;font-size:16px;line-height:1}.template-exercise-row.is-dragging{background:#276f5c17;border-radius:18px;outline:2px dashed #276f5c80;transform:scale(.96)}.template-exercise-row.is-dragging>*{opacity:.1}.template-drag-grip:active,.template-exercise-row.is-dragging .template-drag-grip{cursor:grabbing}.template-drag-overlay{z-index:10000;pointer-events:none;will-change:transform;position:fixed;transform:translate(0,0)}.template-drag-overlay-row{background:var(--surface-highlight);transform-origin:50%;backface-visibility:hidden;border-radius:21px;outline:2px solid #276f5cb8;width:100%;height:100%;margin:0;animation:.15s cubic-bezier(.16,1,.3,1) template-row-lift;transform:perspective(640px)translate3d(0,-10px,34px)rotateX(5deg)rotate(-1deg)scale(1.075);box-shadow:0 34px 56px #192f2857,0 14px 24px #192f2838,inset 0 1px #fffffff2}.template-drag-overlay-row .template-drag-grip{color:var(--green);transform:scale(1.15)}.template-drag-overlay.is-dropping{transition:transform .17s cubic-bezier(.2,.8,.2,1)}.template-drag-overlay-row.is-dropping{outline-color:#276f5c2e;transition:transform .17s cubic-bezier(.2,.8,.2,1),box-shadow .17s,outline-color .17s;transform:perspective(640px)translate(0,0)rotateX(0)rotate(0)scale(1);box-shadow:0 4px 10px #24342e14}body.template-row-drag-active{cursor:grabbing;-webkit-user-select:none;user-select:none;overscroll-behavior:none}@keyframes template-row-lift{0%{transform:perspective(640px)translate(0,0)rotateX(0)rotate(0)scale(1);box-shadow:0 3px 8px #24342e14}}.template-form-actions .secondary-btn,.template-form-actions .primary-btn{flex:1;width:auto}.ai-planner-modal{width:min(860px,100vw - 28px)}.ai-context-panel{background:var(--indigo-soft);border:1px solid #4f56a73d;border-radius:18px;gap:6px;margin-bottom:14px;padding:12px;display:grid}.ai-context-panel span,.ai-context-panel small{color:var(--muted);font-size:12px;font-weight:800}.ai-context-panel strong{margin-top:3px;display:block}.ai-question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-question-grid textarea{resize:vertical;min-height:84px}.ai-modal-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;margin-top:14px;display:grid}.record-list,.recent-list,.module-list{gap:10px;display:grid}.recent-line,.module-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;min-height:46px;padding:10px 0}.recent-action{width:100%;color:inherit;text-align:left;background:0 0;border:0}.recent-action:hover{color:var(--green)}.recent-line:last-child,.module-line:last-child{border-bottom:0}.recent-line strong,.module-line strong{display:block}.recent-line span,.module-line span{color:var(--muted);font-size:13px}.toggle{flex:0 0 52px;width:52px;height:30px;position:relative}.toggle input{opacity:0;position:absolute}.toggle i{background:var(--line);border-radius:999px;transition:all .18s;position:absolute;inset:0}.toggle i:after{content:"";background:#fff;border-radius:999px;width:22px;height:22px;transition:all .18s;position:absolute;top:4px;left:4px;box-shadow:0 2px 8px #0000002e}.toggle input:checked+i{background:var(--green)}.toggle input:checked+i:after{transform:translate(22px)}.mode-switch,.food-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.auth-grid{gap:12px;display:grid}.password-field-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.password-toggle-btn{justify-self:stretch;width:100%;min-width:0}@media (width>=680px){.password-field-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.password-toggle-btn{justify-self:auto;width:auto;min-width:102px}}.auth-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pack-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 10px;display:grid}.pack-button{border:1px solid var(--line);background:var(--amber-soft);min-height:70px;color:var(--text);border-radius:18px;gap:3px;padding:9px;display:grid}.pack-button strong{color:var(--amber);font-size:20px}.pack-button span{color:var(--muted);font-size:12px;font-weight:800}.pack-button:disabled{opacity:.55}.full-width{width:100%}.file-pick{background:var(--surface-2);color:var(--green);place-items:center;margin-bottom:10px;font-weight:800;display:grid;position:relative}.file-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-pick:has(input:disabled){color:var(--muted);cursor:not-allowed}.helper-text{color:var(--muted);margin:8px 0 0;font-size:13px}.food-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-switch button,.food-mode{border:1px solid var(--line);background:var(--surface-2);min-height:42px;color:var(--muted);border-radius:18px;font-weight:800}.food-mode{text-align:left;gap:3px;min-height:92px;padding:10px;display:grid}.food-mode span,.food-mode small{color:var(--muted)}.mode-switch button.is-active,.food-mode.is-active{background:var(--indigo);color:#fff;border-color:var(--indigo)}.food-mode.is-active span,.food-mode.is-active small{color:#fff}.modal-backdrop{z-index:30;background:#1e252061;place-items:center;padding:14px;display:grid;position:fixed;inset:0}.progress-modal{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:min(760px,100vw - 28px);max-height:calc(100vh - 28px);padding:16px;overflow:auto;box-shadow:0 22px 70px #1e25203d}.confirm-backdrop{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e252080}.confirm-modal{background:var(--dialog-bg);border-radius:24px;width:min(460px,100vw - 28px);padding:18px;box-shadow:0 30px 90px #1e252042}.confirm-modal-head{margin-bottom:10px}.confirm-modal-message{color:var(--muted);margin:0;line-height:1.55}.confirm-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.confirm-modal-actions .secondary-btn,.confirm-action{width:auto;min-width:120px}.confirm-action{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:18px;min-height:42px;padding:0 16px;font-weight:800}.confirm-action.is-danger{background:var(--danger);border-color:#b0554c47}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{margin-bottom:0}.set-progress-scroll{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;width:100%;overflow-x:auto}.set-progress-chart{width:100%;min-width:640px;height:auto;display:block}.metric-line-wrap{gap:12px;display:grid}.metric-line-scroll{border:1px solid var(--line);background:var(--surface-solid);border-radius:18px;width:100%;overflow-x:auto}.metric-line-chart{width:100%;min-width:560px;height:auto;display:block}.chart-grid-line line{stroke:var(--line);stroke-width:1px}.chart-grid-line text,.chart-date-label,.chart-point text{fill:var(--muted);font-size:12px}.chart-grid-line text{text-anchor:end}.chart-date-label{text-anchor:middle}.chart-series-line{fill:none;stroke:var(--green);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.chart-point circle{fill:var(--surface);stroke:var(--green);stroke-width:3px}.chart-point.is-clickable circle{cursor:pointer}.chart-point.is-clickable circle:hover{fill:var(--green-soft)}.chart-point text{text-anchor:middle;font-weight:800}.metric-line-list{gap:0;display:grid}.metric-line-row{border:0;border-bottom:1px solid var(--line);min-height:38px;color:inherit;text-align:left;background:0 0;grid-template-columns:82px 1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid}.metric-line-row:last-child{border-bottom:0}.metric-line-row:disabled{cursor:default}.metric-line-row:not(:disabled):hover{color:var(--green)}.metric-line-row span{color:var(--muted)}.metric-line-row strong,.metric-line-row b{color:var(--text)}.progress-point-list{gap:6px;max-height:240px;margin-top:12px;display:grid;overflow:auto}.progress-point-row{border-bottom:1px solid var(--line);grid-template-columns:82px 1fr 1fr auto;align-items:center;gap:8px;min-height:38px;padding:8px 0;font-size:14px;display:grid}.progress-point-row:last-child{border-bottom:0}.progress-point-row span{color:var(--muted)}.toast{z-index:20;opacity:0;color:#fff;background:#1e2520;border-radius:18px;max-width:min(360px,100vw - 40px);padding:12px 14px;transition:all .22s;position:fixed;bottom:20px;right:20px;transform:translateY(90px)}.toast.is-visible{opacity:1;transform:translateY(0)}.mobile-nav{display:none}@media (width<=900px){.app-shell{display:block}.rail{display:none}.main{padding:18px 14px 88px}.topbar{align-items:center}.topbar-actions{flex-shrink:0}h1{font-size:32px}.account-chip{display:none}.dashboard-strip,.workout-grid,.templates-grid,.modules-grid,.progress-grid{grid-template-columns:minmax(0,1fr)}.tracker-picker,.dashboard-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:82px;padding:13px}.stat-card strong{font-size:22px}.mobile-nav{z-index:10;border:1px solid var(--line);background:var(--surface-translucent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;padding:6px;display:block;position:fixed;bottom:10px;left:10px;right:10px}.mobile-nav-inner{grid-template-columns:repeat(5,1fr);gap:4px}.mobile-nav .nav-btn{flex-direction:column;justify-content:center;gap:4px;min-height:66px;padding:7px 4px 6px;font-size:11px;font-weight:800;line-height:1.1}.mobile-nav .nav-icon{flex-basis:30px;width:30px;height:30px}.mobile-nav .nav-btn span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.toast{bottom:96px;right:12px}.food-entry{grid-template-columns:minmax(0,1fr) minmax(130px,1fr) 28px}.food-entry-title{grid-column:1/-1}}@media (width<=520px){.dashboard-strip{gap:8px}.stat-badge{display:none}.panel,.exercise-card,.template-card,.module-card{padding:12px}.page-scope{flex-direction:column;align-items:stretch;gap:4px}.page-scope .field{min-width:0}.quick-date-list{flex-basis:100%;gap:4px}.quick-date-btn strong{font-size:11px}.tracker-picker{grid-template-columns:1fr}.food-entry{grid-template-columns:minmax(0,1fr) 28px}.food-entry .field:first-of-type,.food-entry .field:nth-of-type(2){grid-column:1/-1}.exercise-head{align-items:stretch}.exercise-actions,.date-row,.ai-paywall-banner,.month-plan-row,.month-plan-actions,.template-form-actions,.ai-modal-actions{flex-wrap:wrap}.ai-mode-toggle{padding-right:6px}.ai-mode-toggle strong,.ai-mode-toggle small{display:none}.ai-paywall-banner{align-items:stretch}.day-actions{gap:6px}.day-actions .secondary-btn{padding:0 5px;font-size:13px}.activity-fields,.activity-fields-steps,.activity-fields-sleep,.activity-calories-row{grid-template-columns:1fr 1fr}.activity-calories-row strong{grid-column:1/-1}.month-plan-row,.password-field-row{grid-template-columns:1fr}.password-toggle-btn{width:100%;min-width:0}.ai-question-grid,.ai-modal-actions{grid-template-columns:1fr}.calendar-toggle,.inline-template-select{width:100%;min-width:0}.secondary-btn,.text-btn{flex:1}.mode-switch{grid-template-columns:1fr}.progress-modal{padding:12px}.monthly-summary{grid-template-columns:1fr}.progress-point-row,.metric-line-row{grid-template-columns:1fr 1fr}}.share-modal{width:100%;max-width:500px}.share-preview-container{background:var(--bg);border-radius:12px;max-height:60vh;margin-bottom:16px;padding:8px;overflow-y:auto}.share-canvas{color:#fff;background:#111;border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex}.share-brand{text-align:center;color:var(--primary);margin-bottom:8px;font-size:1.2rem}.share-day{background:#222;border-radius:8px;padding:16px}.share-day-header{color:var(--primary);margin-bottom:12px;font-size:1.1rem;font-weight:600}.share-exercise{justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:.95rem;display:flex}.share-exercise-name{padding-right:12px;font-weight:500}.share-exercise-sets{color:#aaa;text-align:right;flex-shrink:0}.share-actions{flex-direction:column;gap:12px;display:flex}.share-add-btn{border:1px dashed var(--border);color:var(--fg);background:0 0}
