:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0d0f;--color-bg-elevated:#101519;--color-surface:#151b20;--color-surface-hover:#1a2228;--color-border:#263039;--color-border-strong:#34414b;--color-text:#f5f7f8;--color-text-muted:#95a2ab;--color-text-subtle:#6f7b83;--color-accent:#b8f33d;--color-accent-strong:#9bd41d;--color-accent-soft:#b8f33d1f;--color-danger:#ff6b6b;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:clamp(1.25rem, 2vw, 1.5rem);--text-2xl:clamp(2rem, 5vw, 3.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.625rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-pill:999px;--shadow-card:0 18px 50px #00000038;--shadow-accent:0 12px 30px #b8f33d2e;--sidebar-width:17rem;--content-width:90rem;--transition-fast:.16s ease}.recipe-tone--breakfast{--recipe-color:#b8f33d}.recipe-tone--lunch{--recipe-color:#66d9ef}.recipe-tone--dinner{--recipe-color:#ff8a65}.recipe-tone--dessert{--recipe-color:#c792ea}.recipe-tone--snack{--recipe-color:#f6c85f}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);font-family:var(--font-sans);text-rendering:optimizelegibility}body{background:radial-gradient(circle at 72% -10%, #b8f33d14, transparent 28rem), var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}h1,h2,p{margin-top:0}h1{margin-bottom:var(--space-4);font-size:var(--text-2xl);letter-spacing:-.045em;line-height:1}h2{margin-bottom:var(--space-2);font-size:var(--text-xl);letter-spacing:-.025em}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh}.sidebar{z-index:10;width:var(--sidebar-width);gap:var(--space-8);padding:var(--space-6);border-right:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#101519eb;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:var(--space-3);display:flex}.brand__mark{border-radius:var(--radius-md);background:var(--color-accent-soft);width:2.75rem;height:2.75rem;color:var(--color-accent);border:1px solid #b8f33d42;flex:none;place-items:center;display:grid}.brand strong,.brand small{display:block}.brand strong{font-size:var(--text-base);letter-spacing:-.02em}.brand small{color:var(--color-text-muted);margin-top:.1rem;font-size:.68rem}.navigation{display:flex}.navigation--sidebar{gap:var(--space-2);flex-direction:column;flex:1}.navigation__link{align-items:center;gap:var(--space-3);min-height:2.9rem;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;font-weight:650;text-decoration:none;display:flex}.navigation__link:hover{background:var(--color-surface-hover);color:var(--color-text)}.navigation__link.is-active{background:var(--color-accent-soft);color:var(--color-accent);border-color:#b8f33d33}.sidebar__status{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);display:flex}.sidebar__status strong,.sidebar__status span{display:block}.sidebar__status strong{margin-bottom:var(--space-1);font-size:var(--text-xs)}.sidebar__status span{color:var(--color-text-subtle);font-size:.68rem;line-height:1.45}.status-dot{background:var(--color-accent);width:.5rem;height:.5rem;box-shadow:0 0 0 5px var(--color-accent-soft);border-radius:50%;flex:none;margin-top:.2rem}.app-shell__content{min-height:100vh;margin-left:var(--sidebar-width)}.page-container{width:min(100%, var(--content-width));margin:0 auto;padding:clamp(2rem,5vw,5rem)}.page-stack{gap:clamp(2rem,5vw,4.5rem);display:grid}.page-header{max-width:44rem}.eyebrow{margin-bottom:var(--space-4);color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;font-weight:800}.page-header__description,.not-found>p:not(.eyebrow){max-width:38rem;color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:0;line-height:1.65}.empty-state{min-height:22rem;padding:var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(145deg, #ffffff06, transparent 55%), var(--color-bg-elevated);box-shadow:var(--shadow-card);text-align:center;align-content:center;place-items:center;display:grid}.empty-state__icon{width:3.5rem;height:3.5rem;margin-bottom:var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-accent);place-items:center;display:grid}.empty-state p{max-width:32rem;color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.add-button{right:var(--space-6);bottom:var(--space-6);z-index:20;align-items:center;gap:var(--space-2);min-height:3rem;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-accent);box-shadow:var(--shadow-accent);color:#111708;border:0;font-weight:800;display:inline-flex;position:fixed}.add-button:disabled{cursor:not-allowed;filter:saturate(.4);opacity:.5}.navigation--bottom,.mobile-header{display:none}.not-found{max-width:40rem}.button{align-items:center;gap:var(--space-2);min-height:2.8rem;margin-top:var(--space-8);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-weight:700;text-decoration:none;display:inline-flex}.profile-link{flex:none}.mobile-profile-link{border:1px solid var(--color-border);border-radius:var(--radius-md);width:2.75rem;height:2.75rem;color:var(--color-text-muted);place-items:center;display:grid}.mobile-profile-link.is-active{background:var(--color-accent-soft);color:var(--color-accent);border-color:#b8f33d47}.page-stack--compact{gap:clamp(2rem,4vw,3rem)}.form-card{gap:var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);max-width:58rem;box-shadow:var(--shadow-card);padding:clamp(1.5rem,4vw,2.5rem);display:grid}.integration-card{gap:var(--space-6)}.integration-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.integration-card__header h2,.profile-section__description{margin-bottom:0}.profile-section__description{max-width:42rem;color:var(--color-text-muted);line-height:1.6}.integration-status{padding:.4rem var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-xs);flex:none;font-weight:800}.integration-status--connected{background:var(--color-accent-soft);color:var(--color-accent);border-color:#b8f33d4d}.integration-details{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.integration-details div{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.integration-details dt{margin-bottom:var(--space-1);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:700}.integration-details dd{overflow-wrap:anywhere;margin:0;font-weight:700}.form-message{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);margin:0;line-height:1.55}.form-message code{color:var(--color-text)}.form-message--error{color:#ffb0b0;border-color:#ff6b6b59}.profile-form__actions{justify-content:flex-end;display:flex}.button--secondary{cursor:pointer;margin-top:0}.button--secondary:disabled{cursor:wait;opacity:.65}.form-section{gap:var(--space-6);display:grid}.form-section+.form-section{padding-top:var(--space-8);border-top:1px solid var(--color-border)}.form-section__heading h2{margin-bottom:var(--space-2)}.form-section__heading p,.muted-text{color:var(--color-text-muted);margin-bottom:0;line-height:1.6}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field{align-content:start;gap:var(--space-2);display:grid}.field--wide{grid-column:1/-1}.field__label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:700}.form-control{width:100%;min-height:3rem;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.form-control:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.form-control[aria-invalid=true]{border-color:var(--color-danger)}.field__error{color:var(--color-danger);font-size:var(--text-sm);margin:0;line-height:1.45}.height-fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.height-fields label{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.form-actions{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3rem;padding-top:var(--space-6);border-top:1px solid var(--color-border);display:flex}.primary-button{min-height:3rem;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--color-accent);color:#111708;cursor:pointer;border:0;font-weight:800}.primary-button:disabled{cursor:wait;opacity:.65}.save-success{color:var(--color-accent);font-size:var(--text-sm);margin:0;font-weight:700}.alert{max-width:58rem;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.activity-toolbar{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.activity-filter{width:min(100%,20rem)}.activity-list,.agenda-list{gap:var(--space-3);display:grid}.activity-card{align-items:center;gap:var(--space-4);min-height:5rem;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-left:3px solid var(--sport-color,var(--color-border-strong));border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);grid-template-columns:auto minmax(0,1fr) auto auto;text-decoration:none;display:grid}.activity-card:hover,.agenda-item:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-1px)}.activity-card__icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sport-color,var(--color-accent)) 14%, transparent);width:2.5rem;height:2.5rem;color:var(--sport-color,var(--color-accent));place-items:center;display:grid}.activity-card__body,.activity-card__heading,.activity-card__metrics{display:flex}.activity-card__body{gap:var(--space-1);flex-direction:column;min-width:0}.activity-card__heading{align-items:center;gap:var(--space-2)}.activity-card__heading strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sport-label{padding:.2rem var(--space-2);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--sport-color,var(--color-accent)) 12%, transparent);color:var(--sport-color,var(--color-accent));font-size:var(--text-xs);font-weight:750}.activity-card__date,.activity-card__metrics{color:var(--color-text-muted);font-size:var(--text-sm)}.activity-card__metrics{gap:var(--space-5);font-variant-numeric:tabular-nums}.activity-card__arrow{color:var(--color-text-subtle)}.sport-tone--rowing{--sport-color:#66d9ef}.sport-tone--ride{--sport-color:#f6c85f}.sport-tone--walk{--sport-color:#8bd17c}.sport-tone--run{--sport-color:#ff8a65}.sport-tone--workout{--sport-color:#c792ea}.sport-tone--other{--sport-color:#95a2ab}.loading-state,.back-link{align-items:center;gap:var(--space-2);color:var(--color-text-muted);display:inline-flex}.back-link{width:fit-content;min-height:2.75rem;font-weight:700;text-decoration:none}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.load-more-button{justify-self:center}.activity-detail__header p:last-child{color:var(--color-text-muted);margin:0}.activity-detail--rowing{gap:clamp(1.5rem,3vw,2.5rem);width:min(100%,96rem)}.rowing-overview__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.rowing-overview__header h1,.rowing-overview__header p{margin:0}.rowing-overview__header .eyebrow{margin-bottom:var(--space-2)}.rowing-records,.rowing-recent{gap:var(--space-5);display:grid}.rowing-record-grid{gap:var(--space-3);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.rowing-record-card__link{color:inherit;text-decoration:none;display:block}.rowing-record-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);gap:.45rem;min-height:9rem;padding:1rem;transition:border-color .16s,transform .16s;display:grid}.rowing-record-card--complete{border-color:color-mix(in srgb, var(--color-accent) 28%, var(--color-border))}.rowing-record-card__link:hover .rowing-record-card--complete{border-color:var(--color-accent);transform:translateY(-2px)}.rowing-record-card__heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.rowing-record-card h3{font-size:var(--text-sm);margin:0}.rowing-record-card__date,.rowing-record-card__secondary,.rowing-record-card__empty{color:var(--color-text-subtle);font-size:var(--text-xs)}.rowing-record-card__primary{color:var(--color-text);font-variant-numeric:tabular-nums;align-self:end;font-size:clamp(1.1rem,1.5vw,1.45rem)}.rowing-record-card__empty{align-self:center}.rowing-activity-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.rowing-activity-row{align-items:center;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:inherit;grid-template-columns:minmax(12rem,1fr) auto;padding:1rem 1.1rem;text-decoration:none;display:grid}.rowing-activity-row:hover{border-color:var(--color-border-strong);background:var(--color-bg)}.rowing-activity-row__title{gap:.25rem;display:grid}.rowing-activity-row__title span{color:var(--color-text-subtle);font-size:var(--text-sm)}.rowing-activity-row__metrics{gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;text-align:right;grid-template-columns:repeat(4,minmax(5.5rem,auto));display:grid}.metric-grid--rowing{grid-template-columns:repeat(4,minmax(10rem,1fr))}.metric-grid--rowing dd{font-size:clamp(1.35rem,2vw,2rem)}.rowing-primary-card{padding:clamp(1.25rem,3vw,2.5rem)}.rowing-primary-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:62rem}.rowing-primary-table col:first-child{width:10rem}.rowing-primary-table col:not(:first-child){width:8rem}.rowing-primary-table th,.rowing-primary-table td{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;min-width:7rem;padding:.9rem 1rem}.rowing-primary-table th:first-child,.rowing-primary-table td:first-child{text-align:left}.rowing-primary-table thead th{color:var(--color-text-subtle);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.rowing-primary-table tbody tr+tr th,.rowing-primary-table tbody tr+tr td{border-top:1px solid var(--color-border)}.rowing-primary-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--color-bg) 68%, transparent)}.rowing-primary-table .rowing-split-row--total{background:color-mix(in srgb, var(--color-accent-soft) 42%, var(--color-bg-elevated))}.rowing-primary-table .rowing-split-row--total th,.rowing-primary-table .rowing-split-row--total td{color:var(--color-text);font-weight:800}.rowing-performance-chart{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);padding:clamp(1.25rem,3vw,2.5rem)}.rowing-performance-chart__header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-5);display:flex}.rowing-performance-chart__header h2,.rowing-performance-chart__header p{margin:0}.rowing-performance-chart__header .eyebrow{margin-bottom:var(--space-2)}.rowing-performance-chart__legend{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.chart-toggle{border:1px solid var(--color-border);min-height:2.5rem;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-sm);background:0 0;border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .75rem;display:inline-flex}.chart-toggle.is-active{border-color:var(--color-border-strong);background:var(--color-bg);color:var(--color-text)}.chart-toggle.is-selected{outline:2px solid color-mix(in srgb, var(--color-accent) 48%, transparent);outline-offset:2px}.chart-toggle__swatch{border-radius:50%;width:.65rem;height:.65rem}.rowing-performance-chart__canvas{min-height:22rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.rowing-performance-chart__canvas svg{width:100%;min-height:21rem;color:var(--color-text-muted);display:block}.rowing-performance-chart__empty{min-height:18rem;color:var(--color-text-muted);text-align:center;place-items:center;margin:0;display:grid}.rowing-performance-chart__note{margin:var(--space-3) 0 0;color:var(--color-text-subtle);font-size:var(--text-sm)}@media (width<=1000px){.rowing-record-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.rowing-overview__header{display:block}.rowing-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rowing-activity-row{grid-template-columns:1fr}.rowing-activity-row__metrics{gap:var(--space-2);text-align:left;grid-template-columns:repeat(2,minmax(0,1fr))}.rowing-performance-chart__header{display:block}.rowing-performance-chart__legend{margin-top:var(--space-4);justify-content:flex-start}}.technical-details{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.technical-details summary{cursor:pointer;padding:var(--space-5);color:var(--color-text-muted);font-weight:700}.technical-details__body{gap:var(--space-5);padding:0 var(--space-5) var(--space-5);display:grid}@media (width<=900px){.metric-grid--rowing{grid-template-columns:repeat(2,minmax(10rem,1fr))}.chart-grid--rowing{grid-template-columns:1fr}}@media (width<=640px){.metric-grid--rowing{grid-template-columns:1fr 1fr}.metric-grid--rowing>div{padding:var(--space-4)}.metric-grid--rowing dd{font-size:var(--text-lg)}}.metric-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0;display:grid}.metric-grid>div,.detail-card,.calendar-card,.calendar-agenda{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.metric-grid>div{padding:var(--space-5)}.metric-grid dt,.detail-list dt{color:var(--color-text-subtle);font-size:var(--text-xs);text-transform:uppercase;font-weight:700}.metric-grid dd{margin:var(--space-2) 0 0;font-size:var(--text-xl);font-weight:800}.detail-card,.calendar-agenda{padding:clamp(1.25rem,3vw,2rem)}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.section-heading h2,.section-heading p{margin:0}.rowing-splits-summary{gap:var(--space-4);margin-bottom:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.rowing-splits-summary strong{color:var(--color-text)}.table-scroll{overflow-x:auto}.rowing-splits-table{min-width:36rem}.chart-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));display:grid}.chart{min-width:0;color:var(--color-text-muted);margin:0}.chart figcaption{margin-bottom:var(--space-2);color:var(--color-text)}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart-empty{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted)}@media (width<=640px){.section-heading{display:block}.section-heading>p{margin-top:var(--space-2)}}.detail-list{gap:var(--space-3);margin:0;display:grid}.detail-list>div{gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:minmax(8rem,.35fr) 1fr;display:grid}.detail-list dd{overflow-wrap:anywhere;margin:0}.calendar-card{overflow:hidden}.calendar-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:3rem 1fr 3rem;align-items:center;display:grid}.calendar-header h2{text-align:center;margin:0}.calendar-header button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:2.75rem;min-height:2.75rem;color:var(--color-text);cursor:pointer;place-items:center;display:grid}.calendar-loading{padding:var(--space-5)}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{padding:var(--space-3);color:var(--color-text-subtle);font-size:var(--text-xs);text-align:center;font-weight:800}.calendar-day{min-height:7rem;padding:var(--space-2);border:0;border-top:1px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;background:0 0;overflow:hidden}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover,.calendar-day.is-selected{background:var(--color-surface-hover)}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.calendar-day--outside{color:var(--color-text-subtle);opacity:.48}.calendar-day__number{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:750;display:block}.calendar-day__activities{gap:var(--space-1);display:grid}.calendar-event{padding:.2rem var(--space-1);border-left:2px solid var(--sport-color);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.calendar-more{color:var(--color-text-subtle);font-size:.68rem}.agenda-item{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3.5rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left:3px solid var(--sport-color);border-radius:var(--radius-sm);text-decoration:none;display:flex}.agenda-item span:first-child{gap:var(--space-1);display:grid}.agenda-item small,.agenda-item>span:last-child{color:var(--color-text-muted)}@media (width<=840px){.sidebar{display:none}.app-shell__content{margin-left:0}.mobile-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0d0fe0;justify-content:space-between;align-items:center;display:flex}.page-container{padding:var(--space-8) var(--space-5) 8.5rem}.navigation--bottom{z-index:30;padding:var(--space-2) max(var(--space-2), env(safe-area-inset-right)) max(var(--space-2), env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#101519f5;grid-template-columns:repeat(6,minmax(3.5rem,1fr));display:grid;position:fixed;inset:auto 0 0;overflow-x:auto}.navigation--bottom .navigation__link{min-height:3.8rem;padding:var(--space-2);border-radius:var(--radius-sm);text-align:center;white-space:nowrap;flex-direction:column;justify-content:center;gap:.25rem;font-size:.58rem}.navigation--bottom .navigation__link span{text-overflow:ellipsis;max-width:4.2rem;overflow:hidden}.add-button{right:var(--space-4);bottom:5.8rem}.form-grid,.integration-details{grid-template-columns:1fr}.activity-card{padding:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.activity-card__metrics{grid-column:2/-1;justify-content:flex-start}.activity-card__arrow{margin-top:var(--space-2);grid-area:1/3}.calendar-card{overflow-x:auto}.calendar-header,.calendar-weekdays,.calendar-grid{min-width:44rem}.calendar-day{min-height:6rem}.field--wide{grid-column:auto}}@media (width<=600px){.calendar-card{overflow:visible}.calendar-header,.calendar-weekdays,.calendar-grid{min-width:0}.calendar-weekdays span{padding:var(--space-2) 0;font-size:.65rem}.calendar-day{min-height:4.25rem;padding:.35rem}.calendar-day__number{font-size:var(--text-xs);margin-bottom:.35rem}.calendar-day__activities{flex-wrap:wrap;gap:.2rem;display:flex}.calendar-event{background:var(--sport-color);color:#0000;border:0;border-radius:50%;width:.45rem;height:.45rem;padding:0;font-size:0;overflow:hidden}.calendar-more{display:none}.agenda-item{flex-direction:column;align-items:flex-start}}@media (width<=460px){.brand small{display:none}.empty-state{min-height:18rem;padding:var(--space-6)}.add-button span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.add-button{justify-content:center;width:3rem;padding:0}.form-card{gap:var(--space-8)}.integration-card__header{flex-direction:column}.profile-form__actions .button{justify-content:center;width:100%}.form-actions{flex-direction:column;align-items:stretch}.primary-button{width:100%}}.recipes-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));display:grid}.recipes-grid__heading{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);font-size:var(--text-lg);color:var(--color-text-muted);display:flex}.recipes-grid__cards{gap:var(--space-5);display:grid}.recipe-card{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-card);color:inherit;transition:transform var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);text-decoration:none;display:grid;position:relative}.recipe-card:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}.recipe-card__favorite{top:var(--space-4);right:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:2.25rem;height:2.25rem;color:var(--color-text-subtle);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);place-items:center;display:grid;position:absolute}.recipe-card__favorite:hover{color:var(--color-text);border-color:var(--color-border-strong)}.recipe-card__body{gap:var(--space-2);display:grid}.recipe-card__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.recipe-pill--recipe{padding:.2rem var(--space-2);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--recipe-color,var(--color-accent)) 14%, transparent);color:var(--recipe-color,var(--color-accent));font-size:var(--text-xs);text-transform:capitalize;font-weight:750}.recipe-card__metrics{align-items:center;gap:var(--space-3);color:var(--color-text-subtle);font-size:var(--text-xs);font-variant-numeric:tabular-nums;display:flex}.recipe-card__title{font-size:var(--text-base);margin:0;font-weight:700;line-height:1.25}.recipe-card__summary{color:var(--color-text-muted);font-size:var(--text-sm);margin:0;line-height:1.5}.recipe-card__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.recipe-tag{padding:.15rem var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:650}.recipe-tag--accent{background:var(--recipe-tone--breakfast,var(--color-accent-soft));color:var(--recipe-color,var(--color-accent))}.recipes-page{max-width:60rem}.recipes-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.recipes-search{align-items:center;gap:var(--space-3);flex:1;justify-self:start;min-width:22rem;display:flex}.recipes-search__input{min-width:0;min-height:3rem;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);flex:1}.recipes-search__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.recipes-toolbar__summary{color:var(--color-text-muted);font-size:var(--text-sm);white-space:nowrap;font-weight:700}.recipe-categories{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.recipe-category-chip{align-items:center;gap:var(--space-2);padding:.4rem var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;font-weight:700;display:inline-flex}.recipe-category-chip:hover{background:var(--color-surface-hover);color:var(--color-text)}.recipe-category-chip.is-active{background:var(--color-accent-soft);color:var(--color-accent);border-color:#b8f33d33}.recipe-category-chip__count{padding:.1rem var(--space-2);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:800}.recipes-empty{color:var(--color-text-muted);font-style:italic}.recipe-detail{max-width:52rem}.recipe-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-4);display:flex}.recipe-detail__favorite{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;width:2.75rem;height:2.75rem;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);flex:none;place-items:center;display:grid}.recipe-detail__favorite:hover{border-color:var(--color-border-strong);color:var(--recipe-tone--dessert,var(--color-accent))}.recipe-detail__summary{color:var(--color-text-muted);font-size:var(--text-lg);margin-bottom:var(--space-6);line-height:1.6}.recipe-metrics{gap:var(--space-4);margin-bottom:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.recipe-metrics__item{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);text-align:center;display:grid}.recipe-metrics__item dt{color:var(--color-text-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:700}.recipe-metrics__item dd{font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin:0;font-weight:800}.recipe-detail__body{gap:var(--space-8);display:grid}.recipe-section h2{font-size:var(--text-lg)}.recipe-ingredients{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.recipe-ingredient{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.recipe-ingredient.is-checked .recipe-ingredient__text{color:var(--color-text-subtle)}.recipe-ingredient__check{background:var(--color-border-strong);width:1.4rem;height:1.4rem;transition:background var(--transition-fast);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.recipe-ingredient__text{font-size:var(--text-sm);margin:0}.recipe-steps{counter-reset:step;gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.recipe-step{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);grid-template-columns:auto 1fr;display:grid}.recipe-step__index{border-radius:var(--radius-sm);background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-accent);font-weight:800;font-size:var(--text-sm);flex:none;place-items:center;display:grid}.recipe-step__text{margin:0;line-height:1.6}.categories-page__title{margin-bottom:var(--space-8)}.category__head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.category__heading{align-items:center;gap:var(--space-2);font-size:var(--text-lg);margin:0;display:flex}.category__count{color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:700}.category__head a{color:var(--color-accent);font-weight:700;text-decoration:none}.category__head a:hover{text-decoration:underline}.categories-grid{gap:var(--space-4);display:grid}.saved-empty{color:var(--color-text-muted);font-style:italic}.profile-card{gap:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-card);padding:clamp(1.5rem,4vw,2.5rem);display:grid}.profile-card h2{font-size:var(--text-lg)}.profile-card__text{color:var(--color-text-muted);margin:0;line-height:1.65}.profile-preferences{gap:var(--space-4);margin:0;display:grid}.profile-preference{gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:auto minmax(0,1fr);display:grid}.profile-preference dt{align-items:center;gap:var(--space-2);color:var(--color-text-subtle);font-size:var(--text-sm);font-weight:700;display:flex}.profile-preference dd{font-size:var(--text-lg);margin:0;font-weight:800}.dashboard{max-width:60rem}.hero{gap:var(--space-6);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-lg);background:linear-gradient(145deg, #b8f33d14, transparent 60%), var(--color-bg-elevated);box-shadow:var(--shadow-card);padding:clamp(1.5rem,4vw,2.5rem);display:grid}.hero__mark{border-radius:var(--radius-md);background:var(--color-accent-soft);width:3.5rem;height:3.5rem;color:var(--color-accent);border:1px solid #b8f33d42;place-items:center;display:grid}.hero__title{margin-bottom:var(--space-2);font-size:var(--text-xl)}.hero__text{margin-bottom:var(--space-5);max-width:38rem;color:var(--color-text-muted);line-height:1.65}.hero__link{align-items:center;gap:var(--space-2);padding:.5rem var(--space-4);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);border:1px solid #b8f33d4d;font-weight:800;text-decoration:none;display:inline-flex}.hero__link:hover{background:var(--color-accent);color:#111708}.loading-state{color:var(--color-text-muted)}.back-link{align-items:center;gap:var(--space-2);margin-bottom:var(--space-5);color:var(--color-accent);font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.recipe-detail__not-found,.saved-empty{color:var(--color-text-muted)}.alert{max-width:58rem;padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);margin-bottom:var(--space-5)}.alert--error{color:#ffb0b0;border-color:#ff6b6b59}@media (width<=840px){.recipe-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.recipes-toolbar{flex-direction:column;align-items:stretch}.recipes-search{min-width:0}}@media (width<=600px){.recipe-metrics{grid-template-columns:1fr}.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
