:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#f1f0ee;--surface-hover:#ebe9e5;--card:#fff;--ink:#1f1f1c;--muted:#7a756f;--accent:#3fb08d;--accent-soft:#e1f3ed;--metric-duration-fg:#5d7cff;--metric-duration-bg:#5d7cff29;--metric-duration-chart:#5d7cff;--metric-distance-fg:#4aa3ff;--metric-distance-bg:#4aa3ff29;--metric-distance-chart:#4aa3ff;--metric-calories-fg:#f29c52;--metric-calories-bg:#f29c5229;--metric-calories-chart:#f29c52;--metric-heart-fg:#ef6b6b;--metric-heart-bg:#ef6b6b29;--metric-heart-chart:#ef6b6b;--metric-heart-chart-muted:#ef6b6b8c;--metric-pace-fg:#8a6cff;--metric-pace-bg:#8a6cff29;--metric-pace-chart:#8a6cff;--metric-volume-fg:#3fb08d;--metric-volume-bg:#3fb08d29;--metric-volume-chart:#3fb08d;--metric-streak-fg:#f3c15a;--metric-streak-bg:#f3c15a2e;--metric-streak-chart:#f3c15a;--border:#e8e6e2;--nav:#fafafaeb;--shadow:0 10px 24px #1f1f1c14;--shadow-soft:0 6px 16px #1f1f1c0f;--chart-grid:#ebe7e2;--chart-grid-soft:#f2eeea;--chart-bar-primary:#9fc7bb;--chart-bar-secondary:#7fae9f}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#080a0c;--color-surface:#101214;--color-surface-deep:#0c0e11;--color-border:#1e2228;--color-divider:#161a1e;--color-accent:#e8320a;--color-blue:#1e6fe8;--color-green:#16a34a;--color-red:#dc2626;--color-text-primary:#eeeae0;--color-text-secondary:#c8c4bc;--color-text-muted:#3a4050;--color-text-faint:#323840;--font-display:"Bebas Neue",sans-serif;--font-body:"Barlow",sans-serif;--font-mono:"JetBrains Mono",monospace;--bg:var(--color-bg);--surface:var(--color-surface);--surface-hover:#141618;--card:var(--color-surface);--ink:var(--color-text-primary);--muted:var(--color-text-secondary);--accent:var(--color-accent);--accent-soft:#e8320a1f;--metric-duration-fg:var(--color-blue);--metric-duration-bg:#1e6fe829;--metric-duration-chart:var(--color-blue);--metric-distance-fg:#4aa3ff;--metric-distance-bg:#4aa3ff29;--metric-distance-chart:#4aa3ff;--metric-calories-fg:#f3a965;--metric-calories-bg:#f3a9652e;--metric-calories-chart:#f3a965;--metric-heart-fg:var(--color-red);--metric-heart-bg:#dc262629;--metric-heart-chart:var(--color-red);--metric-heart-chart-muted:#dc262673;--metric-pace-fg:#a18cff;--metric-pace-bg:#a18cff2e;--metric-pace-chart:#a18cff;--metric-volume-fg:var(--color-green);--metric-volume-bg:#16a34a29;--metric-volume-chart:var(--color-green);--metric-streak-fg:#f5c56a;--metric-streak-bg:#f5c56a33;--metric-streak-chart:#f5c56a;--border:var(--color-border);--nav:#080a0cf2;--shadow:0 14px 30px #00000080;--shadow-soft:0 6px 18px #00000059;--chart-grid:#1a1e24;--chart-grid-soft:#141820;--chart-bar-primary:var(--color-accent);--chart-bar-secondary:#e8320a99}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,-apple-system,sans-serif;margin:0;font-size:16.5px;line-height:1.5}a{color:inherit;text-decoration:none}main{padding:14px 16px 90px}@media (min-width:769px){main{padding:40px 32px 80px}}.container{max-width:1120px;margin:0 auto}.page-scroll-container{-webkit-overflow-scrolling:touch;scrollbar-width:none}.page-scroll-container::-webkit-scrollbar{display:none}.nav{border-bottom:1px solid var(--border);background:var(--nav);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 16px;display:flex;position:sticky;top:0}.nav-brand{flex:1;justify-content:space-between;align-items:center;min-width:200px;display:flex}.nav-hamburger{cursor:pointer;color:var(--ink);background:0 0;border:none;flex-direction:column;gap:4px;padding:8px;display:none}.nav-hamburger span{background:currentColor;border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.nav-links{color:var(--muted);gap:14px;font-size:.95rem;display:flex}.nav-actions{align-items:center;gap:10px;display:flex}.nav a.active{color:var(--ink);font-weight:600}@media (max-width:768px){.nav{flex-wrap:wrap;position:relative}.nav-brand{flex:none;width:100%}.nav-hamburger{display:flex}.nav-links{border-top:1px solid var(--border);flex-direction:column;gap:0;width:100%;padding:8px 0;display:none}.nav-links a{border-bottom:1px solid var(--border);padding:12px 8px}.nav-links a:last-child{border-bottom:none}.nav-links--open{display:flex}.nav-actions{border-top:1px solid var(--border);flex-direction:column;gap:8px;width:100%;padding:12px 0;display:none}.nav-actions button{width:100%}.nav-actions--open{display:flex}}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:12px;padding:18px;transition:transform .12s,box-shadow .12s}.card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.card h3{color:var(--muted);margin:0 0 10px;font-size:.95rem;font-weight:500}.page-title{margin:0 0 6px;font-size:1.8rem;font-weight:600}.page-subtitle{color:var(--muted);margin:0 0 24px}.hero-action{z-index:8;background:var(--bg);gap:12px;padding:16px 0 12px;display:grid;position:sticky;top:70px}.hero-question{font-size:1.2rem;font-weight:600}.hero-subtitle{color:var(--muted);margin-top:2px;font-size:.9rem}.hero-buttons{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.hero-cta{gap:6px;display:grid}.hero-helper{color:var(--muted);font-size:.85rem;display:none}.micro-row{flex-wrap:wrap;gap:8px;display:flex}.micro-chip{background:var(--surface);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8rem}.goal-progress{background:var(--surface);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.goal-progress-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.goal-progress-text{color:var(--fg);font-size:.95rem;font-weight:600}.goal-progress-bar{background:var(--card);border-radius:999px;height:8px;overflow:hidden}.goal-progress-fill{background:linear-gradient(90deg,var(--accent),var(--metric-streak-fg));border-radius:999px;height:100%;transition:width .3s}.goal-focus-row{align-items:center;gap:10px;display:flex}.goal-status{color:var(--muted);font-size:.85rem}.goal-status--ahead{color:var(--metric-volume-fg)}.goal-status--on_track{color:var(--metric-duration-fg)}.goal-status--behind{color:var(--metric-streak-fg)}.kpi-card{gap:6px;display:grid}@media (min-width:769px){.today-card--weight.kpi-card{gap:4px}}.kpi-label{color:var(--muted);font-size:.85rem;line-height:1.2}@media (min-width:769px){.today-card--weight .kpi-label{font-size:.75rem}}.metric-value{align-items:baseline;gap:6px;display:flex}.metric-number{letter-spacing:-.02em;font-size:2.4rem;font-weight:600;line-height:1.1}@media (min-width:769px){.today-card--weight .metric-number{font-size:1.8rem}}.metric-unit{color:var(--muted);font-size:1rem;line-height:1.2}@media (min-width:769px){.today-card--weight .metric-unit{font-size:.85rem}}.kpi-meta{color:var(--muted);opacity:.7;font-size:.78rem}.weight-trend-text{color:var(--muted);opacity:.7;margin-top:4px;font-size:.82rem}.weight-trend-text--weight-up{color:var(--metric-heart-fg);opacity:.7}.weight-trend-text--weight-down{color:var(--metric-volume-fg);opacity:.7}.kpi-row{flex-wrap:wrap;gap:6px;display:flex}.weight-card--clickable{cursor:pointer;transition:transform .12s,box-shadow .12s}.weight-card--clickable:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.weight-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.weight-header-actions{align-items:center;gap:8px;display:inline-flex}.weight-delta{color:var(--muted);font-size:.85rem;line-height:1.2}.weight-delta.weight-up{color:var(--metric-heart-fg)}.weight-delta.weight-down{color:var(--metric-volume-fg)}.weight-log-button{border:1px solid var(--border);width:44px;height:44px;color:var(--muted);cursor:pointer;background:#ffffff08;border-radius:999px;justify-content:center;align-items:center;font-size:1rem;line-height:1;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.weight-log-button:hover,.weight-log-button:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.weight-log-button:active{transform:scale(.96)}.weight-add-button{border:1.5px solid var(--border);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;font-weight:400;line-height:1;transition:color .2s,border-color .2s,background .2s,transform .12s;display:inline-flex}.weight-add-button:hover,.weight-add-button:focus-visible{color:#10b981;background:#10b9811a;border-color:#10b981}.weight-add-button:active{transform:scale(.94)}.status-row{color:var(--muted);letter-spacing:.01em;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;font-size:.95rem;display:flex}.status-row .metric-volume,.status-row .metric-streak,.status-row .metric-duration{font-weight:600}.status-sep{color:var(--muted);opacity:.4}.section-title{margin:0 0 10px;font-size:1.15rem;font-weight:600}.form{gap:14px;display:grid}.field{gap:6px;display:grid}.field label{color:var(--muted);font-size:.9rem}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:100px}button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s}button.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border)}button.ghost{color:var(--muted);background:0 0;border:1px solid #0000}button.ghost:hover{color:var(--ink)}button:disabled{opacity:.6;cursor:not-allowed}button:active{transform:translateY(1px)}.notice{background:var(--accent-soft);color:var(--accent);border-radius:10px;padding:12px 14px;font-size:.95rem}.form-error{color:#f2b8b8;background:#b2464633;border-radius:10px;padding:10px 12px;font-size:.9rem}.field-hint{color:var(--muted);font-size:.8rem;font-weight:400}.autocomplete-suggestions{z-index:100;background:#101214;border:1px solid #1e2228;border-radius:12px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden auto;box-shadow:0 8px 24px #0006}.autocomplete-item{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;display:flex}.autocomplete-item:hover{background:#ffffff08}.autocomplete-item:not(:first-child){border-top:1px solid #161a1e}.autocomplete-item:not(:last-child){border-bottom:none}.autocomplete-name{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:15px;font-weight:600}.autocomplete-meta{color:#3a4050;text-align:right;font-family:Barlow,sans-serif;font-size:13px;font-weight:400}.toast-container{z-index:1000;flex-direction:column;gap:8px;max-width:calc(100% - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;animation:.2s toast-slide-up;display:flex}.toast--info{border-left:3px solid var(--accent)}.toast--success{border-left:3px solid #4ade80}.toast-icon{flex-shrink:0;font-size:1rem}.toast--info .toast-icon{color:var(--accent)}.toast--success .toast-icon{color:#4ade80}.toast-message{color:var(--fg);flex:1;font-size:.9rem}.toast-undo{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:3px 10px;font-size:.8rem;font-weight:600}.toast-undo:hover{background:var(--surface-hover)}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.protein-value{margin:8px 0;font-size:1.8rem;font-weight:700}.protein-current{color:var(--fg)}.protein-goal{color:var(--muted);font-size:1.2rem;font-weight:500}.protein-progress-bar{background:var(--surface);border-radius:4px;height:8px;margin:8px 0 4px;overflow:hidden}.protein-progress-fill{background:linear-gradient(90deg,var(--accent),#a78bfa);border-radius:4px;height:100%;transition:width .3s}.protein-progress-label{color:var(--muted);text-align:right;font-size:.85rem}.protein-no-goal{color:var(--muted);margin-top:8px;font-size:.9rem;line-height:1.4}.protein-entries-list{flex-direction:column;gap:24px;width:100%;max-width:100%;margin-top:16px;display:flex}.protein-meal-group{flex-direction:column;gap:12px;display:flex}.protein-meal-group-header{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;padding:0 4px;font-size:.85rem;font-weight:600}.protein-entry-row{background:var(--surface);cursor:pointer;text-align:left;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;transition:background .1s;display:flex}.protein-entry-row:hover{background:var(--border)}.protein-entry-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:500;overflow:hidden}.protein-entry-protein{color:var(--accent);flex-shrink:0;font-size:.9rem;font-weight:600}.protein-entry-edit-form{flex-direction:column;gap:16px;width:100%;display:flex}.protein-entry-edit-form>.field{flex-direction:column;gap:8px;display:flex}.protein-entry-edit-form>.field label{color:var(--muted);font-size:.85rem;font-weight:500}.protein-entry-edit-form>.field input,.protein-entry-edit-form>.field select{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:8px;padding:10px 12px;font-size:.95rem;transition:all .15s}.protein-entry-edit-form>.field input:focus,.protein-entry-edit-form>.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.protein-entry-edit-form .delete-entry-btn{align-self:flex-start;margin-top:4px}@media (min-width:769px){.protein-entry-edit-form{grid-template-columns:1fr 1fr;gap:16px 12px;display:grid}.protein-entry-edit-form>.field:first-child{grid-column:1/2}.protein-entry-edit-form>.field:nth-child(2){grid-column:2/3}.protein-entry-edit-form>.field:nth-child(3){grid-column:1/2}.protein-entry-edit-form>.field:nth-child(4){grid-column:2/3}.protein-entry-edit-form .delete-entry-btn{grid-column:1/-1}}.delete-entry-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;height:38px;padding:8px;transition:all .15s;display:flex}.delete-entry-btn:hover{background:var(--surface);color:#ef4444}.protein-add-form,.protein-add-rows{flex-direction:column;gap:16px;width:100%;max-width:100%;display:flex}.protein-add-row-container{flex-direction:column;gap:8px;width:100%;max-width:100%;display:flex}.protein-add-row{background:var(--surface);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.protein-dont-save-checkbox{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-height:44px;padding:10px 4px;font-size:.85rem;display:flex}.protein-dont-save-checkbox input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:0}.protein-dont-save-checkbox:hover{color:var(--ink)}.protein-dont-save-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.saved-food-quick-select{border:1px solid var(--border);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:1rem;transition:color .15s,background .15s;display:flex}.saved-food-quick-select.active{color:#f59e0b;border-color:#f59e0b}.saved-food-quick-select:hover{background:var(--surface)}.protein-quick-select-btn{color:#e8320a;cursor:pointer;white-space:nowrap;background:#111417;border:1px solid #1e2228;border-radius:20px;align-items:center;gap:5px;margin-top:6px;padding:7px 13px;font-family:Barlow,sans-serif;font-size:13px;font-weight:700;display:inline-flex}.protein-quick-select-btn.active{color:#e8320a;background:#e8320a14;border-color:#e8320a}.protein-quick-select-btn:hover:not(:disabled){border-color:#e8320a}.protein-quick-select-hint{color:#3a4050;margin:2px 0 0;font-family:Barlow,sans-serif;font-size:11px}.protein-gram-override-btn{color:#3a4050;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:4px;padding:0;font-family:Barlow,sans-serif;font-size:11px;text-decoration:underline;display:inline-block}.protein-gram-override-btn:hover:not(:disabled){color:var(--text)}.protein-gram-override-btn:disabled{opacity:.4;cursor:default}.protein-add-row-fields{flex-direction:column;gap:16px;width:100%;display:flex}.protein-add-row-fields .field{flex-direction:column;gap:8px;display:flex}.protein-add-row-fields .field label{text-transform:uppercase;letter-spacing:.12em;color:#3a4050;font-family:Barlow,sans-serif;font-size:10px;font-weight:800}.protein-add-row-fields .field input,.protein-add-row-fields .field select{color:#eeeae0;box-sizing:border-box;background:#080a0c;border:1px solid #2a2d3a;border-radius:8px;width:100%;padding:12px 14px;font-family:Barlow,sans-serif;font-size:15px;transition:border-color .15s}.protein-add-row-fields .field input::placeholder{color:#3a4050}.protein-add-row-fields .field input:focus,.protein-add-row-fields .field select:focus{box-shadow:none;border-color:#e8320a;outline:none}@media (min-width:769px){.protein-add-row{flex-direction:row;align-items:flex-start}.protein-add-row-fields{flex:1;grid-template-columns:1fr 1fr;gap:16px 12px;display:grid}.protein-add-row-fields .field:first-child{grid-column:1/2}.protein-add-row-fields .field:nth-child(2){grid-column:2/3}.protein-add-row-fields .field:nth-child(3){grid-column:1/2}.protein-add-row-fields .field:nth-child(4){grid-column:2/3}.protein-add-row-remove{margin-top:28px}}.protein-add-row-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:8px;transition:all .15s;display:flex}.protein-add-row-remove:hover:not(:disabled){background:var(--surface);color:#ef4444}.protein-add-row-remove:disabled{opacity:.5;cursor:not-allowed}.protein-add-more-btn{color:#e8320a;cursor:pointer;background:0 0;border:1.5px dashed #1e2228;border-radius:10px;width:100%;padding:12px 16px;font-family:Barlow,sans-serif;font-size:13px;font-weight:800;transition:border-color .15s}.protein-add-more-btn:hover:not(:disabled){border-color:#e8320a}.protein-add-more-btn:disabled{opacity:.5;cursor:not-allowed}.protein-add-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.secondary-btn{color:#3a4050!important;background:0 0!important;border:none!important;font-family:Barlow,sans-serif!important;font-size:14px!important;font-weight:600!important}.secondary-btn:hover:not(:disabled){color:#e8320a!important;background:0 0!important}.protein-modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.protein-modal{background:var(--card);border-radius:16px;flex-direction:column;width:100%;max-width:640px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.protein-modal-container{flex-direction:column;height:100%;display:flex;overflow:hidden}.protein-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;display:flex}.protein-modal-header-content{flex:1}.protein-modal-title{color:#fff;letter-spacing:.04em;margin:0;font-family:Bebas Neue,sans-serif;font-size:28px;font-weight:400}.protein-modal-subtitle{text-transform:uppercase;letter-spacing:.1em;color:#3a4050;margin:4px 0 0;font-family:Barlow,sans-serif;font-size:11px;font-weight:800}.protein-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;margin-left:12px;padding:4px;transition:all .15s}.protein-modal-close:hover{background:var(--surface);color:var(--ink)}.protein-modal-progress{background:linear-gradient(135deg,var(--accent-soft)0%,var(--surface)100%);border:1px solid var(--border);border-radius:12px;flex-shrink:0;margin:20px 24px;padding:24px}.protein-modal-stats{justify-content:center;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.protein-modal-current{color:var(--ink);font-size:2.5rem;font-weight:700;line-height:1}.protein-modal-goal{color:var(--muted);font-size:1.125rem;font-weight:500}.protein-modal-progress-container{align-items:center;gap:12px;display:flex}.protein-modal-progress-bar{background:var(--surface);border-radius:4px;flex:1;height:8px;overflow:hidden}.protein-modal-progress-fill{background:linear-gradient(90deg,var(--accent),#a78bfa);border-radius:4px;height:100%;transition:width .3s}.protein-modal-percentage{color:var(--accent);text-align:right;min-width:45px;font-size:.875rem;font-weight:600}.protein-modal-content{flex:1;min-height:0;padding:12px 24px 24px;overflow-y:auto}.protein-modal-actions{gap:12px;margin-bottom:20px;display:flex}.protein-modal-btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:1rem;font-weight:500;transition:all .15s;display:flex}.protein-modal-btn-primary:hover{opacity:.9;transform:translateY(-1px)}.protein-modal-btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:12px 20px;font-size:1rem;font-weight:500;transition:all .15s;display:flex}.protein-modal-btn-secondary:hover{background:var(--border);border-color:var(--accent);color:var(--accent)}.protein-modal-btn-done{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex:1;padding:12px 20px;font-size:1rem;font-weight:500;transition:all .15s}.protein-modal-btn-done:hover{background:var(--accent);border-color:var(--accent);color:#fff}.protein-modal-section{margin-bottom:20px}.protein-modal-section-header{margin-bottom:16px}.protein-modal-section-title{color:var(--ink);margin:0;font-size:1.125rem;font-weight:600}.protein-modal-entries-section{margin-top:16px}.protein-edit-sheet{flex-direction:column;gap:12px;margin-bottom:4px;display:flex}.protein-edit-sheet-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.protein-edit-sheet-title{color:var(--ink);font-size:.9rem;font-weight:600}.protein-edit-sheet-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.4rem;line-height:1;transition:background .1s,color .1s;display:flex}.protein-edit-sheet-close:hover{background:var(--surface);color:var(--ink)}.protein-edit-actions{gap:8px;margin-top:4px;display:flex}.protein-edit-actions button{flex:1}.danger-btn{color:#ef6b6b;background:#ef6b6b1f;border:none}.danger-btn:hover:not(:disabled){background:#ef6b6b38}.protein-modal-loading{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.protein-modal-spinner{border:3px solid var(--surface);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:640px){.protein-modal-overlay{align-items:flex-end;padding:0}.protein-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;max-width:100%;max-height:95vh}.protein-modal-header{padding:20px 16px 12px}.protein-modal-title{font-size:1.25rem}.protein-modal-progress{margin:16px;padding:20px}.protein-modal-current{font-size:2rem}.protein-modal-content{padding:8px 16px 16px}.protein-modal-actions{flex-direction:column;gap:8px}.protein-modal-btn-secondary{width:100%}}.profile-tabs{border-bottom:1px solid var(--border);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:4px;width:100%;max-width:100%;margin-top:24px;display:flex;overflow:auto hidden}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none;padding:12px 20px 10px;font-size:.95rem;font-weight:500;transition:all .15s;position:relative}.settings-panel-content{width:100%;min-width:0;max-width:100%;overflow-x:hidden}.profile-tab:hover{color:var(--ink)}.profile-tab.active{color:var(--accent)}.profile-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.profile-info{flex-direction:column;gap:12px;display:flex}.profile-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.profile-row:last-child{border-bottom:none}.profile-label{color:var(--muted);font-size:.9rem}.profile-value{color:var(--fg);overflow-wrap:anywhere;text-align:right;min-width:0;font-size:.95rem;font-weight:500}.settings-form{margin-top:16px}.exercise-admin-header{grid-template-columns:auto 1fr;align-items:start;gap:12px 16px;display:grid}.exercise-admin-header .section-title{margin:0;padding-top:6px}.exercise-admin-actions{flex-wrap:wrap;justify-content:flex-end;justify-self:end;gap:8px;display:flex}.exercise-admin-btn{white-space:normal;border-radius:999px;width:auto;min-height:34px;padding:6px 12px;font-size:.84rem;line-height:1.2}@media (max-width:920px){.exercise-admin-header{grid-template-columns:1fr}.exercise-admin-actions{justify-content:flex-start;justify-self:stretch}}.field-help{color:var(--muted);margin-top:6px;font-size:.8rem;display:block}.settings-computed{background:var(--surface);border-radius:10px;flex-direction:column;gap:4px;margin-top:16px;padding:14px;display:flex}.settings-computed-label{color:var(--muted);font-size:.85rem}.settings-computed-value{color:var(--fg);font-size:1.4rem;font-weight:700}.settings-computed-note{color:var(--muted);font-size:.8rem}.settings-info{color:var(--muted);margin-top:16px;font-size:.85rem;line-height:1.5}.saved-foods-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.saved-food-item{background:var(--surface);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:14px;display:flex}.saved-food-item.editing{background:var(--card);border:2px solid var(--accent-soft)}.saved-food-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.saved-food-name{color:var(--ink);overflow-wrap:anywhere;font-size:.95rem;font-weight:500}.saved-food-details{flex-wrap:wrap;gap:12px;display:flex}.saved-food-stat{color:var(--muted);font-size:.85rem}.saved-food-delete{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.saved-food-delete:hover{background:var(--surface);color:#ef4444}.saved-food-actions{flex-shrink:0;gap:8px;display:flex}.saved-food-edit,.saved-food-save,.saved-food-cancel{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex}.saved-food-edit:hover,.saved-food-save:hover:not(:disabled){background:var(--surface);color:var(--accent)}.saved-food-cancel:hover:not(:disabled){background:var(--surface);color:#ef4444}.saved-food-save:disabled,.saved-food-cancel:disabled{opacity:.5;cursor:not-allowed}.saved-food-edit-form{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.saved-food-edit-fields{flex-direction:column;gap:12px;display:flex}@media (min-width:769px){.saved-food-edit-fields{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}}.quick-add-food-form{background:var(--surface);border:2px dashed var(--border);border-radius:10px;margin-top:16px;margin-bottom:24px;padding:16px}.quick-add-fields{flex-direction:column;gap:14px;display:flex}@media (min-width:769px){.quick-add-fields{grid-template-columns:2fr 1fr 1fr;gap:12px;display:grid}}.chart-wrap{width:100%;height:220px}.chart-hero{width:100%;height:380px}.chart-subtitle{color:var(--muted);opacity:.85;margin:0 0 12px;font-size:.85rem;animation:.18s fade-up}.chart-empty{height:100%;color:var(--muted);place-items:center;font-size:.95rem;display:grid}.split{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.surface{background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:16px;padding:20px}.surface-grid{gap:20px;display:grid}.surface-item{background:var(--card);box-shadow:var(--shadow-soft);border:1px solid var(--border);border-radius:12px;padding:16px}.recent-list{gap:10px;display:grid}.accordion-list{gap:12px;display:grid}.accordion-row{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:12px;overflow:hidden}.accordion-summary{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.accordion-summary:hover{box-shadow:var(--shadow)}.accordion-left{gap:4px;min-width:0;display:grid}.accordion-title{color:var(--ink)}.accordion-subtype{color:var(--muted);font-weight:600}.accordion-date{color:var(--muted);opacity:.8;font-size:.85rem}.accordion-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.accordion-caret{color:var(--muted);font-size:1.2rem;line-height:1}.accordion-details{border-top:1px solid var(--border);opacity:0;gap:10px;max-height:0;transition:max-height .22s,opacity .2s;display:grid;overflow:hidden}.accordion-row.is-open .accordion-details{opacity:1;max-height:1200px}.accordion-inset{background:var(--surface);border-radius:10px;margin:12px 14px 14px;padding:12px 14px 14px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detail-block{gap:4px;display:grid}.detail-label{color:var(--muted);font-size:.82rem}.detail-list{gap:8px;display:grid}.detail-exercise strong{font-weight:600}.detail-sets{color:var(--muted);gap:2px;margin-top:4px;font-size:.85rem;display:grid}.detail-actions{justify-content:flex-end;margin-top:10px;display:flex}@media (max-width:768px){.detail-grid{grid-template-columns:1fr}.accordion-inset{margin:10px 12px 12px}}.filter-row{justify-content:flex-end;display:flex}.search-row{align-items:center;gap:8px;display:flex}.search-panel{margin:12px 0 16px}.search-input-wrapper{flex:1;position:relative}.search-icon{color:var(--muted);font-size:.95rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{width:100%;min-height:42px;padding-left:36px}.icon-button{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-weight:600;line-height:1;display:grid}.icon-button:hover{color:var(--ink)}.filters-panel{gap:12px;margin-top:12px;display:grid}.filter-select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23aab0ba' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.pagination-controls{gap:8px;display:flex}.pagination-size select{margin-left:8px}.recent-item{background:var(--card);box-shadow:var(--shadow-soft);cursor:pointer;border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;transition:transform .12s,box-shadow .12s;animation:.18s fade-up;display:flex}.recent-item:hover{box-shadow:var(--shadow);background:var(--surface);transform:translateY(-1px)}.recent-item:active{box-shadow:var(--shadow-soft);transform:translateY(0)}.recent-left{align-items:center;gap:12px;display:flex}.recent-right{text-align:right}.recent-duration{font-weight:600}.recent-icon{background:var(--surface);width:36px;height:36px;color:var(--muted);border-radius:12px;place-items:center;font-weight:600;display:grid}.recent-icon.run{color:var(--metric-duration-fg)}.recent-icon.strength{color:var(--metric-volume-fg)}.recent-item strong{font-weight:600}.recent-meta{color:var(--muted);font-size:.82rem}.recent-title{align-items:baseline;gap:4px;display:flex}.recent-subtype{font-weight:600}.recent-date{color:var(--muted);opacity:.8;font-weight:400}.pill{background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:600}.pill--duration{background:var(--metric-duration-bg);color:var(--metric-duration-fg)}.pill--calories{background:var(--metric-calories-bg);color:var(--metric-calories-fg)}.pill--heart{background:var(--metric-heart-bg);color:var(--metric-heart-fg)}.pill--pace{background:var(--metric-pace-bg);color:var(--metric-pace-fg)}.pill--volume{background:var(--metric-volume-bg);color:var(--metric-volume-fg)}.pill--streak{background:var(--metric-streak-bg);color:var(--metric-streak-fg)}.pill-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-top:16px;display:grid}@media (min-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stats-card{padding:16px}.stats-card__header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.stats-card__header h3{margin:0;font-size:1rem}.stats-card__header p{color:var(--muted);margin:4px 0 0;font-size:.85rem}.stats-card__desc{color:var(--muted);margin-top:6px;font-size:.8rem}.stats-chart{--muted:#3a4050;background:#080a0c;border-radius:10px;height:240px}.stats-chart--modal{height:420px}.highlight-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.highlight-card{background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid var(--border);border-radius:14px;padding:14px 16px}.highlight-card--clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s}.highlight-card--clickable:hover,.highlight-card--clickable:focus-visible{border-color:var(--accent);box-shadow:var(--shadow)}.highlight-title{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.highlight-emoji{color:currentColor;text-shadow:0 0 10px}.highlight-value{color:var(--ink);margin-top:6px;font-size:1.45rem;font-weight:600}.metric-duration{color:var(--metric-duration-fg)}.metric-calories{color:var(--metric-calories-fg)}.metric-heart{color:var(--metric-heart-fg)}.metric-pace{color:var(--metric-pace-fg)}.metric-volume{color:var(--metric-volume-fg)}.metric-streak{color:var(--metric-streak-fg)}.highlight-value--empty{color:var(--muted);font-weight:500}.highlight-meta{color:var(--muted);margin-top:4px;font-size:.8rem}@media (min-width:768px){.hero-helper{display:block}}.sheet-overlay{z-index:20;background:#0c0b0a73;justify-content:center;align-items:flex-end;padding:16px;animation:.16s overlay-fade;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:520px;box-shadow:var(--shadow);border-radius:16px 16px 0 0;max-height:90vh;padding:16px;animation:.18s sheet-slide;overflow:auto}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-header h3{margin:0;font-size:1rem;font-weight:600}.sheet-body{gap:12px;display:grid}.sheet-actions{margin-top:16px}.segmented{background:var(--surface);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;display:grid}.segmented.type-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:10px;padding:8px 6px;font-weight:500}.segmented.type-toggle button{height:46px;font-size:.95rem}.segmented button.active{background:var(--card);color:var(--accent);box-shadow:var(--shadow-soft)}.exercise{background:var(--surface);border-radius:12px;gap:10px;padding:12px;display:grid}.exercise-header{align-items:center;gap:10px;display:flex}.exercise-header input{flex:1}.sets{gap:8px;display:grid}.exercise .set-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.set-row button{padding:8px 10px}.tiny{color:var(--muted);font-size:.8rem}@keyframes overlay-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-slide{0%{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:30;background:#080706a6;justify-content:center;align-items:center;padding:16px;animation:.16s overlay-fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay--sheet{padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:flex-end}@media (min-width:768px){.modal-overlay--sheet{align-items:center}}.modal-overlay--card{align-items:flex-end}.sheet-modal{background:var(--card);width:calc(100% - 32px);max-width:720px;box-shadow:var(--shadow);box-sizing:border-box;border-radius:18px;flex-direction:column;max-height:90vh;display:flex;overflow:hidden}.sheet-modal__header{border-bottom:1px solid var(--border);background:var(--card);z-index:2;justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;padding:16px;display:flex;position:sticky;top:0}.sheet-modal__header h3{margin:0;font-size:1.1rem}.sheet-modal__header p{color:var(--muted);margin:4px 0 0;font-size:.9rem}.sheet-modal__body{flex:1;gap:12px;min-width:0;min-height:0;padding:16px;display:grid;overflow-y:auto}.sheet-modal__footer{border-top:1px solid var(--border);background:var(--card);z-index:2;padding:12px 16px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom));min-width:0;position:sticky;bottom:0}.sheet-modal__footer button{width:100%}.sheet-modal .field{gap:6px}.sheet-modal .field label{margin:0;line-height:1.1}.sheet-modal input,.sheet-modal select,.sheet-modal textarea{min-height:40px;padding:8px 10px}.sheet-modal button.ghost{padding:6px 10px;font-size:.9rem}.sheet-modal .segmented--compact{background:0 0;border-radius:0;gap:6px;padding:0}.sheet-modal .segmented--compact button{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--muted);border-radius:10px;padding:8px 12px;font-size:.9rem}.sheet-modal .segmented--compact button.active{background:var(--card);color:var(--accent);border-color:var(--accent);box-shadow:none}.sheet-modal .segmented--compact.type-toggle button{height:36px;font-size:.9rem}.sheet-modal .segmented--compact.segmented--wrap{flex-wrap:wrap;display:flex}@media (max-width:768px){.sheet-modal input,.sheet-modal select,.sheet-modal textarea{min-height:44px}.sheet-modal .segmented--compact button,.sheet-modal .segmented--compact.type-toggle button{height:40px}}@media (min-width:640px){.sheet-modal__header,.sheet-modal__body{padding:20px}.sheet-modal__footer{padding:14px 20px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media (min-width:1024px){.sheet-modal__header,.sheet-modal__body{padding:24px}.sheet-modal__footer{padding:16px 24px 18px;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}.card-modal{width:100%;max-width:560px;box-shadow:var(--shadow);box-sizing:border-box;background:#080a0c;border-radius:20px 20px 0 0;flex-direction:column;max-height:calc(100dvh - 32px);padding:18px;display:flex;overflow:hidden}.card-modal__header{z-index:4;background:#080a0c;border-bottom:1px solid #1e2228;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;margin-bottom:12px;padding-bottom:12px;display:flex;position:sticky;top:0}.card-modal__header h3{color:#eeeae0;margin:0;font-family:Bebas Neue,sans-serif;font-size:28px;line-height:1}.card-modal__header p{color:var(--muted);margin:4px 0 0;font-size:.9rem}.card-modal__header button.ghost{color:#3a4050;cursor:pointer;background:0 0;border:none;padding:4px 0;font-family:Barlow,sans-serif;font-size:13px;font-weight:700}.card-modal__body{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex;overflow-y:auto}.card-modal__footer{justify-content:space-between;gap:10px;min-width:0;margin-top:16px;display:flex}.card-modal__footer-actions button{width:auto}.analysis-accordion{border:1px solid var(--border);border-radius:8px;padding:.75rem}.analysis-accordion summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem;font-weight:600;list-style:none}.analysis-accordion summary::-webkit-details-marker{display:none}.analysis-accordion summary::marker{display:none}.analysis-accordion[open] summary{margin-bottom:.75rem}.analysis-error{color:var(--error,#ef4444);font-size:.85rem}@media (max-width:768px){.sheet-modal{border-radius:16px 16px 0 0;height:auto;max-height:92dvh}.card-modal{border-radius:16px}}@media (min-width:768px){main{padding:32px 24px 80px}.nav{padding:20px 24px}}.utility-row{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.utility-row--actions-only{justify-content:flex-end}.utility-row__weight{cursor:pointer;color:var(--muted);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;align-items:baseline;gap:0;min-width:0;padding:0;font-size:.82rem;transition:opacity .12s;display:flex;overflow:hidden}.utility-row__weight:hover{opacity:.75}.utility-row__weight-value{color:var(--ink);font-weight:600}.utility-row__date{color:var(--ink);font-weight:500}.utility-row__context{color:var(--muted)}.topbar-icons{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-icon{background:var(--surface);width:44px;min-width:44px;height:44px;color:var(--ink);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex;position:relative}.topbar-icon svg{width:16px;height:16px;display:block}.topbar-icon:hover{background:var(--border)}.topbar-icon:active{background:var(--border);opacity:.8}.topbar-icon--body svg{width:14px;height:14px}.topbar-icon--stats svg{width:15px;height:15px}.topbar-icon--calendar{border:1px solid var(--border);background:0 0;border-radius:10px;width:40px;min-width:40px;height:40px}.topbar-icon--calendar svg{width:15px;height:15px}.topbar-icon--calendar:hover,.topbar-icon--calendar:active{background:var(--surface)}.body-metrics{gap:12px;display:grid}.body-metrics__section{--muted:#3a4050;--chart-grid:#ffffff0d;background:#101214;border:none;border-radius:12px;padding:0;position:relative;overflow:hidden}.body-metrics__section:before{content:"";pointer-events:none;z-index:1;background:#e8320a;width:4px;position:absolute;top:0;bottom:0;left:0}.body-metrics__section h4{color:#eeeae0;margin:0;font-family:Barlow,sans-serif;font-size:14px;font-weight:800}.body-metrics__section-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:0;padding:16px 16px 0 20px;display:flex}.body-metrics__actions{flex-wrap:wrap;gap:8px;display:flex}.body-metrics__add-btn{color:#e8320a;cursor:pointer;background:0 0;border:none;min-width:34px;padding:4px 8px;font-size:1.2rem;line-height:1}.body-metrics__summary{flex-direction:column;gap:3px;margin:0;padding:10px 16px 0 20px;display:flex}.body-metrics__summary span:first-child{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:28px;line-height:1}.body-metrics__muted{color:#3a4050;margin:0;padding:8px 16px 16px 20px;font-family:Barlow,sans-serif;font-size:12px}.body-metrics__delta{color:#3a4050;margin:0;padding:4px 16px 16px 20px;font-family:Barlow,sans-serif;font-size:12px;font-weight:700}.body-metrics__delta--good{color:#16a34a}.body-metrics__delta--bad{color:#e8320a}.body-metrics__measurement-grid{flex-direction:column;gap:0;display:flex}.body-metrics__measurement-row{border-top:1px solid #161a1e;border-bottom:none;padding:10px 16px 10px 20px;display:block}.body-metrics__measurement-row:first-child{border-top:1px solid #1e2228;margin-top:12px}.body-metrics__measurement-label{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:14px;font-weight:600}.body-metrics__measurement-label-btn{color:#c8c4bc;cursor:pointer;background:0 0;border:none;padding:0;font-family:Barlow,sans-serif;font-size:14px;font-weight:600}.body-metrics__measurement-label-btn:hover{color:#eeeae0}.body-metrics__measurement-value{color:#eeeae0;font-family:Barlow,sans-serif;font-size:14px;font-weight:700}.body-metrics__measurement-value-btn{color:#eeeae0;cursor:pointer;text-align:right;background:0 0;border:none;padding:0;font-family:Barlow,sans-serif;font-size:14px;font-weight:700}.body-metrics__measurement-value-btn:hover{color:#fff}.body-metrics__measurement-main{justify-content:space-between;align-items:center;gap:6px;display:flex}.body-metrics__measurement-right{text-align:right;white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.body-metrics__measurement-inline-input{text-align:right;color:#eeeae0;background:#080a0c;border:1px solid #2a2d3a;border-radius:8px;width:112px;min-height:36px;padding:6px 8px;font-size:.9rem}.body-metrics__measurement-inline-confirm{color:#fff;cursor:pointer;background:#16a34a;border:1px solid #16a34a;border-radius:8px;min-height:32px;padding:5px 10px;font-size:.76rem}.body-metrics__measurement-inline-confirm:disabled{opacity:.6;cursor:not-allowed}.body-metrics__measurement-inline-cancel{color:#3a4050;cursor:pointer;background:0 0;border:none;border-radius:8px;min-height:32px;padding:5px 8px;font-family:Barlow,sans-serif;font-size:13px;font-weight:600}.body-metrics__measurement-date{color:#3a4050;font-family:Barlow,sans-serif;font-size:11px;line-height:1.2}.body-metrics__delta-inline{color:#3a4050;font-family:Barlow,sans-serif;font-size:12px;font-weight:700}.body-metrics__delta-inline.body-metrics__delta--good{color:#16a34a}.body-metrics__delta-inline.body-metrics__delta--bad{color:#e8320a}.body-metrics__measurement-warning{color:#fff;background:#e8320a;border-radius:999px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;animation:1.4s ease-in-out infinite body-warning-pulse;display:inline-flex}@keyframes body-warning-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.body-metrics__type-select{margin-top:8px;margin-bottom:8px}.body-metrics__graph-controls .segmented--compact{background:0 0;border-radius:0;gap:16px;padding:0;display:inline-flex}.body-metrics__graph-controls .segmented--compact button{color:#3a4050;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;height:auto;padding:6px 0;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;transition:color .12s,border-color .12s}.body-metrics__graph-controls .segmented--compact button.active{color:#eeeae0;box-shadow:none;background:0 0;border-bottom:2px solid #e8320a}.body-metrics__measurement-tabs{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.body-metrics__measurement-tabs button{color:#3a4050;cursor:pointer;background:0 0;border:1px solid #1e2228;border-radius:8px;height:auto;padding:5px 10px;font-family:Barlow,sans-serif;font-size:12px;font-weight:600}.body-metrics__measurement-tabs button.active{color:#e8320a;background:#1a1d22;border-color:#e8320a}.body-metrics__range-tabs{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.body-metrics__graph-controls{z-index:3;background:#101214;margin-bottom:0;padding:14px 16px 10px 20px;position:sticky;top:0}.body-metrics__range-tabs button{color:#3a4050;cursor:pointer;background:0 0;border:1px solid #1e2228;border-radius:8px;height:auto;padding:5px 12px;font-family:Barlow,sans-serif;font-size:12px;font-weight:600}.body-metrics__range-tabs button.active{color:#e8320a;background:#1a1d22;border:1px solid #e8320a}.body-metrics__quick-log{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:10px 16px 16px 20px;display:grid}.body-metrics__quick-log input{color:#eeeae0;background:#080a0c;border:1px solid #2a2d3a;border-radius:8px;min-height:38px;padding:6px 10px;font-family:Barlow,sans-serif;font-size:14px}.body-metrics__quick-log .form-error{grid-column:1/-1}.body-metrics__chart{height:245px;padding:0 12px 12px}.body-metrics__graph-hint{color:#3a4050;margin:8px 0 0;font-family:Barlow,sans-serif;font-size:12px}.body-measurement-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (max-width:640px){.body-metrics__quick-log,.body-measurement-editor__grid,.body-metrics__measurement-grid{grid-template-columns:1fr}}.today-header{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;padding:6px 0;display:flex}.today-header__date{color:var(--muted);text-transform:capitalize;font-size:.8rem}.today-recommendation{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-bottom:12px;font-size:.8rem;display:flex}.today-recommendation__label{color:var(--muted)}.today-recommendation__label:after{content:":"}.today-recommendation__title{color:var(--ink)}.today-recommendation__description{color:var(--muted);width:100%}.daily-status__separator{color:var(--border);font-size:.8rem}.daily-status__label{color:var(--muted);font-size:.8rem}.daily-status__value{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.daily-status__value:hover{color:var(--ink)}.daily-status__select{border:1px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer;border-radius:4px;padding:2px 4px;font-size:.8rem}.daily-status__select:focus{border-color:var(--accent);outline:none}.daily-status__comment-text{color:var(--muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:500px;padding:0;font-size:.8rem;overflow:hidden}.daily-status__comment-text:hover{color:var(--ink)}.daily-status__comment-input{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:4px;min-width:300px;max-width:500px;padding:2px 6px;font-size:.8rem}.daily-status__comment-input::placeholder{color:var(--muted)}.daily-status__comment-input:focus{border-color:var(--accent);outline:none}.today-protein-bar{background:linear-gradient(135deg,var(--accent-soft),var(--card)72%);border:1px solid #5bbf9d33;border-radius:10px;margin-bottom:12px;padding:8px 12px}.today-protein-bar--complete{background:linear-gradient(135deg,#5bbf9d14 0%,var(--card)100%);border-color:#5bbf9d80}.today-protein-bar--near{border-color:#5bbf9d4d}.today-protein-bar__content{align-items:center;gap:16px;display:flex}.today-protein-bar__values{flex-shrink:0;align-items:baseline;gap:6px;display:flex}.today-protein-bar__current{color:var(--accent);font-size:1.25rem;font-weight:700;line-height:1}.today-protein-bar__separator{color:var(--muted);font-size:1rem}.today-protein-bar__goal{color:var(--muted);font-size:.85rem;font-weight:500}.today-protein-bar__progress{background:var(--surface);border-radius:3px;flex:1;height:4px;overflow:hidden}.today-protein-bar__progress-fill{background:linear-gradient(90deg,var(--accent),#5bbf9d);border-radius:3px;height:100%;transition:width .3s}.today-protein-bar__progress-fill--complete{background:linear-gradient(90deg,#5bbf9d,#4da88a)}.today-protein-bar__percentage{color:var(--accent);text-align:right;opacity:.7;flex-shrink:0;min-width:40px;font-size:.75rem;font-weight:600}.today-protein-bar__percentage--complete{color:#5bbf9d}.today-protein-bar__goal-achieved{color:#5bbf9d;white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600}.daily-goals-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.daily-goal-circle{background:var(--card);border:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:16px 10px 14px;transition:background .12s,border-color .12s;display:flex}.daily-goal-circle:active{background:var(--surface-hover)}.daily-goal-circle--green{--goal-ring:var(--accent);--goal-ring-border:#5bbf9d73;--goal-spinner-top:var(--accent)}.daily-goal-circle--blue{--goal-ring:var(--metric-duration-fg);--goal-ring-border:#5d7cff59;--goal-spinner-top:var(--metric-duration-fg)}.daily-goal-circle--complete{border-color:var(--goal-ring-border,#5bbf9d73)}.daily-goal-circle__svg{width:100px;height:100px;overflow:visible}.daily-goal-circle__track{stroke:var(--surface);stroke-width:6px;fill:none}.daily-goal-circle__fill{stroke:var(--goal-ring,var(--accent));stroke-width:6px;fill:none;stroke-linecap:round;transition:stroke-dashoffset .5s}.daily-goal-circle__pct{fill:var(--ink);dominant-baseline:central;text-anchor:middle;font-family:inherit;font-size:.95rem;font-weight:700}.daily-goal-circle__loading{border:6px solid var(--surface);border-top-color:var(--goal-spinner-top,var(--accent));border-radius:50%;width:100px;height:100px;animation:.9s linear infinite spin}.daily-goal-circle__title{color:var(--ink);text-align:center;font-size:.78rem;font-weight:600}.daily-goal-circle__values{color:var(--muted);text-align:center;font-size:.72rem;line-height:1.3}.today-main-grid{grid-template-columns:1fr;gap:10px;display:grid}@media (min-width:769px){.today-main-grid{grid-template-columns:1fr 1.6fr;align-items:start;gap:12px}}.today-left-column{flex-direction:column;gap:10px;display:flex}.today-right-column{flex-direction:column;display:flex}@media (min-width:769px){.today-right-column{height:100%}.today-right-column .today-card--workout{flex:1;min-height:0}}.today-card{background:linear-gradient(135deg,var(--accent-soft),var(--card)72%);box-shadow:var(--shadow-soft);border:1px solid #5bbf9d14;border-radius:16px;flex-direction:column;gap:12px;padding:20px 22px 18px;display:flex}@media (min-width:769px){.today-card{gap:8px;padding:14px 16px}}@media (max-width:768px){.today-card{gap:10px;padding:14px 16px}}.today-card--loading{min-height:120px;color:var(--muted);justify-content:center;align-items:center}.today-card__spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.today-card__header{justify-content:space-between;align-items:center;display:flex}.today-card__title{color:var(--ink);margin:0;font-size:1.1rem;font-weight:600}.today-card__action-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.today-card__action-btn:hover{opacity:.9;transform:translateY(-1px)}.today-card__action-btn--secondary{color:var(--muted);background:0 0;border:1px solid #ffffff14}.today-card__action-btn--ghost{color:var(--muted);background:0 0;border:1px solid #ffffff14;padding:5px 10px;font-size:.78rem}.today-card__action-btn--secondary:hover{background:var(--border);border-color:var(--accent);color:var(--accent)}.today-card__view-all{color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:8px;padding:10px;font-size:.9rem;font-weight:500;transition:all .15s}.today-card__view-all:hover{opacity:.7}.today-card--protein{background:var(--card);border:1px solid #5bbf9d33;transition:all .3s}.today-card__title--hero{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.today-card--protein-complete{background:linear-gradient(135deg,#5bbf9d33 0%,var(--card)100%);border-color:#5bbf9d80;box-shadow:0 6px 20px #5bbf9d40}.today-card--protein-near{border-color:#5bbf9d4d;box-shadow:0 4px 16px #5bbf9d26}.today-card--protein-under{border-color:#0000}.today-protein__stats{flex-direction:column;gap:16px;display:flex}@media (min-width:769px){.today-protein__stats{gap:6px}}@media (max-width:768px){.today-protein__stats{gap:8px}}.today-protein__main{align-items:baseline;gap:8px;display:flex}.today-protein__current{color:var(--accent);font-size:1.7rem;font-weight:700;line-height:1}@media (min-width:769px){.today-protein__current{font-size:1.8rem}}.today-protein__separator{color:var(--muted);font-size:1rem;font-weight:300}.today-protein__goal{color:var(--muted);font-size:1rem;font-weight:500}.today-protein__progress-container{align-items:center;gap:12px;display:flex}.today-protein__progress-bar{background:var(--surface);border-radius:6px;flex:1;height:8px;overflow:hidden}@media (min-width:769px){.today-protein__progress-bar{border-radius:3px;height:5px}}@media (max-width:768px){.today-protein__progress-bar{height:6px}}.today-protein__progress-fill{background:linear-gradient(90deg,var(--accent),#5bbf9d);border-radius:6px;height:100%;transition:width .3s}.today-protein__progress-bar--complete .today-protein__progress-fill{background:linear-gradient(90deg,#5bbf9d,#4da88a)}.today-protein__progress-bar--near .today-protein__progress-fill{background:linear-gradient(90deg,var(--accent),#5bbf9d)}.today-protein__progress-bar--under .today-protein__progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent))}.today-protein__percentage{color:var(--accent);text-align:right;opacity:.75;min-width:45px;font-size:.85rem;font-weight:600}@media (min-width:769px){.today-protein__percentage{min-width:35px;font-size:.7rem}}@media (max-width:768px){.today-protein__percentage{font-size:.85rem}}.today-protein__percentage--complete{color:#5bbf9d}.today-protein__percentage--near{color:var(--accent)}.today-protein__percentage--under{color:var(--muted)}.today-protein__meta{color:var(--muted);margin:0;font-size:.9rem}@media (min-width:769px){.today-protein__meta{font-size:.75rem}}.today-card--weight{min-height:auto}@media (min-width:769px){.today-card--workout{border:1px solid #ffffff0a}}.today-weight__content{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 0;display:flex}.today-weight__main{align-items:center;gap:12px;display:flex}.today-weight__value{color:var(--ink);font-size:2.6rem;font-weight:700;line-height:1}.today-weight__delta{border-radius:8px;padding:6px 12px;font-size:1.1rem;font-weight:600;line-height:1}.today-weight__delta--up{color:var(--metric-calories-fg);background:var(--metric-calories-bg)}.today-weight__delta--down{color:var(--accent);background:var(--accent-soft)}.today-weight__notes{color:var(--muted);background:var(--surface);border-radius:8px;margin:0;padding:10px;font-size:.9rem}.today-weight__empty{flex-direction:column;align-items:center;gap:12px;padding:24px 16px;display:flex}.today-weight__empty-text{color:var(--muted);margin:0;font-size:.95rem}.today-weight__empty-cta{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:.95rem;font-weight:500;transition:all .15s}.today-weight__empty-cta:hover{opacity:.9;transform:translateY(-1px)}.quick-protein-section{flex-direction:column;gap:4px;margin-bottom:0;display:flex}.quick-protein-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.quick-protein-chips::-webkit-scrollbar{display:none}.quick-protein-chip{border:1px solid var(--surface);background:var(--card);color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:20px;flex-shrink:0;padding:6px 14px;font-size:.82rem}.quick-protein-chip:hover{border-color:var(--muted);color:var(--ink)}.quick-protein-chip:active{background:var(--surface)}.quick-protein-add-link{width:auto;min-height:44px;color:var(--muted);cursor:pointer;box-shadow:none;background:0 0;border:none;justify-content:flex-start;align-self:flex-start;align-items:center;padding:8px 2px;font-size:.82rem;font-weight:500;transition:color .14s,opacity .14s;display:inline-flex}.quick-protein-add-link:active{opacity:.8}.quick-protein-add-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover) and (pointer:fine){.quick-protein-add-link:hover{color:var(--ink)}}.today-workout__content{flex-direction:column;gap:16px;display:flex}@media (min-width:769px){.today-workout__content{gap:10px}}.today-workout__header{align-items:center;gap:12px;display:flex}.today-card--completed{background:linear-gradient(160deg,#5bbf9d12 0%,var(--card)65%);box-shadow:var(--shadow-soft);border:1px solid #5bbf9d2e;min-width:0}.today-workout__subtitle{color:var(--muted);opacity:.7;margin:6px 0 0;font-size:.78rem}.today-workout__hero{gap:12px;display:grid}.today-workout__pills{background:#ffffff05;border:1px solid #ffffff0a;border-radius:999px;gap:6px;width:fit-content;padding:4px 6px}.today-workout__pill{filter:saturate(.8);align-items:center;height:24px;font-size:.75rem;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff0d,0 4px 10px #0000001a}.today-workout__pill--primary{font-weight:700;box-shadow:inset 0 0 0 1px #ffffff0f,0 6px 14px #00000024}.today-workout__context{color:var(--metric-volume-fg);opacity:.6;font-size:.76rem}.today-workout__exercises{gap:6px;display:grid}.today-workout__exercise{color:var(--fg);border-bottom:1px solid #ffffff0a;padding:6px 2px;font-size:.82rem;line-height:1.5}.today-workout__exercise:last-child{border-bottom:none}.today-workout__exercise--skipped{opacity:.5}.today-workout__exercise--skipped .today-workout__exercise-name{text-decoration:line-through}.today-workout__exercise-name{font-weight:600}.today-workout__exercise-detail{color:var(--muted);opacity:.8;font-weight:500}.today-workout__more{color:var(--muted);opacity:.7;padding-left:2px;font-size:.78rem}.today-workout__compact-summary{color:var(--muted);margin:0;font-size:.88rem;line-height:1.4}.today-workout__check-badge{color:var(--accent);background:var(--accent-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;font-weight:700;display:inline-flex}.today-card--default{background:var(--card);border-color:var(--border);box-shadow:none}.recent-exercises{flex-direction:column;gap:1px;margin:4px 0 8px;display:flex}.workout-log-item{align-items:baseline;gap:6px;min-width:0;font-size:.78rem;line-height:1.5;display:flex}.workout-log-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-weight:400;overflow:hidden}.workout-log-sets{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.75rem}.workout-card-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.workout-card-link-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:400;line-height:1.4;transition:color .1s}.workout-card-link-btn:hover{color:var(--accent)}.cwv-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cwv-header__left{flex-direction:column;gap:3px;min-width:0;display:flex}.cwv-title{color:var(--ink);margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.cwv-subtitle{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.cwv-seg{background:0 0;align-self:flex-start;align-items:center;gap:16px;padding:0;display:inline-flex}.cwv-seg__btn{color:#3a4050;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:5px;padding:6px 0;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;line-height:1;transition:color .12s,border-color .12s;display:flex}.cwv-seg__btn--active{color:#eeeae0;box-shadow:none;background:0 0;border-bottom:2px solid #e8320a;font-weight:700}.cwv-seg__dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px}@keyframes cwv-fade-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.cwv-panel{flex-direction:column;gap:10px;animation:.16s cwv-fade-in;display:flex}.cwv-analysis{flex-direction:column;gap:12px;padding-top:2px;display:flex}.cwv-analysis__loading{flex-direction:column;gap:6px;display:flex}.cwv-analysis__progress-track{background:#1a1d22;border-radius:3px;height:4px;overflow:hidden}@keyframes cwv-fill{0%{width:0%}60%{width:70%}80%{width:82%}to{width:88%}}.cwv-analysis__progress-fill{background:var(--accent);border-radius:3px;width:0%;height:100%;animation:8s cubic-bezier(.1,.4,.2,1) forwards cwv-fill}.cwv-analysis__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}.cwv-analysis__error{color:var(--muted);flex-direction:column;gap:10px;font-size:.82rem;display:flex}.cwv-analysis__error-text{color:#ef4444;margin:0;font-size:.8rem}.cwv-analysis__summary{color:var(--ink);margin:0;font-size:.84rem;line-height:1.55}.cwv-analysis__recs{flex-direction:column;min-width:0;display:flex}.cwv-analysis__rec{border-top:1px solid var(--border);flex-direction:column;gap:3px;min-width:0;padding:8px 0;display:flex}.cwv-analysis__rec-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.cwv-analysis__rec-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;text-transform:capitalize;min-width:0;font-size:.83rem;font-weight:600;overflow:hidden}.cwv-analysis__rec-trend{border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.7rem;font-weight:600}.cwv-analysis__rec-trend--increasing{background:var(--metric-volume-bg);color:var(--metric-volume-fg)}.cwv-analysis__rec-trend--stalling{background:var(--metric-streak-bg);color:var(--metric-streak-fg)}.cwv-analysis__rec-trend--declining{background:var(--metric-heart-bg);color:var(--metric-heart-fg)}.cwv-analysis__rec-trend--insufficient_data{color:var(--muted);background:#0000000d}[data-theme=dark] .cwv-analysis__rec-trend--insufficient_data{background:#ffffff12}.cwv-analysis__rec-text{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.cwv-analysis__rec-diff{align-items:center;gap:5px;margin-top:3px;font-size:.78rem;display:flex}.cwv-analysis__rec-diff-from{color:var(--muted)}.cwv-analysis__rec-diff-to{color:var(--success,#22c55e);font-weight:600}.cwv-analysis__rec-diff-arrow{color:var(--muted)}.cwv-analysis__meta{color:var(--muted);opacity:.65;margin:0;font-size:.72rem}.cwv-analysis,.cwv-analysis *{box-sizing:border-box;min-width:0}.cwv-diff{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:4px;padding-top:14px;display:flex}.cwv-diff__title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.82rem;font-weight:700}.cwv-diff__list{flex-direction:column;gap:8px;display:flex}.cwv-diff__row{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.cwv-diff__row--disabled{opacity:.45;cursor:default}.cwv-diff__checkbox{accent-color:var(--accent);flex-shrink:0;width:15px;height:15px;margin-top:3px}.cwv-diff__exercise-name{margin-bottom:3px;font-size:.88rem;font-weight:600}.cwv-diff__changes{flex-direction:column;gap:2px;display:flex}.cwv-diff__change{color:var(--muted);align-items:center;gap:4px;font-size:.78rem;display:flex}.cwv-diff__change-label{min-width:30px}.cwv-diff__from{color:var(--muted)}.cwv-diff__arrow{color:var(--muted);opacity:.6}.cwv-diff__to{color:var(--success,#22c55e);font-weight:600}.cwv-diff__to--unchanged{color:var(--muted);font-weight:400}.cwv-diff__saved{color:var(--success,#22c55e);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.cwv-edit-icon{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;margin-top:1px;padding:5px;line-height:0;transition:color .12s,background .12s}.cwv-edit-icon:hover{color:var(--ink);background:#0000000f}[data-theme=dark] .cwv-edit-icon:hover{background:#ffffff14}.cwv-header__actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.cwv-expanded-header{cursor:pointer;border-bottom:1px solid #1e2228;justify-content:space-between;align-items:center;padding:14px 16px 12px 20px;display:flex}.cwv-expanded-header__left{flex-direction:column;gap:3px;min-width:0;display:flex}.cwv-expanded-header__actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.cwv-expanded-header__actions button{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:flex}.cwv-group{background:#101214;border-radius:14px;position:relative;overflow:hidden}.cwv-group__accent{background:#e8320a;width:4px;position:absolute;top:0;bottom:0;left:0}.cwv-group .workout-card-new{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.cwv-group .workout-card-new+.workout-card-new{border-top:1px solid #1e2228}.cwv-group .cwv-compact__accent{display:none}.cwv-group .cwv-compact{box-sizing:border-box;justify-content:space-between;align-items:center;min-height:72px;padding:0 16px 0 20px}.cwv-group .cwv-compact__name{color:#eeeae0}.cwv-group .cwv-compact__sub{color:#3a4050}.cwv-group .cwv-compact__stat{color:#e8320a}.cwv-group .workout-card-new__subtitle{color:#3a4050;margin-bottom:0}.cwv-group .cwv-edit-icon{color:#3a4050}.cwv-group .cwv-edit-icon svg{width:16px;height:16px}.cwv-group .cwv-seg{padding-left:20px}.cwv-group .cwv-panel,.cwv-group .cwv-analysis{padding:12px 16px 16px 20px}.cwv-group .cwv-stat{background:#080a0c;border-color:#0000;padding:10px 12px}.cwv-group .cwv-stats{margin-bottom:12px}.cwv-full{max-height:6000px;transition:max-height .35s;overflow:hidden}.cwv-full--collapsed{max-height:0}.cwv-compact{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:0;padding:14px 16px 14px 0;display:flex}.cwv-compact__accent{background:#e8320a;border-radius:2px;flex-shrink:0;align-self:stretch;width:4px;margin-right:14px}.cwv-compact__info{flex:1;min-width:0}.cwv-compact__name{font-family:var(--font-display),sans-serif;letter-spacing:.06em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:20px;font-weight:400;line-height:1.1;overflow:hidden}.cwv-compact__sub{font-family:var(--font-body),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#3a4050;margin:0;font-size:11px;font-weight:800}.cwv-compact__right{flex-shrink:0;align-items:center;gap:8px;padding-left:12px;display:flex}.cwv-compact__stat{font-family:var(--font-display),sans-serif;color:#e8320a;font-size:16px;line-height:1}.app-loading{background:var(--bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-loading__inner{flex-direction:column;align-items:center;gap:2rem;width:min(320px,80vw);display:flex}.app-loading__wordmark{text-align:center;flex-direction:column;align-items:center;display:flex}.app-loading__fitness,.app-loading__ledger{font-family:var(--font-display),sans-serif;letter-spacing:.06em;margin:0;font-size:56px;line-height:1}.app-loading__fitness{color:var(--ink)}.app-loading__ledger{color:var(--accent)}.app-loading__bar-track{background:var(--surface);border-radius:99px;width:180px;height:4px;margin:14px 0 8px;overflow:hidden}.app-loading__bar-fill{background:var(--accent);height:100%;box-shadow:0 0 8px var(--accent);border-radius:99px;transition:width .1s linear}.cwv-stats{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.cwv-stat{border:1px solid var(--border);background:#00000008;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}[data-theme=dark] .cwv-stat{background:#ffffff0a}.cwv-stat__label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:500;line-height:1}.cwv-stat__value{color:var(--ink);font-size:1rem;font-weight:700;line-height:1.3}.cwv-stat--duration .cwv-stat__value{color:var(--metric-duration-fg)}.cwv-stat--volume .cwv-stat__value{color:var(--metric-volume-fg)}.cwv-stat--calories .cwv-stat__value{color:var(--metric-calories-fg)}.cwv-stat--heartRate .cwv-stat__value{color:var(--metric-heart-fg)}.cwv-stat--pace .cwv-stat__value{color:var(--metric-pace-fg)}.cwv-stat--distance .cwv-stat__value{color:var(--metric-distance-fg)}.cwv-exercises{background:#080a0c;border-radius:10px;flex-direction:column;gap:0;margin-bottom:8px;padding:8px 0;display:flex;overflow:hidden}.cwv-exercise{border-top:1px solid #161a1e;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.cwv-exercise:first-child{border-top:none}.cwv-exercise__name{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:14px;font-weight:600;line-height:1.3}.cwv-exercise__sets{color:#3a4050;font-family:Barlow,sans-serif;font-size:12px;line-height:1.4}.cwv-exercises__toggle{color:#e8320a;cursor:pointer;text-align:left;background:0 0;border:none;border-top:1px solid #161a1e;width:100%;padding:8px 12px;font-family:Barlow,sans-serif;font-size:13px;font-weight:700;line-height:1.4}.cwv-exercises__toggle:hover{opacity:.75}.cwv-cta{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.cwv-cta__primary{color:#fff;letter-spacing:.06em;cursor:pointer;background:#e8320a;border:none;border-radius:12px;width:100%;min-height:48px;padding:10px 16px;font-family:Bebas Neue,sans-serif;font-size:20px;transition:opacity .12s}.cwv-cta__primary:hover{opacity:.88}.cwv-cta__row{align-items:center;gap:8px;display:flex}.cwv-cta__secondary{border:1px solid var(--border);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:8px 12px;font-size:.85rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.cwv-cta__secondary:hover{background:var(--accent-soft);color:var(--accent);border-color:#5bbf9d4d}.cwv-cta__danger{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;padding:8px 2px;font-size:.78rem;transition:color .1s}.cwv-cta__danger:hover{color:#ef4444}.cwv-standalone-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-bottom:.75rem;font-size:.82rem;display:flex}.cwv-standalone-toggle input[type=checkbox]{accent-color:var(--accent)}.today-new-workout-btn{color:#e8320a;letter-spacing:.06em;cursor:pointer;text-align:center;background:0 0;border:1.5px dashed #1e2228;border-radius:10px;width:100%;margin-top:8px;padding:12px;font-family:Barlow,sans-serif;font-size:13px;font-weight:800;transition:border-color .12s,opacity .12s}.today-new-workout-btn:hover{opacity:.75}.workout-modal-delete-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:10px;width:100%;margin-top:4px;padding:10px;font-size:.85rem;font-weight:500;transition:background .12s}.workout-modal-delete-btn:hover{background:#ef444412}.workout-modal-delete-btn:disabled{opacity:.5;cursor:not-allowed}.today-workout__actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.today-workout__details-btn{background:var(--accent-soft);color:var(--accent);cursor:pointer;border:1px solid #5bbf9d40;border-radius:10px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .15s}.today-workout__details-btn:hover{opacity:.85}.today-workout__badge{width:36px;height:36px;color:var(--accent);letter-spacing:.02em;background:linear-gradient(140deg,#5bbf9d33,#5bbf9d0d);border:1px solid #5bbf9d59;border-radius:12px;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:inline-flex}.today-workout__info{flex-direction:column;flex:1;gap:2px;display:flex}.today-workout__name{color:var(--ink);margin:0;font-size:1.1rem;font-weight:600}.today-workout__category{color:var(--muted);margin:0;font-size:.85rem}.today-workout__stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;display:grid}.today-workout__stat{background:var(--surface);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.today-workout__stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-size:.8rem}.today-workout__stat-value{color:var(--ink);font-size:1.1rem;font-weight:600}.today-workout__primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .15s}@media (min-width:769px){.today-workout__primary-btn{padding:10px 16px;font-size:.9rem}}.today-workout__primary-btn:hover{opacity:.9;transform:translateY(-1px)}.today-workout__secondary-btn{background:var(--surface);color:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:12px 20px;font-size:.9rem;font-weight:500;transition:all .15s}@media (min-width:769px){.today-workout__secondary-btn{padding:10px 16px;font-size:.85rem}}.today-workout__secondary-btn:hover{border-color:var(--accent);color:var(--accent)}.today-workout__default-footer{align-items:center;padding-top:4px;display:flex}.today-workout__empty{flex-direction:column;align-items:flex-start;gap:8px;padding:4px 0;display:flex}.today-workout__empty-text{color:var(--muted);margin:0;font-size:.95rem}.today-workout__empty-cta{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:.95rem;font-weight:500;transition:all .15s}.today-workout__empty-cta:hover{opacity:.9;transform:translateY(-1px)}.today-meals-container{flex-direction:column;gap:10px;display:flex}.today-meals-group{flex-direction:column;gap:1px;display:flex}.today-meals-group__header{align-items:baseline;gap:6px;padding:0 6px 4px;display:flex}.today-meals-group__title{letter-spacing:.6px;color:var(--muted);text-transform:uppercase;font-size:.6rem;font-weight:700}.today-meals-group__total{color:var(--accent);letter-spacing:.2px;opacity:.8;font-size:.6rem;font-weight:600}.today-meals-group__items{flex-direction:column;gap:0;display:flex}.today-meals-item{border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:5px 6px;line-height:1.35;transition:background .12s;display:flex}.today-meals-item--clickable{cursor:pointer;transition:background .15s}.today-meals-item--clickable:hover{background:var(--surface-hover)}.today-meals-item--clickable:active{background:var(--surface)}.today-meals-item--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.today-meals-item__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;font-weight:450;overflow:hidden}.today-meals-item__protein{color:var(--accent);letter-spacing:-.2px;flex-shrink:0;font-size:.9rem;font-weight:700}.today-meals-container__empty{background:0 0;flex-direction:column;align-items:flex-start;gap:6px;padding:4px 2px;display:flex}.today-meals-container__empty-text{color:var(--muted);opacity:.8;margin:0;font-size:.85rem}.today-meals-container__empty-cta{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:10px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .15s}.today-meals-container__empty-cta:hover{opacity:.8}.template-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .15s}.template-card:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-soft)}.template-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;display:flex}.template-card-title{color:var(--fg);margin:0 0 4px;font-size:1.1rem;font-weight:600}.template-card-meta{color:var(--muted);margin:0;font-size:.85rem}.template-card-actions{gap:8px;display:flex}.template-card-exercises{flex-direction:column;gap:8px;display:flex}.template-exercise-row{background:var(--surface);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:.9rem;display:flex}.exercise-number{color:var(--muted);min-width:24px;font-weight:600}.exercise-name{color:var(--fg);flex:1}.exercise-details{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.template-more{text-align:center;color:var(--muted);padding:8px;font-size:.85rem;font-style:italic}.templates-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.templates-add-btn{padding:8px 16px;font-size:.9rem}.templates-filter{margin-bottom:16px}.templates-empty{text-align:center;padding:40px 20px}.templates-empty h3{margin-bottom:8px;font-size:1.1rem}.templates-empty p{color:var(--muted);margin:0}.templates-list{flex-direction:column;gap:8px;display:flex}.template-row{background:var(--card);border:1px solid var(--border);border-radius:10px;position:relative}.template-row-summary{align-items:center;gap:8px;padding:0 12px 0 0;display:flex}.template-row-toggle{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 8px 14px 16px;display:flex}.template-row:not(.is-expanded) .template-row-toggle:hover{background:var(--surface)}.template-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.template-row-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.template-row-meta{color:var(--muted);font-size:.82rem}.template-row-caret{color:var(--muted);align-items:center;transition:transform .18s;display:flex}.template-row-caret.is-open{transform:rotate(180deg)}.template-menu-wrapper{z-index:10;position:relative}.template-menu-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;padding:0;display:grid}.template-menu-btn:hover{background:var(--surface);color:var(--ink)}.template-menu-backdrop{z-index:90;position:fixed;inset:0}.template-menu{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);z-index:100;border-radius:10px;min-width:140px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden}.template-menu button{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:.9rem;display:block}.template-menu button:hover{background:var(--surface)}.template-menu button.destructive{color:#dc3545}.template-menu button.destructive:hover{background:#dc35451a}.template-row-details{opacity:0;max-height:0;transition:max-height .2s,opacity .18s;overflow:hidden}.template-row.is-expanded .template-row-details{opacity:1;max-height:600px}.template-exercises{flex-direction:column;gap:6px;padding:0 16px 16px;display:flex}.template-exercise{background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;display:flex}.template-exercise-num{color:var(--muted);min-width:20px;font-weight:600}.template-exercise-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.template-exercise-detail{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.exercise-search-wrapper{width:100%;position:relative}.search-loading{color:var(--muted);font-size:1.2rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-add-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.2rem;font-weight:600;line-height:1;transition:all .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-add-button:hover{opacity:.9;transform:translateY(-50%)scale(1.05)}.search-add-button:active{transform:translateY(-50%)scale(.95)}.exercise-search-results{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);z-index:100;border-radius:10px;max-height:min(400px,50vh);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.exercise-search-error{color:var(--muted);text-align:center;padding:16px;font-size:.9rem}.exercise-search-empty{color:var(--muted);text-align:center;padding:24px;font-size:.9rem}.exercise-search-list{flex-direction:column;display:flex}.exercise-search-item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;padding:12px 16px;transition:background .15s}.exercise-search-item:last-child{border-bottom:none}.exercise-search-item:hover{background:var(--surface)}.exercise-search-item-main{align-items:center;gap:8px;margin-bottom:4px;display:flex}.exercise-search-item-name{color:var(--fg);font-size:.95rem;font-weight:500}.exercise-search-item-english{color:var(--muted);font-size:.85rem;font-style:italic}.exercise-search-item-meta{flex-wrap:wrap;gap:6px;display:flex}.exercise-search-badge{background:var(--accent-soft);color:var(--accent);text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:500}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:clamp(12px,2.5vw,24px);display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;box-shadow:0 20px 60px #0000004d}.modal-large{max-width:900px;min-height:70vh}.template-modal{flex-direction:column;width:94vw;max-width:none;height:94vh;max-height:none;display:flex;overflow:hidden}.template-modal-header{background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.template-modal-header h2{margin:0;font-size:1.1rem;font-weight:600}.template-modal-header .modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.template-modal-header .modal-close:hover{color:var(--ink)}.template-modal-scroll{flex-direction:column;height:100%;min-height:0;display:flex}.template-modal-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow-y:auto}.template-meta-section{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 20px;display:flex}.template-name-input{background:var(--card);border:1px solid var(--border);color:var(--ink);border-radius:8px;flex:1;padding:10px 12px;font-size:.95rem}.template-name-input:focus{border-color:var(--accent);outline:none}.template-name-input::placeholder{color:var(--muted)}.template-category-toggle{background:var(--card);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.template-category-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:.9rem;transition:all .15s}.template-category-toggle button:disabled{cursor:not-allowed;opacity:.6}.template-category-toggle button.active{background:var(--accent);color:#fff}.template-category-toggle button:not(.active):not(:disabled):hover{background:var(--surface)}.template-exercise-zone{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 20px;display:flex}.template-empty-exercises{text-align:center;color:var(--muted);padding:32px 16px}.template-empty-exercises p{margin:0}.template-exercise-list{flex-direction:column;gap:6px;display:flex}.exercise-row{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}.exercise-row.is-expanded{border-color:var(--accent)}.exercise-row-header{align-items:center;gap:4px;display:flex}.exercise-row-drag{color:var(--muted);cursor:grab;background:0 0;border:none;align-items:center;padding:10px 8px 10px 12px;display:flex}.exercise-row-drag:active{cursor:grabbing}.exercise-row-main{cursor:pointer;text-align:left;color:var(--ink);background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:10px 4px;display:flex}.exercise-row-main:hover{background:var(--surface)}.exercise-row-num{color:var(--muted);min-width:20px;font-size:.85rem;font-weight:600}.exercise-row-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.exercise-row-summary{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:.85rem}.exercise-row-chevron{color:var(--muted);align-items:center;margin-left:4px;transition:transform .15s;display:flex}.exercise-row-chevron.is-open{transform:rotate(180deg)}.exercise-row-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:10px 12px 10px 8px;display:flex}.exercise-row-remove:hover{color:#ef4444}.exercise-editor{border-top:1px solid var(--border);background:var(--surface);padding:12px 16px 16px}.exercise-editor-fields{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.exercise-editor-fields--cardio{grid-template-columns:repeat(2,1fr)}.editor-field{flex-direction:column;gap:4px;display:flex}.editor-field label{color:var(--muted);font-size:.8rem;font-weight:500}.editor-field input{background:var(--card);border:1px solid var(--border);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:.9rem}.editor-field input:focus{border-color:var(--accent);outline:none}.exercise-editor-extra{border-top:1px solid var(--border);gap:10px;margin-top:12px;padding-top:12px;display:grid}.editor-field--full{grid-column:1/-1}.muscle-labels-editor{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.muscle-label-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:12px;padding:4px 10px;font-size:.75rem;transition:all .15s}.muscle-label-chip:hover{border-color:var(--accent);color:var(--ink)}.muscle-label-chip--selected{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}.template-add-section{margin-top:auto;padding-top:8px}.template-add-btn{background:var(--surface);border:1px dashed var(--border);width:100%;color:var(--muted);cursor:pointer;border-radius:10px;padding:12px;font-size:.9rem;transition:all .15s}.template-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.template-add-input{flex-direction:column;gap:8px;display:flex}.template-add-cancel{color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:flex-end;padding:4px 8px;font-size:.85rem}.template-add-cancel:hover{color:var(--ink)}.template-error{color:#ef4444;background:#ef44441a;padding:10px 20px;font-size:.9rem}.template-modal-footer{background:var(--card);border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;min-height:72px;padding:14px 20px;display:flex}.template-modal-footer .ghost{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:10px 16px}.template-modal-footer .ghost:hover{color:var(--ink)}.template-modal-footer .ghost:disabled{opacity:.5;cursor:not-allowed}@media (max-width:500px){.template-meta-section{flex-direction:column;gap:10px}.template-category-toggle{width:100%}.template-category-toggle button{flex:1}.exercise-editor-fields{grid-template-columns:repeat(2,1fr)}.exercise-row-summary{display:none}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.5rem;line-height:1;transition:color .15s}.modal-close:hover{color:var(--fg)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.exercises-list{flex-direction:column;gap:12px;margin-top:12px;display:flex}.exercise-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.exercise-item-header{cursor:pointer;align-items:center;gap:12px;padding:12px;transition:background .15s;display:flex}.exercise-item-header:hover{background:var(--card)}.drag-handle{color:var(--muted);cursor:grab;background:0 0;border:none;padding:4px;font-size:1.2rem;line-height:1}.drag-handle:active{cursor:grabbing}.exercise-item-info{flex:1;align-items:center;gap:12px;display:flex}.exercise-item-number{color:var(--muted);min-width:28px;font-weight:600}.exercise-item-name{color:var(--fg);flex:1;font-weight:500}.exercise-item-summary{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.exercise-item-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.2rem;line-height:1;transition:color .15s}.exercise-item-remove:hover{color:#ef6b6b}.exercise-item-details{border-top:1px solid var(--border);background:var(--card);padding:16px}.exercise-item-fields{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:16px;display:grid}.empty-state{text-align:center;color:var(--muted);background:var(--surface);border-radius:10px;margin-top:12px;padding:40px 20px}.empty-state p{margin:0}.error-message{color:#ef6b6b;background:#ef6b6b1a;border:1px solid #ef6b6b4d;border-radius:8px;padding:12px 16px;font-size:.9rem}.template-selection-modal{width:100%;max-width:500px}.template-selection-empty{text-align:center;color:var(--muted);padding:3rem 1.5rem}.template-selection-empty p{margin:0}.template-selection-list{flex-direction:column;gap:20px;display:flex}.template-selection-section{flex-direction:column;gap:12px;display:flex}.template-selection-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.75rem;font-weight:600}.template-selection-items{flex-direction:column;gap:8px;display:flex}.template-selection-item{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;gap:4px;width:100%;padding:14px 16px;transition:all .15s;display:flex}.template-selection-item:hover{background:var(--card);border-color:var(--accent);transform:translateY(-1px)}.template-selection-item:active{transform:translateY(0)}.template-selection-item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.template-selection-item-name{color:var(--fg);font-size:.95rem;font-weight:500}.template-selection-item-arrow{color:var(--accent);opacity:0;font-size:1.2rem;transition:opacity .15s}.template-selection-item:hover .template-selection-item-arrow{opacity:1}.template-selection-item-meta{color:var(--muted);font-size:.85rem}.active-workout-container{background:var(--bg);min-height:100vh;padding-bottom:2rem}.active-workout-header{z-index:99;background:var(--card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.active-workout-pause-button{background:var(--surface);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:1.2rem;transition:all .15s}.active-workout-pause-button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.active-workout-pause-button:disabled{opacity:.5;cursor:not-allowed}.active-workout-timer{color:var(--fg);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:1.5rem;font-weight:600}.active-workout-finish-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .15s}.active-workout-finish-button:hover{opacity:.9;transform:translateY(-1px)}.active-workout-exercises{flex-direction:column;gap:1rem;max-width:900px;margin:0 auto;padding:1rem;display:flex}.exercise-card{background:var(--card);border:1px solid var(--border);border-radius:12px;position:relative;overflow:visible}.exercise-card--skipped{opacity:.6}.exercise-card-simple{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem}.exercise-card-simple-content{cursor:grab;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.exercise-card-simple-content:active{cursor:grabbing}.exercise-card-simple-number{background:var(--surface);width:24px;height:24px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.exercise-card-simple-name{color:var(--fg);flex:1;font-size:1rem;font-weight:500}.exercise-card-simple-check{color:#22c55e;flex-shrink:0;font-size:1.2rem}.exercise-card-header{justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.exercise-card-info{flex:1;align-items:center;gap:.75rem;display:flex}.exercise-card-icon{font-size:1.2rem}.exercise-card-name{color:var(--accent);cursor:grab;border-radius:6px;margin:-.25rem -.5rem;padding:.25rem .5rem;font-size:1.1rem;font-weight:600;transition:background .15s}.exercise-card-name:active{cursor:grabbing}.exercise-card-name:hover{background:#8b5cf61a}.exercise-card-meta{color:var(--muted);margin-top:2px;font-size:.85rem}.exercise-card-actions{align-items:center;gap:.25rem;display:flex}.exercise-card-menu-wrapper{position:relative}.exercise-card-menu{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.2rem;transition:all .15s;display:flex}.exercise-card-menu:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}.exercise-card-menu-dropdown{background:var(--card);border:1px solid var(--border);z-index:200;border-radius:8px;min-width:180px;animation:.15s dropdown-fade-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.exercise-card-menu-item{text-align:left;width:100%;color:var(--fg);cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;padding:.75rem 1rem;font-size:.9rem;transition:background .15s;display:block}.exercise-card-menu-item:last-child{border-bottom:none}.exercise-card-menu-item:hover:not(:disabled){background:var(--surface)}.exercise-card-menu-item:disabled{opacity:.4;cursor:not-allowed}.exercise-card-menu-item--danger{color:#ef4444}.exercise-card-menu-item--danger:hover:not(:disabled){background:#ef44441a}.exercise-card-badge{background:var(--surface);color:var(--muted);border-radius:4px;padding:4px 8px;font-size:.75rem;font-weight:500}.exercise-card-unskip{font-family:var(--font-body);border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.exercise-card-unskip:hover{border-color:var(--color-accent);color:var(--color-accent)}.cardio-form{border-top:1px solid var(--border);padding:1.5rem 1.25rem}.cardio-form-fields{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.cardio-form-field{flex-direction:column;gap:.5rem;display:flex}.cardio-form-label{color:var(--fg);justify-content:space-between;align-items:center;font-size:.9rem;font-weight:500;display:flex}.cardio-form-target{color:var(--muted);font-size:.8rem;font-weight:400}.cardio-form-input{border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem;transition:all .15s}.cardio-form-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #8b5cf61a}.cardio-form-input:disabled{opacity:.5;cursor:not-allowed}.cardio-form-derived{gap:.5rem;margin-bottom:.5rem;display:flex}.cardio-chip{background:var(--surface);border:1px solid var(--border);color:var(--accent);border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.cardio-form-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.875rem;font-size:1rem;font-weight:600;transition:all .15s}.cardio-form-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.cardio-form-button:disabled{opacity:.5;cursor:not-allowed}.cardio-form-button--completed{background:#22c55e}.cardio-form-button--completed:hover:not(:disabled){background:#16a34a}.exercise-sets{border-top:1px solid var(--border);padding:1rem 1.25rem}.swipe-row-wrapper{position:relative;overflow:hidden}.swipe-row-delete-bg{color:#fff;letter-spacing:.05em;text-transform:uppercase;opacity:0;pointer-events:none;background:#ef4444;justify-content:center;align-items:center;width:100px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:0;bottom:0;right:0}.exercise-sets-header{border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;grid-template-columns:28px 52px minmax(0,1fr) minmax(0,1fr) 40px;gap:5px;padding:.5rem 0;font-size:.75rem;font-weight:600;display:grid}.exercise-set-row{background:var(--card);grid-template-columns:28px 52px minmax(0,1fr) minmax(0,1fr) 40px;align-items:center;gap:5px;padding:.75rem 0;display:grid}.exercise-set-row--completed{opacity:.7}.set-col-number{text-align:center}.exercise-set-row .set-col-number{color:var(--fg);background:var(--surface);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:600;display:flex}.set-col-previous,.set-col-weight,.set-col-reps,.set-col-check{text-align:center}.set-col-previous{color:var(--muted);font-size:.85rem}.set-col-previous--value{color:var(--text-secondary,#9ca3af);white-space:nowrap;font-size:.8rem}.set-input{background:var(--surface);border:1px solid var(--border);text-align:center;color:var(--fg);border-radius:6px;padding:.5rem;font-size:.9rem;font-weight:500;transition:all .15s}.set-input:focus{border-color:var(--accent);background:var(--card);outline:none}.set-input:disabled{opacity:.6;cursor:not-allowed}.set-check-button{color:#ffffff59;cursor:pointer;background:#ffffff05;border:2px solid #ffffff40;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:40px;height:36px;font-size:1.2rem;transition:all .15s;display:flex}.set-check-button:hover:not(:disabled){color:#22c55ecc;background:#22c55e1a;border-color:#22c55e99}.set-check-button--checked{color:#fff;background:#22c55e;border-color:#22c55e}.set-check-button:disabled{opacity:.5;cursor:not-allowed}.set-remove-button{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;transition:all .2s;display:flex}.set-remove-button:hover:not(:disabled){color:#ef4444;background:#ef44440d;border-color:#ef4444}.set-remove-button:disabled{opacity:.3;cursor:not-allowed}.add-set-button-inline{border:1px dashed var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;width:100%;margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.add-set-button-inline:hover:not(:disabled){border-color:var(--accent);background:#8b5cf60d}.add-set-button-inline:disabled{opacity:.5;cursor:not-allowed}.confirm-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-modal{background:#141618;border:1px solid #1e2124;border-radius:16px;width:100%;max-width:320px;padding:1.5rem}.confirm-modal__title{font-family:var(--font-body);color:var(--color-fg);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.confirm-modal__body{font-family:var(--font-body);color:var(--color-muted);margin:0 0 1.25rem;font-size:.875rem;line-height:1.5}.confirm-modal__actions{gap:.75rem;display:flex}.confirm-modal__btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:10px;flex:1;padding:.7rem 1rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.confirm-modal__btn:active{opacity:.8}.confirm-modal__btn--cancel{background:var(--color-surface);color:var(--color-fg)}.confirm-modal__btn--danger{color:#fff;background:#ef4444}.inline-rest-timer{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.025em;cursor:pointer;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:all .15s;display:flex;position:relative}.inline-rest-timer:hover{background:#8b5cf60d;border-radius:8px}.inline-rest-timer:before,.inline-rest-timer:after{content:"";background:var(--border);flex:1;height:1px}.inline-rest-timer--active{color:var(--accent)}.inline-rest-timer--editing{border:2px solid var(--accent);background:0 0;border-radius:8px;padding:.5rem 1rem}.inline-rest-timer--editing:hover{background:0 0}.inline-rest-timer-input{color:var(--accent);font-variant-numeric:tabular-nums;text-align:center;-webkit-appearance:none;-moz-appearance:textfield;background:0 0;border:none;outline:none;width:80px;font-size:.9rem;font-weight:600}.inline-rest-timer-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.inline-rest-timer-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pause-modal{text-align:center;max-width:400px}.pause-modal-title{color:var(--fg);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.pause-modal-time{color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:2rem;font-size:2rem;font-weight:700}.pause-modal-actions{flex-direction:column;gap:.75rem;display:flex}.button-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .15s}.button-danger{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .15s}.button-danger:hover{background:#ef44441a}.button-secondary{background:var(--surface);border:1px solid var(--border);color:var(--fg);cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .15s}.finish-modal{background:#101214;border:1px solid #1e2228;border-radius:18px;width:100%;max-width:420px;position:relative}.finish-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.finish-modal .modal-close{z-index:10;color:#3a4050;cursor:pointer;background:#0000004d;border:1px solid #1e2228;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.3rem;transition:all .15s;display:flex;position:absolute;top:1rem;right:1rem}.finish-modal .modal-close:hover:not(:disabled){color:#eeeae0;background:#00000080;border-color:#e8320a}.finish-summary{background:#101214;border-radius:14px;gap:0;margin-top:2rem;margin-bottom:1.25rem;padding:14px 16px 14px 20px;display:flex;position:relative;overflow:hidden}.finish-summary:before{content:"";background:#e8320a;width:4px;position:absolute;top:0;bottom:0;left:0}.finish-summary-item{flex-direction:column;flex:1;gap:4px;display:flex}.finish-summary-item--duration,.finish-summary-item--volume{border-right:1px solid #1e2228;margin-right:16px;padding-right:16px}.finish-summary-item--sets{border-right:none}.finish-summary-label{text-transform:uppercase;color:#3a4050!important;letter-spacing:.12em!important;font-family:Barlow,sans-serif!important;font-size:9px!important;font-weight:800!important}.finish-summary-value{line-height:1;letter-spacing:.04em!important;color:#e8320a!important;font-family:Bebas Neue,sans-serif!important;font-size:22px!important}.finish-inputs{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.finish-inputs .field{flex-direction:column;gap:.35rem;display:flex}.finish-inputs .label{color:#3a4050!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-family:Barlow,sans-serif!important;font-size:10px!important;font-weight:800!important}.finish-inputs .input{box-sizing:border-box;width:100%;transition:border-color .15s;color:#eeeae0!important;background:#080a0c!important;border:1px solid #2a2d3a!important;border-radius:8px!important;padding:12px 14px!important;font-family:Barlow,sans-serif!important;font-size:15px!important}.finish-inputs .input::placeholder{color:#3a4050}.finish-inputs .input:focus{box-shadow:none;border-color:#e8320a;outline:none}.finish-inputs .input:disabled{opacity:.4;cursor:not-allowed}.finish-exercise-review{background:#101214;border:1px solid #1e2228;border-radius:12px;margin-bottom:1.25rem;position:relative;overflow:hidden}.finish-exercise-review:before{content:"";background:#e8320a80;width:3px;position:absolute;top:0;bottom:0;left:0}.finish-exercise-row{justify-content:space-between;align-items:center;gap:.5rem;padding:12px 16px 12px 20px;display:flex}.finish-exercise-row+.finish-exercise-row{border-top:1px solid #161a1e}.finish-exercise-name{color:#c8c4bc!important;font-family:Barlow,sans-serif!important;font-size:15px!important;font-weight:600!important}.finish-exercise-sets{text-align:right;font-variant-numeric:tabular-nums;color:#3a4050!important;font-family:Barlow,sans-serif!important;font-size:13px!important;font-weight:400!important}.finish-warning{background:#fbbf2414;border:1px solid #fbbf2440;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:1.25rem;padding:12px 14px;display:flex}.finish-warning__title{color:#fbbf24;font-family:Barlow,sans-serif;font-size:14px;font-weight:800}.finish-warning__row{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.finish-warning__name{color:#fbbf24b3;font-family:Barlow,sans-serif;font-size:12px;font-weight:500}.finish-warning__detail{color:#fbbf24b3;text-align:right;font-family:Barlow,sans-serif;font-size:12px;font-weight:400}.finish-template-update{color:#3a4050;cursor:pointer;background:#080a0c;border:1px solid #1e2228;border-radius:10px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;font-family:Barlow,sans-serif;font-size:.875rem;display:flex}.finish-template-update input[type=checkbox]{flex-shrink:0;margin-top:.15rem}.finish-modal .finish-save-button{cursor:pointer;width:100%;min-height:52px;transition:opacity .15s;letter-spacing:.06em!important;color:#fff!important;background:#e8320a!important;border:none!important;border-radius:12px!important;padding:0!important;font-family:Bebas Neue,sans-serif!important;font-size:22px!important;font-weight:400!important;transform:none!important}.finish-modal .finish-save-button:hover:not(:disabled){opacity:.9;transform:none!important}.finish-modal .finish-save-button:disabled{opacity:.5;cursor:not-allowed}.finish-modal .finish-cancel-button{cursor:pointer;width:100%;min-height:44px;transition:color .15s;color:#3a4050!important;background:0 0!important;border:none!important;padding:0!important;font-family:Barlow,sans-serif!important;font-size:14px!important;font-weight:600!important}.finish-modal .finish-cancel-button:hover:not(:disabled){color:#e8320a!important;background:0 0!important;transform:none!important}.finish-modal .finish-cancel-button:disabled{opacity:.4;cursor:not-allowed}.finish-modal-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}@media (max-width:768px){.modal-content{border-radius:0;max-width:100%;max-height:100vh}.exercise-item-fields{grid-template-columns:repeat(2,1fr)}}.today-card--workout{border:1px solid var(--color-border);background:#101214;margin-top:0;transition:all .3s;overflow:visible}.today-card--default,.today-card--selecting,.today-card--previewing,.today-card--active,.today-card--paused{min-height:auto}.template-selector{padding:1rem 0}.template-selector__title{color:var(--fg);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.template-selector__empty{color:var(--muted);margin-bottom:1rem;font-size:.95rem}.template-group{margin-bottom:1rem}.template-group__title{text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.template-list{flex-direction:column;gap:.5rem;display:flex}.template-option{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1rem;transition:all .2s;display:flex}.template-option:hover{background:var(--hover);border-color:var(--primary)}.template-option__name{color:var(--fg);font-weight:600}.template-option__meta{color:var(--muted);font-size:.85rem}.template-preview{padding:1rem 0}.template-preview__back{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:.5rem 0;font-size:.9rem;transition:opacity .2s}.template-preview__back:hover{opacity:.8}.template-preview__title{color:var(--fg);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.exercise-preview-list{margin-bottom:1.5rem}.exercise-preview-list__count{color:#3a4050;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;font-family:Barlow,sans-serif;font-size:10px;font-weight:800}.exercise-preview-items{background:#101214;border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.exercise-preview-item{border-top:1px solid #161a1e;align-items:center;gap:12px;padding:13px 16px;display:flex}.exercise-preview-item:first-child{border-top:none}.exercise-preview-item:hover{background:#151a1c}.exercise-preview-item__number{color:#3a4050;flex-shrink:0;min-width:20px;font-family:Bebas Neue,sans-serif;font-size:14px;line-height:1}.exercise-preview-item__content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.exercise-preview-item__name{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:15px;font-weight:600}.exercise-preview-item__details{color:#3a4050;font-family:Barlow,sans-serif;font-size:12px;font-weight:400}.active-workout{padding:1rem 0}.workout-header{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.workout-header__btn{border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s}.workout-header__btn:hover{background:var(--hover);border-color:var(--primary)}.workout-header__btn--danger{color:#ef4444;border-color:#ef44444d}.workout-header__btn--danger:hover{background:#ef44441a;border-color:#ef4444}.workout-header__timer{font-variant-numeric:tabular-nums;color:var(--primary);font-size:1.25rem;font-weight:700}.active-workout__name{color:var(--fg);margin-bottom:1rem;font-size:1.15rem;font-weight:600}.exercise-list{flex-direction:column;gap:1.5rem;max-height:calc(80vh - 300px);padding-right:.5rem;display:flex;overflow-y:auto}.exercise-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.exercise-section__header{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.exercise-section__number{color:var(--muted);font-size:.9rem;font-weight:700}.exercise-section__name{color:var(--fg);flex:1;font-weight:600}.exercise-section__summary{color:var(--muted);font-size:.85rem}.sets-table{flex-direction:column;gap:.5rem;display:flex}.sets-table__header{text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);grid-template-columns:40px 70px 80px 80px 50px 40px;gap:.5rem;padding:.5rem 0;font-size:.8rem;font-weight:600;display:grid}.set-row-wrapper{flex-direction:column;gap:.5rem;display:flex}.set-row{grid-template-columns:40px 70px 80px 80px 50px 40px;align-items:center;gap:.5rem;display:grid}.set-row__number{color:var(--fg);text-align:center;font-weight:600}.set-row__previous{color:var(--muted);text-align:center;font-size:.85rem}.set-row__input{border:1px solid var(--border);background:var(--bg);color:var(--fg);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;padding:.5rem;font-size:.9rem}.set-row__input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #06b6d41a}.set-row__input:disabled{opacity:.5;cursor:not-allowed}.set-row__check{color:#ffffff59;cursor:pointer;background:#ffffff05;border:2px solid #ffffff40;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .2s;display:flex}.set-row__check:hover:not(:disabled){color:#22c55ecc;background:#22c55e1a;border-color:#22c55e99;transform:scale(1.05)}.set-row__check:disabled{opacity:.5;cursor:not-allowed}.set-row__check--completed{color:#fff;background:#22c55e;border-color:#22c55e}.set-row__remove{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.4rem;line-height:1;transition:all .2s;display:flex}.set-row__remove:hover:not(:disabled){color:#ef4444;background:#ef44440d;border-color:#ef4444}.set-row__remove:disabled{opacity:.3;cursor:not-allowed}.add-set-button{border:1px dashed var(--border);color:var(--primary);cursor:pointer;background:0 0;border-radius:6px;margin-top:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.add-set-button:hover:not(:disabled){border-color:var(--primary);background:#06b6d40d}.add-set-button:disabled{opacity:.5;cursor:not-allowed}.rest-timer{background:#06b6d40d;border:1px solid #06b6d433;border-radius:8px;margin-left:40px;padding:.75rem 1rem}.rest-timer__content{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.rest-timer__icon{font-size:1.2rem}.rest-timer__time{font-variant-numeric:tabular-nums;color:var(--primary);flex:1;font-size:1.1rem;font-weight:700}.rest-timer__skip{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:6px;padding:.375rem .75rem;font-size:.8rem;transition:all .2s}.rest-timer__skip:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.rest-timer__skip:disabled{opacity:.5;cursor:not-allowed}.rest-timer__progress-bar{background:#06b6d41a;border-radius:2px;height:4px;overflow:hidden}.rest-timer__progress-fill{background:var(--primary);height:100%;transition:width 1s linear}.button-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.button-primary:hover{opacity:.9;transform:translateY(-1px)}.button-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.button-secondary{border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.button-secondary:hover{background:var(--hover);border-color:var(--primary)}.button-secondary:disabled{opacity:.5;cursor:not-allowed}.button-large{padding:1rem 1.5rem;font-size:1.1rem}.button-small{padding:.625rem 1rem;font-size:.9rem}@media (max-width:768px){.sets-table__header,.set-row{grid-template-columns:35px 60px 70px 70px 45px 35px;gap:.375rem}.set-row__input{padding:.375rem;font-size:.85rem}.set-row__check{width:36px;height:36px;font-size:1rem}.set-row__remove{width:28px;height:28px;font-size:1.2rem}.rest-timer{margin-left:0}.exercise-list{max-height:calc(80vh - 250px)}}.workout-template-selector{padding:1rem 0 .5rem}.workout-template-dropdown{width:100%;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23e8320a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-radius:10px;padding:12px 40px 12px 14px;font-size:14px;font-weight:600;transition:border-color .15s}.workout-template-dropdown:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 3px #06b6d41a}.workout-template-dropdown:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #06b6d426}.workout-template-dropdown:disabled{opacity:.5;cursor:not-allowed}.workout-template-dropdown option{background:var(--surface);color:var(--fg);padding:.75rem}.template-preview__actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.template-preview__title{color:var(--fg);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-size:1.15rem;font-weight:600}.template-preview__back{display:none}.exercise-section--completed{background:#22c55e0d;border-color:#22c55e4d}.exercise-section__header{cursor:pointer;transition:background-color .2s;position:relative}.exercise-section__header:hover{background:#06b6d40d}.exercise-section__header:active{background:#06b6d41a}.exercise-section__icon{color:var(--muted);margin-left:auto;padding-left:.5rem;font-size:.9rem;transition:transform .2s}.exercise-section__icon--expanded{transform:rotate(180deg)}.exercise-section__header{border-bottom:1px solid var(--border);border-radius:8px 8px 0 0;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.75rem;display:flex}.exercise-section--completed .exercise-section__header{background:#22c55e14;border-bottom-color:#22c55e4d}.exercise-section--completed .exercise-section__icon,.exercise-section--completed .exercise-section__name{color:#22c55e}.set-row--completed{background:#22c55e14;border-radius:6px;padding:.25rem 0;transition:background-color .3s}.set-row--completed .set-row__number{color:#22c55e;font-weight:700}.set-row__input--completed{color:#22c55e;background:#22c55e1a;border-color:#22c55e4d;font-weight:600}.set-row__check--completed{color:#fff;animation:.4s ease-out completePulse;background:#22c55e!important;border-color:#22c55e!important}@keyframes completePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.sets-table{transform-origin:top;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.exercise-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0;transition:all .2s}.exercise-section__header{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:0}.sets-table{padding:1rem}.finish-workout-view{padding:1rem 0;animation:.2s ease-out slideDown}.finish-workout__header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.finish-workout__back{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:.9rem;transition:opacity .2s}.finish-workout__back:hover:not(:disabled){opacity:.8}.finish-workout__back:disabled{opacity:.5;cursor:not-allowed}.finish-workout__title{color:var(--fg);flex:1;font-size:1.25rem;font-weight:600}.finish-workout__warning{color:#f59e0b;text-align:center;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.finish-workout__actions{flex-direction:column;gap:.75rem;display:flex}.cardio-inputs{flex-direction:column;gap:1rem;padding:1rem;animation:.2s ease-out slideDown;display:flex}.cardio-inputs .field{flex-direction:column;gap:.5rem;display:flex}.cardio-inputs .label{color:var(--fg);font-size:.9rem;font-weight:600}.cardio-inputs .input{border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.cardio-inputs .input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #06b6d41a}.cardio-inputs .input:disabled{opacity:.5;cursor:not-allowed}.cardio-inputs .input--completed{color:#22c55e;background:#22c55e1a;border-color:#22c55e4d;font-weight:600}.button--completed{opacity:.7;cursor:default;background:#22c55e!important;border-color:#22c55e!important}.today-meals-add-button{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;margin-top:.75rem;padding:.4rem .9rem;font-size:.76rem;font-weight:500;transition:all .2s;display:flex}.today-meals-add-button:hover{color:var(--muted);background:#ffffff05;border-color:#ffffff29}.today-meals-add-button__icon{font-size:.8rem;font-weight:600;line-height:1}.today-meals-add-button__text{font-size:.76rem;line-height:1}.today-workout__bottom-actions{flex-direction:column;align-items:center;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.today-workout__helper-text{color:var(--muted);text-align:center;margin:0;font-size:.75rem;line-height:1.4}.today-workout__secondary-action{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:.4rem .75rem;font-size:.75rem;transition:all .2s}.today-workout__secondary-action:hover{border-color:var(--primary);color:var(--primary);background:#06b6d40d}.today-workout__empty{flex-direction:column;min-height:220px;display:flex}.workout-template-selector{flex-direction:column;gap:10px;width:100%;display:flex}.workout-template-dropdown{width:100%}.workout-start-button{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.workout-start-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #06b6d44d}.workout-start-button:active{transform:translateY(0)}@media (max-width:768px){.protein-add-row-fields .field select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;min-height:44px;padding-right:40px;font-size:16px}.protein-add-row-fields .field input{min-height:44px;font-size:16px}}.nav-logo{color:inherit;text-decoration:none;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-logo strong{font-weight:700}.network-status-banner{z-index:1000;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;font-size:14px;font-weight:500;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0}.network-status-banner.offline{color:#fff;background:#ef6b6bf2;box-shadow:0 2px 8px #ef6b6b4d}.network-status-banner.syncing{color:#fff;background:#8a6cfff2;box-shadow:0 2px 8px #8a6cff4d}.status-content{justify-content:center;align-items:center;gap:8px;display:flex}.status-icon{font-size:16px;display:inline-block}.status-icon.spinning{animation:1s linear infinite spin}.status-content .pill{background:#ffffff40;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.install-prompt{z-index:999;width:calc(100% - 40px);max-width:500px;animation:.3s ease-out slideUp;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.install-prompt-content{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:16px;padding:20px;display:flex}.install-prompt-icon{flex-shrink:0;font-size:32px}.install-prompt-text{flex:1}.install-prompt-text strong{color:var(--ink);margin-bottom:4px;font-size:16px;font-weight:600;display:block}.install-prompt-text p{color:var(--muted);margin:0;font-size:14px}.install-prompt-actions{flex-shrink:0;gap:8px;display:flex}.btn-install,.btn-dismiss{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.btn-install{background:var(--accent);color:#fff}.btn-install:hover{opacity:.9;transform:scale(1.02)}.btn-dismiss{color:var(--muted);border:1px solid var(--border);background:0 0}.btn-dismiss:hover{background:var(--surface)}@media (max-width:640px){.install-prompt-content{text-align:center;flex-direction:column}.install-prompt-actions{flex-direction:column;width:100%}.btn-install,.btn-dismiss{width:100%}}.update-prompt{z-index:1001;width:calc(100% - 40px);max-width:500px;animation:.3s ease-out slideDown;position:fixed;top:20px;left:50%;transform:translate(-50%)}.update-prompt-content{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:16px;padding:20px;display:flex}.update-prompt-text{flex:1}.update-prompt-text strong{color:var(--ink);margin-bottom:4px;font-size:16px;font-weight:600;display:block}.update-prompt-text p{color:var(--muted);margin:0;font-size:14px}.update-prompt-actions{flex-shrink:0;gap:8px;display:flex}.btn-update,.btn-dismiss-update{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.btn-update{background:var(--accent);color:#fff}.btn-update:hover{opacity:.9;transform:scale(1.02)}.btn-dismiss-update{color:var(--muted);border:1px solid var(--border);background:0 0}.btn-dismiss-update:hover{background:var(--surface)}@media (max-width:640px){.update-prompt-content{text-align:center;flex-direction:column}.update-prompt-actions{flex-direction:column;width:100%}.btn-update,.btn-dismiss-update{width:100%}}.workout-mode-overlay{background:var(--bg);z-index:100;transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;inset:0;overflow:hidden auto;transform:translateY(0)}.workout-mode-overlay--hidden{pointer-events:none;transform:translateY(100%)}.workout-mode-header{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:transform .3s,opacity .3s;display:flex}.workout-mode-header--hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.workout-mode-title{color:var(--fg);margin:0;font-size:1.25rem;font-weight:600}.workout-mode-minimize{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--fg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.8rem;transition:all .2s;display:flex}.workout-mode-minimize:hover{background:var(--surface);border-color:var(--accent)}.minimized-workout-indicator{border-top:1px solid var(--color-accent);cursor:pointer;z-index:99;background:#101214;border-bottom:1px solid #1a1d21;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;transition:background .2s;display:flex;position:fixed;bottom:62px;left:0;right:0;box-shadow:0 -4px 20px #0006}.minimized-workout-indicator:hover{background:#141618}.minimized-workout-indicator-content{align-items:center;gap:.875rem;display:flex}.minimized-workout-indicator-icon{font-size:1.25rem;line-height:1}.minimized-workout-indicator-info{flex-direction:column;gap:.1rem;display:flex}.minimized-workout-indicator-title{color:var(--color-fg);font-family:var(--font-body);font-size:.9rem;font-weight:600;line-height:1.3}.minimized-workout-indicator-timer{color:var(--color-accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.8rem;line-height:1.3}.minimized-workout-indicator-expand{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;transition:all .15s;display:flex}.minimized-workout-indicator-expand:hover{border-color:var(--color-accent);color:var(--color-accent)}.settings-modal-overlay{flex-direction:column;overflow-x:hidden;background:var(--bg)!important;z-index:200!important;justify-content:flex-start!important;align-items:stretch!important;padding:0!important}.settings-modal{box-sizing:border-box;flex-direction:column;width:100vw;max-width:100vw;min-height:100dvh;display:flex;overflow:hidden auto}.settings-panel{width:100%;max-width:100%;padding:20px 16px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;overflow-x:hidden}.settings-panel-header{justify-content:space-between;align-items:center;gap:12px;padding:12px 0 4px;display:flex}@media (min-width:769px){.settings-panel{padding-left:24px;padding-right:24px}.settings-panel-header{padding-top:18px;padding-bottom:8px}}.calendar-overlay{z-index:100!important;background:#080706a6!important;justify-content:center!important;align-items:center!important;padding:16px!important}.calendar-modal{background:var(--card);width:calc(100% - 32px);max-width:720px;height:88vh;max-height:88vh;box-shadow:var(--shadow);box-sizing:border-box;border-radius:18px;flex-direction:column;padding:20px;display:flex;overflow-y:auto}.workout-statistics-modal__content{gap:12px;display:grid}.workout-statistics-section{box-shadow:none;--metric-duration-fg:#e8320a;background:#101214;border:none;border-radius:14px;padding:16px}.workout-statistics-section__label{letter-spacing:.14em;text-transform:uppercase;color:#3a4050;margin:0 0 6px;font-family:Barlow,sans-serif;font-size:10px;font-weight:800}.workout-statistics-section__total{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:48px;line-height:1}.workout-statistics-section__heading{color:#eeeae0;margin:0 0 12px;font-family:Bebas Neue,sans-serif;font-size:20px}.workout-statistics-goal__summary{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.workout-statistics-goal__current{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:48px;font-weight:400;line-height:1}.workout-statistics-goal__separator,.workout-statistics-goal__target,.workout-statistics-goal__unit{color:#3a4050;font-family:Bebas Neue,sans-serif;font-size:22px;font-weight:400}.workout-statistics-goal__subtext{color:#3a4050;margin:0;font-family:Barlow,sans-serif;font-size:12px}.workout-statistics-goal__expected-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.workout-statistics-goal__badge{white-space:nowrap;border-radius:6px;align-items:center;padding:4px 10px;font-family:Barlow,sans-serif;font-size:11px;font-weight:800;display:inline-flex}.workout-statistics-goal__badge--ahead{color:#16a34a;background:#16a34a1f;border:1px solid #16a34a4d}.workout-statistics-goal__badge--on_pace{color:#1e6fe8;background:#1e6fe81f;border:1px solid #1e6fe84d}.workout-statistics-goal__badge--behind{color:#e8320a;background:#e8320a1f;border:1px solid #e8320a4d}.workout-statistics-goal__meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.workout-statistics-goal__meta-card{background:#080a0c;border:none;border-radius:10px;gap:2px;padding:12px 14px;display:grid}.workout-statistics-goal__meta-card strong{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:24px;font-weight:400;line-height:1}.workout-statistics-goal__meta-card span{color:#3a4050;font-family:Barlow,sans-serif;font-size:11px}.workout-statistics-goal__progress{margin-bottom:14px}.workout-statistics-goal__progress .today-protein__progress-bar{background:#1a1d22;border-radius:3px;height:5px;position:relative}.workout-statistics-goal__progress .today-protein__progress-fill{background:#e8320a;border-radius:3px}.workout-statistics-goal__progress .today-protein__percentage{color:#e8320a;font-family:Barlow,sans-serif;font-size:12px;font-weight:800}.workout-statistics-goal__progress-marker{background:#ffffffbf;border-radius:999px;width:2px;position:absolute;top:-2px;bottom:-2px;transform:translate(-50%);box-shadow:0 0 0 1px #0000002e}.workout-statistics-goal__projection{border-top:1px solid #161a1e;gap:4px;margin-top:12px;padding-top:12px;display:grid}.workout-statistics-goal__projection-total{color:#3a4050;font-family:Barlow,sans-serif;font-size:12px}.workout-statistics-goal__projection-status{font-family:Barlow,sans-serif;font-size:13px;font-weight:700}.workout-statistics-goal__projection-status--ahead{color:#16a34a}.workout-statistics-goal__projection-status--on_pace{color:#1e6fe8}.workout-statistics-goal__projection-status--behind{color:#e8320a}.workout-statistics-intent{border-top:1px solid #161a1e;gap:8px;margin-top:12px;padding-top:12px;display:grid}.workout-statistics-intent__label{margin-bottom:0}.workout-statistics-intent__chip{justify-self:flex-start}.workout-statistics-category-list{gap:12px;display:grid}.workout-statistics-category-row{grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.workout-statistics-category-row__label{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:14px;font-weight:600}.workout-statistics-category-row__bar{background:#1a1d22;border-radius:3px;height:5px;position:relative;overflow:hidden}.workout-statistics-category-row__fill{background:#e8320a;border-radius:3px;min-width:2px;height:100%}.workout-statistics-category-row__value{text-align:right;color:#eeeae0;min-width:24px;font-family:Bebas Neue,sans-serif;font-size:18px;font-weight:400}.workout-statistics-list{flex-direction:column;gap:0;display:flex}.workout-statistics-list--templates{max-height:220px;padding-right:4px;overflow-y:auto}.workout-statistics-list__row{border-top:1px solid #161a1e;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.workout-statistics-list__row:first-child{border-top:none;padding-top:0}.workout-statistics-list__row span{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:14px;font-weight:600}.workout-statistics-list__row strong{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:18px;font-weight:400}.workout-statistics-metrics{flex-direction:column;gap:0;display:flex}.workout-statistics-metric{border-top:1px solid #161a1e;justify-content:space-between;align-items:center;gap:16px;padding:9px 0;display:flex}.workout-statistics-metric:first-child{border-top:none;padding-top:0}.workout-statistics-metric__label{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:14px}.workout-statistics-metric__value{color:#eeeae0;font-family:Barlow,sans-serif;font-size:14px;font-weight:700}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-month-label{color:var(--ink);text-transform:capitalize;font-size:.9rem;font-weight:600}.calendar-nav-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;transition:background .1s,color .1s;display:flex}.calendar-nav-btn:hover{background:var(--surface);color:var(--ink)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.calendar-weekday{text-align:center;color:var(--muted);padding:1px 0 3px;font-size:.66rem}.calendar-days{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-day{cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:7px;flex-direction:column;align-items:center;min-height:36px;padding:5px 1px 3px;transition:background .1s;display:flex}.calendar-day:hover{background:var(--surface)}.calendar-day--empty{cursor:default;pointer-events:none}.calendar-day--today{color:var(--accent);font-weight:700}.calendar-day--selected{color:#fff;background:var(--accent)!important}.calendar-day-num{margin-bottom:2px;font-size:.8rem;line-height:1}.calendar-dots{justify-content:center;align-items:center;gap:2px;min-height:4px;display:flex}.calendar-dot{border-radius:50%;flex-shrink:0;width:3px;height:3px}.calendar-dot--protein{background:var(--accent)}.calendar-dot--workout{background:#5d7cff}.calendar-day--selected .calendar-dot{background:#ffffffbf}.exercise-dropset-badge{color:var(--accent);padding:3px 12px 5px;font-size:.75rem;font-weight:600}.exercise-note-area{border-top:1px solid var(--border);padding:4px 12px 8px}.exercise-note-input{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--border);resize:none;border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.82rem}.exercise-note-text{color:var(--muted);cursor:pointer;margin:0;font-size:.82rem;line-height:1.4}.exercise-note-text:hover{color:var(--ink)}.cwv-exercise__dropset{color:var(--accent);background:var(--accent-soft);border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.7rem;font-weight:600}.section-label{color:var(--color-text-faint);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:800}.accent-bar-red{border-left:4px solid var(--color-accent)}.accent-bar-blue{border-left:4px solid var(--color-blue)}.bottom-nav{background:var(--color-bg);z-index:100;border-top:1px solid #131619;align-items:stretch;height:62px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__tab{cursor:pointer;color:#3a4050;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:0 2px;transition:color .15s;display:flex;overflow:hidden}.bottom-nav__tab--active{color:var(--color-accent)}.bottom-nav__tab svg{flex-shrink:0;width:20px;height:20px}.bottom-nav__label{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:8px;font-weight:800;line-height:1;overflow:hidden}.home-container{padding-top:20px}.home-date-header{font-family:var(--font-body);letter-spacing:.14em;color:var(--color-text-faint);margin:0 0 14px;font-size:11px;font-weight:800}.stat-cards-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.hero-goal-card{background:#101214;border-radius:16px;align-items:stretch;margin-bottom:14px;display:flex;position:relative;overflow:hidden}.hero-goal-accent-bar{z-index:1;background:#e8320a;width:4px;position:absolute;top:0;bottom:0;left:0}.hero-goal-half{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;display:flex}.hero-goal-protein{border-right:1px solid #1e2228;padding:18px 16px 16px 20px}.hero-goal-steps{align-items:flex-start;padding:18px 16px 16px}.hero-goal-label{text-transform:uppercase;letter-spacing:.14em;color:#3a4050;margin:0 0 8px;font-family:Barlow,sans-serif;font-size:10px;font-weight:800}.hero-goal-ring-wrapper{flex:1;justify-content:center;align-items:center;display:flex}.hero-goal-ring-container{width:96px;height:96px;position:relative}.hero-goal-ring-center{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.hero-ring-pct{color:#fff;font-family:Bebas Neue,sans-serif;font-size:18px;line-height:1}.hero-ring-sub{color:#e8320a;letter-spacing:.08em;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:9px;font-weight:800}.hero-goal-amount{color:#fff;letter-spacing:.04em;margin:8px 0 4px;font-family:Bebas Neue,sans-serif;font-size:16px}.hero-goal-remaining{color:#e8320a;letter-spacing:.06em;text-transform:uppercase;margin:0;font-family:Barlow,sans-serif;font-size:11px;font-weight:800}.hero-goal-steps-middle{flex-direction:column;flex:1;justify-content:center;display:flex}.hero-goal-steps-count{color:#fff;letter-spacing:.02em;margin:0;font-family:Bebas Neue,sans-serif;font-size:48px;line-height:1}.hero-goal-steps-goal{color:#3a4050;margin:4px 0 0;font-family:Barlow,sans-serif;font-size:12px;font-weight:700}.hero-goal-steps-bottom{width:100%;margin-top:auto}.hero-goal-progress-track{background:#1a1d22;border-radius:3px;height:5px;margin-bottom:6px;overflow:hidden}.hero-goal-progress-fill{background:#e8320a;border-radius:3px;max-width:100%;height:100%}.stat-card{background:var(--color-surface);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:14px 14px 12px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#ffffff03 0 1px,#0000 1px 8px);position:absolute;inset:0}.stat-card--protein{border-left:4px solid var(--color-accent)}.stat-card--steps{border-left:4px solid var(--color-blue);justify-content:flex-start;align-items:flex-start}.stat-card__ring-wrap{width:90px;height:90px;position:relative}.stat-card__ring-wrap svg{width:90px;height:90px}.stat-card__ring-track{fill:none;stroke:#1a1d22;stroke-width:9px}.stat-card__ring-fill{fill:none;stroke:var(--color-accent);stroke-width:9px;stroke-linecap:butt;transition:stroke-dashoffset .4s}.stat-card__ring-fill--complete{stroke:var(--color-green)}.stat-card__ring-center{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.stat-card__ring-pct{font-family:var(--font-display);color:var(--color-text-primary);font-size:20px;line-height:1}.stat-card__ring-label{font-family:var(--font-body);color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.stat-card__values{font-family:var(--font-display);color:var(--color-text-primary);font-size:17px;line-height:1}.stat-card__values-goal{color:var(--color-text-secondary)}.stat-card__values-unit{font-family:var(--font-body);color:var(--color-text-muted);letter-spacing:.06em;vertical-align:middle;font-size:11px;font-weight:700}.stat-card__remaining{font-family:var(--font-body);color:var(--color-accent);margin-top:-4px;font-size:11px;font-weight:600}.stat-card__remaining--complete{color:var(--color-green)}.stat-card--steps .stat-card__step-count{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:.01em;font-size:42px;line-height:1}.stat-card--steps .stat-card__step-goal{font-family:var(--font-body);color:var(--color-text-muted);margin-top:-4px;font-size:12px}.stat-card__progress-bar-wrap{width:100%;margin-top:auto;padding-top:6px}.stat-card__progress-bar{background:#1a1d22;border-radius:3px;height:5px;overflow:hidden}.stat-card__progress-fill{background:var(--color-blue);border-radius:3px;height:100%;transition:width .4s}.stat-card__step-remaining{font-family:var(--font-body);color:var(--color-blue);margin-top:4px;font-size:11px;font-weight:600}.stat-card__step-remaining--complete{color:var(--color-green)}.quick-protein-chips--new{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.quick-protein-chips--new::-webkit-scrollbar{display:none}.quick-chip{border:1px solid var(--color-border);color:#e8320a;font-family:var(--font-body);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#111417;border-radius:20px;flex-shrink:0;padding:7px 13px;font-size:13px;font-weight:700;transition:border-color .15s,color .15s}.quick-chip:active{border-color:var(--color-accent);color:var(--color-text-secondary)}.add-intake-btn{border:1.5px dashed var(--color-border);width:100%;color:var(--color-accent);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:12px 16px;font-size:13px;font-weight:800;transition:border-color .15s;display:flex}.add-intake-btn:active{border-color:var(--color-accent)}.meals-section{flex-direction:column;gap:10px;margin-top:6px;display:flex}.meal-group{flex-direction:column;gap:4px;display:flex}.meal-group__label{color:var(--color-text-faint);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;font-weight:800;display:flex}.meal-group__label-total{color:var(--color-text-muted);letter-spacing:.08em;font-size:10px;font-weight:700}.meal-group__card{background:var(--color-surface);border-left:3px solid #e8320a80;border-radius:12px;overflow:hidden}.meal-row{cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.meal-row+.meal-row{border-top:1px solid var(--color-divider)}.meal-row__name{color:var(--color-text-secondary);font-family:var(--font-body);font-size:15px;font-weight:600}.meal-row__protein{color:var(--color-accent);font-family:var(--font-mono);font-size:16px;font-weight:800}.workout-card-new{cursor:pointer;background:#101214;border-radius:14px;margin-top:14px;padding:16px 16px 16px 20px;position:relative;overflow:hidden}.workout-card-new:before{content:"";pointer-events:none;background:#e8320a;width:4px;position:absolute;top:0;bottom:0;left:0}.workout-card-new__section-label{color:var(--color-text-faint);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:800}.workout-card-new__title{letter-spacing:.06em;color:#eeeae0;margin:0;line-height:1.1;font-family:Bebas Neue,sans-serif!important;font-size:22px!important;font-weight:400!important}.workout-card-new__subtitle{color:#3a4050;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;font-family:Barlow,sans-serif;font-size:11px;font-weight:800}.workout-stat-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.workout-stat-mini{background:#080a0c;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.workout-stat-mini__label{text-transform:uppercase;letter-spacing:.1em;color:#3a4050;font-family:Barlow,sans-serif;font-size:9px;font-weight:800}.workout-stat-mini__value{color:#e8320a;font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1}@keyframes workout-ongoing-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes workout-ongoing-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes scan{0%{left:-40%}to{left:120%}}.workout-ongoing{background:#101214;border-radius:14px;animation:.22s ease-out both workout-ongoing-in;position:relative;overflow:hidden}.workout-ongoing--leaving{animation:.22s ease-in both workout-ongoing-out}.workout-ongoing__accent{background:#e8320a;width:4px;position:absolute;top:0;bottom:0;left:0}.workout-ongoing__body{justify-content:space-between;align-items:center;padding:14px 16px 18px 20px;display:flex}.workout-ongoing__left{flex-direction:column;gap:4px;display:flex}.workout-ongoing__name{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1}.workout-ongoing__status{color:#3a4050;letter-spacing:.04em;font-variant-numeric:tabular-nums;font-family:Barlow,sans-serif;font-size:12px;font-weight:700}.workout-ongoing__btn{color:#fff;cursor:pointer;background:#e8320a;border:none;border-radius:8px;flex-shrink:0;padding:8px 16px;font-family:Barlow,sans-serif;font-size:14px;font-weight:800}.workout-ongoing__bottom-bar{background:#1e2228;height:2px;position:relative;overflow:hidden}.workout-ongoing__pulse{background:#e8320a;animation:2s ease-in-out infinite pulse;position:absolute;inset:0}.workout-ongoing__scan{background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;animation:2s linear infinite scan;position:absolute;top:0;bottom:0}.workout-start-card{background:#101214;border-radius:14px;flex-direction:column;align-items:stretch;gap:10px;margin-top:0;padding:12px 16px;display:flex}.workout-start-card__label{color:var(--color-text-faint);font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800}.workout-start-btn{background:var(--color-accent);width:100%;color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:.04em;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;padding:14px;font-size:16px;transition:opacity .15s}.workout-start-btn:active{opacity:.85}.calendar-new{flex-direction:column;flex:1;gap:0;min-height:0;display:flex}.calendar-new__header{justify-content:space-between;align-items:center;padding:0 0 16px;display:flex}.calendar-new__month{color:#eeeae0;text-transform:uppercase;letter-spacing:.06em;font-family:Bebas Neue,sans-serif;font-size:20px}.calendar-new__nav{color:#eeeae0;cursor:pointer;background:#101214;border:1px solid #1e2228;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;line-height:1;display:flex}.calendar-new__weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.calendar-new__weekday{text-align:center;color:#3a4050;letter-spacing:.1em;padding:4px 0;font-family:Barlow,sans-serif;font-size:10px;font-weight:800}.calendar-new__days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-new__day{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:4px 2px;display:flex}.calendar-new__day--empty{cursor:default}.calendar-new__day-num{color:#555a6a;font-family:Barlow,sans-serif;font-size:13px;font-weight:700;line-height:1}.calendar-new__day--future .calendar-new__day-num{color:#3a4050}.calendar-new__day--has-data .calendar-new__day-num{color:#c8c4bc}.calendar-new__day--today{background:#1a1d22;border-radius:8px}.calendar-new__day--today .calendar-new__day-num{color:#e8320a}.calendar-new__day--selected{background:#1a1d22;outline:none}.calendar-new__dots{justify-content:center;align-items:center;gap:2px;min-height:7px;display:flex}.calendar-new__dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.calendar-new__dot--protein{background:#e8320a}.calendar-new__dot--steps{background:#1e6fe8}.calendar-new__dot--workout{background:#16a34a}.calendar-new__legend{border-top:1px solid #1e2228;gap:14px;margin-top:8px;padding:12px 0 16px;display:flex}.calendar-new__legend-item{color:#555a6a;align-items:center;gap:5px;font-family:Barlow,sans-serif;font-size:11px;font-weight:700;display:flex}.calendar-day-list{border-top:1px solid #1e2228;flex-direction:column;flex:1;gap:6px;padding-top:12px;display:flex}.calendar-day-list__row{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#101214;border-left:3px solid #16a34a;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 16px;transition:background .1s,border-color .1s;display:flex}.calendar-day-list__row--active{background:#151a1c;border-left-color:#e8320a}.calendar-day-list__date{flex-direction:column;flex-shrink:0;align-items:center;width:32px;display:flex}.calendar-day-list__day-num{color:#eeeae0;font-family:Bebas Neue,sans-serif;font-size:18px;line-height:1}.calendar-day-list__month{color:#3a4050;letter-spacing:.1em;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:9px;font-weight:800}.calendar-day-list__data{flex-direction:column;flex:1;gap:2px;display:flex}.calendar-day-list__protein{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:13px;font-weight:600}.calendar-day-list__steps{color:#3a4050;margin-left:8px;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;display:inline}.calendar-day-list__workout{color:#c8c4bc;font-family:Barlow,sans-serif;font-size:14px;font-weight:600}.calendar-day-list__no-workout{color:#3a4050;font-family:Barlow,sans-serif;font-size:12px;font-weight:500}.calendar-day-list__steps-goal{color:#3a4050;margin-top:2px;font-family:Barlow,sans-serif;font-size:11px;font-weight:600}.log-protein-sheet{background:var(--color-surface);border-radius:20px 20px 0 0;padding:20px 16px 32px}.log-protein-sheet__title{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:.04em;margin:0 0 2px;font-size:24px}.log-protein-sheet__subtitle{font-family:var(--font-body);color:var(--color-text-muted);margin:0 0 16px;font-size:13px}.log-protein-sheet input,.log-protein-sheet select{font-family:var(--font-body);border-radius:8px;font-size:15px;background:var(--color-bg)!important;border:1px solid var(--color-border)!important;color:var(--color-text-primary)!important}.log-protein-sheet input:focus,.log-protein-sheet select:focus{outline:none;border-color:var(--color-accent)!important}.log-protein-sheet__save-btn{letter-spacing:.04em;width:100%;min-height:52px;background:var(--color-accent)!important;color:var(--color-text-primary)!important;font-family:var(--font-display)!important;border-radius:10px!important;font-size:20px!important}.log-protein-sheet__cancel-btn{color:var(--color-text-muted)!important;font-family:var(--font-body)!important;background:0 0!important;border:none!important;font-size:14px!important}
