:root{--text:#4a3d33;--text-h:#2e241c;--text-muted:#8a7a6a;--bg:#efe7dc;--surface:#fbf7f1;--border:#e0d3c2;--code-bg:#f3ece0;--color-primary:#a8461f;--color-primary-dark:#833518;--color-primary-bg:#a8461f1a;--color-secondary:#6f7d55;--color-secondary-bg:#6f7d551f;--color-warning:#b8862e;--color-warning-bg:#b8862e24;--color-warning-bg-hover:#b8862e38;--color-warning-text:#5c4419;--color-danger:#b0392f;--color-danger-bg:#b0392f1a;--accent:var(--color-primary);--accent-bg:var(--color-primary-bg);--accent-border:#a8461f66;--social-bg:#fbf7f199;--shadow:#4a3d3324 0 10px 20px -8px, #4a3d3314 0 4px 8px -4px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Segoe UI Rounded", "SF Pro Rounded", ui-rounded, var(--sans);--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#e4d9cb;--text-h:#f6efe4;--text-muted:#a8998a;--bg:#211a14;--surface:#2b2119;--border:#4a3b2d;--code-bg:#241c15;--color-primary:#e07a45;--color-primary-dark:#f2a074;--color-primary-bg:#e07a452e;--color-secondary:#9bb178;--color-secondary-bg:#9bb1782e;--color-warning:#d9a545;--color-warning-bg:#d9a5452e;--color-warning-bg-hover:#d9a54547;--color-warning-text:#f5dfae;--color-danger:#e0685a;--color-danger-bg:#e0685a2e;--accent:var(--color-primary);--accent-bg:var(--color-primary-bg);--accent-border:#e07a4580;--social-bg:#2b211980;--shadow:#00000073 0 10px 20px -8px, #0000004d 0 4px 8px -4px}#social .button-icon{filter:invert()brightness(2)}}*,:before,:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}input,select,textarea,button{min-width:0;max-width:100%}#root{box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-.6px;margin:0 0 1rem;font-size:32px}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:20px;line-height:118%}p{text-align:justify;text-align-last:left;margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-layout{background:var(--bg);min-height:100vh;display:flex}.app-topbar,.app-nav-backdrop{display:none}.app-nav{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:220px;padding:1.5rem 1rem;display:flex}.app-nav-title{color:var(--color-primary-dark);margin-bottom:1.5rem;font-weight:700;display:block}.app-nav ul{flex-direction:column;flex:1;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.app-nav-footer{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;margin-top:1rem;padding-top:1rem;display:flex}.app-nav-email{color:var(--text-muted);word-break:break-all;font-size:.8rem}.app-nav-footer button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.app-nav-footer button:hover{border-color:var(--color-danger);color:var(--color-danger)}.app-nav a{color:var(--text);border-left:3px solid #0000;border-radius:8px;padding:.45rem .7rem;font-weight:500;text-decoration:none;display:block}.app-nav a:hover{background:var(--color-primary-bg)}.app-nav a.active{background:var(--color-primary-bg);border-left-color:var(--color-primary);color:var(--color-primary-dark);font-weight:700}.app-content{min-width:0;color:var(--text);flex:1;padding:2rem}@media (width<=768px){.app-layout{flex-direction:column}.app-topbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:20;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.app-topbar-menu-btn{border:1px solid var(--border);color:var(--color-primary-dark);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .6rem;font-size:1.3rem;line-height:1}.app-topbar-title{color:var(--color-primary-dark);font-weight:700}.app-nav{display:none}.app-nav.app-nav-open{z-index:30;background:var(--surface);width:min(280px,80vw);display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;box-shadow:2px 0 12px #00000040}.app-nav-backdrop{z-index:25;background:#0f172a73;display:block;position:fixed;inset:0}.app-content{padding:1.25rem}}.login-page{background:linear-gradient(160deg, var(--color-primary-bg), var(--bg) 55%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{border:1px solid var(--border);border-top:4px solid var(--color-primary);background:var(--surface);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:.75rem;padding:2rem;display:flex}.login-card h1{margin:0;font-size:1.4rem}.login-subtitle{color:var(--text-muted);margin:0 0 .5rem}.login-card label{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.login-card input{border:1px solid var(--border);border-radius:6px;padding:.5rem .6rem;font-size:1rem}.login-card button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.6rem;font-weight:600}.login-card button[type=submit]:disabled{opacity:.6;cursor:default}.login-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.login-error{color:var(--color-danger);margin:0;font-size:.85rem}.login-info{color:var(--color-secondary);margin:0;font-size:.85rem}.cardio-page{flex-direction:column;gap:1.5rem;max-width:960px;display:flex}.cardio-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=800px){.cardio-grid{grid-template-columns:1fr}}.cardio-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1.25rem}.cardio-card h2{margin-top:0;font-size:1.1rem}.cardio-chart-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cardio-chart-header select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.3rem .5rem}.cardio-form{flex-direction:column;gap:.75rem;display:flex}.cardio-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.cardio-form input,.cardio-form select,.cardio-form textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.95rem}.cardio-form-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;display:grid}.cardio-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.cardio-form button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.5rem 1.1rem;font-weight:600}.cardio-form button[type=submit]:hover{background:var(--color-primary-dark)}.cardio-form button[type=submit]:disabled{opacity:.6;cursor:default}.cardio-history{max-width:100%;overflow-x:auto}.cardio-history table{border-collapse:collapse;width:100%;font-size:.9rem}.cardio-history th{color:var(--text-muted);font-weight:600}.cardio-history th,.cardio-history td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .4rem}.cardio-history-notes{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.cardio-history-edit-actions{white-space:nowrap;gap:.4rem;display:flex}.cardio-history-edit,.cardio-history-delete{cursor:pointer;background:0 0;border:none;font-size:.9rem}.cardio-history-edit{color:var(--color-primary-dark)}.cardio-history-delete{color:var(--color-danger)}.cardio-history-row-editing input,.cardio-history-row-editing select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:60px;color:var(--text);border-radius:4px;padding:.3rem .4rem;font-size:.85rem}.strava-connect{background:#fff6f2;border:1px solid #fc4c02;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}.strava-connect-status{color:#fc4c02;font-weight:600}.strava-connect-button,.strava-connect button{color:#fff;cursor:pointer;background:#fc4c02;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none}.strava-connect-disconnect{text-decoration:underline;color:#9a5a45!important;background:0 0!important;font-weight:400!important}.strava-connect-message{color:var(--color-secondary);width:100%;margin:0;font-size:.85rem}.strava-connect-error{color:var(--color-danger);width:100%;margin:0;font-size:.85rem}.chat-page{flex-direction:column;gap:1rem;max-width:720px;height:calc(100vh - 4rem);min-height:0;display:flex}.chat-window{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:.6rem;min-height:0;padding:1rem;display:flex;overflow-y:auto}.chat-empty{color:var(--text-muted);text-align:center;max-width:380px;margin:auto;font-size:.9rem}.chat-bubble-row{display:flex}.chat-bubble-row-user{justify-content:flex-end}.chat-bubble-row-assistant{justify-content:flex-start}.chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:78%;padding:.6rem .85rem;font-size:.92rem;line-height:1.4}.chat-bubble-user{background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.chat-bubble-assistant{background:var(--bg);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.chat-bubble-thinking{color:var(--text-muted);font-style:italic}.chat-error{color:var(--color-danger);margin:0;padding:0 1rem;font-size:.85rem}.chat-input-row{border-top:1px solid var(--border);gap:.6rem;padding:.75rem;display:flex}.chat-input-row textarea{resize:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;flex:1;padding:.5rem .65rem;font-family:inherit;font-size:.9rem}.chat-input-row textarea:disabled{opacity:.7}.chat-input-row button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-end;padding:.55rem 1.1rem;font-weight:600}.chat-input-row button:hover:not(:disabled){background:var(--color-primary-dark)}.chat-input-row button:disabled{opacity:.6;cursor:default}.reminders{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.reminder-banner{background:var(--color-warning-bg);border:1px solid var(--color-warning);color:var(--color-warning-text);text-align:justify;border-radius:12px;padding:.65rem .9rem;font-size:.9rem;text-decoration:none;display:block}.reminder-banner:hover{background:var(--color-warning-bg-hover)}.dashboard-page{flex-direction:column;gap:1.5rem;max-width:1000px;display:flex}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=600px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:16px;flex-direction:column;gap:.3rem;padding:1.1rem 1.25rem;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.dashboard-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.dashboard-card-label{color:var(--text-muted);font-size:.8rem}.dashboard-card-value{color:var(--text-h);font-size:1.3rem;font-weight:700}.dashboard-card-muted{color:var(--text-muted);font-size:1rem;font-weight:600}.dashboard-card-hint{color:var(--text-muted);font-size:.8rem}.body-diagram{width:70px;height:159px;position:relative}.body-diagram img{width:100%;height:100%;display:block}.body-diagram svg{width:100%;height:100%;position:absolute;top:0;left:0}.info-tip{display:inline-flex;position:relative}.info-tip-trigger{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 0 0 .2rem;font-size:.85rem;line-height:1}.info-tip-trigger:hover{color:var(--color-primary)}.info-tip-bubble{z-index:10;color:#fff;text-align:justify;text-align:left;background:#222;border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;width:220px;padding:.5rem .6rem;font-size:.78rem;line-height:1.3;display:flex;position:absolute;top:1.3rem;left:0;box-shadow:0 2px 8px #0003}.info-tip-diagram{background:var(--surface);border-radius:6px;padding:.3rem;line-height:0}.measurements-page{flex-direction:column;gap:1.5rem;max-width:960px;display:flex}.measurements-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=800px){.measurements-grid{grid-template-columns:1fr}}.measurements-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1.25rem}.measurements-card h2{margin-top:0;font-size:1.1rem}.measurements-chart-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.measurements-chart-header select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.3rem .5rem}.scale-connect{margin-bottom:.5rem}.scale-connect>button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.scale-connect>button:hover{background:var(--color-primary-dark)}.scale-connect-unsupported{color:var(--text-muted);margin:0 0 .5rem;font-size:.8rem}.scale-connect-error{color:var(--color-danger);font-size:.85rem}.scale-connect-panel{border:1px solid var(--border);background:var(--color-primary-bg);border-radius:8px;flex-direction:column;gap:.5rem;padding:.7rem .9rem;font-size:.85rem;display:flex}.scale-connect-status{margin:0}.scale-connect-reading{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.scale-connect-weight{color:var(--text-h);font-size:1.3rem;font-weight:700}.scale-connect-impedance{color:var(--text-muted);font-size:.8rem}.scale-connect-composition{color:var(--text);flex-direction:column;gap:.2rem;font-size:.85rem;display:flex}.scale-connect-estimate-note{color:var(--text-muted);margin:.2rem 0 0;font-size:.75rem;font-style:italic}.scale-connect-profile-hint{color:var(--text-muted);margin:0;font-size:.8rem}.scale-connect-reading button{background:var(--color-secondary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.3rem .7rem}.scale-connect-waiting{color:var(--text-muted);margin:0}.scale-connect-debug{color:var(--text-muted);font-size:.75rem}.scale-connect-disconnect{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.78rem;text-decoration:underline}.measurement-form{flex-direction:column;gap:.75rem;display:flex}.measurement-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.measurement-form-label{align-items:center;display:inline-flex}.measurement-form input,.measurement-form textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.95rem}.measurement-form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.measurement-form-toggle{color:var(--color-primary-dark);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85rem;text-decoration:underline}.measurement-form-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.measurement-form-grid>label:last-child{grid-column:1/-1;justify-self:center;width:100%;max-width:220px}@media (width<=500px){.measurement-form-grid{grid-template-columns:1fr 1fr}}.measurement-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.measurement-form button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.5rem 1.1rem;font-weight:600}.measurement-form button[type=submit]:hover{background:var(--color-primary-dark)}.measurement-form button[type=submit]:disabled{opacity:.6;cursor:default}.measurement-history{max-width:100%;overflow-x:auto}.measurement-history table{border-collapse:collapse;width:100%;font-size:.9rem}.measurement-history th{color:var(--text-muted);font-weight:600}.measurement-history th,.measurement-history td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .4rem}.measurement-history-notes{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.measurement-history-edit-actions{white-space:nowrap;gap:.4rem;display:flex}.measurement-history-edit,.measurement-history-delete{cursor:pointer;background:0 0;border:none;font-size:.9rem}.measurement-history-edit{color:var(--color-primary-dark)}.measurement-history-delete{color:var(--color-danger)}.measurement-history-row-editing input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:60px;color:var(--text);border-radius:4px;padding:.3rem .4rem;font-size:.85rem}.nutrition-page{flex-direction:column;gap:1.5rem;max-width:1000px;display:flex}.daily-summary{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=600px){.daily-summary{grid-template-columns:repeat(2,1fr)}}.daily-summary-item{background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;padding:1rem;display:flex}.daily-summary-value{color:var(--text-h);font-size:1.4rem;font-weight:700}.daily-summary-label{color:var(--text-muted);font-size:.8rem}.nutrition-feedback{background:var(--surface);color:var(--text);border-radius:16px;align-items:flex-start;gap:.7rem;padding:.9rem 1.1rem;font-size:.9rem;display:flex}.nutrition-feedback-incomplete{color:var(--text-muted);font-size:.85rem}.nutrition-feedback-icon{flex:none;font-size:1.2rem}.nutrition-feedback-text{flex-direction:column;gap:.3rem;display:flex}.nutrition-feedback-hydration{color:var(--text-muted);font-size:.8rem}.nutrition-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=800px){.nutrition-grid{grid-template-columns:1fr}}.nutrition-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1.25rem}.nutrition-card h2{margin-top:0;font-size:1.1rem}.meal-form{flex-direction:column;gap:.9rem;display:flex}.meal-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.meal-form select,.meal-form input[type=datetime-local]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .55rem;font-size:.95rem}.meal-form-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}@media (width<=500px){.meal-form-row{grid-template-columns:1fr}}.meal-form-items{flex-direction:column;gap:.6rem;display:flex}.meal-form-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem;padding-bottom:.6rem;display:flex}.meal-form-estimate{border:1px solid var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-bg);cursor:pointer;white-space:nowrap;border-radius:6px;flex:none;padding:.4rem .6rem;font-size:.78rem}.meal-form-estimate:disabled{opacity:.5;cursor:default}.meal-form-item input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.4rem .5rem;font-size:.9rem}.meal-form-item-name{flex:100%;position:relative}.meal-form-item-name input{width:100%}.meal-form-item>input{flex:70px;min-width:0}.meal-form-item>select{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:6px;flex:90px;padding:.4rem .5rem;font-size:.85rem}.meal-form-remove{flex:none}.meal-form-suggestions{z-index:5;background:var(--surface);border:1px solid var(--border);max-height:180px;box-shadow:var(--shadow);border-radius:6px;margin:.2rem 0 0;padding:.2rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.meal-form-suggestions li button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.4rem .6rem;font-size:.85rem;display:block}.meal-form-suggestions li button:hover{background:var(--color-primary-bg)}.meal-form-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none;font-size:1rem}.meal-form-add{border:1px dashed var(--color-primary);color:var(--color-primary-dark);cursor:pointer;background:0 0;border-radius:999px;align-self:center;padding:.4rem .8rem;font-size:.85rem}.meal-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.meal-form button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.5rem 1.1rem;font-weight:600}.meal-form button[type=submit]:hover{background:var(--color-primary-dark)}.meal-form button[type=submit]:disabled{opacity:.6;cursor:default}.meal-history{flex-direction:column;gap:.9rem;max-height:520px;display:flex;overflow-y:auto}.meal-history-card{border:1px solid var(--border);border-radius:8px;padding:.75rem .9rem}.meal-history-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.meal-history-date{color:var(--text-muted);margin-left:.5rem;font-size:.8rem}.meal-history-actions{align-items:center;gap:.6rem;display:flex}.meal-history-kcal{color:var(--color-primary-dark);font-size:.9rem;font-weight:600}.meal-history-edit,.meal-history-delete{cursor:pointer;background:0 0;border:none;font-size:.9rem}.meal-history-edit{color:var(--color-primary-dark)}.meal-history-delete{color:var(--color-danger)}.meal-history-item-editing{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.meal-history-item-editing .meal-history-item-name{flex:100%;font-size:.85rem}.meal-history-item-editing input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:4px;flex:55px;padding:.3rem .4rem;font-size:.8rem}.meal-history-item-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none;flex:none;font-size:.9rem}.meal-history-items{flex-direction:column;gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.meal-history-items li{justify-content:space-between;gap:.5rem;font-size:.85rem;display:flex}.meal-history-item-macros{color:var(--text-muted);white-space:nowrap}.progress-page{flex-direction:column;gap:1.5rem;max-width:960px;display:flex}.photo-tips{background:var(--color-primary-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:.9rem 1.1rem;font-size:.85rem}.photo-tips-title{color:var(--color-primary-dark);margin:0 0 .4rem;font-weight:600}.photo-tips ul{flex-direction:column;gap:.25rem;margin:0;padding-left:1.2rem;display:flex}.progress-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=800px){.progress-grid{grid-template-columns:1fr}}.progress-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1.25rem}.progress-card h2{margin-top:0;font-size:1.1rem}.target-photo-hint{color:var(--text-muted);margin-top:-.5rem;font-size:.85rem}.target-photo-upload{border:2px dashed var(--border);cursor:pointer;width:100%;color:var(--text-muted);background:0 0;border-radius:8px;padding:2rem 1rem}.target-photo-preview img{object-fit:cover;border-radius:8px;width:100%;max-height:320px;display:block}.target-photo-actions{gap:.5rem;margin-top:.6rem;display:flex}.target-photo-actions button,.target-photo-remove{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.target-photo-remove{color:var(--color-danger)}.target-photo-error{color:var(--color-danger);font-size:.85rem}.photo-upload-form{flex-direction:column;gap:.75rem;display:flex}.photo-upload-dropzone{border:2px dashed var(--border);cursor:pointer;min-height:140px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-upload-dropzone img{object-fit:cover;width:100%;max-height:220px}.photo-upload-row{grid-template-columns:1fr 1fr 1fr;gap:.6rem;display:grid}@media (width<=500px){.photo-upload-row{grid-template-columns:1fr 1fr}}.photo-upload-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.photo-upload-form input,.photo-upload-form select,.photo-upload-form textarea{border:1px solid var(--border);border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.95rem}.photo-upload-error{color:var(--color-danger);margin:0;font-size:.85rem}.photo-upload-form button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.5rem 1.1rem;font-weight:600}.photo-upload-form button[type=submit]:hover{background:var(--color-primary-dark)}.photo-upload-form button[type=submit]:disabled{opacity:.6;cursor:default}.photo-timeline-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;display:grid}.photo-timeline-thumb{border:1px solid var(--border);cursor:pointer;aspect-ratio:3/4;background:0 0;border-radius:8px;padding:0;position:relative;overflow:hidden}.photo-timeline-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-timeline-thumb-date{color:#fff;text-align:center;background:#0009;padding:.2rem;font-size:.7rem;position:absolute;bottom:0;left:0;right:0}.photo-lightbox{z-index:50;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.photo-lightbox-content{background:var(--surface);border-radius:10px;width:100%;max-width:420px;overflow:hidden}.photo-lightbox-content img{object-fit:contain;background:#000;width:100%;max-height:60vh;display:block}.photo-lightbox-info{padding:1rem}.photo-lightbox-notes{color:var(--text-muted);font-size:.9rem}.photo-lightbox-actions{gap:.5rem;margin-top:.5rem;display:flex}.photo-lightbox-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:.4rem .8rem}.photo-compare-columns{flex-wrap:wrap;gap:1rem;display:flex}.photo-compare-col{flex-direction:column;flex:1;gap:.4rem;min-width:140px;display:flex}.photo-compare-col select{border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem}.photo-compare-col img{aspect-ratio:3/4;object-fit:cover;border-radius:8px;width:100%}.photo-compare-target-label{color:var(--text-muted);text-align:center;font-size:.8rem}.routines-page{flex-direction:column;gap:1rem;max-width:720px;display:flex}.routines-hint{color:var(--text-muted);margin-top:-.5rem;font-size:.9rem}.routines-equipment-section{border:1px solid var(--border);border-radius:10px;padding:.9rem 1.1rem}.routines-equipment-section>summary{cursor:pointer;font-size:.95rem;font-weight:600}.routines-equipment-section[open]>summary{margin-bottom:1rem}.routines-equipment-section>*+*{margin-top:1rem}.routine-list{flex-direction:column;gap:.75rem;display:flex}.routine-list-header{justify-content:space-between;align-items:center;display:flex}.routine-list-header h2{margin:0;font-size:1.1rem}.routine-list-header button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:6px;padding:.4rem .9rem;font-size:.85rem}.routine-form{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.routine-form-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.routine-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.routine-form input{border:1px solid var(--border);border-radius:6px;padding:.4rem .55rem;font-size:.9rem}.routine-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.routine-form button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.45rem 1rem;font-weight:600}.routine-card{border:1px solid var(--border);border-left:3px solid var(--color-primary);background:var(--surface);border-radius:8px;overflow:hidden}.routine-inactive{opacity:.6}.routine-card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:.7rem 1rem;display:flex}.routine-name{font-weight:600;display:block}.routine-description{color:var(--text-muted);font-size:.8rem;display:block}.routine-card-body{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.routine-card-actions{gap:.5rem;display:flex}.routine-card-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:.35rem .7rem;font-size:.8rem}.routine-delete{color:var(--color-danger)}.routine-editor{flex-direction:column;gap:.75rem;display:flex}.routine-editor-empty{color:var(--text-muted);margin:0;font-size:.9rem}.routine-editor-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.routine-editor-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem;display:flex}.routine-editor-reorder{flex-direction:column;gap:.1rem;display:flex}.routine-editor-reorder button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;padding:.1rem .3rem;font-size:.7rem;line-height:1}.routine-editor-reorder button:disabled{opacity:.3;cursor:default}.routine-editor-exercise-name{min-width:160px;font-weight:600}.routine-editor-targets{color:var(--text-muted);flex:1}.routine-editor-remove{color:var(--color-danger);cursor:pointer;background:0 0;border:none}.routine-editor-edit{gap:.3rem;width:100%;display:flex}.routine-editor-edit input{border:1px solid var(--border);border-radius:5px;width:60px;padding:.25rem .35rem;font-size:.8rem}.routine-editor-add{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.routine-editor-add select{border:1px solid var(--border);border-radius:6px;flex:1;min-width:160px;padding:.4rem .5rem}.routine-editor-add input{border:1px solid var(--border);border-radius:6px;width:70px;padding:.4rem .5rem}.routine-editor-add button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .9rem}.routine-editor-hint{color:var(--text-muted);font-size:.8rem}.routine-editor-error{color:var(--color-danger);font-size:.85rem}.equipment-scan{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.6rem;padding:1.1rem;display:flex}.equipment-scan h2{margin:0;font-size:1.05rem}.equipment-scan-hint{color:var(--text-muted);margin:0;font-size:.85rem}.equipment-scan>button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:999px;align-self:center;padding:.45rem .9rem;font-size:.85rem}.equipment-scan>button:disabled{opacity:.6;cursor:default}.equipment-scan-error{color:var(--color-danger);font-size:.85rem}.equipment-scan-result{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.6rem;display:flex}.equipment-scan-name{margin:0;font-weight:600}.equipment-scan-list{flex-direction:column;gap:.3rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.equipment-scan-list label{align-items:center;gap:.5rem;display:flex}.equipment-scan-result button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.4rem .9rem;font-size:.85rem}.equipment-scan-result button:disabled{opacity:.6;cursor:default}.equipment-scan-done{color:var(--color-secondary);margin:0;font-size:.85rem}.exercise-catalog{flex-direction:column;gap:1rem;display:flex}.exercise-catalog-filters{flex-wrap:wrap;gap:.6rem;display:flex}.exercise-catalog-filters input,.exercise-catalog-filters select{border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.exercise-catalog-filters input{flex:1;min-width:160px}.exercise-catalog-filters button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}.exercise-group h3{text-transform:capitalize;color:var(--color-primary-dark);border-bottom:1px solid var(--border);margin:0 0 .4rem;padding-bottom:.25rem;font-size:.95rem}.exercise-group ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.exercise-group li{align-items:center;gap:.5rem;padding:.3rem 0;font-size:.9rem;display:flex}.exercise-available-badge{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.15rem .55rem;font-size:.7rem}.exercise-available-badge.is-available{border-color:var(--color-secondary);color:var(--color-secondary);background:var(--color-secondary-bg)}.exercise-available-badge:disabled{cursor:default;opacity:.6}.exercise-name{flex:1}.exercise-equipment{color:var(--text-muted);background:var(--bg);border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.exercise-howto{display:inline-flex;position:relative}.exercise-howto-trigger{border:1px solid var(--border);color:var(--color-primary-dark);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.1rem .55rem;font-size:.72rem}.exercise-howto-trigger:hover{background:var(--color-primary-bg)}.exercise-howto-bubble{z-index:10;background:var(--surface);width:260px;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);white-space:normal;text-align:left;border-radius:8px;padding:.6rem .7rem;font-size:.8rem;line-height:1.4;position:absolute;top:1.6rem;right:0}.exercise-howto-error{color:var(--color-danger)}.exercise-form{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.exercise-form-row{grid-template-columns:2fr 1fr 1fr;gap:.6rem;display:grid}@media (width<=500px){.exercise-form-row{grid-template-columns:1fr}}.exercise-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.exercise-form input,.exercise-form select,.exercise-form textarea{border:1px solid var(--border);border-radius:6px;padding:.4rem .55rem;font-family:inherit;font-size:.9rem}.exercise-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.exercise-form button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.45rem 1rem;font-weight:600}.settings-page{flex-direction:column;gap:1.5rem;max-width:640px;display:flex}.settings-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:1.25rem}.settings-card h2{margin-top:0;font-size:1.1rem}.settings-hint{color:var(--text-muted);margin-top:-.4rem;font-size:.85rem}.settings-form{flex-direction:column;gap:.9rem;display:flex}.settings-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.settings-form input,.settings-form select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.45rem .55rem;font-family:inherit;font-size:.95rem}.settings-form-label{align-items:baseline;gap:.4rem;display:inline-flex}.settings-inline-hint{color:var(--text-muted);font-size:.75rem;font-weight:400}.settings-form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;display:grid}.settings-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.settings-form-saved{color:var(--color-secondary);margin:0;font-size:.85rem}.settings-form button[type=submit]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.5rem 1.1rem;font-weight:600}.settings-form button[type=submit]:hover{background:var(--color-primary-dark)}.settings-form button[type=submit]:disabled{opacity:.6;cursor:default}.ai-usage-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=500px){.ai-usage-grid{grid-template-columns:1fr}}.ai-usage-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.9rem;display:flex}.ai-usage-value{color:var(--text-h);font-size:1.3rem;font-weight:700}.ai-usage-label{color:var(--text-muted);text-align:center;font-size:.75rem}.workout-session-page{flex-direction:column;gap:1.5rem;max-width:720px;display:flex}.start-session{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:.75rem;max-width:360px;padding:1.25rem;display:flex}.start-session h2{margin:0;font-size:1.1rem}.start-session label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.start-session select{border:1px solid var(--border);border-radius:6px;padding:.45rem .55rem}.start-session-error{color:var(--color-danger);margin:0;font-size:.85rem}.start-session button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.55rem 1rem;font-weight:600}.start-session button:disabled{opacity:.6;cursor:default}.active-session{flex-direction:column;gap:1rem;display:flex}.active-session-header{border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;display:flex}.active-session-type{text-transform:capitalize;margin-right:.75rem;font-weight:600}.active-session-elapsed{color:var(--text-muted);font-size:.9rem}.active-session-finish{border:1px solid var(--color-danger);background:var(--surface);color:var(--color-danger);cursor:pointer;border-radius:6px;padding:.45rem .9rem;font-weight:600}.active-session-finish:disabled{opacity:.6;cursor:default}.active-session-notes{border:1px solid var(--border);border-radius:6px;padding:.5rem .7rem;font-size:.9rem}.active-session-add{gap:.5rem;display:flex}.active-session-add select{border:1px solid var(--border);border-radius:6px;flex:1;padding:.4rem .5rem}.active-session-add button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .9rem}.exercise-logger{border:1px solid var(--border);border-left:3px solid var(--color-primary);background:var(--surface);border-radius:14px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.exercise-logger-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.exercise-logger-header h3{margin:0;font-size:1rem}.exercise-logger-target{color:var(--text-muted);font-size:.8rem}.exercise-logger-sets{flex-direction:column;gap:.25rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.exercise-logger-sets li{align-items:center;gap:.5rem;display:flex}.exercise-logger-sets button{color:var(--color-danger);cursor:pointer;background:0 0;border:none;font-size:.85rem}.exercise-logger-form{gap:.4rem;display:flex}.exercise-logger-form input{border:1px solid var(--border);border-radius:6px;width:70px;padding:.4rem .5rem}.exercise-logger-form button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem}.exercise-logger-error{color:var(--color-danger);margin:0;font-size:.85rem}.exercise-logger-suggestion{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;padding-top:.5rem;display:flex}.exercise-logger-suggestion p{color:var(--text-muted);margin:0;font-size:.82rem}.exercise-logger-no-suggestion,.exercise-logger-rationale{color:var(--text-muted)}.exercise-logger-checking{color:var(--color-primary-dark);font-style:italic}.exercise-logger-cue{color:var(--text-h);font-weight:600}.exercise-logger-suggestion-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.exercise-logger-suggestion-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:.3rem .7rem;font-size:.78rem}.exercise-logger-suggestion-actions button:first-child{border-color:var(--color-primary);color:var(--color-primary-dark);font-weight:600}.exercise-logger-big-row{flex-direction:column;gap:.4rem;display:flex}.exercise-logger-big-btn{cursor:pointer;color:#fff;border:none;border-radius:14px;padding:.9rem;font-size:1.05rem;font-weight:700}.exercise-logger-start{background:var(--color-secondary)}.exercise-logger-finish{background:var(--color-danger);font-variant-numeric:tabular-nums}.exercise-logger-quick-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:.2rem;font-size:.78rem;text-decoration:underline}.rest-timer{background:var(--color-primary-bg);border:1px solid var(--accent-border);border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .8rem;display:flex}.rest-timer-done{background:var(--color-warning-bg);border-color:var(--color-warning)}.rest-timer-label{color:var(--text-muted);font-size:.78rem}.rest-timer-time{font-variant-numeric:tabular-nums;min-width:3.2rem;font-size:1.2rem;font-weight:700}.rest-timer-actions{gap:.3rem;margin-left:auto;display:flex}.rest-timer-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:5px;padding:.25rem .5rem;font-size:.75rem}.session-history h2{margin-bottom:.5rem;font-size:1.05rem}.session-history ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.session-history li{border-bottom:1px solid var(--border);gap:.75rem;padding:.4rem 0;font-size:.85rem;display:flex}.session-history-date{color:var(--text-muted);min-width:110px}.session-history-type{text-transform:capitalize}.session-history-routine{color:var(--text-muted);font-weight:600}.session-history-sets{color:var(--text-muted);margin-left:auto}
