@keyframes control-enter{0%{opacity:0}to{opacity:1}}.page{animation:.16s ease-out control-enter}button,input,select,textarea,a{font:inherit}.control-icon{flex:0 0 20px;width:20px;height:20px}:is(.primary-button,.secondary-button,.text-button,.action-link,.settings-link,.back-button,.icon-button,.danger-button,.danger-text-button,.color-option-button,.set-tile){border-radius:var(--control-radius);max-width:100%;min-height:48px;color:var(--text);background:var(--surface-raised);letter-spacing:normal;text-align:center;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.primary-button{min-height:52px;color:var(--text-on-accent);background:var(--accent);font-size:16px;font-weight:600}:is(.text-button,.action-link,.settings-link,.back-button){background:0 0;min-height:44px;padding:8px 10px}.danger-button{min-height:52px;color:var(--text-on-accent);background:var(--error);font-weight:600}.danger-text-button{color:var(--error);background:var(--error-soft)}:is(.back-button,.icon-button){border-radius:12px;width:44px;min-width:44px;min-height:44px;padding:0}:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (hover:hover){:is(.secondary-button,.text-button,.action-link,.settings-link,.back-button,.icon-button,.color-option-button,.set-tile):not(:disabled):hover{background:var(--surface-hover);color:var(--text)}.primary-button:not(:disabled):hover{color:var(--text-on-accent);background:var(--accent-hover)}.danger-button:not(:disabled):hover{color:var(--text-on-accent);background:var(--error-hover)}.danger-text-button:not(:disabled):hover{color:var(--error-hover);background:var(--error-soft)}}:is(.secondary-button,.text-button,.action-link,.settings-link,.back-button,.icon-button,.color-option-button,.set-tile):not(:disabled):active{background:var(--surface-hover)}.primary-button:not(:disabled):active{color:var(--text-on-accent);background:var(--accent-active)}.danger-button:not(:disabled):active{background:var(--error-hover)}button:disabled{opacity:1;color:var(--text-disabled);background:var(--disabled-surface);cursor:default}:is(.option-button-selected,.secondary-button[aria-pressed=true]){color:var(--text-on-accent);background:var(--accent);font-weight:600}.secondary-button[aria-pressed=true]:not(:disabled):hover{color:var(--text-on-accent);background:var(--accent-hover)}.segmented-control,.range-controls{background:var(--surface);border-radius:16px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}:is(.segmented-control,.range-controls) .secondary-button{flex:1;min-width:64px;min-height:44px;padding:8px 12px}.option-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.option-card{min-height:96px;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--control-radius);text-align:left;cursor:pointer;align-content:start;gap:5px;padding:14px;line-height:1.5;display:grid}.option-title{font-weight:600}.option-card[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.option-card[aria-pressed=true] .option-title:after{content:" ✓";color:var(--accent)}.option-card:not(:disabled):hover,.option-card:not(:disabled):active{background:var(--surface-hover)}.option-card:disabled{color:var(--text-disabled);background:var(--disabled-surface)}.option-note{color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.7;display:block}.field{gap:8px}.field+.field{margin-top:16px}input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%;min-height:48px;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:12px;padding:10px 12px;font-size:16px;line-height:1.5}.field :is(input,select,textarea){width:100%}input:disabled,select:disabled,textarea:disabled{color:var(--text-disabled);background:var(--disabled-surface)}[aria-invalid=true]{border-color:var(--error)}.checkin-row{align-items:center;gap:12px;width:100%;min-height:48px;display:flex}.checkin-row input[type=checkbox],.management-row input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex-shrink:0;margin:0}.checkin-row:has(:focus-visible){outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}.management-row{min-height:48px}.management-row label{justify-content:center;align-items:center;min-width:44px;min-height:48px;display:flex}.color-option-button{min-width:44px;min-height:44px;padding:8px 10px}.color-option-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.custom-color-field input{width:48px;min-height:44px;padding:4px}.set-tile{font-variant-numeric:tabular-nums;flex-direction:column;gap:3px;min-width:64px;min-height:64px;padding:10px}.set-tile-note{font-size:12px;line-height:1.4}.quick-complete-bar .primary-button{min-height:56px}.quick-complete-bar .secondary-button{background:0 0}.set-tile.completed{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.set-tile.current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.set-tile:disabled{color:var(--text-disabled);background:var(--disabled-surface)}.card-corner-delete{z-index:2;width:44px;height:44px;min-height:44px;color:var(--error);background:var(--error-soft);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:8px;right:8px}.card:has(>.card-corner-delete){padding-right:64px}.card-corner-delete:not(:disabled):hover,.card-corner-delete:not(:disabled):active{color:var(--error-hover);background:var(--surface-hover)}.record-link{width:100%;min-height:44px;color:var(--text);justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.record-link>span{overflow-wrap:anywhere;min-width:0}.record-link .control-icon{color:var(--text-secondary)}.record-link:hover,.record-link:active{color:var(--accent)}.nav-link{min-height:var(--navigation-height);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;line-height:1.4;text-decoration:none;display:flex}.nav-icon{border-radius:12px;place-items:center;width:44px;height:30px;display:grid}.nav-link[aria-current=page]{color:var(--accent);font-weight:600}.nav-link[aria-current=page] .nav-icon{background:var(--accent-soft)}.nav-link:hover,.nav-link:active{color:var(--accent-hover)}.nav-link:focus-visible{outline-offset:-4px}.stepper{background:var(--surface);border-radius:14px;gap:4px;padding:4px}.stepper .secondary-button,.week-picker-row .secondary-button,.calendar-month-nav .secondary-button{min-width:44px;min-height:44px;padding:0}.weekday-chips .secondary-button{min-width:44px;min-height:44px;padding:8px}.quick-adjust-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-adjust-row{background:var(--surface-raised);border-radius:14px;align-items:center;gap:4px;padding:4px;display:flex}.quick-adjust-row .secondary-button{flex:1;gap:4px;min-width:0;min-height:44px;padding:8px 4px;font-size:13px}.quick-adjust-row .control-icon{flex-basis:16px;width:16px;height:16px}@media (width<=480px){.meal-portion-row{grid-template-columns:minmax(0,1fr) auto}.meal-portion-row input:first-child{grid-column:1/-1}.manage-weight-row{flex-wrap:wrap}.manage-weight-row input{flex:1;width:auto}.stepper-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){:is(.primary-button,.secondary-button,.text-button,.action-link,.settings-link,.back-button,.icon-button,.danger-button,.danger-text-button,.color-option-button,.set-tile),button,a,input,select,textarea{transition:none}.page{animation:none}}.workout-home{gap:20px}.active-workout-card{gap:16px;padding:22px;display:grid}.active-workout-card h2{overflow-wrap:anywhere;font-size:22px}.active-workout-card .hint-message{margin:0}.workout-state{color:var(--accent);font-size:13px}.workout-progress-track{background:var(--border);border-radius:4px;height:5px;overflow:hidden}.workout-progress-track>span{background:var(--accent);height:100%;display:block}.workout-progress-summary{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workout-progress-summary strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.3}.active-workout-card .primary-button{width:100%}.workout-create-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.workout-create-actions>a{min-width:0}.workout-tools{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding-bottom:16px;display:flex}.workout-tools .text-button{padding:8px;font-size:14px}.workout-records .card{border:0;border-bottom:1px solid var(--border-subtle);background:0 0;border-radius:0;padding:12px 0}.workout-records .hint-message{margin-top:0}@media (width<=360px){.active-workout-card{padding:18px}.workout-create-actions a{gap:5px;padding:10px 8px;font-size:14px}.workout-tools{gap:0}.workout-tools .text-button{gap:5px;padding:8px 5px;font-size:12px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080a09;--surface:#111512;--surface-raised:#19211b;--surface-hover:#232e25;--border-subtle:#232923;--border:#303630;--border-hover:#566052;--control-border:#64715f;--text:#e4e7df;--text-secondary:#a8aea4;--text-tertiary:#858c84;--text-disabled:#a0a79c;--text-on-accent:#0b0e0b;--accent:#8fae83;--accent-hover:#a3c297;--accent-active:#78966e;--accent-soft:#8fae831f;--success-soft:#9aba8e33;--error:#dfa090;--error-hover:#efb7a9;--error-line:#c8786873;--completed:#a8bfd4;--completed-soft:#a8bfd41f;--focus:#d3e0cd;--surface-overlay:#111512f7;--surface-raised-overlay:#171d19fa;--backdrop:#080a09d9;--shadow-fixed-color:#00000040;--shadow-modal-color:#0006;--shadow-prompt-color:#00000059;--font-sans:"Noto Sans SC Variable", "Microsoft YaHei", system-ui, sans-serif;--transition:.14s ease-out;--error-soft:#dfa0901a;--disabled-surface:#232923;--control-radius:14px;--navigation-height:72px;color:var(--text);background:var(--bg);font-family:var(--font-sans)}*{box-sizing:border-box}body{letter-spacing:.02em;margin:0;font-size:16px;line-height:1.7}.record-link{min-height:44px}.record-link:after{content:"";position:absolute;inset:0}.app-shell{min-height:100dvh;padding-bottom:var(--navigation-height)}.app-header{background:var(--surface);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;min-height:64px;padding:0 16px;display:flex}.app-brand{align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.app-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-content{width:min(100%,720px);margin:0 auto;padding:24px 16px 164px}.bottom-navigation{z-index:10;background:var(--surface);border-top:1px solid var(--border-subtle);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.page{gap:16px;display:grid}.page h1,.page h2,.page p{margin:0}.page-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.card-list{gap:12px;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;padding:16px;position:relative}.template-title-row{align-items:center;gap:8px;display:flex}.template-color-swatch{border-radius:4px;flex-shrink:0;width:14px;height:14px}.fieldset-color{border:0;gap:10px;margin:0;padding:0;display:grid}.fieldset-color legend{padding:0}.color-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-option-swatch{border-radius:50%;width:16px;height:16px}.custom-color-field{color:var(--text-secondary);gap:6px;font-size:.85rem;display:grid}.field{gap:6px;display:grid}.option-note{font-size:.85rem;display:block}.meal-portion-row{grid-template-columns:1fr 5rem 1.2rem;align-items:center;gap:8px;display:grid}.summary-value{margin:0;font-weight:600}.user-cards{flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.user-card{text-align:center;flex:9rem;max-width:12rem}.user-card--active{border-color:var(--accent);background:var(--accent-soft)}.user-card--switchable{cursor:pointer}.set-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.set-status{font-weight:700}.quick-complete-bar{inset:auto 0 calc(var(--navigation-height) + env(safe-area-inset-bottom));z-index:9;background:var(--surface-overlay);width:min(100% - 32px,688px);box-shadow:0 -4px 16px var(--shadow-fixed-color);border-top:0;border-radius:18px 18px 0 0;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0 auto;padding:10px 16px;display:grid;position:fixed}.sticky-actions{z-index:5;background:var(--surface-raised-overlay);border:1px solid var(--border-subtle);border-radius:14px;gap:8px;padding:12px;display:grid;position:sticky;bottom:76px}.error-message{color:var(--error);font-weight:700}dialog{color:var(--text);background:var(--surface-raised);width:min(100% - 32px,420px);box-shadow:0 16px 50px var(--shadow-modal-color);border:0;border-radius:14px}dialog::backdrop{background:var(--backdrop)}.dialog-actions{gap:10px;margin-top:20px;display:grid}.pwa-prompt{right:12px;bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom) + 12px);z-index:20;background:var(--surface);border:1px solid var(--border-hover);width:min(100% - 24px,520px);box-shadow:0 8px 28px var(--shadow-prompt-color);border-radius:14px;gap:10px;margin:0 auto;padding:14px;display:grid;position:fixed;left:12px}.pwa-prompt p{margin:0}.pwa-prompt--quiet{grid-template-columns:1fr auto;align-items:center}.pwa-update-prompt{top:72px;bottom:auto}.prompt-actions{flex-wrap:wrap;gap:8px;display:flex}.modal-backdrop{z-index:30;background:var(--backdrop);overscroll-behavior:contain;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.install-dialog{width:min(100%,420px);max-height:calc(100dvh - 64px);color:var(--text);background:var(--surface);box-shadow:0 16px 50px var(--shadow-modal-color);border-radius:14px;gap:16px;padding:20px;display:grid;overflow-y:auto}.install-dialog h2,.install-dialog p{margin:0}.management-row{grid-template-columns:44px 1fr;align-items:center;gap:8px;display:grid}.management-row p{color:var(--text-secondary);margin:0;font-size:.85rem}.management-actions{z-index:5;background:var(--surface-raised-overlay);border:1px solid var(--border-subtle);border-radius:14px;gap:8px;padding:12px;display:grid;position:sticky;bottom:76px}.management-actions--row{grid-template-columns:repeat(2,minmax(0,1fr))}.week-picker-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.stepper-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stepper{align-items:center;gap:4px;display:flex}.weekday-chips{flex-wrap:wrap;gap:8px;display:flex}.template-cycle-option{text-align:left;width:100%}.selection-toolbar{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.selection-count{font-size:.9rem;font-weight:700}.status-message{color:var(--accent);font-weight:700}.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row h2{margin:0}.manage-weight-row{align-items:center;gap:8px;display:flex}.calendar-month-nav{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.calendar-month-title{text-align:center}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-weekday{text-align:center;color:var(--text-secondary);padding:4px 0;font-size:.8rem}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar-day{min-height:56px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:2px;padding:4px 0}.calendar-day--blank{background:0 0;border:0;min-height:56px}.calendar-day--planned{background:var(--accent-soft);border-color:#0000}.calendar-day--completed{background:var(--completed-soft);border-color:#0000}.calendar-day--planned-completed{background:var(--success-soft);border-color:#0000;font-weight:700}.calendar-day--selected{outline:2px solid var(--focus);outline-offset:-2px;font-weight:700}.calendar-day-number{font-size:.95rem}.calendar-day-color-bar{border-radius:3px;width:60%;height:5px;margin-top:2px}.calendar-day-markers{gap:1px;display:grid}.calendar-day-marker{color:var(--accent);font-size:11px}.calendar-day--completed .calendar-day-marker{color:var(--completed)}.calendar-summary{color:var(--accent);font-weight:700}.quick-adjust-group{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.quick-adjust-row{gap:8px;display:flex}.hint-message{color:var(--text-secondary);margin:12px 0 0;font-size:.85rem}.weight-chart{margin:0}.weight-chart svg{display:block}.weight-chart figcaption{color:var(--text-secondary);margin-top:6px;font-size:.85rem}@media (width>=640px){.page-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}h1,h2,h3{letter-spacing:-.02em;font-weight:600;line-height:1.35}h1{font-size:26px}h2{font-size:1.25rem}h3{font-size:1.125rem}a{color:var(--accent)}fieldset{border-color:var(--border)}.weight-chart svg{color:var(--accent)}.weight-chart text{fill:var(--text-secondary)}@media (width<=360px){.calendar-grid,.calendar-weekdays{gap:0;margin-inline:-10px}}@media (width<=600px){.modal-backdrop{align-items:end;padding:0}.install-dialog{width:100%;max-height:calc(100dvh - 24px);padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}}body:has(.quick-complete-bar) .pwa-prompt:not(.pwa-update-prompt){bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom) + 132px)}.app-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.portal-home-link{min-height:44px;color:var(--text-secondary);white-space:nowrap;border-radius:12px;align-items:center;gap:6px;padding:8px;font-size:13px;text-decoration:none;display:inline-flex}.portal-home-link .control-icon{flex-basis:16px;width:16px;height:16px}.portal-home-link:hover,.portal-home-link:active{color:var(--text);background:var(--surface-hover)}.settings-link{width:44px;min-width:44px;padding:0}.fs-panel{color:#e7ece3;background:#111510;border:1px solid #354132;border-radius:20px;gap:16px;margin:24px 0;padding:24px;display:grid}.fs-panel h2,.fs-panel h3,.fs-panel p{margin:0}.fs-panel h2{font-size:1.25rem}.fs-panel .fs-note{color:#a5b09f;font-size:.9rem;line-height:1.7}.fs-panel form,.fs-panel form label,.fs-panel>div,.fs-panel .fs-conflicts>div{gap:12px;display:grid}.fs-panel label{gap:8px;font-size:.92rem;display:grid}.fs-panel input,.fs-panel select{color:#e7ece3;width:100%;min-height:48px;font:inherit;box-sizing:border-box;background:#0b100a;border:1px solid #485443;border-radius:12px;padding:10px 12px}.fs-panel .fs-actions{flex-wrap:wrap;gap:10px;display:flex}.fs-panel button{color:#d9e5d2;min-height:48px;font:inherit;cursor:pointer;background:#1a2317;border:1px solid #4b5b43;border-radius:14px;padding:10px 18px}.fs-panel button.fs-primary{color:#0b1607;background:#8fae83;border-color:#8fae83;font-weight:700}.fs-panel button:disabled{opacity:.5;cursor:default}.fs-panel :is(button,input,select):focus-visible{outline-offset:4px;outline:2px solid #b7d8a7}.fs-panel [role=alert]{color:#efbaaf;line-height:1.6}.fs-panel .fs-conflicts{border-top:1px solid #56613f;padding-top:16px}.fs-panel details summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.fs-panel pre{white-space:pre-wrap;max-height:300px;line-height:1.8;font:inherit;font-size:.88rem;overflow:auto}@media (width<=480px){.fs-panel{padding:18px}.fs-panel .fs-actions>button{flex:100%}}
