:root{--raw-soft-dark-aqua: #7DD3FC;--raw-soft-dark-sky: #93C5FD;--raw-soft-dark-mint: #A7F3D0;--raw-soft-dark-peach: #FDBA74;--raw-soft-dark-sunshine: #FCD34D;--raw-soft-dark-lavender: #C4B5FD;--raw-soft-dark-lime: #D9F99D;--raw-soft-dark-periwinkle: #E0E7FF;--raw-soft-dark-blush: #FBCFE8;--raw-soft-dark-sand: #FEF3C7;--raw-soft-light-aqua: #4CC9D8;--raw-soft-light-sky: #7DB7F0;--raw-soft-light-mint: #7ED8B5;--raw-soft-light-peach: #FFC79C;--raw-soft-light-sunshine: #FFD166;--raw-soft-light-lavender: #CDB4FF;--raw-soft-light-lime: #D9F99D;--raw-soft-light-periwinkle: #E4E7FF;--raw-soft-light-blush: #FFD6E0;--raw-soft-light-sand: #FFF1D6;--raw-soft-light-aqua-deep: #147D8F;--raw-bold-balance-deep: #00806F;--raw-bold-energy: #FF5A36;--raw-bold-focus: #FFC107;--raw-bold-growth: #22C55E;--raw-bold-balance: #00BFA6;--raw-bold-strength: #2563EB;--raw-bold-recovery: #7C3AED;--raw-bold-neutral: #E5E7EB;--raw-dark-bg: #0F172A;--raw-dark-surface: #1E293B;--raw-dark-raised: #334155;--raw-dark-line: #475569;--raw-dark-muted: #64748B;--raw-dark-secondary: #94A3B8;--raw-dark-text: #E2E8F0;--raw-dark-sunken: #0A1120;--raw-light-text: #1F1F1F;--raw-light-secondary: #6B7280;--raw-light-muted: #7C8594;--raw-light-border: #E5E7EB;--raw-light-sunken: #F3F4F6;--raw-light-surface: #FFFFFF;--raw-light-bg: #F7F8FA;--raw-light-on-primary: #F8FBFB;--raw-status-success-bright: #86EFAC;--raw-status-warning-bright: #FCD34D;--raw-status-danger-bright: #FCA5A5;--raw-status-success-deep: #15803D;--raw-status-warning-deep: #B45309;--raw-status-danger-deep: #DC2626}:root{--bg: var(--raw-dark-bg);--surface: var(--raw-dark-surface);--surface-raised: var(--raw-dark-raised);--surface-sunken: var(--raw-dark-sunken);--border: var(--raw-dark-raised);--text: var(--raw-dark-text);--text-secondary: var(--raw-dark-secondary);--text-muted: var(--raw-dark-muted);--text-on-primary: var(--raw-dark-bg);--color-primary: var(--raw-soft-dark-aqua);--color-primary-soft: color-mix(in srgb, var(--color-primary) 15%, var(--surface));--color-primary-strong: var(--color-primary);--sem-nutrition: var(--raw-soft-dark-mint);--sem-workout: var(--raw-soft-dark-sky);--sem-wellness: var(--raw-soft-dark-lavender);--sem-energy: var(--raw-soft-dark-peach);--sem-goal: var(--raw-soft-dark-sunshine);--sem-insight: var(--raw-soft-dark-blush);--sem-info: var(--raw-soft-dark-periwinkle);--sem-nutrition-text: var(--sem-nutrition);--sem-energy-text: var(--sem-energy);--sem-goal-text: var(--sem-goal);--sem-insight-text: var(--sem-insight);--success: var(--raw-status-success-bright);--warning: var(--raw-status-warning-bright);--danger: var(--raw-status-danger-bright);--chart-1: var(--raw-soft-dark-aqua);--chart-2: var(--raw-soft-dark-peach);--chart-3: var(--raw-soft-dark-mint);--chart-4: var(--raw-soft-dark-lavender);--chart-5: var(--raw-soft-dark-sunshine);--chart-6: var(--raw-soft-dark-blush);--chart-grid: color-mix(in srgb, var(--border) 55%, transparent);--chart-track: color-mix(in srgb, var(--surface-raised) 70%, transparent)}html[data-mode=dark][data-palette=soft]{--bg: var(--raw-dark-bg);--surface: var(--raw-dark-surface);--surface-raised: var(--raw-dark-raised);--surface-sunken: var(--raw-dark-sunken);--border: var(--raw-dark-raised);--text: var(--raw-dark-text);--text-secondary: var(--raw-dark-secondary);--text-muted: var(--raw-dark-muted);--text-on-primary: var(--raw-dark-bg);--color-primary: var(--raw-soft-dark-aqua);--color-primary-soft: color-mix(in srgb, var(--color-primary) 15%, var(--surface));--color-primary-strong: var(--color-primary);--sem-nutrition: var(--raw-soft-dark-mint);--sem-workout: var(--raw-soft-dark-sky);--sem-wellness: var(--raw-soft-dark-lavender);--sem-energy: var(--raw-soft-dark-peach);--sem-goal: var(--raw-soft-dark-sunshine);--sem-insight: var(--raw-soft-dark-blush);--sem-info: var(--raw-soft-dark-periwinkle);--sem-nutrition-text: var(--sem-nutrition);--sem-energy-text: var(--sem-energy);--sem-goal-text: var(--sem-goal);--sem-insight-text: var(--sem-insight);--success: var(--raw-status-success-bright);--warning: var(--raw-status-warning-bright);--danger: var(--raw-status-danger-bright);--chart-1: var(--raw-soft-dark-aqua);--chart-2: var(--raw-soft-dark-peach);--chart-3: var(--raw-soft-dark-mint);--chart-4: var(--raw-soft-dark-lavender);--chart-5: var(--raw-soft-dark-sunshine);--chart-6: var(--raw-soft-dark-blush);--chart-grid: color-mix(in srgb, var(--border) 55%, transparent);--chart-track: color-mix(in srgb, var(--surface-raised) 70%, transparent)}html[data-mode=dark][data-palette=bold]{--bg: var(--raw-dark-bg);--surface: var(--raw-dark-surface);--surface-raised: var(--raw-dark-raised);--surface-sunken: var(--raw-dark-sunken);--border: var(--raw-dark-raised);--text: var(--raw-dark-text);--text-secondary: var(--raw-dark-secondary);--text-muted: var(--raw-dark-muted);--text-on-primary: var(--raw-dark-bg);--color-primary: var(--raw-bold-balance);--color-primary-soft: color-mix(in srgb, var(--color-primary) 18%, var(--surface));--color-primary-strong: var(--color-primary);--sem-nutrition: var(--raw-bold-growth);--sem-workout: var(--raw-bold-strength);--sem-wellness: var(--raw-bold-recovery);--sem-energy: var(--raw-bold-energy);--sem-goal: var(--raw-bold-focus);--sem-insight: color-mix(in srgb, var(--raw-bold-recovery) 62%, #FFFFFF);--sem-info: color-mix(in srgb, var(--raw-bold-strength) 62%, #FFFFFF);--sem-nutrition-text: var(--sem-nutrition);--sem-energy-text: var(--sem-energy);--sem-goal-text: var(--sem-goal);--sem-insight-text: var(--sem-insight);--success: var(--raw-bold-growth);--warning: var(--raw-bold-focus);--danger: var(--raw-bold-energy);--chart-1: var(--raw-bold-strength);--chart-2: var(--raw-bold-energy);--chart-3: var(--raw-bold-growth);--chart-4: var(--raw-bold-recovery);--chart-5: var(--raw-bold-focus);--chart-6: var(--raw-bold-balance);--chart-grid: color-mix(in srgb, var(--border) 55%, transparent);--chart-track: color-mix(in srgb, var(--surface-raised) 70%, transparent)}html[data-mode=light][data-palette=soft]{--bg: var(--raw-light-bg);--surface: var(--raw-light-surface);--surface-raised: var(--raw-light-surface);--surface-sunken: var(--raw-light-sunken);--border: var(--raw-light-border);--text: var(--raw-light-text);--text-secondary: var(--raw-light-secondary);--text-muted: var(--raw-light-muted);--text-on-primary: var(--raw-light-on-primary);--color-primary: var(--raw-soft-light-aqua);--color-primary-soft: color-mix(in srgb, var(--color-primary) 14%, var(--surface));--color-primary-strong: var(--raw-soft-light-aqua-deep);--sem-nutrition: var(--raw-soft-light-mint);--sem-workout: var(--raw-soft-light-sky);--sem-wellness: var(--raw-soft-light-lavender);--sem-energy: var(--raw-soft-light-peach);--sem-goal: var(--raw-soft-light-sunshine);--sem-insight: var(--raw-soft-light-blush);--sem-info: var(--raw-soft-light-periwinkle);--sem-nutrition-text: color-mix(in srgb, var(--sem-nutrition) 55%, black);--sem-energy-text: color-mix(in srgb, var(--sem-energy) 55%, black);--sem-goal-text: color-mix(in srgb, var(--sem-goal) 55%, black);--sem-insight-text: color-mix(in srgb, var(--sem-insight) 55%, black);--success: var(--raw-status-success-deep);--warning: var(--raw-status-warning-deep);--danger: var(--raw-status-danger-deep);--chart-1: var(--raw-soft-light-aqua);--chart-2: var(--raw-soft-light-peach);--chart-3: var(--raw-soft-light-mint);--chart-4: var(--raw-soft-light-lavender);--chart-5: var(--raw-soft-light-sunshine);--chart-6: var(--raw-soft-light-sky);--chart-grid: color-mix(in srgb, var(--border) 85%, transparent);--chart-track: var(--raw-light-sunken)}html[data-mode=light][data-palette=bold]{--bg: var(--raw-light-bg);--surface: var(--raw-light-surface);--surface-raised: var(--raw-light-surface);--surface-sunken: var(--raw-light-sunken);--border: var(--raw-light-border);--text: var(--raw-light-text);--text-secondary: var(--raw-light-secondary);--text-muted: var(--raw-light-muted);--text-on-primary: var(--raw-light-on-primary);--color-primary: var(--raw-bold-balance);--color-primary-soft: color-mix(in srgb, var(--color-primary) 12%, var(--surface));--color-primary-strong: var(--raw-bold-balance-deep);--sem-nutrition: var(--raw-bold-growth);--sem-workout: var(--raw-bold-strength);--sem-wellness: var(--raw-bold-recovery);--sem-energy: var(--raw-bold-energy);--sem-goal: var(--raw-bold-focus);--sem-insight: color-mix(in srgb, var(--raw-bold-recovery) 78%, #FFFFFF);--sem-info: color-mix(in srgb, var(--raw-bold-strength) 78%, #FFFFFF);--sem-nutrition-text: var(--sem-nutrition);--sem-energy-text: var(--sem-energy);--sem-goal-text: color-mix(in srgb, var(--sem-goal) 55%, black);--sem-insight-text: color-mix(in srgb, var(--raw-bold-recovery) 70%, black);--success: var(--raw-status-success-deep);--warning: var(--raw-status-warning-deep);--danger: var(--raw-status-danger-deep);--chart-1: var(--raw-bold-strength);--chart-2: var(--raw-bold-energy);--chart-3: var(--raw-bold-growth);--chart-4: var(--raw-bold-recovery);--chart-5: var(--raw-bold-focus);--chart-6: var(--raw-bold-balance);--chart-grid: color-mix(in srgb, var(--border) 85%, transparent);--chart-track: var(--raw-light-sunken)}:root{--font-sans: "Hanken Grotesk", -apple-system, "Segoe UI", Roboto, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 999px;--transition: all .25s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 10px rgba(0, 0, 0, .36);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .46)}html[data-mode=light]{--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12)}*{margin:0}html{-webkit-text-size-adjust:100%}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{list-style:none;padding:0}body{font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:11px var(--space-5);font-family:inherit;font-size:var(--text-base);font-weight:600;line-height:1;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;transition:var(--transition);-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:active{transform:translateY(1px)}.btn svg{width:20px;height:20px;flex:0 0 auto}.btn--primary{background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.btn--primary:hover{background:color-mix(in srgb,var(--color-primary) 88%,var(--text))}.btn--secondary{background:var(--surface-raised);color:var(--text);border-color:var(--border)}.btn--secondary:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--surface-raised));border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.btn--danger{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.btn--danger:hover{background:color-mix(in srgb,var(--danger) 22%,var(--surface))}.btn--icon{padding:0;width:40px;height:40px;color:var(--text-secondary);border-radius:var(--radius-md)}.btn--icon:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.btn--icon svg{width:22px;height:22px}.btn--sm{padding:7px var(--space-4);font-size:var(--text-sm)}.btn--sm.btn--icon{width:32px;height:32px;padding:0}.btn--sm svg{width:18px;height:18px}.btn--block{display:flex;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}html[data-mode=light] .card{border-color:transparent;box-shadow:var(--shadow-md)}.card__title{font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--text)}.card__subtitle{margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.card>*+*{margin-top:var(--space-4)}.card>.card__subtitle{margin-top:2px}.stat-card{--accent: var(--color-primary);position:relative;display:flex;flex-direction:column;gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);overflow:hidden}html[data-mode=light] .stat-card{border-color:transparent;box-shadow:var(--shadow-md)}.stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent);opacity:.9}.stat-card__chip{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:var(--space-1);border-radius:var(--radius-md);color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.stat-card__chip svg{width:18px;height:18px}.stat-card__value{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--text)}.stat-card__label{font-size:var(--text-sm);color:var(--text-muted)}.stat-card__delta{display:inline-flex;align-items:center;gap:4px;margin-top:2px;font-size:var(--text-xs);font-weight:500;color:var(--text-secondary)}.stat-card__delta.is-up{color:var(--success)}.stat-card__delta.is-down{color:var(--danger)}.stat-card__delta.is-up:before{content:"↑";font-weight:700}.stat-card__delta.is-down:before{content:"↓";font-weight:700}.input{display:block;width:100%;padding:11px var(--space-4);font-family:inherit;font-size:var(--text-base);color:var(--text);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition)}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--border))}.input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.field__label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.field__hint{display:block;margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-muted)}.search{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full);transition:var(--transition)}.search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.search svg{width:20px;height:20px;flex:0 0 auto;color:var(--text-muted)}.search__input{flex:1 1 auto;min-width:0;padding:11px 0;font-family:inherit;font-size:var(--text-base);color:var(--text);background:transparent;border:none;outline:none}.search__input::placeholder{color:var(--text-muted)}.chip-row{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.chip-row::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px var(--space-4);font-size:var(--text-sm);font-weight:500;white-space:nowrap;color:var(--text-secondary);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition)}.chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border))}.chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chip--active{color:var(--text-on-primary);background:var(--color-primary);border-color:var(--color-primary)}.chip--active:hover{color:var(--text-on-primary)}.badge{--badge-accent: var(--color-primary);display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:var(--text-xs);font-weight:600;line-height:1.4;color:var(--text);background:color-mix(in srgb,var(--badge-accent) 16%,var(--surface));border-radius:var(--radius-full)}.badge svg{width:13px;height:13px;color:var(--badge-accent)}.badge--nutrition{--badge-accent: var(--sem-nutrition)}.badge--workout{--badge-accent: var(--sem-workout)}.badge--wellness{--badge-accent: var(--sem-wellness)}.badge--energy{--badge-accent: var(--sem-energy)}.badge--goal{--badge-accent: var(--sem-goal)}.badge--insight{--badge-accent: var(--sem-insight)}.badge--info{--badge-accent: var(--sem-info)}.badge--success{--badge-accent: var(--success)}.badge--warning{--badge-accent: var(--warning)}.badge--danger{--badge-accent: var(--danger)}.badge--ai{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:var(--text-on-primary);background:var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm)}.badge--ai svg{width:14px;height:14px;color:inherit}.tabs{display:flex;gap:var(--space-5);border-bottom:1px solid var(--border)}.tabs__item{position:relative;padding:var(--space-3) 0;font-size:var(--text-base);font-weight:500;color:var(--text-muted);cursor:pointer;transition:var(--transition)}.tabs__item:hover{color:var(--text)}.tabs__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tabs__item.is-active{color:var(--text);font-weight:600}.tabs__item.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-primary-strong);border-radius:var(--radius-full)}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full)}.segmented__btn{padding:6px var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition)}.segmented__btn:hover{color:var(--text)}.segmented__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.segmented__btn.is-active{background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.list-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}html[data-mode=light] .list-group{border-color:transparent;box-shadow:var(--shadow-md)}.list-group>.list-row+.list-row{border-top:1px solid var(--border)}.list-row{--row-accent: var(--color-primary);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text);transition:var(--transition)}a.list-row{cursor:pointer}a.list-row:hover{background:color-mix(in srgb,var(--color-primary) 7%,var(--surface))}a.list-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.list-row__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-full);color:var(--row-accent);background:color-mix(in srgb,var(--row-accent) 16%,var(--surface))}.list-row__icon svg{width:20px;height:20px}.list-row__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.list-row__body>.stack{margin-top:var(--space-3)}.list-row__title{font-size:var(--text-base);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row__subtitle{font-size:var(--text-sm);color:var(--text-muted)}.list-row__value{flex:0 0 auto;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.list-row__chevron{flex:0 0 auto;width:20px;height:20px;color:var(--text-muted)}.accordion{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}html[data-mode=light] .accordion{border-color:transparent;box-shadow:var(--shadow-md)}.accordion__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);font-size:var(--text-base);font-weight:600;color:var(--text);cursor:pointer;list-style:none;transition:var(--transition)}.accordion__summary::-webkit-details-marker{display:none}.accordion__summary:hover{background:color-mix(in srgb,var(--color-primary) 7%,var(--surface))}.accordion__summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.accordion__chevron{width:20px;height:20px;flex:0 0 auto;color:var(--text-muted);transition:transform var(--transition)}.accordion[open] .accordion__chevron{transform:rotate(180deg)}.accordion__body{padding:0 var(--space-4) var(--space-4);font-size:var(--text-base);color:var(--text-secondary)}.toggle{display:inline-flex;align-items:center;cursor:pointer}.toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.toggle__track{position:relative;display:inline-block;width:46px;height:28px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-full);transition:var(--transition)}.toggle__knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:var(--transition)}.toggle__input:checked+.toggle__track{background:var(--color-primary);border-color:var(--color-primary)}.toggle__input:checked+.toggle__track .toggle__knob{transform:translate(18px);background:var(--text-on-primary)}.toggle__input:focus-visible+.toggle__track{outline:2px solid var(--color-primary);outline-offset:2px}.fab{position:absolute;right:var(--space-5);bottom:96px;z-index:20;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--text-on-primary);background:var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);transition:var(--transition)}.fab:hover{transform:translateY(-2px)}.fab:active{transform:translateY(0)}.fab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.fab svg{width:26px;height:26px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-around;gap:var(--space-1);padding:var(--space-2) var(--space-3) calc(var(--space-2) + 16px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border)}.bottom-nav:after{content:"";position:absolute;left:50%;bottom:8px;transform:translate(-50%);width:134px;height:5px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--text) 40%,transparent)}.bottom-nav__item{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:var(--text-muted);transition:var(--transition)}.bottom-nav__item svg{width:24px;height:24px}.bottom-nav__label{font-size:11px;font-weight:500;letter-spacing:.01em}.bottom-nav__item:hover{color:var(--text-secondary)}.bottom-nav__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.bottom-nav__item.is-active{color:var(--color-primary-strong)}.bottom-nav__item.is-active:before{content:"";position:absolute;top:0;width:5px;height:5px;border-radius:var(--radius-full);background:var(--color-primary-strong)}.bottom-nav__fab{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:52px;height:52px;margin-top:-22px;color:var(--text-on-primary);background:var(--color-primary);border:4px solid var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-md);transition:var(--transition)}.bottom-nav__fab svg{width:24px;height:24px}.bottom-nav__fab:hover{transform:translateY(-2px)}.bottom-nav__fab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.progress{width:100%;height:8px;background:var(--chart-track);border-radius:var(--radius-full);overflow:hidden}.progress__fill{display:block;width:var(--bar-value, 0%);height:100%;background:var(--bar-color, var(--color-primary));border-radius:var(--radius-full);transition:width var(--transition)}.macro-bar{display:flex;flex-direction:column;gap:6px}.macro-bar__head{display:flex;align-items:baseline;justify-content:space-between}.macro-bar__name{font-size:var(--text-sm);font-weight:500;color:var(--text)}.macro-bar__value{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.ring{--ring-color: var(--color-primary);position:relative;width:160px;height:160px}.ring--sm{width:72px;height:72px}.ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.ring__track{fill:none;stroke:var(--chart-track);stroke-width:10}.ring__fill{fill:none;stroke:var(--ring-color);stroke-width:10;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:calc(326.7 - (326.7 * var(--ring-value, 0) / 100));transition:stroke-dashoffset var(--transition)}.ring__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}.ring__value{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.05;color:var(--text)}.ring--sm .ring__value{font-size:var(--text-base)}.ring__label{font-size:var(--text-xs);color:var(--text-muted)}.ring--sm .ring__label{font-size:10px}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:color-mix(in srgb,black 50%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.scrim--bottom{align-items:flex-end;padding:0}.modal{width:100%;max-width:340px;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal__actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.modal__actions>.btn{flex:1 1 0}.sheet{width:100%;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-5) var(--space-7);background:var(--surface);border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg)}.sheet__handle{align-self:center;width:40px;height:4px;margin-bottom:var(--space-2);border-radius:var(--radius-full);background:color-mix(in srgb,var(--text) 25%,transparent)}.rest-timer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:var(--radius-lg)}.rest-timer__body{display:flex;flex-direction:column;gap:2px}.rest-timer__label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.rest-timer__time{font-size:var(--text-3xl);font-weight:600;line-height:1;letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums}.rest-timer__actions{display:flex;gap:var(--space-2);flex:0 0 auto}.wizard-progress{display:flex;align-items:center;gap:var(--space-3)}.wizard-progress__bar{flex:1 1 auto;height:6px;background:var(--chart-track);border-radius:var(--radius-full);overflow:hidden}.wizard-progress__fill{display:block;width:var(--wizard-value, 0%);height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition)}.wizard-progress__label{flex:0 0 auto;font-size:var(--text-sm);font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.chart{width:100%}.chart>svg{width:100%;height:auto;overflow:visible}.chart__axis{display:flex;justify-content:space-between;margin-top:var(--space-2)}.chart__label{font-size:var(--text-sm);color:var(--text-muted)}.chart__value{font-size:var(--text-lg);font-weight:600;color:var(--text);letter-spacing:-.01em}.chart-line{fill:none;stroke:var(--chart-1);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-line--2{stroke:var(--chart-2)}.chart-line--3{stroke:var(--chart-3)}.chart-line--4{stroke:var(--chart-4)}.chart-line--5{stroke:var(--chart-5)}.chart-line--6{stroke:var(--chart-6)}.chart-area{stroke:none;fill:color-mix(in srgb,var(--chart-1) 14%,transparent)}.chart-area--2{fill:color-mix(in srgb,var(--chart-2) 14%,transparent)}.chart-area--3{fill:color-mix(in srgb,var(--chart-3) 14%,transparent)}.chart-area--4{fill:color-mix(in srgb,var(--chart-4) 14%,transparent)}.chart-area--5{fill:color-mix(in srgb,var(--chart-5) 14%,transparent)}.chart-area--6{fill:color-mix(in srgb,var(--chart-6) 14%,transparent)}.chart-dot{fill:var(--chart-1);stroke:var(--surface);stroke-width:2}.chart-dot--2{fill:var(--chart-2)}.chart-dot--3{fill:var(--chart-3)}.chart-dot--4{fill:var(--chart-4)}.chart-dot--5{fill:var(--chart-5)}.chart-dot--6{fill:var(--chart-6)}.chart-bar{fill:var(--chart-1)}.chart-bar--2{fill:var(--chart-2)}.chart-bar--3{fill:var(--chart-3)}.chart-bar--4{fill:var(--chart-4)}.chart-bar--5{fill:var(--chart-5)}.chart-bar--6{fill:var(--chart-6)}.chart-bar.is-muted{fill:var(--chart-track)}.chart-grid{stroke:var(--chart-grid);stroke-width:1}.chart-axis-text{fill:var(--text-muted);font-size:10px;font-family:var(--font-sans)}span.chart-axis-text{color:var(--text-muted);font-size:10px}.heatmap{--heat-color: var(--color-primary);display:grid;grid-template-columns:repeat(var(--heat-cols, 7),1fr);gap:4px}.heatmap__cell{aspect-ratio:1;border-radius:4px;background:color-mix(in srgb,var(--heat-color) calc(var(--cell-level, 0) * 25%),var(--chart-track))}.page{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-5) var(--space-7)}.page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.page__header__lead{display:flex;align-items:center;gap:var(--space-3);min-width:0}.page__eyebrow{font-size:var(--text-sm);color:var(--text-muted)}.page__title{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--text)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;color:var(--text);background:color-mix(in srgb,var(--color-primary) 18%,var(--surface));border-radius:var(--radius-full);transition:var(--transition)}.avatar:hover{background:color-mix(in srgb,var(--color-primary) 28%,var(--surface))}.avatar:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar--lg{width:64px;height:64px;font-size:var(--text-lg)}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.section-title__link{font-size:var(--text-sm);font-weight:500;letter-spacing:0;text-transform:none;color:var(--color-primary-strong);transition:var(--transition)}.section-title__link:hover{color:color-mix(in srgb,var(--color-primary-strong) 75%,var(--text))}.section-title__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3)}.stack{display:grid;gap:var(--space-3)}.divider{height:1px;border:none;background:var(--border)}.icon-24{width:24px;height:24px;flex:0 0 auto}.auth{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-8) var(--space-6);box-sizing:border-box;overflow-x:hidden;background:var(--bg)}.auth__glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.auth__glow:before,.auth__glow:after{content:"";position:absolute;border-radius:var(--radius-full);filter:blur(120px);background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 55%,transparent) 0%,transparent 70%);animation:authGlowDrift 16s ease-in-out infinite alternate}.auth__glow:before{width:480px;height:480px;top:-12%;right:-10%;opacity:.5}.auth__glow:after{width:400px;height:400px;bottom:2%;left:-8%;opacity:.35;animation-delay:-8s}@keyframes authGlowDrift{0%{transform:translate(0) scale(1)}to{transform:translate(28px,-20px) scale(1.15)}}@media (prefers-reduced-motion: reduce){.auth__glow:before,.auth__glow:after{animation:none}}.auth__back{position:absolute;top:var(--space-6);left:var(--space-6);z-index:2;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);transition:var(--transition)}.auth__back:hover{color:var(--text)}.auth__back:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.auth__back-arrow{font-size:var(--text-lg);line-height:1}.auth__card{position:relative;z-index:1;width:100%;max-width:420px}.auth__card--signup{max-width:480px}.auth__logo{width:60px;height:60px;border-radius:var(--radius-md);margin:0 auto var(--space-5)}.auth__title{margin:0 0 var(--space-2);font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;text-align:center;color:var(--text)}.auth__subtitle{margin:0 0 var(--space-6);font-size:var(--text-sm);text-align:center;color:var(--text-muted)}.auth__fields{display:flex;flex-direction:column;gap:var(--space-3)}.auth .textinput-base,.auth .numberinput-base{box-sizing:border-box;display:block;width:100%;height:auto;padding:11px var(--space-4);font-family:inherit;font-size:var(--text-base);font-weight:400;color:var(--text);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition)}.auth .textinput-base::placeholder,.auth .numberinput-base::placeholder{color:var(--text-muted)}.auth .textinput-base:hover,.auth .numberinput-base:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--border))}.auth .textinput-base:focus,.auth .numberinput-base:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.auth .password-input-container{position:relative}.auth .password-input-container .textinput-base{padding-right:var(--space-8)}.auth .show-hide-password{position:absolute;top:50%;right:var(--space-4);transform:translateY(-50%);z-index:2;width:20px;height:auto;cursor:pointer;opacity:.7;transition:var(--transition)}.auth .show-hide-password:hover{opacity:1}.auth .validation-message{margin-bottom:var(--space-1)}.auth .text-error{color:var(--danger)}.auth .text-success{color:var(--success)}.auth__row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4)}.auth__row .checkbox-base{accent-color:var(--color-primary);cursor:pointer}.auth__row .checkbox-label-base{color:var(--text-secondary);font-size:var(--text-sm)}.auth__row .auth__forgot{margin-left:auto}.auth__forgot{padding:0;font-size:var(--text-sm);font-weight:500;color:var(--color-primary-strong);background:none;border:none;cursor:pointer;transition:var(--transition)}.auth__forgot:hover{color:color-mix(in srgb,var(--color-primary-strong) 75%,var(--text))}.auth__forgot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.auth__actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.auth .button-base{box-sizing:border-box;gap:var(--space-2);width:100%;height:auto;padding:12px var(--space-5);font-size:var(--text-base);font-weight:600;line-height:1;border:1px solid transparent;border-radius:var(--radius-full);transition:var(--transition)}.auth .button-base:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth .button-base:active{transform:translateY(1px)}.auth .button-base img{width:18px;height:18px;margin:0}.auth .button-primary{color:var(--text-on-primary);background:var(--color-primary);box-shadow:var(--shadow-sm)}.auth .button-primary:hover{background:color-mix(in srgb,var(--color-primary) 88%,var(--text))}.auth .button-base:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth .button-primary:disabled:hover{background:var(--color-primary)}.auth .auth__google-btn,.auth .auth__google-btn:hover{color:var(--text);background:var(--surface-raised);border-color:var(--border);box-shadow:none}.auth .auth__google-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--surface-raised));border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.auth .button-secondary,.auth__link-btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;padding:12px var(--space-5);font-size:var(--text-base);font-weight:600;color:var(--color-primary-strong);background:transparent;border:1px solid color-mix(in srgb,var(--color-primary) 45%,var(--border));border-radius:var(--radius-full);transition:var(--transition);text-decoration:none}.auth .button-secondary:hover,.auth__link-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-color:var(--color-primary)}.auth__divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-1) 0}.auth__divider-line{flex:1;height:1px;background:var(--border)}.auth__divider span{flex-shrink:0;font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.auth__prompt{margin-top:var(--space-6);text-align:center}.auth__prompt p{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-muted)}.auth__message{margin:0 0 var(--space-4);font-size:var(--text-sm);text-align:center}.auth__resend{margin-top:var(--space-4);text-align:center}.auth__resend .auth__forgot:disabled{color:var(--text-muted);cursor:default}.auth__signout{padding:0;font-size:var(--text-sm);color:var(--text-muted);background:none;border:none;text-decoration:underline;cursor:pointer;transition:var(--transition)}.auth__signout:hover{color:var(--text-secondary)}.auth__signout:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.auth__profile{display:flex;justify-content:center;margin-bottom:var(--space-1)}.auth__profile-container{position:relative;width:84px;height:84px;flex-shrink:0}.auth__profile-image{width:84px;height:84px;border-radius:var(--radius-full);object-fit:cover;border:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent)}.auth__profile-placeholder{width:84px;height:84px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 14%,var(--surface));border:2px solid color-mix(in srgb,var(--color-primary) 30%,var(--border))}.auth__profile-placeholder svg{width:34px;height:34px}.auth__profile-btn{position:absolute;bottom:-2px;right:-2px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:var(--text-base);font-weight:700;line-height:1;color:var(--text-on-primary);background:var(--color-primary);border:2px solid var(--bg);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}.auth__profile-btn:hover{transform:scale(1.08)}.auth__profile-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth__name-row{display:flex;gap:var(--space-3)}.auth__name-row>*{flex:1;min-width:0}.auth__optional-label{margin-top:var(--space-2);margin-bottom:calc(-1 * var(--space-1))}.auth__optional-label span{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.auth__measurements-row{display:flex;gap:var(--space-3)}html[data-mode=dark] .auth .signup-date-input{color-scheme:dark}html[data-mode=light] .auth .signup-date-input{color-scheme:light}.auth .signup-date-input--empty::-webkit-datetime-edit{color:var(--text-muted)}.auth .signup-date-input--empty:before{content:"Birthday";color:var(--text-muted)}.auth .signup-date-input--empty::-webkit-datetime-edit-text,.auth .signup-date-input--empty::-webkit-datetime-edit-month-field,.auth .signup-date-input--empty::-webkit-datetime-edit-day-field,.auth .signup-date-input--empty::-webkit-datetime-edit-year-field{display:none}.auth .signup-date-input--empty::-moz-placeholder{color:var(--text-muted)}.height-input{display:flex;gap:var(--space-2);flex:1;min-width:0}.height-input__group{display:flex;align-items:center;gap:var(--space-1);flex:1;min-width:0}.height-input__field{flex:1;min-width:0}.height-input__unit,.weight-input__unit{flex-shrink:0;font-size:var(--text-sm);color:var(--text-muted)}.weight-input{display:flex;align-items:center;gap:var(--space-1);flex:1;min-width:0}.weight-input__field{flex:1;min-width:0}.cropper-modal .modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.cropper-modal .modal-header{border-bottom-color:var(--border)}.cropper-modal .modal-title{color:var(--text)}.cropper-modal .modal-close-btn{color:var(--text-secondary)}.cropper-modal .modal-close-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.cropper-modal .modal-footer{border-top-color:var(--border)}.cropper-modal .modal-btn-secondary{color:var(--text);background:var(--surface-raised);border-color:var(--border)}.cropper-modal .modal-btn-secondary:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--surface-raised));border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.cropper-modal .modal-btn-primary{color:var(--text-on-primary);background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.cropper-modal .modal-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 88%,var(--text));border-color:color-mix(in srgb,var(--color-primary) 88%,var(--text))}@media (max-width: 520px){.auth__measurements-row{flex-direction:column}}@media (max-width: 380px){.auth{padding:var(--space-8) var(--space-4)}.auth__back{left:var(--space-4)}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root{background-color:var(--bg)}.display-inline-block{display:inline-block}.display-block{display:block}.display-flex{display:flex}.display-none{display:none}.text-base{padding:0;margin:0;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.85rem;color:var(--text)}.text-secondary{color:var(--color-primary-strong)}.text-error{color:var(--danger)}.text-success{color:var(--success)}.heading{font-size:1.5rem;font-weight:700}.sub-heading{font-size:1.15rem;font-weight:700}.text-center{text-align:center}.validation-message{padding:0;margin:0;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.85rem}.container{width:90%;margin:0 auto}.textinput-base{background-color:var(--surface-raised);border:0px;width:95%;height:44px;border-radius:8px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-weight:700;font-size:1rem;color:var(--text-secondary);padding-left:15px}.textinput-base::placeholder{color:var(--text-secondary)}.textinput-base:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent)}.password-input-container{position:relative}.show-hide-password{position:absolute;top:50%;transform:translateY(-50%);right:15px;z-index:20;cursor:pointer}.numberinput-base{background-color:var(--surface-raised);border:0px;width:95%;height:44px;border-radius:8px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-weight:700;font-size:1rem;color:var(--text-secondary);padding-left:15px}.numberinput-base::placeholder{color:var(--text-secondary)}.numberinput-base:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 55%,transparent)}.button-base{display:flex;justify-content:center;align-items:center;width:100%;height:42px;border-radius:8px;vertical-align:middle;border:none;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.9rem;text-decoration:none}.button-base:hover{cursor:pointer;background-color:color-mix(in srgb,var(--color-primary) 85%,black)}.button-primary{background-color:var(--color-primary);color:var(--text-on-primary)}.button-secondary{background-color:var(--surface-raised);color:var(--text)}.button-disabled,.button-disabled:hover{background-color:var(--text-muted);color:var(--surface)}.button-base img{width:25px;height:auto;margin-right:5px}.link-base,.link-base:visited{text-decoration:none}.checkbox-base{vertical-align:baseline;width:15px;height:15px}.checkbox-label-base{color:#fff;font-family:Hanken Grotesk,Helvetica,sans-serif;vertical-align:baseline;font-size:.8rem}.footer-container{position:fixed;bottom:0;width:100%}.fixed-centered{position:fixed;left:50%;transform:translate(-50%)}.mx-center{margin:0 auto}.flex-column{flex-direction:column}.flex-justify-center{justify-content:center}.flex-align-center{align-items:center}.flex-justify-between{justify-content:space-between}.gap-2{gap:2px}.gap-5{gap:5px}.my-5{margin-top:5px;margin-bottom:5px}.my-10{margin-top:10px;margin-bottom:10px}.my-20{margin-top:20px;margin-bottom:20px}.ml-5{margin-left:5px}.ml-10{margin-left:10px}.mr-5{margin-right:5px}.mr-10{margin-right:10px}.mt-5{margin-top:5px}.mt-10{margin-top:10px}.mt-25{margin-top:25px}.mt-50{margin-top:50px}.mb-10{margin-bottom:10px}.mb-25{margin-bottom:25px}.pb-10{padding-bottom:30px}.w-95p{width:95%}.bg-gray{background-color:var(--surface-raised)}.bg-light-gray{background-color:var(--text-muted)}hr{border-color:var(--surface-raised)}.rounded-100{border-radius:100%}@keyframes topLogoShrink{to{width:8vw}}.shrink50{animation:topLogoShrink .75s ease-out 1;animation-delay:.25s;animation-fill-mode:forwards}.input-error{outline:2px solid var(--danger)!important;border-color:var(--danger)!important}.field-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;min-height:20px}.field-error{color:var(--danger);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.75rem;flex:1}.char-count{color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.7rem;margin-left:auto}.helper-text{color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.75rem;display:block;margin-top:4px}.form-error{background-color:color-mix(in srgb,var(--danger) 15%,transparent);border:1px solid var(--danger);border-radius:6px;color:var(--danger);padding:10px 12px;margin-bottom:16px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.85rem}.btn-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:var(--transition);flex-shrink:0;padding:0}.btn-back:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-primary-strong)}.btn-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-back svg{width:18px;height:18px}.protected-route-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg)}.protected-route-loading-content{display:flex;flex-direction:column;align-items:center;gap:24px}.protected-route-loading-logo{width:80px;height:80px;animation:protectedRouteSpinLogo 1.5s linear infinite}.protected-route-loading-message{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:1rem;color:var(--text-secondary);margin:0;text-align:center}@keyframes protectedRouteSpinLogo{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.protected-route-error-logo{animation:none}.protected-route-error-detail{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.75rem;color:var(--text-secondary);opacity:.7;margin:-12px 0 0;max-width:320px;text-align:center;word-break:break-word}.protected-route-retry-button{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-on-accent, #fff);background:var(--accent, #4f46e5);border:none;border-radius:8px;padding:10px 24px;cursor:pointer}.protected-route-retry-button:hover{opacity:.9}.protected-route-signout-button{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.95rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:8px;padding:10px 24px;cursor:pointer}.protected-route-signout-button:hover{opacity:.9;text-decoration:underline}@media (prefers-reduced-motion: reduce){.protected-route-loading-logo{animation:protectedRoutePulseLogo 2s ease-in-out infinite}@keyframes protectedRoutePulseLogo{0%,to{opacity:1}50%{opacity:.5}}}.quick-log-scrim{position:fixed;z-index:200}.quick-log-row{width:100%;background:transparent;border:none;font:inherit;text-align:left;cursor:pointer}.quick-log-row:hover:not(.quick-log-row--disabled){background:color-mix(in srgb,var(--color-primary) 7%,var(--surface))}.quick-log-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.quick-log-row--disabled{cursor:default;opacity:.55}:root{--drawer-width: 280px}.app-layout{position:relative;min-height:100vh;background-color:var(--bg)}.app-layout__content{min-height:100vh;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:8px;background:color-mix(in srgb,var(--text) 4%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:var(--transition);gap:5px}.menu-button:hover{background:color-mix(in srgb,var(--text) 8%,transparent);border-color:color-mix(in srgb,var(--border) 50%,var(--text));box-shadow:0 0 16px color-mix(in srgb,var(--color-primary) 6%,transparent)}.menu-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.menu-button:focus:not(:focus-visible){outline:none}.menu-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.menu-button__line{display:block;width:22px;height:2px;background-color:var(--text);border-radius:2px;transition:transform var(--transition),opacity var(--transition);transform-origin:center}.menu-button--open .menu-button__line--top{transform:translateY(7px) rotate(45deg)}.menu-button--open .menu-button__line--middle{opacity:0;transform:scaleX(0)}.menu-button--open .menu-button__line--bottom{transform:translateY(-7px) rotate(-45deg)}.hamburger-menu__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,black 60%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition);z-index:998}.hamburger-menu__overlay--visible{opacity:1;visibility:visible}.hamburger-menu{position:fixed;top:0;left:0;bottom:0;width:var(--drawer-width);background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);border-right:1px solid var(--border);box-shadow:4px 0 40px color-mix(in srgb,black 45%,transparent),inset 0 0 80px color-mix(in srgb,var(--color-primary) 2%,transparent);transform:translate(-100%);transition:transform var(--transition);z-index:999;display:flex;flex-direction:column;overflow-y:auto}.hamburger-menu--open{transform:translate(0)}.hamburger-menu__profile{display:flex;align-items:center;gap:14px;padding:28px 22px 24px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 6%,transparent) 0%,transparent 100%);position:relative}.hamburger-menu__profile:before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-primary) 20%,transparent),transparent)}.hamburger-menu__avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;overflow:hidden;border:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--color-primary) 10%,transparent)}.hamburger-menu__avatar-image{width:100%;height:100%;object-fit:cover}.hamburger-menu__avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--text-muted)}.hamburger-menu__user-info{display:flex;flex-direction:column;gap:3px;min-width:0}.hamburger-menu__username{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.95rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hamburger-menu__email{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.72rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hamburger-menu__nav{flex:1;display:flex;flex-direction:column;padding:12px 10px;gap:2px}.hamburger-menu__nav-item{display:flex;align-items:center;gap:14px;padding:13px 16px;color:var(--text-secondary);text-decoration:none;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.9rem;font-weight:500;transition:all var(--transition);border-radius:12px;border:1px solid transparent;position:relative}.hamburger-menu__nav-item:hover{background:var(--surface-raised);color:var(--text);border-color:var(--border)}.hamburger-menu__nav-item:focus{outline:none}.hamburger-menu__nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.hamburger-menu__nav-item--active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary-strong);border-color:color-mix(in srgb,var(--color-primary) 12%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 5%,transparent)}.hamburger-menu__nav-item--active .hamburger-menu__nav-icon{color:var(--color-primary-strong)}.hamburger-menu__nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;transition:color var(--transition)}.hamburger-menu__nav-icon svg{width:20px;height:20px}.hamburger-menu__nav-label{flex:1}.hamburger-menu__footer{padding:12px 10px;border-top:1px solid var(--border)}.hamburger-menu__footer-link{display:block;padding:8px 16px;color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.75rem;font-weight:400;text-align:center;text-decoration:none;transition:color var(--transition)}.hamburger-menu__footer-link:hover{color:var(--color-primary-strong)}.hamburger-menu__logout{display:flex;align-items:center;gap:14px;width:100%;padding:13px 16px;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition);text-align:left}.hamburger-menu__logout:hover{background:color-mix(in srgb,var(--danger) 8%,transparent);border-color:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.hamburger-menu__logout:focus{outline:none}.hamburger-menu__logout:focus-visible{outline:2px solid var(--danger);outline-offset:-2px}@media (max-width: 480px){:root{--drawer-width: 260px}.menu-button{width:40px;height:40px}.menu-button__line{width:20px}.hamburger-menu__profile{padding:22px 16px 20px}.hamburger-menu__avatar{width:44px;height:44px}.hamburger-menu__username{font-size:.88rem}.hamburger-menu__nav{padding:10px 8px}.hamburger-menu__nav-item,.hamburger-menu__logout{padding:12px 14px;font-size:.88rem}.hamburger-menu__footer{padding:10px 8px}}@keyframes menuSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.menu-button,.menu-button__line,.hamburger-menu,.hamburger-menu__overlay,.hamburger-menu__nav-item,.hamburger-menu__logout{transition:none}}@keyframes notifFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes notifSlideDown{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes notifBadgePop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes notifPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes notifSpin{to{transform:rotate(360deg)}}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:color-mix(in srgb,var(--text) 4%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:var(--transition);color:var(--text-secondary);flex-shrink:0}.notification-bell:hover{background:color-mix(in srgb,var(--text) 8%,transparent);border-color:color-mix(in srgb,var(--border) 50%,var(--text));color:var(--text);box-shadow:0 0 16px color-mix(in srgb,var(--color-primary) 6%,transparent)}.notification-bell:focus{outline:none}.notification-bell:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notification-bell--active{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong)}.notification-bell__icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.notification-bell__icon svg{width:20px;height:20px}.notification-bell__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;background:var(--danger);color:var(--text-on-primary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.65rem;font-weight:700;line-height:1;border-radius:9px;border:2px solid var(--bg);animation:notifBadgePop .3s cubic-bezier(.4,0,.2,1);pointer-events:none;z-index:1}.notification-dropdown-wrapper{position:relative}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:480px;display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(28px) saturate(1.4);-webkit-backdrop-filter:blur(28px) saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 24px color-mix(in srgb,var(--color-primary) 6%,transparent);z-index:1000;overflow:hidden;animation:notifSlideDown .2s cubic-bezier(.4,0,.2,1)}.notification-dropdown__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.notification-dropdown__title{margin:0;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.95rem;font-weight:600;color:var(--text)}.notification-dropdown__mark-all{padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--color-primary-strong);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.72rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}.notification-dropdown__mark-all:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 15%,transparent)}.notification-dropdown__mark-all:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notification-dropdown__list{flex:1;overflow-y:auto;overscroll-behavior:contain}.notification-dropdown__list::-webkit-scrollbar{width:4px}.notification-dropdown__list::-webkit-scrollbar-track{background:transparent}.notification-dropdown__list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:2px}.notification-dropdown__item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:none;border-bottom:1px solid var(--border);background:transparent;width:100%;text-align:left;cursor:pointer;transition:var(--transition);text-decoration:none;color:inherit}.notification-dropdown__item:last-child{border-bottom:none}.notification-dropdown__item:hover{background:var(--surface-raised)}.notification-dropdown__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.notification-dropdown__item--unread{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.notification-dropdown__item--unread:hover{background:color-mix(in srgb,var(--color-primary) 18%,transparent)}.notification-dropdown__avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.notification-dropdown__avatar img{width:100%;height:100%;object-fit:cover}.notification-dropdown__avatar-placeholder{color:var(--text-muted);display:flex;align-items:center;justify-content:center}.notification-dropdown__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-dropdown__item-title{margin:0;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;font-weight:500;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-dropdown__item--unread .notification-dropdown__item-title{font-weight:600}.notification-dropdown__item-body{margin:0;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.75rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-dropdown__item-time{margin:2px 0 0;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.68rem;color:var(--text-muted)}.notification-dropdown__unread-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--color-primary-strong);margin-top:6px;box-shadow:0 0 6px color-mix(in srgb,var(--color-primary-strong) 40%,transparent)}.notification-dropdown__footer{padding:10px 16px;border-top:1px solid var(--border);text-align:center}.notification-dropdown__see-all{display:inline-block;padding:6px 16px;background:transparent;border:none;color:var(--color-primary-strong);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.8rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;border-radius:8px}.notification-dropdown__see-all:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.notification-dropdown__see-all:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notification-dropdown__empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem}.notification-dropdown__loading{display:flex;align-items:center;justify-content:center;padding:24px 16px;gap:8px;color:var(--text-muted);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.8rem}.notification-dropdown__spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:notifSpin .6s linear infinite}.notification-dropdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.notifications-page{min-height:100vh;background:var(--bg);font-family:Hanken Grotesk,Helvetica,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}.notifications-page__content{padding:0 16px 32px;max-width:640px;margin:0 auto}.notification-card{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);margin-bottom:8px;animation:notifFadeIn .3s ease both;text-decoration:none;color:inherit}.notification-card:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--border) 50%,var(--text));box-shadow:0 0 24px color-mix(in srgb,var(--color-primary) 6%,transparent)}.notification-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notification-card--unread{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 10%,transparent)}.notification-card--unread:hover{background:color-mix(in srgb,var(--color-primary) 18%,transparent)}.notification-card__avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.notification-card__avatar img{width:100%;height:100%;object-fit:cover}.notification-card__avatar-placeholder{color:var(--text-muted);display:flex;align-items:center;justify-content:center}.notification-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notification-card__title{margin:0;font-size:.88rem;font-weight:500;color:var(--text);line-height:1.3}.notification-card--unread .notification-card__title{font-weight:600}.notification-card__text{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.notification-card__time{margin:2px 0 0;font-size:.72rem;color:var(--text-muted)}.notification-card__indicator{flex-shrink:0;display:flex;align-items:flex-start;padding-top:4px}.notification-card__unread-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary-strong);box-shadow:0 0 6px color-mix(in srgb,var(--color-primary-strong) 40%,transparent)}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.notifications-empty__icon{width:56px;height:56px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.notifications-empty__title{margin:0 0 6px;font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.notifications-empty__text{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.5}.notifications-loading{display:flex;align-items:center;justify-content:center;padding:32px 16px;gap:10px;color:var(--text-muted);font-size:.85rem}.notifications-spinner{width:20px;height:20px;border:2.5px solid var(--border);border-top-color:var(--color-primary);border-right-color:color-mix(in srgb,var(--color-primary) 40%,transparent);border-radius:50%;animation:notifSpin .7s linear infinite}.notifications-load-more{display:flex;justify-content:center;padding:16px 0}.notifications-load-more__btn{padding:10px 28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition)}.notifications-load-more__btn:hover{background:var(--surface-raised);color:var(--text);border-color:color-mix(in srgb,var(--border) 50%,var(--text))}.notifications-load-more__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notifications-error{padding:16px;margin:8px 0;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 15%,transparent);border-radius:var(--radius-sm);color:var(--danger);font-size:.85rem;text-align:center}@media (max-width: 480px){.notification-dropdown{position:fixed;top:75px;right:8px;left:8px;bottom:auto;width:auto;max-height:calc(100vh - 70px);border-radius:16px;animation:notifSlideDown .25s cubic-bezier(.4,0,.2,1)}.notification-bell{width:36px;height:36px}.notification-bell__icon svg{width:18px;height:18px}.notification-bell__badge{min-width:16px;height:16px;font-size:.6rem;top:-3px;right:-3px}.notification-card{padding:14px 12px;gap:12px}.notification-card__avatar{width:40px;height:40px}.notification-card__title{font-size:.84rem}.notification-card__text{font-size:.76rem}.notifications-page__content{padding:0 12px 24px}}@media (prefers-reduced-motion: reduce){.notification-bell,.notification-dropdown,.notification-dropdown__item,.notification-card,.notification-dropdown__mark-all,.notification-dropdown__see-all,.notifications-load-more__btn{transition:none}.notification-dropdown,.notification-card,.notification-bell__badge{animation:none}}.page-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 12px;background:transparent;position:relative;gap:12px}.page-header--bordered{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.page-header__left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.page-header__title{margin:0;font-size:24px;font-weight:600;color:var(--text);font-family:Hanken Grotesk,Helvetica,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header__title-content{min-width:0;flex:1}.page-header__right{display:flex;align-items:center;gap:12px;flex-shrink:0}.page-header__actions{display:flex;align-items:center;gap:8px}.page-header__avatar{width:40px;height:40px;border-radius:50%;border:2px solid var(--color-primary);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 10%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 12%,transparent);cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent}.page-header__avatar:hover{box-shadow:0 0 18px color-mix(in srgb,var(--color-primary) 25%,transparent)}.page-header__avatar:active{transform:scale(.95)}.page-header__avatar img{width:100%;height:100%;object-fit:cover}.page-header__avatar-initials{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.8rem;font-weight:600;color:var(--color-primary-strong);text-transform:uppercase;line-height:1;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.page-header{padding:16px 16px 10px}.page-header__title{font-size:20px}.page-header__actions{gap:6px}}@media (max-width: 480px){.page-header__title{font-size:18px}.page-header__avatar{width:36px;height:36px}.page-header__avatar-initials{font-size:.7rem}}.update-modal .modal-content{max-width:380px;background:color-mix(in srgb,var(--surface) 82%,var(--bg));border:1px solid color-mix(in srgb,var(--color-primary) 8%,transparent);border-radius:18px;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 24px 64px #0000008c,0 0 0 1px #ffffff08 inset,0 1px #ffffff0a inset;animation:updateModalIn .35s cubic-bezier(.16,1,.3,1);overflow:hidden}@keyframes updateModalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.update-modal .modal-header{padding:20px 20px 14px;border-bottom:none;position:relative}.update-modal .modal-header:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-primary) 25%,transparent) 20%,color-mix(in srgb,var(--color-primary) 25%,transparent) 80%,transparent)}.update-modal__version-badge{display:inline-block;padding:3px 8px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary-strong);border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:6px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.4px;line-height:1;vertical-align:middle;margin-right:10px}.update-modal .modal-title{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.92rem;font-weight:600;color:var(--text);display:flex;align-items:center}.update-modal .modal-body{padding:16px 20px 12px;max-height:45vh;overflow-y:auto}.update-modal .modal-body::-webkit-scrollbar{width:4px}.update-modal .modal-body::-webkit-scrollbar-track{background:transparent}.update-modal .modal-body::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.update-modal__content ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.update-modal__content li{position:relative;padding:5px 0 5px 18px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.78rem;font-weight:400;color:var(--text-secondary);line-height:1.55}.update-modal__content li:before{content:"";position:absolute;left:2px;top:12px;width:5px;height:5px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 6px color-mix(in srgb,var(--color-primary) 35%,transparent)}.update-modal__section-title{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.68rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 4px}.update-modal__section-title:first-child{margin-top:0}.update-modal .modal-footer{padding:12px 20px 18px;border-top:none;justify-content:stretch}.update-modal__dismiss-btn{width:100%;padding:10px 0;border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary-strong);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.3px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.update-modal__dismiss-btn:hover{background:color-mix(in srgb,var(--color-primary) 14%,transparent);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--color-primary) 10%,transparent)}.update-modal__dismiss-btn:active{transform:scale(.98)}@media (max-width: 480px){.update-modal .modal-content{max-width:calc(100vw - 40px)}}.dashboard-container{background:var(--bg);min-height:100vh}.dashboard-header-text{display:flex;flex-direction:column;gap:2px}.dashboard-eyebrow{font-size:var(--text-sm);color:var(--text-muted);line-height:1.2}.dashboard-name{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.15}.dashboard-content{background:transparent;padding-bottom:var(--space-6)}.widget-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-3) var(--space-4);max-width:1200px;margin:0 auto}@media (min-width: 720px){.widget-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));padding:var(--space-3) var(--space-5)}}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition)}html[data-mode=light] .widget{border-color:transparent;box-shadow:var(--shadow-md)}.widget:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--border))}.widget-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5) 0}.widget-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em;color:var(--text)}.widget-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary-strong);flex-shrink:0}.widget-icon svg{width:20px;height:20px}.widget-action{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:500;flex-shrink:0}.widget-action-link{color:var(--color-primary-strong);text-decoration:none;cursor:pointer;transition:var(--transition)}.widget-action-link:hover{color:color-mix(in srgb,var(--color-primary-strong) 75%,var(--text))}.widget-action-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.widget-action-separator{color:var(--text-muted);-webkit-user-select:none;user-select:none}.widget-content{padding:var(--space-4) var(--space-5) var(--space-5)}.calorie-ring-container{display:flex;justify-content:center;margin-bottom:var(--space-5)}.macro-bars{display:flex;flex-direction:column;gap:var(--space-4)}.exercise-stats-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-5)}.exercise-pill{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0;padding:var(--space-3) var(--space-2);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.exercise-pill-title{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.exercise-pill-value{font-size:var(--text-base);font-weight:600;letter-spacing:-.01em;color:var(--text);white-space:nowrap}.exercise-pill-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.weekly-progress{display:flex;justify-content:space-between;align-items:flex-end;gap:6px;height:120px;padding:0 2px}.day-progress{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);height:100%}.day-bar{width:100%;flex:1;background:var(--chart-track);border-radius:var(--radius-sm) var(--radius-sm) 4px 4px;position:relative;overflow:hidden;min-height:0}.day-bar-fill{position:absolute;bottom:0;left:0;right:0;background:var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 4px 4px;transition:height .6s cubic-bezier(.4,0,.2,1)}.day-bar-fill.complete{background:var(--success)}.day-progress.today .day-bar-fill{box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 45%,transparent);animation:barPulse 2.5s ease-in-out infinite}.day-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500;text-transform:uppercase;flex-shrink:0}.day-progress.today .day-label{color:var(--color-primary-strong);font-weight:700}.ranked-widget{display:flex;flex-direction:column;gap:var(--space-4)}.ranked-widget-hero{display:flex;align-items:center;gap:var(--space-4)}.ranked-widget-info{display:flex;flex-direction:column;gap:2px}.ranked-widget-tier{font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ranked-widget-rp-row{display:flex;align-items:baseline;gap:var(--space-2)}.ranked-widget-rp{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text)}.ranked-widget-rp-label{font-size:var(--text-sm);font-weight:500;color:var(--text-muted)}.ranked-widget-delta{font-size:var(--text-sm);font-weight:600;border-radius:var(--radius-sm);padding:1px 6px}.ranked-widget-delta.positive{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.ranked-widget-delta.negative{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.ranked-widget-progress{display:flex;flex-direction:column;gap:var(--space-1)}.ranked-widget-progress-bar{height:6px;border-radius:var(--radius-full);background:var(--chart-track);overflow:hidden}.ranked-widget-progress-fill{height:100%;border-radius:var(--radius-full);transition:width .6s ease}.ranked-widget-progress-labels{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.03em}.ranked-widget-footer{display:flex;justify-content:space-between;align-items:center}.ranked-widget-streak{font-size:var(--text-sm);color:var(--text-secondary)}.ranked-widget-leaderboard{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:var(--transition)}.ranked-widget-leaderboard:hover{color:var(--color-primary-strong)}.ranked-widget-leaderboard:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.ranked-widget-empty,.ranked-widget-placing{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;text-align:center}.ranked-widget-empty-text{font-size:var(--text-sm);color:var(--text-secondary);max-width:220px}.ranked-widget-cta{font-size:var(--text-sm);font-weight:600;color:var(--color-primary-strong);text-decoration:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 12%,var(--surface));transition:var(--transition)}.ranked-widget-cta:hover{background:color-mix(in srgb,var(--color-primary) 20%,var(--surface))}.ranked-widget-cta:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ranked-widget-placing-label{font-size:var(--text-base);font-weight:600;color:var(--text);margin:0}.ranked-widget-placing-detail{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.ranked-widget-loading{padding:var(--space-5) 0;display:flex;justify-content:center}.ranked-widget-skeleton{width:100%;height:120px;border-radius:var(--radius-md);background:var(--surface-raised);animation:pulseSkeleton 1.5s ease-in-out infinite}@keyframes pulseSkeleton{0%,to{opacity:.5}50%{opacity:.2}}.meal-plan-list{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.meal-plan-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.meal-plan-row:hover{background:color-mix(in srgb,var(--color-primary) 7%,var(--surface))}.meal-plan-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.meal-type-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0;background:var(--color-primary)}.meal-type-dot.breakfast{background:var(--sem-energy)}.meal-type-dot.lunch{background:var(--sem-goal)}.meal-type-dot.dinner{background:var(--sem-wellness)}.meal-type-dot.snack{background:var(--sem-nutrition)}.meal-row-info{display:flex;flex-direction:column;flex:1;min-width:0}.meal-row-type{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.meal-row-name{font-size:var(--text-sm);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-row-calories{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);flex-shrink:0;font-variant-numeric:tabular-nums}.meal-plan-summary{padding-top:var(--space-3);border-top:1px solid var(--border)}.meal-plan-summary-text{display:flex;align-items:baseline;gap:2px;margin-bottom:var(--space-2)}.meal-plan-summary-cal{font-size:var(--text-base);font-weight:700;color:var(--text)}.meal-plan-summary-sep,.meal-plan-summary-target{font-size:var(--text-sm);color:var(--text-muted)}.meal-plan-progress{height:4px;background:var(--chart-track);border-radius:var(--radius-full);overflow:hidden}.meal-plan-progress-fill{height:100%;border-radius:var(--radius-full);background:var(--color-primary);transition:width var(--transition)}.meal-plan-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-5) 0;gap:var(--space-2)}.meal-plan-empty-text{font-size:var(--text-sm);color:var(--text-muted);margin:0}.meal-plan-empty-link{font-size:var(--text-sm);font-weight:600;color:var(--color-primary-strong);cursor:pointer;transition:var(--transition)}.meal-plan-empty-link:hover{color:color-mix(in srgb,var(--color-primary-strong) 75%,var(--text))}.referral-widget{display:flex;flex-direction:column;gap:var(--space-3)}.referral-widget-codes{display:flex;flex-wrap:wrap;gap:var(--space-2);min-height:34px}.referral-widget-empty{color:var(--text-muted);font-size:var(--text-sm)}.referral-code-pill{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-family:SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace;font-size:var(--text-sm);letter-spacing:.03em;cursor:pointer;transition:var(--transition)}.referral-code-pill:hover{border-color:var(--color-primary);color:var(--color-primary-strong)}.referral-code-pill:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.referral-code-pill--copied{border-color:var(--color-primary);color:var(--color-primary-strong)}.referral-code-pill--consumed,.referral-code-pill--consumed:hover,.referral-code-pill--consumed:focus-visible{text-decoration:line-through;opacity:.5;cursor:default;border-color:var(--border);color:var(--text-muted);outline:none}.referral-code-pill__copied{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-primary-strong)}.referral-widget-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.referral-generate-btn{padding:var(--space-2) var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:var(--transition)}.referral-generate-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-strong)}.referral-generate-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.referral-generate-btn:disabled{opacity:.55;cursor:not-allowed}.referral-widget-error{font-size:var(--text-xs);color:var(--danger)}.coming-soon-wrapper{position:relative}.coming-soon-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;cursor:default}.coming-soon-text{font-size:var(--text-2xl);font-weight:700;color:var(--color-primary-strong);text-transform:uppercase;letter-spacing:4px;transform:rotate(-18deg);-webkit-user-select:none;user-select:none}@keyframes dashFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.widget:nth-child(1){animation:dashFadeIn .5s ease-out .05s both}.widget:nth-child(2){animation:dashFadeIn .5s ease-out .15s both}.widget:nth-child(3){animation:dashFadeIn .5s ease-out .25s both}.widget:nth-child(4){animation:dashFadeIn .5s ease-out .35s both}.widget:nth-child(5){animation:dashFadeIn .5s ease-out .45s both}@keyframes barPulse{0%,to{box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 45%,transparent)}50%{box-shadow:0 0 18px color-mix(in srgb,var(--color-primary) 60%,transparent)}}@media (prefers-reduced-motion: reduce){.widget,.day-progress.today .day-bar-fill{animation:none!important}.day-bar-fill,.meal-plan-progress-fill,.ranked-widget-progress-fill{transition:none!important}.ranked-widget-skeleton{animation:none!important}}.landing-page{position:relative;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:var(--bg);color:var(--text)}.landing-page__ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(60% 50% at 85% -5%,color-mix(in srgb,var(--color-primary) 22%,transparent) 0%,transparent 70%),radial-gradient(55% 45% at 0% 105%,color-mix(in srgb,var(--sem-wellness) 16%,transparent) 0%,transparent 70%)}.landing-page__inner{position:relative;z-index:1}.landing-page__nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landing-page__nav-inner{max-width:1120px;margin:0 auto;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.landing-page__brand{display:flex;align-items:center;gap:var(--space-3);color:var(--text)}.landing-page__brand-logo{width:32px;height:32px;border-radius:var(--radius-sm)}.landing-page__brand-name{font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em}.landing-page__nav-actions{display:flex;align-items:center;gap:var(--space-3)}.landing-page__nav-link{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);transition:var(--transition)}.landing-page__nav-link:hover{color:var(--text)}.landing-page__nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.landing-page__hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-5);max-width:640px;margin:0 auto;padding:clamp(var(--space-7),8vw,72px) var(--space-5) var(--space-8)}.landing-page__ring{--ring-value: 72;animation:landingRingReveal .9s cubic-bezier(.16,1,.3,1) both}.landing-page__ring .ring__fill{animation:landingRingDraw 1.4s cubic-bezier(.16,1,.3,1) .2s both}.landing-page__ring-logo{width:84px;height:84px;border-radius:var(--radius-lg)}@keyframes landingRingReveal{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes landingRingDraw{0%{stroke-dashoffset:326.7}}.landing-page__headline{font-size:clamp(2rem,7vw,3.25rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--text);animation:landingFadeUp .7s cubic-bezier(.16,1,.3,1) .15s both}.landing-page__headline-accent{color:var(--color-primary-strong)}.landing-page__subtitle{max-width:440px;font-size:var(--text-lg);line-height:1.55;color:var(--text-secondary);animation:landingFadeUp .7s cubic-bezier(.16,1,.3,1) .3s both}.landing-page__hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);animation:landingFadeUp .7s cubic-bezier(.16,1,.3,1) .45s both}.landing-page__scroll{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-4);color:var(--text-muted);animation:landingFadeUp .7s cubic-bezier(.16,1,.3,1) .6s both}.landing-page__scroll-text{font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.12em}.landing-page__scroll-chevron{width:20px;height:20px;animation:landingScrollBounce 2s ease-in-out infinite}@keyframes landingFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes landingScrollBounce{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:1}}.landing-page__section{max-width:1040px;margin:0 auto;padding:clamp(var(--space-8),9vw,80px) var(--space-5);opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.landing-page__section.visible{opacity:1;transform:translateY(0)}.landing-page__section-head{text-align:center;max-width:560px;margin:0 auto var(--space-8)}.landing-page__section-title{font-size:clamp(1.5rem,5vw,2rem);font-weight:800;letter-spacing:-.02em;color:var(--text)}.landing-page__section-sub{margin-top:var(--space-3);font-size:var(--text-lg);line-height:1.5;color:var(--text-secondary)}.landing-page__features{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.landing-page__feature{--accent: var(--color-primary);display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),border-color var(--transition)}html[data-mode=light] .landing-page__feature{border-color:transparent;box-shadow:var(--shadow-md)}.landing-page__feature.visible{opacity:1;transform:translateY(0)}.landing-page__feature:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.landing-page__feature-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-md);color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.landing-page__feature-chip svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.landing-page__feature-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.landing-page__feature-title{font-size:var(--text-lg);font-weight:700;color:var(--text)}.landing-page__feature-desc{font-size:var(--text-base);line-height:1.5;color:var(--text-secondary)}.landing-page__steps{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.landing-page__step{--accent: var(--color-primary);position:relative;text-align:center;padding:var(--space-6) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),border-color var(--transition)}html[data-mode=light] .landing-page__step{border-color:transparent;box-shadow:var(--shadow-md)}.landing-page__step.visible{opacity:1;transform:translateY(0)}.landing-page__step:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.landing-page__step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0 auto var(--space-3);font-size:var(--text-xs);font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:var(--radius-full)}.landing-page__step-icon{display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-3);color:var(--accent)}.landing-page__step-icon svg{width:30px;height:30px}.landing-page__step-title{font-size:var(--text-lg);font-weight:700;color:var(--text);margin-bottom:var(--space-1)}.landing-page__step-desc{font-size:var(--text-base);line-height:1.5;color:var(--text-secondary)}.landing-page__showcase{display:grid;grid-template-columns:1fr;gap:var(--space-5)}.landing-page__showcase-card{--accent: var(--color-primary);display:flex;flex-direction:column;padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),border-color var(--transition)}html[data-mode=light] .landing-page__showcase-card{border-color:transparent;box-shadow:var(--shadow-md)}.landing-page__showcase-card.visible{opacity:1;transform:translateY(0)}.landing-page__showcase-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.landing-page__showcase-head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.landing-page__showcase-chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:var(--radius-md);color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface))}.landing-page__showcase-chip svg{width:22px;height:22px}.landing-page__showcase-title{font-size:var(--text-xl);font-weight:700;letter-spacing:-.01em;color:var(--text);margin-bottom:var(--space-2)}.landing-page__showcase-desc{font-size:var(--text-base);line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-5)}.landing-page__showcase-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.landing-page__showcase-item{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-base);font-weight:500;color:var(--text)}.landing-page__showcase-check{flex:0 0 auto;width:18px;height:18px;margin-top:1px;color:var(--success)}.landing-page__journey{max-width:720px}.landing-page__journey-card{position:relative;text-align:center;padding:var(--space-8) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}html[data-mode=light] .landing-page__journey-card{border-color:transparent;box-shadow:var(--shadow-md)}.landing-page__journey-mark{font-size:3.5rem;font-weight:800;line-height:1;color:var(--color-primary-strong)}.landing-page__journey-quote{max-width:460px;margin:0 auto var(--space-6);font-size:var(--text-lg);font-style:italic;line-height:1.6;color:var(--text)}.landing-page__journey-attribution{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.landing-page__journey-name{font-size:var(--text-base);font-weight:600;color:var(--text);text-align:left}.landing-page__journey-role{font-size:var(--text-sm);color:var(--text-muted);text-align:left}.landing-page__cta{text-align:center}.landing-page__cta-title{font-size:clamp(1.75rem,6vw,2.5rem);font-weight:800;letter-spacing:-.03em;color:var(--text);margin-bottom:var(--space-3)}.landing-page__cta-sub{max-width:420px;margin:0 auto var(--space-7);font-size:var(--text-lg);line-height:1.55;color:var(--text-secondary)}.landing-page__cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}@media (min-width: 560px){.landing-page__features{grid-template-columns:repeat(2,1fr)}.landing-page__steps{grid-template-columns:repeat(3,1fr)}}@media (min-width: 900px){.landing-page__features,.landing-page__showcase{grid-template-columns:repeat(3,1fr)}}.onboarding-container{position:relative;z-index:1;max-width:800px;height:100vh;height:100dvh;margin:0 auto;padding:var(--space-5);display:flex;flex-direction:column;overflow:hidden;background:var(--bg);font-family:var(--font-sans);color:var(--text)}.onboarding-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.onboarding-glow:before,.onboarding-glow:after{content:"";position:absolute;border-radius:var(--radius-full);filter:blur(120px);background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 55%,transparent) 0%,transparent 70%);animation:onboardingGlowDrift 16s ease-in-out infinite alternate}.onboarding-glow:before{width:500px;height:500px;top:-10%;right:-10%;opacity:.45}.onboarding-glow:after{width:400px;height:400px;bottom:4%;left:-8%;opacity:.3;animation-delay:-8s}@keyframes onboardingGlowDrift{0%{transform:translate(0) scale(1)}to{transform:translate(28px,-20px) scale(1.15)}}.onboarding-header-bar{display:flex;justify-content:flex-end;flex-shrink:0;margin-bottom:var(--space-4)}.onboarding-logout-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition)}.onboarding-logout-btn:hover{color:var(--text);background:color-mix(in srgb,var(--color-primary) 8%,var(--surface-raised));border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.onboarding-logout-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.onboarding-progress{flex-shrink:0;margin-bottom:var(--space-6);padding:0 var(--space-1)}.onboarding-header{text-align:center;margin-bottom:var(--space-6)}.onboarding-title{margin-bottom:var(--space-2);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text)}.onboarding-subtitle{font-size:var(--text-base);line-height:1.5;color:var(--text-muted)}.text-accent-gradient{background:linear-gradient(135deg,var(--color-primary-strong),var(--sem-nutrition));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--color-primary-strong)}.onboarding-scroll-area{flex:1;min-height:0;overflow-y:auto}.onboarding-content{display:flex;flex-direction:column}.onboarding-footer{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) 0;margin-top:var(--space-5);border-top:1px solid var(--border)}.onboarding-container .button-base{box-sizing:border-box;min-width:120px;gap:var(--space-2);padding:12px var(--space-5);font-size:var(--text-base);font-weight:600;line-height:1;border:1px solid transparent;border-radius:var(--radius-full);transition:var(--transition)}.onboarding-container .button-base:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.onboarding-container .button-base:active{transform:translateY(1px)}.onboarding-container .button-primary{color:var(--text-on-primary);background:var(--color-primary);box-shadow:var(--shadow-sm)}.onboarding-container .button-primary:hover{background:color-mix(in srgb,var(--color-primary) 88%,var(--text))}.onboarding-container .button-secondary{color:var(--text);background:var(--surface-raised);border-color:var(--border)}.onboarding-container .button-secondary:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--surface-raised));border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.onboarding-container .button-disabled,.onboarding-container .button-base:disabled{opacity:.6;cursor:not-allowed;transform:none}.onboarding-container .button-primary:disabled:hover{background:var(--color-primary)}.onboarding-validation-error{flex-shrink:0;margin-bottom:var(--space-1);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:500;text-align:center;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--radius-md);animation:onboardingErrorIn .3s ease-out}@keyframes onboardingErrorIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.form-required{margin-left:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary-strong)}.form-select,.form-input{box-sizing:border-box;display:block;width:100%;padding:12px var(--space-4);font-family:inherit;font-size:var(--text-base);color:var(--text);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-input::placeholder{color:var(--text-muted)}.form-select:hover,.form-input:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--border))}.form-select:focus,.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.form-select{padding-right:var(--space-8);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:right 20px top 55%,right 15px top 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.form-select:hover,.form-select:focus{background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%)}.form-select option{color:var(--text);background:var(--surface)}.form-select--error,.form-input--error{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}html[data-mode=dark] .onboarding-container .form-input[type=date]{color-scheme:dark}html[data-mode=light] .onboarding-container .form-input[type=date]{color-scheme:light}input[type=number].form-input{-moz-appearance:textfield}input[type=number].form-input::-webkit-outer-spin-button,input[type=number].form-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.onboarding-optional-badge{display:inline-block;margin-left:var(--space-2);padding:2px var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;vertical-align:middle;color:var(--text-muted);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full)}.goal-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-top:var(--space-5)}.goal-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:140px;padding:var(--space-6) var(--space-5);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}html[data-mode=light] .goal-card:not(.selected){border-color:transparent;box-shadow:var(--shadow-md)}.goal-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border));box-shadow:var(--shadow-md)}.goal-card:active{transform:translateY(0)}.goal-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.goal-card.selected,.goal-card.selected:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--surface));border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),var(--shadow-md)}.goal-card-icon{margin-bottom:var(--space-3);font-size:2.5rem;line-height:1}.goal-card-title{margin-bottom:var(--space-1);font-size:var(--text-lg);font-weight:600;color:var(--text)}.goal-card-description{font-size:var(--text-sm);line-height:1.4;color:var(--text-muted)}.body-selector-container{display:flex;flex-direction:column;align-items:center;margin:var(--space-5) 0;padding:var(--space-5)}.body-image-wrapper{position:relative;display:inline-block;width:100%;max-width:500px}.body-anatomy-image{width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.muscle-overlay{position:absolute;padding:0;background:transparent;border:2px solid transparent;cursor:pointer;transition:var(--transition)}.muscle-overlay:hover{background:color-mix(in srgb,var(--color-primary) 20%,transparent);border-color:color-mix(in srgb,var(--color-primary) 55%,transparent)}.muscle-overlay:focus-visible{outline:none;background:color-mix(in srgb,var(--color-primary) 16%,transparent);border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.muscle-overlay.selected{background:color-mix(in srgb,var(--color-primary) 38%,transparent);border-color:var(--color-primary);box-shadow:inset 0 0 10px color-mix(in srgb,var(--color-primary) 25%,transparent)}.muscle-overlay.selected:hover{background:color-mix(in srgb,var(--color-primary) 48%,transparent)}.body-view-label-overlay{position:absolute;font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);pointer-events:none}.body-view-label-front{top:2%;left:18%}.body-view-label-back{top:2%;right:18%}.selection-count{display:inline-block;margin-top:var(--space-4);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full)}.selection-count strong{color:var(--color-primary-strong)}.selected-muscles-display{box-sizing:border-box;width:100%;max-width:500px;margin-top:var(--space-5);padding:var(--space-4);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.selected-muscles-label{margin-bottom:var(--space-3);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.selected-muscles-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.selected-muscle-tag{padding:6px var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 16%,var(--surface));border-radius:var(--radius-full);transition:var(--transition)}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin-top:var(--space-5)}.equipment-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;padding:var(--space-5) var(--space-4);text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}html[data-mode=light] .equipment-card:not(.selected){border-color:transparent;box-shadow:var(--shadow-md)}.equipment-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border));box-shadow:var(--shadow-md)}.equipment-card:active{transform:translateY(0)}.equipment-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.equipment-card.selected,.equipment-card.selected:hover{background:color-mix(in srgb,var(--color-primary) 12%,var(--surface));border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),var(--shadow-md)}.equipment-icon{margin-bottom:var(--space-2);font-size:2rem;line-height:1}.equipment-name{font-size:var(--text-sm);font-weight:500;color:var(--text)}.equipment-card.selected:before{content:"";position:absolute;top:var(--space-2);right:var(--space-2);width:20px;height:20px;background:var(--color-primary);border-radius:var(--radius-full)}.equipment-card.selected:after{content:"";position:absolute;top:12px;right:15px;width:5px;height:9px;border:solid var(--text-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.radio-group{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.radio-option{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.radio-option:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border))}.radio-option.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.radio-option input[type=radio]{flex-shrink:0;width:20px;height:20px;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;border:2px solid var(--text-muted);border-radius:var(--radius-full);cursor:pointer}.radio-option input[type=radio]:checked{border-color:var(--color-primary);background:var(--color-primary)}.radio-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;transform:translate(-50%,-50%);background:var(--text-on-primary);border-radius:var(--radius-full)}.radio-option-content{flex:1}.radio-option-label{font-size:var(--text-base);font-weight:500;color:var(--text)}.radio-option-description{margin-top:2px;font-size:var(--text-sm);color:var(--text-muted)}.frequency-container{margin-top:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}html[data-mode=light] .frequency-container{border-color:transparent;box-shadow:var(--shadow-md)}.frequency-value{margin-bottom:var(--space-1);font-size:var(--text-3xl);font-weight:700;line-height:1;text-align:center;color:var(--color-primary-strong)}.frequency-label{margin-bottom:var(--space-6);font-size:var(--text-sm);text-align:center;color:var(--text-muted)}.frequency-slider{width:100%;height:8px;border-radius:var(--radius-full);background:var(--chart-track);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.frequency-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;border-radius:var(--radius-full);background:var(--color-primary);border:4px solid var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition)}.frequency-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.frequency-slider::-moz-range-thumb{width:26px;height:26px;border-radius:var(--radius-full);background:var(--color-primary);border:4px solid var(--surface);box-shadow:var(--shadow-sm);cursor:pointer}.frequency-slider:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.frequency-markers{display:flex;justify-content:space-between;margin-top:var(--space-3);padding:0 4px}.frequency-marker{font-size:var(--text-xs);color:var(--text-muted)}.summary-section{margin-bottom:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}html[data-mode=light] .summary-section{border-color:transparent;box-shadow:var(--shadow-md)}.summary-title{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-base);font-weight:600;color:var(--color-primary-strong)}.summary-title:before{content:"";width:4px;height:18px;border-radius:var(--radius-full);background:var(--color-primary)}.summary-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.summary-item:last-child{padding-bottom:0;border-bottom:none}.summary-label{font-size:var(--text-sm);color:var(--text-muted)}.summary-value{max-width:60%;font-size:var(--text-sm);font-weight:500;text-align:right;color:var(--text)}.summary-value.full-width{max-width:100%;width:100%;text-align:left}.summary-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);width:100%}.summary-tag{padding:6px var(--space-3);font-size:var(--text-xs);font-weight:500;color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 16%,var(--surface));border-radius:var(--radius-full)}.welcome-content{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-5);text-align:center}.welcome-icon{width:100px;height:auto;margin-bottom:var(--space-6)}@keyframes welcomePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.welcome-title{margin-bottom:var(--space-4);font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em;color:var(--text)}.welcome-description{max-width:450px;margin-bottom:var(--space-8);font-size:var(--text-lg);line-height:1.6;color:var(--text-muted)}.onboarding-container .welcome-button{min-width:unset;padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.onboarding-container .nutrition-goals-editor{width:100%}.onboarding-container .nutrition-suggestion-banner{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--text-secondary);background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:var(--radius-md)}.onboarding-container .nutrition-suggestion-banner .suggestion-text{flex:1;font-size:var(--text-sm);color:var(--text-secondary)}.onboarding-container .suggestion-btn-group{display:flex;flex-shrink:0;gap:var(--space-2)}.onboarding-container .nutrition-suggestion-banner .suggestion-btn{padding:6px var(--space-3);font-size:var(--text-sm);font-weight:500;white-space:nowrap;color:var(--text-on-primary);background:var(--color-primary);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}.onboarding-container .nutrition-suggestion-banner .suggestion-btn:disabled{opacity:.4;cursor:not-allowed}.onboarding-container .nutrition-suggestion-banner .suggestion-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 88%,var(--text))}.onboarding-container .nutrition-suggestion-banner .suggestion-btn-calculate{color:var(--color-primary-strong);background:transparent;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--border))}.onboarding-container .nutrition-suggestion-banner .suggestion-btn-calculate:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:var(--color-primary)}.onboarding-container .nutrition-suggestion-banner.nutrition-calc-panel{flex-direction:column;align-items:stretch;gap:var(--space-3)}.onboarding-container .nutrition-calc-header{display:flex;align-items:center;gap:var(--space-2)}.onboarding-container .nutrition-calc-title{font-size:var(--text-base);font-weight:600;color:var(--color-primary-strong)}.onboarding-container .nutrition-weight-warning{margin:0;font-size:var(--text-sm);color:var(--danger)}.onboarding-container .nutrition-ready-message{margin:0;font-size:var(--text-sm);color:var(--success)}.onboarding-container .nutrition-suggestion-banner .nutrition-calc-btn-full{width:100%}.onboarding-container .nutrition-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.step-fade-in{animation:onboardingFadeIn .5s cubic-bezier(.16,1,.3,1)}@keyframes onboardingFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.onboarding-container{padding:var(--space-4)}.onboarding-header-bar{margin-bottom:var(--space-3)}.onboarding-title{font-size:var(--text-xl)}.onboarding-header{margin-bottom:var(--space-4)}.onboarding-glow:before{width:300px;height:300px}.onboarding-glow:after{width:250px;height:250px}.goal-cards{grid-template-columns:1fr;gap:var(--space-3);margin-top:var(--space-3)}.goal-card{flex-direction:row;min-height:unset;gap:var(--space-4);padding:var(--space-4);text-align:left}.goal-card-icon{margin-bottom:0;font-size:2rem}.goal-card-content{flex:1}.body-selector-container{padding:var(--space-3)}.body-image-wrapper{max-width:100%}.body-view-label-overlay{font-size:var(--text-xs)}.body-view-label-front{left:15%}.body-view-label-back{right:15%}.muscle-overlay{min-width:32px;min-height:32px}.equipment-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.equipment-card{min-height:90px;padding:var(--space-4) var(--space-3)}.frequency-container{padding:var(--space-5) var(--space-4)}.frequency-value{font-size:var(--text-2xl)}.summary-section{padding:var(--space-4)}.summary-item{flex-direction:column;align-items:flex-start;gap:var(--space-1)}.summary-value{max-width:100%;text-align:left}.onboarding-footer{padding:var(--space-4) 0}.onboarding-container .button-base{min-width:100px;flex:1}.welcome-title{font-size:var(--text-2xl)}.welcome-description{font-size:var(--text-base)}.onboarding-container .welcome-button{width:100%;padding:var(--space-4) var(--space-6)}}@media (max-width: 480px){.onboarding-container .nutrition-goals-grid{grid-template-columns:1fr}.onboarding-container .nutrition-suggestion-banner{flex-direction:column;align-items:flex-start}.onboarding-container .suggestion-btn-group{width:100%}.onboarding-container .suggestion-btn-group .suggestion-btn{flex:1}}@media (pointer: coarse){.goal-card,.equipment-card,.radio-option{min-height:48px}}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary);border:none;padding:14px 28px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition);font-family:var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 20%,transparent)}.btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 30px color-mix(in srgb,var(--color-primary) 30%,transparent)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.btn-primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:14px 28px;border-radius:var(--radius-sm);font-size:15px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-sans);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-secondary:hover:not(:disabled){background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-primary-strong)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-outline-accent{background:transparent;color:var(--color-primary-strong);border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);padding:14px 28px;border-radius:var(--radius-sm);font-size:15px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-sans)}.btn-outline-accent:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 8%,transparent);border-color:color-mix(in srgb,var(--color-primary) 50%,transparent)}.btn-outline-accent:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 15%,transparent);padding:12px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-sans)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 20%,transparent);border-color:color-mix(in srgb,var(--danger) 30%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--danger) 12%,transparent)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.btn-danger-outline{background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 12%,transparent);padding:12px 24px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-sans)}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 6%,transparent);border-color:color-mix(in srgb,var(--danger) 20%,transparent)}.btn-danger-outline:disabled{opacity:.5;cursor:not-allowed}.btn-danger-outline:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.btn-text{background:none;border:none;color:var(--text-secondary);font-size:14px;font-family:var(--font-sans);cursor:pointer;padding:8px 16px;transition:var(--transition);border-radius:var(--radius-sm)}.btn-text:hover{color:var(--text);background:var(--surface-raised)}.btn-text:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-close{background:none;border:none;color:var(--text-muted);font-size:28px;cursor:pointer;padding:0;line-height:1;transition:var(--transition)}.btn-close:hover{color:var(--text)}.btn-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:workoutSpin 1s linear infinite}.error-message{background:color-mix(in srgb,var(--danger) 6%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);padding:14px 18px;border-radius:var(--radius-sm);margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:10px}.error-message:before{content:"!";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--danger);color:var(--surface);border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.workout-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:400px;gap:16px}.workout-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:workoutSpin 1s linear infinite}.workout-loading-text{color:var(--text-secondary);font-size:16px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:8px;color:var(--text);font-size:14px}.form-group .required{color:var(--danger)}.form-group input,.form-group textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;font-family:var(--font-sans);color:var(--text);transition:var(--transition);box-sizing:border-box;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 8%,transparent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.field-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.field-error{color:var(--danger);font-size:12px}.char-count{color:var(--text-muted);font-size:11px;margin-left:auto}.input-error{border-color:color-mix(in srgb,var(--danger) 40%,transparent)!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,black 60%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalFadeIn .25s cubic-bezier(.4,0,.2,1)}.modal-content{background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;animation:modalSlideUp .4s cubic-bezier(.16,1,.3,1);box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.02em}.modal-body{padding:24px;overflow-y:auto}.empty-state{text-align:center;padding:60px 20px;background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text)}.empty-state p{color:var(--text-secondary);margin:0 0 16px}.ambient-glow{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-glow:before,.ambient-glow:after{content:"";position:absolute;border-radius:50%;filter:blur(120px);opacity:.18;animation:ambientGlowDrift 14s ease-in-out infinite alternate}.ambient-glow:before{width:500px;height:500px;background:radial-gradient(circle,var(--color-primary) 0%,transparent 70%);top:-10%;right:-10%}.ambient-glow:after{width:400px;height:400px;background:radial-gradient(circle,var(--color-primary) 0%,transparent 70%);bottom:5%;left:-8%;animation-delay:-7s}.ai-badge{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary);padding:5px;border-radius:6px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:0}.muscle-group-badge{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary-strong);padding:2px 8px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap}.btn-swap-inline{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:12px;padding:6px;flex-shrink:0;transition:border-color var(--transition),background var(--transition),color var(--transition)}.btn-swap-inline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.btn-swap-inline:disabled{opacity:.4;cursor:not-allowed}.btn-swap-inline .btn-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:workoutSpin .6s linear infinite}.btn-swap{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font-sans);padding:6px 12px;transition:border-color var(--transition),background var(--transition)}.btn-swap:hover:not(:disabled){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.btn-swap:disabled{opacity:.4;cursor:not-allowed}.btn-swap .btn-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:workoutSpin .6s linear infinite}@keyframes workoutSpin{to{transform:rotate(360deg)}}@keyframes workoutFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes ambientGlowDrift{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-20px) scale(1.15)}}@media (prefers-reduced-motion: reduce){.btn-primary,.btn-secondary,.btn-danger,.btn-danger-outline,.btn-text,.btn-close{transition:none}.workout-spinner,.btn-spinner{animation:none}.ambient-glow:before,.ambient-glow:after{animation:none}.modal-overlay,.modal-content{animation:none}}@media (prefers-contrast: high){.btn-primary{border:2px solid var(--text)}.btn-secondary{border:2px solid var(--text-secondary)}}@media (pointer: coarse){.btn-primary,.btn-secondary{min-height:48px}}@media (max-width: 768px){.ambient-glow:before{width:300px;height:300px}.ambient-glow:after{width:250px;height:250px}}@media (max-width: 480px){.ambient-glow:before{width:200px;height:200px}.ambient-glow:after{width:180px;height:180px}}.difficulty-row{display:flex;flex-direction:column;gap:12px;margin:8px 0 20px}.difficulty-row label{font-size:13px;color:var(--text-secondary)}.difficulty-selector{display:flex;gap:8px;flex-wrap:wrap}.difficulty-selector--compact{gap:4px}.difficulty-chip{padding:10px 16px;border-radius:20px;border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-sans);background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text-secondary)}.difficulty-selector--compact .difficulty-chip{padding:6px 12px;font-size:12px}.difficulty-chip:disabled{opacity:.5;cursor:not-allowed}.difficulty-chip.difficulty-easy{border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.difficulty-chip.difficulty-easy:hover:not(:disabled){background:color-mix(in srgb,var(--success) 15%,transparent)}.difficulty-chip.difficulty-easy.difficulty-chip--selected{background:color-mix(in srgb,var(--success) 20%,transparent);border-color:var(--success);color:var(--success)}.difficulty-chip.difficulty-intermediate{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-primary-strong)}.difficulty-chip.difficulty-intermediate:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.difficulty-chip.difficulty-intermediate.difficulty-chip--selected{background:color-mix(in srgb,var(--color-primary) 20%,transparent);border-color:var(--color-primary);color:var(--color-primary-strong)}.difficulty-chip.difficulty-hard{border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning)}.difficulty-chip.difficulty-hard:hover:not(:disabled){background:color-mix(in srgb,var(--warning) 15%,transparent)}.difficulty-chip.difficulty-hard.difficulty-chip--selected{background:color-mix(in srgb,var(--warning) 20%,transparent);border-color:var(--warning);color:var(--warning)}.difficulty-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.difficulty-badge.difficulty-easy,.difficulty-badge.difficulty-badge--easy{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.difficulty-badge.difficulty-intermediate,.difficulty-badge.difficulty-badge--intermediate{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent)}.difficulty-badge.difficulty-hard,.difficulty-badge.difficulty-badge--hard{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.workout-hub{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-5) var(--space-7);max-width:1200px;margin:0 auto;min-height:100vh;background-color:var(--bg);box-sizing:border-box;overflow-x:hidden}.workout-hub-create-btn{margin-bottom:var(--space-5)}.routine-card-badges{display:flex;align-items:center;gap:8px;flex-shrink:0}.routine-status-badge{padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.routine-status-badge.active{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.routine-status-badge.inactive{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text-muted)}.routine-day-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.routine-day-tag{background:color-mix(in srgb,var(--sem-workout) 12%,transparent);color:var(--color-primary-strong);padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.routine-link-badge{background:color-mix(in srgb,var(--sem-workout) 12%,transparent);color:var(--color-primary-strong);padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:var(--transition);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-link-badge:hover{background:color-mix(in srgb,var(--sem-workout) 22%,transparent);text-decoration:underline}.routine-link-badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.workout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:var(--space-5)}.workout-card{cursor:pointer;transition:var(--transition);animation:workoutFadeIn .4s ease-out;min-width:0;overflow:hidden}.workout-card>*+*{margin-top:0}.workout-card:hover{background:var(--surface-raised);transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--sem-workout) 25%,var(--border))}.workout-card.expanded{border-color:color-mix(in srgb,var(--sem-workout) 30%,var(--border));box-shadow:var(--shadow-md)}.workout-card.expanded:hover{transform:none}.workout-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.workout-card-header .card__title{flex:1;min-width:0}.workout-card-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workout-card-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:var(--text-sm);color:var(--text-muted);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border);min-width:0;overflow:hidden}.workout-card-meta span{display:flex;align-items:center;gap:4px}.workout-card-exercises{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease}.workout-card.expanded .workout-card-exercises{opacity:1}.workout-card-exercise-list{list-style:none;margin:0 0 16px;padding:0}.workout-card-exercise-item{display:flex;align-items:baseline;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--text)}.workout-card-exercise-item:last-child{border-bottom:none}.exercise-order{color:var(--text-muted);font-size:var(--text-sm);font-weight:600;min-width:22px;flex-shrink:0}.exercise-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-target{color:var(--color-primary-strong);font-size:var(--text-sm);font-weight:500;white-space:nowrap;flex-shrink:0}.workout-card-no-exercises{color:var(--text-muted);font-size:var(--text-sm);font-style:italic;margin:8px 0 16px;padding:0}.workout-card-actions{display:flex;gap:12px}.workout-card-action-btn{flex:1}.workout-grid .workout-card:nth-child(2){animation-delay:.05s}.workout-grid .workout-card:nth-child(3){animation-delay:.1s}.workout-grid .workout-card:nth-child(4){animation-delay:.15s}.workout-grid .workout-card:nth-child(5){animation-delay:.2s}.workout-grid .workout-card:nth-child(6){animation-delay:.25s}@media (max-width: 768px){.workout-hub{padding:var(--space-4)}.workout-grid{grid-template-columns:1fr}.workout-card{padding:var(--space-4)}.workout-card-meta{flex-direction:column;gap:8px}.workout-card-exercise-item{padding:8px 0}}.workout-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.workout-card[tabindex]{outline:none}@media (prefers-reduced-motion: reduce){.workout-card{animation:none;transition:none}.workout-card:hover{transform:none}.workout-card-exercises{transition:none}}.youtube-player{margin-top:12px}.youtube-toggle-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:8px;color:var(--danger);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.youtube-toggle-btn:hover{background:color-mix(in srgb,var(--danger) 18%,transparent);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.youtube-icon{width:20px;height:20px;flex-shrink:0}.chevron-icon{width:16px;height:16px;margin-left:auto;transition:transform .2s ease}.chevron-icon.expanded{transform:rotate(180deg)}.youtube-embed-container{margin-top:12px;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;background:var(--surface-sunken)}.youtube-embed-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px}@media (max-width: 480px){.youtube-toggle-btn{padding:12px 14px;font-size:13px}.youtube-toggle-btn span{flex:1;text-align:left}}.workout-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px;text-align:center}.workout-error p{color:var(--danger);font-size:var(--text-base);margin:0}.workout-title{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.workout-title h1{margin:0;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--text)}.workout-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0}.workout-meta{--row-accent: var(--sem-workout)}.workout-detail-actions{display:flex;flex-direction:column;gap:var(--space-3)}.exercises-section,.exercise-list{display:flex;flex-direction:column;gap:var(--space-4)}.exercise-card{display:flex;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}html[data-mode=light] .exercise-card{border-color:transparent;box-shadow:var(--shadow-md)}.exercise-card:hover{border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.exercise-number{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-primary);color:var(--text-on-primary);border-radius:var(--radius-full);font-size:var(--text-base);font-weight:600;flex-shrink:0}.exercise-content{flex:1;min-width:0}.exercise-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2)}.exercise-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.exercise-header h3{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text)}.exercise-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5;margin:0 0 var(--space-3)}.exercise-targets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.target-badge{display:inline-flex;align-items:center;padding:6px 12px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.rest-badge{display:inline-flex;align-items:center;padding:6px 12px;background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-sm)}.exercise-notes{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-3);background:color-mix(in srgb,var(--text) 3%,transparent);border-radius:var(--radius-sm);border-left:3px solid color-mix(in srgb,var(--color-primary) 40%,transparent);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.notes-icon{color:var(--color-primary-strong);font-weight:600;flex-shrink:0}.empty-exercises{text-align:center;border-style:dashed}.empty-exercises p{color:var(--text-secondary);margin:0 0 var(--space-4)}.workout-footer{display:flex;justify-content:flex-end;padding-top:var(--space-5);border-top:1px solid var(--border)}@media (max-width: 480px){.workout-title h1{font-size:var(--text-xl)}.exercise-header{flex-direction:column;gap:var(--space-2)}.exercise-header h3{font-size:var(--text-base)}.workout-footer{justify-content:center}.workout-footer .btn{width:100%}}.exercise-card{animation:workoutFadeIn .4s ease-out}.exercise-list .exercise-card:nth-child(1){animation-delay:.05s}.exercise-list .exercise-card:nth-child(2){animation-delay:.1s}.exercise-list .exercise-card:nth-child(3){animation-delay:.15s}.exercise-list .exercise-card:nth-child(4){animation-delay:.2s}.exercise-list .exercise-card:nth-child(5){animation-delay:.25s}.exercise-list .exercise-card:nth-child(6){animation-delay:.3s}@media (prefers-reduced-motion: reduce){.exercise-card{animation:none}}.workout-logger{max-width:700px;margin:0 auto;width:100%}.logger-loading{min-height:400px}.logger-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-5);text-align:center}.logger-error p{color:var(--danger);font-size:var(--text-base);margin:0}.no-exercises{text-align:center}.no-exercises p{color:var(--text-secondary);margin:0 0 var(--space-4)}.current-exercise__name{font-size:var(--text-xl)}.target-info{display:flex;flex-wrap:wrap;gap:var(--space-2)}.exercise-notes{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;padding:var(--space-3);background:color-mix(in srgb,var(--sem-goal) 10%,var(--surface));border-left:3px solid var(--sem-goal);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.notes-label{color:var(--sem-goal-text);font-weight:600;flex-shrink:0}.demo-icon{font-size:10px}.exercise-demo{margin-top:var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.demo-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-primary-soft);border-bottom:1px solid var(--border)}.demo-title{font-size:var(--text-sm);font-weight:600;color:var(--text)}.demo-video-container{position:relative;width:100%;padding-top:56.25%;background:var(--surface-sunken)}.demo-iframe,.demo-video{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.demo-image-container{display:flex;justify-content:center;align-items:center;padding:var(--space-4);background:var(--surface-sunken)}.demo-image{max-width:100%;max-height:400px;height:auto;border-radius:var(--radius-sm)}.set-logger{border-top:1px solid var(--border);padding-top:var(--space-5)}.set-logger__heading{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:600;color:var(--text);letter-spacing:-.01em}.no-sets{color:var(--text-muted);font-size:var(--text-sm);font-style:italic;margin:0}.sets-list__item+.sets-list__item{border-top:1px solid var(--border)}.completed-set{background:color-mix(in srgb,var(--success) 7%,var(--surface))}.completed-set .set-number{color:var(--success);font-weight:600}.completed-set--editable{cursor:pointer}.completed-set--editable:hover{background:color-mix(in srgb,var(--success) 14%,var(--surface))}.completed-set--editable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.set-edit-hint{flex:0 0 auto;color:var(--text-muted);font-size:var(--text-sm);opacity:.5}.completed-set--editable:hover .set-edit-hint{opacity:1}.set-inline-edit{padding:var(--space-4);background:var(--surface-sunken);display:flex;flex-direction:column;gap:var(--space-3)}.set-inline-edit-header .set-number{font-weight:600;color:var(--success);font-size:var(--text-sm)}.set-inline-edit-actions{display:flex;gap:var(--space-3)}.log-set-form{margin-top:var(--space-5);padding:var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.set-inputs{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.input-group{flex:1;min-width:140px}.input-group label{display:block;color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-2)}.number-input{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);transition:var(--transition)}.number-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.number-input button{width:44px;background:color-mix(in srgb,var(--text) 4%,transparent);border:none;color:var(--text-secondary);font-size:var(--text-xl);font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-sans)}.number-input button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary-strong)}.number-input button:disabled{opacity:.3;cursor:not-allowed}.number-input button:first-child{border-right:1px solid var(--border)}.number-input button:last-child{border-left:1px solid var(--border)}.number-input input{flex:1;min-width:60px;text-align:center;border:none;background:transparent;color:var(--text);font-size:var(--text-lg);font-weight:600;font-family:var(--font-sans);padding:var(--space-3) var(--space-2)}.number-input input:focus{outline:none}.number-input input::-webkit-outer-spin-button,.number-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input input[type=number]{-moz-appearance:textfield}.notes-input{margin-bottom:var(--space-4)}.notes-input input,.notes-input textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--text-sm);font-family:var(--font-sans);transition:var(--transition);box-sizing:border-box}.notes-input input:focus,.notes-input textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.notes-input input::placeholder,.notes-input textarea::placeholder{color:var(--text-muted)}.log-btn{margin-top:var(--space-2)}.exercise-complete{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-5);background:color-mix(in srgb,var(--success) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--success) 25%,transparent);border-radius:var(--radius-md);color:var(--success);font-size:var(--text-base);font-weight:500}.complete-icon{font-size:var(--text-xl)}.logger-navigation{display:flex;justify-content:space-between;gap:var(--space-4)}.logger-navigation .btn{flex:1}.exercise-dots{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) 0}.dot{width:12px;height:12px;border-radius:var(--radius-full);border:2px solid var(--border);background:transparent;cursor:pointer;transition:var(--transition);padding:0}.dot:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.dot.active{background:var(--color-primary);border-color:transparent;transform:scale(1.2)}.dot.has-sets{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.dot.has-sets:not(.active){background:color-mix(in srgb,var(--success) 25%,transparent)}.dot:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.workout-logger-scrim{position:fixed;z-index:1000}.stop-modal{max-width:420px}.stop-modal-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.stop-modal-message{margin:0;font-size:var(--text-base);color:var(--text-secondary);text-align:center}.progress-summary{display:flex;justify-content:center}.stop-modal-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.stop-modal-footer{display:flex;justify-content:center;padding-top:var(--space-2);border-top:1px solid var(--border)}@media (max-width: 768px){.target-info{flex-direction:row}.set-inputs{flex-direction:column}.input-group{width:100%}.logger-navigation{flex-direction:column}}@media (max-width: 480px){.number-input button{width:36px}.exercise-dots{gap:var(--space-1)}.dot{width:10px;height:10px}}.ai-usage-gauge{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ai-usage-gauge.loading{text-align:center;color:var(--text-secondary)}.ai-usage-bar{height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden;margin-bottom:8px}.ai-usage-bar-fill{height:100%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border-radius:4px;transition:width .3s cubic-bezier(.4,0,.2,1)}.ai-usage-text{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.ai-usage-text .warning{color:var(--warning);font-weight:500}.exercise-form-scrim{position:fixed;z-index:1000}.exercise-form-modal{width:100%;max-width:620px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.efm-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0}.efm-header .card__title{letter-spacing:-.02em}.efm-close-btn{flex-shrink:0}.efm-body{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-7)}.efm-body::-webkit-scrollbar{width:6px}.efm-body::-webkit-scrollbar-track{background:transparent}.efm-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 12%,transparent);border-radius:3px}.efm-body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 20%,transparent)}.efm-error{background:color-mix(in srgb,var(--danger) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);padding:14px 18px;border-radius:var(--radius-md);font-size:var(--text-sm);display:flex;align-items:center;gap:10px}.efm-error:before{content:"!";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--danger);color:var(--surface);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;flex-shrink:0}.form-section{display:flex;flex-direction:column;gap:var(--space-4)}.efm-field{display:flex;flex-direction:column;gap:var(--space-2)}.efm-field .field__label{margin-bottom:0;color:var(--text)}.exercise-form-modal .required{color:var(--danger)}.exercise-form-modal textarea.input{resize:vertical;min-height:80px;line-height:1.5}.exercise-form-modal .input.input-error{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.exercise-form-modal .field-footer{display:flex;justify-content:space-between;align-items:center;margin-top:2px}.exercise-form-modal .field-error{color:var(--danger);font-size:var(--text-xs)}.exercise-form-modal .char-count{color:var(--text-muted);font-size:11px;margin-left:auto}.multi-select-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.exercise-form-modal .measurement-toggle{display:flex;width:100%}.exercise-form-modal .measurement-toggle .segmented__btn{flex:1;text-align:center}.efm-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-shrink:0}.efm-spinner{display:inline-block;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:var(--radius-full);animation:efm-spin .6s linear infinite}@keyframes efm-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.efm-spinner{animation:none}.exercise-form-modal .efm-close-btn{transition:none}}@media (max-width: 768px){.exercise-form-modal{max-height:95vh;max-height:95dvh;margin:10px}.efm-header{padding:var(--space-4) var(--space-5)}.efm-body{padding:var(--space-5);gap:var(--space-6)}.efm-footer{flex-direction:column;padding:var(--space-4) var(--space-5)}.efm-footer .btn{width:100%}.exercise-form-modal .measurement-toggle{flex-direction:column}}.workout-edit{max-width:800px;margin:0 auto;width:100%}.workout-edit-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-5);text-align:center}.workout-edit-error p{color:var(--danger);font-size:var(--text-base)}.workout-edit-form{padding-bottom:var(--space-4)}.workout-edit-field .input,.workout-edit-textarea{margin-top:0}.workout-edit-textarea{resize:vertical;min-height:64px}.exercise-list{display:flex;flex-direction:column;gap:var(--space-3)}.exercise-item:not(.is-expanded):hover{background:color-mix(in srgb,var(--sem-workout) 5%,var(--surface))}.exercise-item-header{gap:var(--space-3)}.exercise-order-number{flex-shrink:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.exercise-item-name{flex:1;color:var(--text);font-size:var(--text-base);font-weight:500}.exercise-expand-icon.is-open{transform:rotate(180deg)}.exercise-item-body{display:flex;flex-direction:column;gap:var(--space-4)}.exercise-body-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.exercise-order-controls{display:flex;gap:var(--space-1)}.exercise-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.exercise-remove-btn{color:var(--danger)}.exercise-remove-btn:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.exercise-fields{display:flex;flex-wrap:wrap;gap:var(--space-3)}.exercise-fields .workout-field{flex:1;min-width:90px}.workout-field .field__label{margin-bottom:var(--space-1)}.exercise-fields .input{text-align:center}.exercise-fields input::-webkit-outer-spin-button,.exercise-fields input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.exercise-fields input[type=number]{-moz-appearance:textfield}.notes-field{display:flex;flex-direction:column;gap:var(--space-1)}.edit-actions{padding-top:var(--space-4);border-top:1px solid var(--border)}.modal-content.exercise-picker-modal{max-width:540px;max-height:70vh;display:flex;flex-direction:column}.exercise-picker-modal .modal-body{overflow-y:auto;flex:1;min-height:0}.picker-search-wrapper{margin-bottom:var(--space-4)}.picker-search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-family:var(--font-sans);color:var(--text);transition:var(--transition);box-sizing:border-box}.picker-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.picker-search-input::placeholder{color:var(--text-muted)}.picker-empty{text-align:center;padding:var(--space-7) var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.picker-empty p{margin:0}.picker-accordion{display:flex;flex-direction:column;gap:var(--space-2)}.picker-group-section{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.picker-group-section .muscle-group-header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:var(--surface);border:none;cursor:pointer;transition:var(--transition);font-family:var(--font-sans);text-align:left}.picker-group-section .muscle-group-header:hover{background:var(--surface-raised)}.picker-group-section .muscle-group-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.picker-group-section .muscle-group-header.expanded{border-bottom:1px solid var(--border)}.picker-group-section .muscle-group-name{font-size:var(--text-base);font-weight:700;color:var(--text);flex:1}.picker-group-section .muscle-group-meta{display:flex;align-items:center;gap:var(--space-2)}.picker-group-section .muscle-group-count{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text-secondary);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.picker-group-section .expand-indicator{color:var(--text-muted);font-size:10px;transition:transform .2s ease;flex-shrink:0}.picker-group-section .expand-indicator.open{transform:rotate(180deg)}.picker-group-exercises{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2)}.exercise-picker-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);cursor:pointer;transition:var(--transition);text-align:left;width:100%;font-family:var(--font-sans)}.exercise-picker-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.exercise-picker-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.exercise-picker-item:disabled{opacity:.6;cursor:not-allowed}.exercise-picker-item.added{border-color:color-mix(in srgb,var(--success) 20%,transparent);background:color-mix(in srgb,var(--success) 6%,transparent)}.added-badge{font-size:var(--text-xs);color:var(--success);font-weight:500;flex-shrink:0}@media (max-width: 768px){.exercise-fields{flex-direction:column}.exercise-fields .workout-field{min-width:100%}}.method-selection-step,.ai-generation-step,.workout-template-step,.exercise-selection-step,.workout-editor-step,.workout-summary-step{display:flex;flex-direction:column;gap:var(--space-5)}.wizard-content{animation:workoutFadeIn .4s cubic-bezier(.16,1,.3,1)}.required{color:var(--danger)}.method-options{display:flex;flex-direction:column;gap:var(--space-3)}.method-card{width:100%;padding:0;text-align:left;cursor:pointer;transition:var(--transition)}.method-card .list-row{width:100%}.method-card:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));border-color:color-mix(in srgb,var(--color-primary) 30%,var(--border));transform:translateY(-1px)}.method-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.step-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0}.ai-prompt-field{display:flex;flex-direction:column}.ai-prompt-field .input{resize:vertical;min-height:84px}.generated-preview-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.exercise-preview-list{display:flex;flex-direction:column}.exercise-preview-item{padding-left:0;padding-right:0}.exercise-preview-list>.exercise-preview-item+.exercise-preview-item{border-top:1px solid var(--border)}.exercise-order{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.exercise-description{color:var(--text-muted)}.search-and-create{display:flex;gap:var(--space-3);align-items:center}.search-bar{display:flex;gap:var(--space-3);align-items:center;flex:1;min-width:0}.search-bar .search{flex:1;min-width:0}.selection-actions{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-primary) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--border));border-radius:var(--radius-md)}.selection-count{color:var(--color-primary-strong);font-weight:500;font-size:var(--text-sm)}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.exercise-select-card{position:relative;text-align:left;cursor:pointer;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition)}.exercise-select-card:hover:not(.already-added){border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border));background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));transform:translateY(-1px)}.exercise-select-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.exercise-select-card.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--surface))}.exercise-select-card.already-added{opacity:.5;cursor:not-allowed}.exercise-select-card h4{margin:0 0 var(--space-1);padding-right:28px;font-size:var(--text-base);font-weight:600;color:var(--text)}.exercise-card-description{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.already-added-badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:2px 8px;background:var(--surface-raised);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.checkmark{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary);border-radius:var(--radius-full)}.checkmark svg{width:14px;height:14px;stroke:var(--text-on-primary)}.muscle-group-accordion{display:flex;flex-direction:column;gap:var(--space-2)}.muscle-group-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.muscle-group-header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;transition:var(--transition)}.muscle-group-header:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface))}.muscle-group-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.muscle-group-header.expanded{border-bottom:1px solid var(--border)}.muscle-group-name{flex:1;font-size:var(--text-base);font-weight:600;color:var(--text)}.muscle-group-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.muscle-group-count{padding:2px 10px;background:var(--surface-sunken);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.muscle-group-selected{color:var(--color-primary-strong);font-size:var(--text-xs);font-weight:500}.expand-indicator{flex-shrink:0;color:var(--text-muted);font-size:10px;transition:transform var(--transition)}.expand-indicator.open{transform:rotate(180deg)}.muscle-group-section .exercise-grid{padding:var(--space-4);margin:0}.muscle-group-section .summary-exercise-list{padding:var(--space-3) var(--space-4);margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-7) var(--space-5);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:workoutSpin 1s linear infinite}.exercises-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.loading-indicator{margin-left:var(--space-2);font-size:var(--text-xs);font-weight:400;color:var(--text-secondary)}.empty-exercises{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-5);text-align:center}.empty-exercises p{margin:0;color:var(--text-secondary)}.exercise-editor-list{display:flex;flex-direction:column;gap:var(--space-3)}.exercise-card-header{cursor:pointer;-webkit-user-select:none;user-select:none}.accordion__chevron.is-open{transform:rotate(180deg)}.exercise-order-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;background:color-mix(in srgb,var(--color-primary) 14%,var(--surface));color:var(--color-primary-strong);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.exercise-item-name{flex:1;min-width:0;color:var(--text);font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-badges{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.exercise-card-body{display:flex;flex-direction:column;gap:var(--space-4)}.exercise-body-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.exercise-order-controls{display:flex;flex-direction:row;gap:var(--space-2)}.exercise-editor-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.workout-field{display:flex;flex-direction:column;gap:var(--space-2)}.workout-editor-textarea{resize:vertical;min-height:64px}.field-helper{font-size:var(--text-xs);color:var(--text-muted)}.summary-header{display:flex;align-items:center;gap:var(--space-3)}.summary-stats{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md)}.stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1}.stat-value{font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--color-primary-strong);font-variant-numeric:tabular-nums}.stat-label{font-size:var(--text-xs);color:var(--text-muted)}.summary-exercises{display:flex;flex-direction:column;gap:var(--space-3)}.summary-exercises h4{margin:0;font-size:var(--text-base);font-weight:600;color:var(--text)}.summary-exercise-list{margin:0;padding:0 0 0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.summary-exercise-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.summary-exercise-item:last-child{border-bottom:none}.summary-exercise-item .exercise-name{color:var(--text);font-weight:500}.summary-exercise-item .exercise-detail{color:var(--text-secondary);font-size:var(--text-sm)}.summary-exercise-item .exercise-notes{color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.save-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:var(--radius-md)}.save-notice svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--color-primary-strong)}.save-notice span{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.template-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:480px;overflow-y:auto;padding-right:var(--space-1)}.template-list::-webkit-scrollbar{width:6px}.template-list::-webkit-scrollbar-track{background:transparent}.template-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}.template-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.template-card{position:relative;width:100%;text-align:left;cursor:pointer;transition:var(--transition)}.template-card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border));background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));transform:translateY(-1px)}.template-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.template-card.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--surface))}.template-card.selected .template-card-header{padding-right:var(--space-7)}.template-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.template-card-badges{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.template-card-description{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.template-card-meta{color:var(--text-muted);font-size:var(--text-xs);font-weight:500}.template-empty-state{text-align:center;padding:var(--space-7) var(--space-5);color:var(--text-secondary)}.template-empty-state p{margin:0 0 var(--space-2);font-size:var(--text-base)}.template-empty-hint{color:var(--text-muted);font-size:var(--text-sm)}.template-loading-more{display:flex;justify-content:center;padding:var(--space-4)}.template-loading-more .loading-spinner{width:28px;height:28px}.scroll-sentinel{height:1px;width:100%}.step-actions{display:flex;gap:var(--space-3)}.step-actions>.btn{flex:1 1 0}@media (max-width: 768px){.search-and-create,.search-bar{flex-direction:column;align-items:stretch}.search-bar .btn{width:100%}.exercise-editor-fields{grid-template-columns:repeat(2,1fr)}.summary-stats{flex-direction:column;gap:var(--space-3)}.stat{flex-direction:row;justify-content:space-between}.step-actions{flex-direction:column}.template-list{max-height:400px}}@media (max-width: 480px){.exercise-editor-fields{grid-template-columns:1fr}.exercises-header{flex-direction:column;align-items:stretch;gap:var(--space-3)}.selection-actions{flex-direction:column;align-items:stretch;gap:var(--space-2);text-align:center}}.workout-history{max-width:700px;margin:0 auto;width:100%}.history-empty-illustration{margin-bottom:var(--space-5);opacity:.85;color:var(--color-primary)}.history-feed{display:flex;flex-direction:column;gap:var(--space-4)}.history-card{cursor:pointer;transition:var(--transition);animation:workoutFadeIn .4s cubic-bezier(.16,1,.3,1) both}.history-card:hover{border-color:color-mix(in srgb,var(--sem-workout) 30%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-2px)}.history-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.history-feed .history-card:nth-child(1){animation-delay:0s}.history-feed .history-card:nth-child(2){animation-delay:.05s}.history-feed .history-card:nth-child(3){animation-delay:.1s}.history-feed .history-card:nth-child(4){animation-delay:.15s}.history-feed .history-card:nth-child(5){animation-delay:.2s}.history-feed .history-card:nth-child(6){animation-delay:.25s}.history-feed .history-card:nth-child(7){animation-delay:.3s}.history-feed .history-card:nth-child(8){animation-delay:.35s}.history-feed .history-card:nth-child(9){animation-delay:.4s}.history-feed .history-card:nth-child(10){animation-delay:.45s}.history-card-top{display:flex;align-items:center;gap:var(--space-3)}.history-card-icon{flex-shrink:0}.history-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.history-card-name{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-card-date{font-size:var(--text-sm);color:var(--text-muted)}.history-card-status{flex-shrink:0;white-space:nowrap}.history-card-delete{flex-shrink:0;opacity:0}.history-card:hover .history-card-delete,.history-card:focus-within .history-card-delete{opacity:1}.history-card-delete:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.history-card-stats{display:flex;gap:var(--space-2)}.history-stat-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-3) var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-md)}.history-stat-value{font-size:var(--text-base);font-weight:700;color:var(--text);white-space:nowrap;line-height:1.2}.history-stat-value.stat-empty{color:var(--text-muted);font-weight:500}.history-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.history-card-exercises{padding-top:var(--space-2)}.history-exercise-chip{cursor:default}.history-load-more{margin-top:var(--space-3)}@media (max-width: 480px){.history-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}}@media (prefers-reduced-motion: reduce){.history-card{animation:none;transition:none}}.workout-log-detail{max-width:700px;margin:0 auto;width:100%}.log-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-5);text-align:center}.log-detail-error p{color:var(--danger);font-size:var(--text-base);margin:0}.log-detail-info{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-7)}.log-detail-info__item{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.log-detail-info__label{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.log-detail-info__value{font-size:var(--text-sm);font-weight:500;color:var(--text)}.log-detail-stats .stat-card__value{font-size:var(--text-xl)}.exercise-section__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.set-view-list{background:transparent;border:none;box-shadow:none;border-radius:0}html[data-mode=light] .set-view-list{border:none;box-shadow:none}.set-view-row{padding-left:0;padding-right:0}.set-view-row__num{font-size:var(--text-sm);font-weight:600}.set-view-row__empty{color:var(--text-muted);font-style:italic;font-weight:400}.set-view-row__notes{font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.set-edit-list{display:flex;flex-direction:column;gap:var(--space-3)}.set-edit-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.set-edit-row__num{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;border-radius:var(--radius-full);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 16%,var(--surface));font-size:var(--text-sm);font-weight:600}.set-edit-row__field{flex:0 0 78px;width:78px;text-align:center;padding-left:var(--space-2);padding-right:var(--space-2)}.set-edit-row__notes{flex:1 1 140px;min-width:120px}.set-edit-row__difficulty{flex:0 0 auto}.set-edit-row__delete{flex:0 0 auto;margin-left:auto}.set-edit-row__delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.set-edit-row__field::-webkit-outer-spin-button,.set-edit-row__field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-edit-row__field[type=number]{-moz-appearance:textfield}.log-detail-notes__input{resize:vertical;min-height:88px}.log-detail-notes__text{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;white-space:pre-wrap;margin:0}.log-detail-notes__empty{color:var(--text-muted);font-size:var(--text-sm);font-style:italic;margin:0}.empty-sets{text-align:center}.empty-sets p{color:var(--text-secondary);margin:0}.log-detail-footer{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-end;padding-top:var(--space-5);border-top:1px solid var(--border)}.log-detail-actions{display:flex;gap:var(--space-3);width:100%;justify-content:flex-end}@media (max-width: 768px){.log-detail-info{flex-direction:column;gap:var(--space-4)}.set-edit-row__notes{flex-basis:100%;order:10}.set-edit-row__difficulty{order:11}.set-edit-row__delete{order:12}.log-detail-footer{align-items:stretch}.log-detail-actions{flex-direction:column}.log-detail-delete{width:100%}}@media (max-width: 480px){.log-detail-stats{grid-template-columns:1fr 1fr}.set-edit-row__field{flex:1 1 calc(50% - var(--space-2));width:auto}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modalFadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:color-mix(in srgb,var(--surface) 65%,transparent);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--text) 6%,transparent)}.cropper-modal .modal-content{display:flex;flex-direction:column;overflow:hidden}.cropper-modal .modal-body{flex:1;min-height:0;overflow-y:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px;border-bottom:1px solid color-mix(in srgb,var(--text) 6%,transparent);display:flex;justify-content:space-between;align-items:center}.modal-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.modal-close-btn{width:32px;height:32px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1)}.modal-close-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.modal-body{padding:20px}.modal-footer{padding:16px 20px;border-top:1px solid color-mix(in srgb,var(--text) 6%,transparent);display:flex;justify-content:flex-end;gap:12px}.modal-btn{padding:10px 20px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;font-family:Hanken Grotesk,Helvetica,sans-serif;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.modal-btn-secondary{background:transparent;border:1px solid color-mix(in srgb,var(--text) 10%,transparent);color:var(--text)}.modal-btn-secondary:hover{background:color-mix(in srgb,var(--text) 6%,transparent);border-color:color-mix(in srgb,var(--text) 15%,transparent)}.modal-btn-primary{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--text-on-primary);box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 20%,transparent)}.modal-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 85%,black);border-color:color-mix(in srgb,var(--color-primary) 85%,black);box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary) 30%,transparent)}.modal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn-danger{background:var(--danger);border:1px solid var(--danger);color:var(--text-on-primary);box-shadow:0 2px 10px color-mix(in srgb,var(--danger) 20%,transparent)}.modal-btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,black);border-color:color-mix(in srgb,var(--danger) 85%,black);box-shadow:0 4px 16px color-mix(in srgb,var(--danger) 30%,transparent)}.modal-btn-danger:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.modal-content{margin:10px;max-height:calc(100vh - 20px)}.modal-header,.modal-body{padding:16px}.modal-footer{padding:12px 16px;flex-direction:column}.modal-btn{width:100%;justify-content:center}}@keyframes accountDrift1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}@keyframes accountDrift2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-25px,25px) scale(.97)}66%{transform:translate(15px,-30px) scale(1.03)}}@keyframes accountFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.account-page{min-height:100vh;background:var(--bg);font-family:var(--font-body);position:relative;overflow-x:hidden;color:var(--text);-webkit-font-smoothing:antialiased}.account-page:before,.account-page:after{content:"";position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;opacity:.4}.account-page:before{width:400px;height:400px;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 12%,transparent) 0%,transparent 70%);top:-80px;right:-120px;animation:accountDrift1 18s ease-in-out infinite}.account-page:after{width:350px;height:350px;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 8%,transparent) 0%,transparent 70%);bottom:10%;left:-100px;animation:accountDrift2 22s ease-in-out infinite}.account-header{padding:20px 24px 14px;background:transparent;position:relative;z-index:1}.account-header-content{display:flex;align-items:center;gap:14px;max-width:600px;margin:0 auto}.account-heading{margin:0;font-family:var(--font-headline);font-size:1.3rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.account-content{padding:12px 20px 40px;display:flex;flex-direction:column;gap:16px;max-width:600px;margin:0 auto;position:relative;z-index:1}.account-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.profile-section{background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:var(--radius-lg);padding:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);animation:accountFadeIn .5s ease both}.profile-header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.profile-image-container{position:relative;width:80px;height:80px;flex-shrink:0}.profile-image{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary);box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 15%,transparent)}.profile-image-placeholder{width:80px;height:80px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;font-family:var(--font-headline);font-size:1.6rem;color:var(--color-primary-strong);font-weight:600;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 10%,transparent)}.profile-change-photo-btn{position:absolute;bottom:-2px;right:-2px;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border:2px solid var(--bg);color:var(--text-on-primary);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 30%,transparent)}.profile-change-photo-btn:hover{transform:scale(1.1);box-shadow:0 4px 14px color-mix(in srgb,var(--color-primary) 40%,transparent)}.profile-info{flex:1;min-width:0}.profile-name{margin:0 0 4px;font-family:var(--font-headline);font-size:1.15rem;font-weight:600;color:var(--text)}.profile-email{margin:0;font-size:.85rem;color:var(--text-secondary);word-break:break-word}.username-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.username-label{font-size:.85rem;color:var(--text-secondary)}.username-value-container{display:flex;align-items:center;gap:12px}.username-value{font-size:.9rem;color:var(--text);font-weight:500}.username-edit-btn{background:transparent;border:none;color:var(--color-primary-strong);font-size:.82rem;font-weight:500;cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm);transition:var(--transition);font-family:var(--font-body)}.username-edit-btn:hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.username-edit-form{display:flex;align-items:center;gap:8px;flex:1;max-width:300px}.username-input{flex:1;padding:8px 12px;background:var(--surface-sunken);border:none;border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);color:var(--text);transition:var(--transition);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.username-input:focus{outline:none;background:var(--surface-raised);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 8%,transparent)}.username-input.error{box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 12%,transparent)}.username-action-btn{width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:var(--transition)}.username-save-btn{background:var(--success);color:var(--text-on-primary)}.username-save-btn:hover:not(:disabled){background:color-mix(in srgb,var(--success) 80%,black);box-shadow:0 2px 10px color-mix(in srgb,var(--success) 30%,transparent)}.username-save-btn:disabled{opacity:.5;cursor:not-allowed}.username-save-checkmark{width:16px;height:16px}.username-save-loading{display:block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:usernameSpinner .6s linear infinite}@keyframes usernameSpinner{to{transform:rotate(360deg)}}.username-cancel-btn{background:var(--surface-raised);color:var(--text-secondary)}.username-cancel-btn:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));color:var(--text)}.username-error{font-size:.75rem;color:var(--danger);margin-top:4px}.preferences-section{background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);overflow:hidden;animation:accountFadeIn .5s ease .1s both}.preferences-section-title{margin:0;padding:18px 22px;font-family:var(--font-headline);font-size:.95rem;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--text) 2%,transparent);letter-spacing:-.01em}.accordion-header{width:100%;padding:16px 22px;background:transparent;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.accordion-header:hover{background:var(--surface-raised)}.accordion-header-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left}.accordion-title{font-family:var(--font-headline);font-size:.92rem;font-weight:500;color:var(--text)}.accordion-value{font-size:.78rem;color:var(--text-secondary);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accordion-icon{font-size:.85rem;color:var(--text-muted);transition:transform .25s cubic-bezier(.4,0,.2,1)}.accordion-icon.expanded{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1);background:var(--surface-sunken)}.accordion-content.expanded{max-height:600px}.accordion-body{padding:20px 22px}.accordion-form-group{margin-bottom:16px}.accordion-form-group:last-child{margin-bottom:0}.accordion-form-label{display:block;font-size:.82rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.accordion-form-select,.accordion-form-input{width:100%;padding:11px 14px;background:var(--surface-sunken);border:none;border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font-body);color:var(--text);cursor:pointer;transition:var(--transition);-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.accordion-form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23a6acaf'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:22px;padding-right:40px}.accordion-form-select:focus,.accordion-form-input:focus{outline:none;background:var(--surface-raised);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 8%,transparent)}.accordion-form-input::placeholder{color:var(--text-muted)}.accordion-chips{display:flex;flex-wrap:wrap;gap:8px}.accordion-chip{padding:8px 14px;background:var(--surface-sunken);border:none;border-radius:24px;font-size:.82rem;font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;transition:var(--transition);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.accordion-chip:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--text)}.accordion-chip.selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 8%,transparent)}.accordion-save-btn{margin-top:16px;width:100%;padding:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border:none;border-radius:var(--radius-sm);color:var(--text-on-primary);font-size:.88rem;font-weight:600;font-family:var(--font-headline);cursor:pointer;transition:var(--transition);box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.accordion-save-btn:hover:not(:disabled){box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 40%,transparent);transform:translateY(-1px)}.accordion-save-btn:disabled{opacity:.5;cursor:not-allowed}.accordion-frequency{padding:16px;background:var(--surface-sunken);border-radius:var(--radius-sm)}.accordion-frequency-value{text-align:center;font-family:var(--font-headline);font-size:2.2rem;font-weight:700;color:var(--color-primary-strong);margin-bottom:4px;text-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 20%,transparent)}.accordion-frequency-label{text-align:center;color:var(--text-secondary);font-size:.82rem;margin-bottom:16px}.accordion-frequency-slider{width:100%;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));outline:none;-webkit-appearance:none;cursor:pointer}.accordion-frequency-slider::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:3px solid var(--bg);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 35%,transparent);transition:box-shadow .2s ease}.accordion-frequency-slider::-webkit-slider-thumb:hover{box-shadow:0 0 18px color-mix(in srgb,var(--color-primary) 50%,transparent)}.accordion-frequency-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:3px solid var(--bg);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 35%,transparent)}.accordion-frequency-markers{display:flex;justify-content:space-between;margin-top:8px;padding:0 4px}.accordion-frequency-marker{font-size:.68rem;color:var(--text-muted)}.accordion-height-inputs{display:flex;gap:16px}.accordion-height-input-group{display:flex;align-items:center;gap:8px;flex:1}.accordion-height-input-group .accordion-form-input{width:100%;text-align:center}.accordion-height-unit{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.danger-zone{background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:var(--radius-lg);padding:22px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg),0 0 30px color-mix(in srgb,var(--danger) 4%,transparent);animation:accountFadeIn .5s ease .2s both}.danger-zone-title{margin:0 0 8px;font-family:var(--font-headline);font-size:.95rem;font-weight:600;color:var(--danger)}.danger-zone-description{margin:0 0 16px;font-size:.82rem;color:var(--text-secondary);line-height:1.6}.danger-zone-btn{width:100%;padding:12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--danger);font-size:.88rem;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:var(--transition);background:color-mix(in srgb,var(--danger) 12%,transparent)}.danger-zone-btn:hover{background:var(--danger);color:var(--text-on-primary);box-shadow:0 4px 20px color-mix(in srgb,var(--danger) 25%,transparent)}.cropper-modal .modal-content{max-width:600px;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.cropper-upload-area{border:1px dashed color-mix(in srgb,var(--text) 10%,transparent);border-radius:var(--radius-sm);padding:40px 20px;text-align:center;cursor:pointer;transition:var(--transition);background:var(--surface-sunken)}.cropper-upload-area:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.cropper-upload-icon{font-size:3rem;margin-bottom:12px}.cropper-upload-text{font-size:.92rem;color:var(--text);margin-bottom:4px}.cropper-upload-hint{font-size:.78rem;color:var(--text-secondary)}.cropper-upload-input{display:none}.cropper-preview-container{display:flex;flex-direction:column;gap:12px}.cropper-image-container{border-radius:var(--radius-sm);background:var(--surface-sunken)}.cropper-image-container .ReactCrop{max-height:50vh;display:block}.cropper-image-container img{max-width:100%;max-height:50vh;display:block}.cropper-result-preview{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface-sunken);border-radius:var(--radius-sm)}.cropper-result-label{font-size:.78rem;color:var(--text-secondary)}.cropper-result-image{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--color-primary) 10%,transparent)}.cropper-change-btn{margin-left:auto;padding:6px 12px;background:var(--surface-raised);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.78rem;font-family:var(--font-body);cursor:pointer;transition:var(--transition)}.cropper-change-btn:hover{color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.deactivate-modal .modal-content{max-width:450px;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.deactivate-warning{display:flex;align-items:flex-start;gap:12px;padding:16px;background:color-mix(in srgb,var(--danger) 12%,transparent);border-radius:var(--radius-sm);margin-bottom:20px}.deactivate-warning-icon{font-size:1.5rem;flex-shrink:0}.deactivate-warning-text{font-size:.82rem;color:var(--text);line-height:1.6}.deactivate-warning-text strong{color:var(--danger)}.deactivate-confirmation{margin-bottom:16px}.deactivate-confirmation-label{display:block;font-size:.82rem;color:var(--text);margin-bottom:8px}.deactivate-confirmation-label code{background:color-mix(in srgb,var(--danger) 10%,transparent);padding:2px 6px;border-radius:4px;font-family:monospace;color:var(--danger)}.deactivate-input{width:100%;padding:11px 14px;background:var(--surface-sunken);border:none;border-radius:var(--radius-sm);font-size:.88rem;font-family:var(--font-body);color:var(--text);transition:var(--transition);box-sizing:border-box;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.deactivate-input:focus{outline:none;background:var(--surface-raised);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 12%,transparent)}.account-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:500;z-index:1100;animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.account-toast.success{background:#10b981d9;color:#fff;box-shadow:0 4px 20px #10b98140}.account-toast.error{background:#ff716cd9;color:#fff;box-shadow:0 4px 20px #ff716c40}@media (max-width: 600px){.account-content{padding:12px 16px 32px}.account-heading{font-size:1.2rem}.profile-section{padding:18px}.profile-header{flex-direction:column;text-align:center;gap:16px}.profile-info{text-align:center}.username-row{flex-direction:column;align-items:flex-start;gap:12px}.username-value-container{width:100%;justify-content:space-between}.username-edit-form{max-width:100%;width:100%}.accordion-header{padding:14px 16px}.accordion-value{max-width:180px}.accordion-body{padding:16px}.cropper-image-container .ReactCrop,.cropper-image-container img{max-height:40vh}.cropper-result-preview{flex-direction:column;text-align:center}.cropper-change-btn{margin-left:0;margin-top:12px}.account-page:before{width:250px;height:250px}.account-page:after{width:200px;height:200px}}.ReactCrop{max-height:400px!important}.ReactCrop__crop-selection{border:2px solid var(--color-primary)!important}.ReactCrop__drag-handle{background-color:var(--color-primary)!important}.accordion-body .nutrition-suggestion-banner{background:color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:8px;color:var(--text)}.accordion-body .nutrition-suggestion-banner .suggestion-text{color:var(--text-secondary)}.accordion-body .nutrition-suggestion-banner .suggestion-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary)}.accordion-body .nutrition-suggestion-banner .suggestion-btn:hover{box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.accordion-body .nutrition-calc-header{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary-strong)}.accordion-body .nutrition-calc-title{font-size:var(--text-base);font-weight:600;color:var(--color-primary-strong)}.accordion-body .nutrition-weight-warning{margin:0;font-size:var(--text-sm);color:var(--danger)}.accordion-body .nutrition-ready-message{margin:0;font-size:var(--text-sm);color:var(--success)}.accordion-body .nutrition-goals-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.accordion-body .nutrition-goals-grid .accordion-form-group{margin-bottom:0}@media (max-width: 480px){.accordion-body .nutrition-goals-grid{grid-template-columns:1fr}}.social-profile-section{animation-delay:.15s}.social-section-title{font-family:var(--font-headline);font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 20px}.social-field{margin-bottom:16px;position:relative}.social-field-label{display:block;font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.social-field-input,.social-field-textarea,.social-field-select{width:100%;padding:10px 12px;background:var(--surface-sunken);border:none;border-radius:8px;color:var(--text);font-size:.9rem;font-family:var(--font-body);transition:var(--transition);box-sizing:border-box}.social-field-input:focus,.social-field-textarea:focus,.social-field-select:focus{outline:none;background:var(--surface-raised);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 8%,transparent)}.social-field-input::placeholder,.social-field-textarea::placeholder{color:var(--text-muted)}.social-field-textarea{resize:vertical;min-height:70px}.social-field-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a6acaf' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.social-field-select option{background:var(--bg);color:var(--text)}.social-field-counter{display:block;text-align:right;font-size:.7rem;color:var(--text-secondary);margin-top:4px}.social-field-error{color:var(--danger);font-size:.8rem;margin:8px 0}.social-field-success{color:var(--success);font-size:.8rem;margin:8px 0}.social-save-btn{width:100%;padding:12px;margin-top:8px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary);border:none;border-radius:10px;font-size:.9rem;font-weight:600;font-family:var(--font-headline);cursor:pointer;transition:var(--transition);box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.social-save-btn:hover:not(:disabled){box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 40%,transparent);transform:translateY(-1px)}.social-save-btn:disabled{opacity:.4;cursor:not-allowed}.showcase-editor{margin-bottom:24px}.showcase-editor__heading{font-size:1.05rem;font-weight:600;color:var(--text);margin-bottom:16px}.showcase-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:16px}.showcase-toggle-label{font-size:.9rem;color:var(--text)}.showcase-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:1px solid var(--border);box-sizing:border-box;cursor:pointer;background:var(--surface-raised);transition:background .2s;padding:0}.showcase-toggle--active{background:var(--color-primary)}.showcase-toggle__knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040,0 0 0 1px #00000014;transition:transform .2s}.showcase-toggle--active .showcase-toggle__knob{transform:translate(20px)}.showcase-subheading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.showcase-subheading__title{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.showcase-subheading__count{font-size:.78rem;color:var(--text-muted)}.showcase-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.showcase-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:16px;font-size:.8rem;font-weight:500;cursor:pointer;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);transition:all .15s}.showcase-chip:hover{border-color:var(--color-primary);color:var(--text)}.showcase-chip--selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary-strong)}.showcase-chip--disabled{opacity:.4;cursor:not-allowed}.showcase-chip--disabled:hover{border-color:var(--border);color:var(--text-secondary)}.showcase-chip__order{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:.65rem;font-weight:700;background:var(--color-primary);color:var(--text-on-primary)}.showcase-empty{text-align:center;padding:20px;color:var(--text-muted);font-size:.85rem}.showcase-save-btn{width:100%;padding:10px;border:none;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;background:var(--color-primary);color:var(--text-on-primary);transition:opacity .2s}.showcase-save-btn:disabled{opacity:.4;cursor:not-allowed}.showcase-save-btn--saved{background:var(--success);color:var(--text-on-primary)}.notif-prefs-section{background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);overflow:hidden;animation:accountFadeIn .5s ease .15s both}.notif-prefs-section__title{margin:0;padding:18px 22px;font-family:var(--font-headline);font-size:.95rem;font-weight:600;color:var(--text);background:color-mix(in srgb,var(--text) 2%,transparent);letter-spacing:-.01em}.notif-prefs-section__error{padding:16px 22px;margin:0;font-size:.85rem;color:var(--text-secondary);text-align:center}.notif-prefs-section__primary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px}.notif-prefs-section__row-info{display:flex;flex-direction:column;gap:2px}.notif-prefs-section__row-label{font-size:.88rem;font-weight:500;color:var(--text)}.notif-prefs-section__row-hint{font-size:.75rem;color:var(--text-muted);line-height:1.4}.notif-prefs-section__divider{height:1px;margin:0 22px;background:color-mix(in srgb,var(--text) 10%,transparent)}.notif-prefs-section__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px}.notif-prefs-section__row:last-child{padding-bottom:16px}.notif-prefs-toggle{position:relative;width:44px;height:24px;flex-shrink:0;border-radius:12px;border:1px solid var(--border);box-sizing:border-box;cursor:pointer;background:var(--surface-raised);transition:background .2s cubic-bezier(.4,0,.2,1);padding:0}.notif-prefs-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notif-prefs-toggle:disabled{opacity:.5;cursor:not-allowed}.notif-prefs-toggle--active{background:var(--color-primary)}.notif-prefs-toggle__knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040,0 0 0 1px #00000014;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.notif-prefs-toggle--active .notif-prefs-toggle__knob{transform:translate(20px)}@media (prefers-reduced-motion: reduce){.notif-prefs-section{animation:none}.notif-prefs-toggle,.notif-prefs-toggle__knob{transition:none}}.ai-food-badge{background:var(--color-primary);color:var(--text-on-primary);padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.fatsecret-attribution{display:inline-flex;align-items:center}.fatsecret-attribution a{font-size:var(--text-xs);font-weight:500;font-family:var(--font-sans);color:var(--text-muted);text-decoration:none;opacity:.5;transition:opacity .2s ease,color .2s ease;letter-spacing:.01em;white-space:nowrap}.fatsecret-attribution a:hover{opacity:.85;color:var(--text-secondary)}.fatsecret-attribution a:focus-visible{opacity:1;outline:1px solid var(--text-muted);outline-offset:2px;border-radius:2px}.food-search-card{display:flex;flex-direction:column;gap:10px;width:100%;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:14px;cursor:pointer;transition:var(--transition);text-align:left;font-family:var(--font-sans)}.food-search-card:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 15%,transparent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.food-search-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.food-search-card:active{transform:translateY(0)}.fsc-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.fsc-name-group{display:flex;flex-direction:column;min-width:0}.fsc-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsc-brand{font-size:12px;color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsc-badges{display:flex;align-items:center;gap:6px;flex-shrink:0}.fsc-confidence{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:10px;font-family:var(--font-sans)}.fsc-confidence-high{background:color-mix(in srgb,var(--success) 12%,var(--surface));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 20%,transparent)}.fsc-confidence-medium{background:color-mix(in srgb,var(--warning) 12%,var(--surface));color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 20%,transparent)}.fsc-confidence-low{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 20%,transparent)}.fsc-nutrition-row{display:flex;justify-content:space-between;align-items:center}.fsc-calories{display:flex;align-items:baseline;gap:4px}.fsc-calories-value{font-size:16px;font-weight:700;color:var(--text)}.fsc-calories-unit{font-size:11px;color:var(--text-muted);text-transform:lowercase}.fsc-macros{display:flex;gap:8px}.fsc-macro{font-size:12px;font-weight:500;padding:3px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.fsc-macro-protein{color:var(--sem-nutrition-text)}.fsc-macro-carbs{color:var(--sem-energy-text)}.fsc-macro-fat{color:var(--sem-goal-text)}.fsc-attribution-row{display:flex;justify-content:flex-end;padding-top:6px;border-top:1px solid var(--border);margin-top:2px}.nutrition-log-card{display:flex;flex-direction:column;gap:10px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:var(--transition);font-family:var(--font-sans)}.nutrition-log-card:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--text) 9%,transparent)}.nlc-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.nlc-name-group{display:flex;flex-direction:column;min-width:0}.nlc-name-line{display:flex;align-items:center;gap:6px}.nlc-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nlc-serving{font-size:12px;color:var(--text-secondary);margin-top:2px}.nlc-right{display:flex;align-items:flex-start;gap:10px;flex-shrink:0}.nlc-actions{display:flex;align-items:center;gap:4px}.nlc-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:var(--transition);padding:0}.nlc-action-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--color-primary-strong)}.nlc-action-btn--danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.nlc-action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nlc-calories-block{display:flex;align-items:baseline;gap:3px;flex-shrink:0}.nlc-calories-value{font-size:22px;font-weight:700;color:var(--text);line-height:1}.nlc-calories-label{font-size:12px;color:var(--text-muted);text-transform:lowercase}.nlc-bottom-row{display:flex;justify-content:space-between;align-items:center}.nlc-macros{display:flex;gap:8px}.nlc-macro{font-size:12px;font-weight:500;padding:3px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.nlc-macro-protein{color:var(--sem-nutrition-text)}.nlc-macro-carbs{color:var(--sem-energy-text)}.nlc-macro-fat{color:var(--sem-goal-text)}.nlc-meta{display:flex;align-items:center;gap:8px}.nlc-meal-badge{font-size:11px;font-weight:600;text-transform:capitalize;padding:3px 10px;border-radius:10px;border:1px solid transparent;background:color-mix(in srgb,var(--nlc-meal, var(--border)) 12%,transparent);border-color:color-mix(in srgb,var(--nlc-meal, var(--border)) 20%,transparent);color:var(--nlc-meal-text, var(--text-secondary))}.nlc-meal-badge[data-meal=breakfast]{--nlc-meal: var(--sem-energy);--nlc-meal-text: var(--sem-energy-text)}.nlc-meal-badge[data-meal=lunch]{--nlc-meal: var(--sem-goal);--nlc-meal-text: var(--sem-goal-text)}.nlc-meal-badge[data-meal=dinner]{--nlc-meal: var(--sem-wellness);--nlc-meal-text: var(--sem-wellness)}.nlc-meal-badge[data-meal=snack]{--nlc-meal: var(--sem-nutrition);--nlc-meal-text: var(--sem-nutrition-text)}.nlc-time{font-size:11px;color:var(--text-muted)}.nlc-attribution-row{display:flex;justify-content:flex-end;padding-top:6px;border-top:1px solid var(--border);margin-top:2px}@media (max-width: 600px){.food-search-card,.nutrition-log-card{padding:12px 14px}.fsc-macros{gap:4px}.fsc-macro{font-size:11px;padding:2px 6px}.nlc-macros{gap:4px}.nlc-macro{font-size:11px;padding:2px 6px}.nlc-calories-value{font-size:18px}}@media (prefers-reduced-motion: reduce){.food-search-card,.nutrition-log-card{transition:none}.food-search-card:hover{transform:none}}@media (pointer: coarse){.food-search-card{min-height:60px}}.meal-group-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:var(--transition);font-family:Hanken Grotesk,Helvetica,sans-serif;overflow:hidden}.meal-group-card:hover{border-color:#ffffff17}.mgc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px 0;background:none;border:none;cursor:pointer;text-align:left;width:100%;color:inherit;font-family:inherit}.mgc-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:14px}.mgc-name-group{display:flex;flex-direction:column;min-width:0}.mgc-name-line{display:flex;align-items:center;gap:6px}.mgc-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgc-item-count{font-size:12px;color:var(--text-muted);margin-top:2px}.mgc-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.mgc-calories-block{display:flex;align-items:baseline;gap:3px}.mgc-calories-value{font-size:22px;font-weight:700;color:var(--text);line-height:1}.mgc-calories-label{font-size:12px;color:var(--text-muted);text-transform:lowercase}.mgc-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .2s ease}.mgc-chevron--open{transform:rotate(180deg)}.mgc-summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 18px 14px}.mgc-macros{display:flex;gap:8px}.mgc-actions{display:flex;align-items:center;gap:4px}.mgc-ingredients{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border)}.mgc-ingredients-divider{padding:10px 18px 6px}.mgc-ingredients-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.mgc-ingredients .nutrition-log-card--compact{border:none;border-radius:0;border-top:1px solid var(--border);padding:10px 18px;background:transparent}.mgc-ingredients .nutrition-log-card--compact:hover{background:var(--surface-raised)}.mgc-ingredients .nutrition-log-card--compact .nlc-calories-value{font-size:16px}@media (max-width: 600px){.mgc-header{padding:12px 14px 0}.mgc-summary-row{padding:8px 14px 12px}.mgc-macros{gap:4px}.mgc-ingredients-divider{padding:8px 14px 4px}.mgc-ingredients .nutrition-log-card--compact{padding:8px 14px}.mgc-calories-value{font-size:18px}}@media (prefers-reduced-motion: reduce){.meal-group-card,.mgc-chevron{transition:none}}.ssm-scrim{position:fixed;z-index:1000}.ssm-sheet{max-height:88vh;overflow-y:auto}.ssm-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ssm-header-text{display:flex;flex-direction:column;min-width:0}.ssm-food-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ssm-food-brand{margin-top:2px}.ssm-body{display:flex;flex-direction:column;gap:var(--space-5)}.ssm-field{display:flex;flex-direction:column;gap:var(--space-2)}.ssm-serving-row{display:flex;gap:var(--space-3);align-items:flex-end}.ssm-serving-row .ssm-field{flex:1}.ssm-textarea{resize:vertical;min-height:60px}.ssm-serving-label{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap;padding-bottom:12px}.ssm-nutrition-preview{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.ssm-calories-display{display:flex;align-items:baseline;gap:6px;justify-content:center}.ssm-calories-value{font-size:var(--text-3xl);font-weight:700;color:var(--text);line-height:1}.ssm-calories-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:lowercase}.ssm-macros-row{display:flex;justify-content:space-around}.ssm-macro{display:flex;flex-direction:column;align-items:center;gap:4px}.ssm-macro-value{font-size:var(--text-base);font-weight:600}.ssm-macro-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ssm-protein{color:var(--sem-nutrition-text)}.ssm-carbs{color:var(--sem-energy-text)}.ssm-fat{color:var(--sem-goal-text)}html[data-mode=dark] .ssm-date-input{color-scheme:dark}.ssm-date-input::-webkit-calendar-picker-indicator{filter:invert(.7)}html[data-mode=light] .ssm-date-input::-webkit-calendar-picker-indicator{filter:none}.ssm-footer{display:flex;justify-content:flex-end;gap:var(--space-3)}.ssm-footer>.btn{flex:1 1 0}.ssm-spinner{display:inline-block;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:ssmSpin .6s linear infinite}@keyframes ssmSpin{to{transform:rotate(360deg)}}@media (max-width: 600px){.ssm-footer{flex-direction:column}.ssm-serving-row{flex-direction:row;gap:var(--space-3)}}@media (prefers-reduced-motion: reduce){.ssm-spinner{animation:none}}.nutrition-page{font-family:var(--font-sans);background:var(--bg)}.np-content{display:flex;flex-direction:column;gap:var(--space-4);max-width:1200px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-6)}.np-filters{display:flex;overflow-x:auto;scrollbar-width:none}.np-filters::-webkit-scrollbar{display:none}.np-filters .segmented{flex-wrap:nowrap}.np-custom-date-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.np-date-input{color-scheme:light}html[data-mode=dark] .np-date-input{color-scheme:dark}.np-error{padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--danger) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-sm)}.np-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-4)}.np-spinner{width:32px;height:32px;border:3px solid var(--chart-track);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:npSpin .8s linear infinite}@keyframes npSpin{to{transform:rotate(360deg)}}.np-loading-text{font-size:var(--text-sm);color:var(--text-muted)}.np-ring-wrap{display:flex;justify-content:center;padding:var(--space-2) 0}.np-charts-wrapper{display:flex;flex-direction:column;gap:var(--space-4);animation:npFadeIn .4s ease-out both}.np-chart-container{width:100%;margin-top:var(--space-3)}.np-chart-card .recharts-tooltip-wrapper{outline:none}.np-micros-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.np-micro-item{display:flex;flex-direction:column;gap:2px}.np-micro-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.np-micro-value{font-size:var(--text-base);font-weight:600;color:var(--text)}.np-logs-section{display:flex;flex-direction:column;gap:var(--space-3);animation:npFadeIn .4s ease-out .2s both}.np-logs-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text)}.np-logs-count{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);background:var(--surface-sunken);border:1px solid var(--border);padding:2px 10px;border-radius:var(--radius-full)}.np-logs-list{display:flex;flex-direction:column;gap:var(--space-4)}.np-log-entries{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.np-log-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 0 var(--space-2);border:none;border-bottom:1px solid var(--border);background:none;cursor:pointer;font-family:inherit;transition:var(--transition)}.np-log-group-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.np-log-group-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);transition:var(--transition)}.np-log-group-header:hover .np-log-group-title{color:var(--text)}.np-log-group-right{display:flex;align-items:center;gap:var(--space-2)}.np-log-group-count{font-size:var(--text-xs);font-weight:500;color:var(--text-muted);background:var(--surface-sunken);border:1px solid var(--border);padding:2px 10px;border-radius:var(--radius-full)}.np-log-group-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform var(--transition)}.np-log-group-chevron--open{transform:rotate(180deg)}.np-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-6);animation:npFadeIn .4s ease-out .2s both}.np-empty-icon{width:56px;height:56px;margin-bottom:var(--space-4);opacity:.35;color:var(--text-secondary)}.np-empty-icon svg{width:100%;height:100%}.np-empty-text{font-size:var(--text-lg);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-1)}.np-empty-sub{font-size:var(--text-sm);color:var(--text-muted);margin:0}.np-fab{position:fixed;right:var(--space-5);bottom:calc(84px + var(--space-4) + env(safe-area-inset-bottom));z-index:20;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-lg);cursor:pointer;transition:var(--transition)}.np-fab svg{width:24px;height:24px}.np-fab:hover{transform:translateY(-2px)}.np-fab:active{transform:translateY(0)}.np-fab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@keyframes npFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.np-content{padding:var(--space-3) var(--space-3) var(--space-6)}.np-micros-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){.np-charts-wrapper,.np-logs-section,.np-empty-state{animation:none!important}.np-fab:hover,.np-fab:active{transform:none}.np-spinner{animation-duration:1.5s}}@media (pointer: coarse){.np-fab{width:60px;height:60px}}.unit-dropdown{position:relative;width:100%}.unit-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;text-align:left;gap:var(--space-2)}.unit-dropdown__trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--border))}.unit-dropdown__trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.unit-dropdown__trigger--open{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.unit-dropdown__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-dropdown__chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.unit-dropdown__trigger--open .unit-dropdown__chevron{transform:rotate(180deg)}.unit-dropdown__list{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px 0;list-style:none;background:var(--surface-raised);border:1px solid color-mix(in srgb,var(--text) 10%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--text) 4%,transparent);z-index:1000;max-height:200px;overflow-y:auto;animation:unitDropdownIn .15s ease-out}@keyframes unitDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.unit-dropdown__list::-webkit-scrollbar{width:6px}.unit-dropdown__list::-webkit-scrollbar-track{background:transparent}.unit-dropdown__list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:3px}.unit-dropdown__option{padding:10px var(--space-4);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.unit-dropdown__option:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.unit-dropdown__option--selected{color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.unit-dropdown__option--selected:hover{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary-strong)}@media (prefers-reduced-motion: reduce){.unit-dropdown__list{animation:none}.unit-dropdown__trigger,.unit-dropdown__chevron,.unit-dropdown__option{transition:none}}@media (pointer: coarse){.unit-dropdown__trigger{min-height:48px}.unit-dropdown__option{padding:12px 16px;min-height:44px;display:flex;align-items:center}}.barcode-scanner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,black 85%,transparent);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-5);animation:modalFadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.barcode-scanner-container{background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:480px;width:100%;overflow:visible;box-shadow:var(--shadow-lg),0 0 80px color-mix(in srgb,var(--color-primary) 4%,transparent);animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}.barcode-scanner-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.barcode-scanner-title{font-size:var(--text-lg);font-weight:600;color:var(--text);font-family:var(--font-sans)}.barcode-scanner-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.barcode-scanner-close:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.barcode-scanner-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.barcode-scanner-viewfinder{position:relative;min-height:300px;background:#000}#barcode-scanner-region{width:100%;max-height:300px;overflow:hidden}#barcode-scanner-region video{width:100%!important;height:auto;object-fit:cover;border-radius:0!important}#barcode-scanner-region img{display:none!important}.barcode-scanner-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-sans);z-index:1}.barcode-scanner-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,white 10%,transparent);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:scannerSpin .8s linear infinite}@keyframes scannerSpin{to{transform:rotate(360deg)}}.barcode-scanner-hint{padding:var(--space-3) var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-sans);border-top:1px solid var(--border)}.barcode-scanner-title-link{cursor:pointer;transition:color .15s ease}.barcode-scanner-title-link:hover{color:var(--color-primary-strong)}.barcode-manual-entry{display:flex;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.barcode-manual-input{flex:1;padding:10px 14px;background:color-mix(in srgb,var(--text) 5%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);font-family:var(--font-sans);outline:none;transition:border-color .15s ease}.barcode-manual-input::placeholder{color:var(--text-muted)}.barcode-manual-input:focus{border-color:var(--color-primary)}.barcode-manual-search{padding:10px 18px;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-on-primary);font-size:var(--text-sm);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:opacity .15s ease;white-space:nowrap}.barcode-manual-search:hover:not(:disabled){opacity:.85}.barcode-manual-search:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 600px){.barcode-scanner-container{margin:10px;border-radius:16px}.barcode-scanner-viewfinder{min-height:260px}}@media (prefers-reduced-motion: reduce){.barcode-scanner-spinner,.barcode-scanner-container,.barcode-scanner-overlay{animation:none}}.prg-container{display:flex;flex-direction:column;gap:10px}.prg-dish-summary{display:flex;flex-direction:column;gap:10px;padding:14px 18px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--color-primary) 3%,transparent));border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:var(--radius-md)}.prg-dish-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.prg-dish-name-row{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.prg-dish-name-input{flex:1;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 8px;font-size:var(--text-lg);font-weight:700;color:var(--color-primary-strong);transition:var(--transition);min-width:0;box-sizing:border-box}.prg-dish-name-input:hover{border-color:var(--border);background:color-mix(in srgb,var(--text) 2%,transparent)}.prg-dish-name-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 8%,transparent)}.prg-dish-totals{display:flex;justify-content:space-between;align-items:center}.prg-total-calories{display:flex;align-items:baseline;gap:4px}.prg-total-calories-value{font-size:var(--text-base);font-weight:700;color:var(--text)}.prg-total-calories-unit{font-size:var(--text-xs);color:var(--text-muted)}.prg-total-macros{display:flex;gap:var(--space-2)}.prg-ingredient{display:flex;flex-direction:column;gap:var(--space-2);padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition)}.prg-ingredient--removed{opacity:.4;background:color-mix(in srgb,var(--text) 1%,transparent)}.prg-ingredient-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.prg-ingredient-name-row{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.prg-ingredient-name-input{flex:1;background:transparent;border:1px solid transparent;border-radius:6px;padding:2px 6px;font-size:var(--text-sm);font-weight:600;color:var(--text);transition:var(--transition);min-width:0;box-sizing:border-box}.prg-ingredient-name-input:hover{border-color:var(--border)}.prg-ingredient-name-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:var(--surface);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 8%,transparent)}.prg-ingredient-name-removed{font-size:var(--text-sm);font-weight:600;color:var(--text-muted);text-decoration:line-through}.prg-ingredient-serving{display:flex;gap:var(--space-2);align-items:center}.prg-serving-input{flex:1;max-width:100px}.prg-serving-label{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.prg-ingredient-macros{display:flex;justify-content:space-between;align-items:center}.prg-ingredient-cal{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.prg-ingredient-macro-badges{display:flex;gap:6px}.prg-update-name-btn{border-style:dashed}.prg-meal-type-section{padding:4px 0}.prg-spinner{display:inline-block;width:16px;height:16px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:prgSpin .6s linear infinite}@keyframes prgSpin{to{transform:rotate(360deg)}}@media (max-width: 600px){.prg-dish-summary{padding:12px 14px}.prg-dish-name-input{font-size:var(--text-sm)}.prg-ingredient{padding:10px 12px}.prg-ingredient-serving{flex-wrap:wrap}.prg-serving-input{max-width:none;flex:1}.prg-ingredient-macros{flex-wrap:wrap;gap:6px}}@media (prefers-reduced-motion: reduce){.prg-spinner{animation:none}.prg-ingredient,.prg-dish-name-input,.prg-ingredient-name-input,.prg-serving-input{transition:none}}.rfp-container{display:flex;flex-direction:column;gap:20px}.rfp-success{display:flex;align-items:center;gap:10px;padding:14px 18px;background:color-mix(in srgb,var(--success) 8%,transparent);border:1px solid color-mix(in srgb,var(--success) 25%,transparent);border-radius:14px}.rfp-success-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success);flex-shrink:0}.rfp-success-text{font-size:15px;font-weight:600;color:var(--text)}.rfp-heading{font-size:16px;font-weight:600;color:var(--text);margin:0}.rfp-list,.rfp-loading{display:flex;flex-direction:column;gap:8px}.rfp-skeleton{height:72px;background:var(--surface);border:1px solid var(--border);border-radius:14px;animation:rfp-pulse 1.5s ease-in-out infinite}@keyframes rfp-pulse{0%,to{opacity:.5}50%{opacity:.8}}.rfp-empty{font-size:14px;color:var(--text-secondary);text-align:center;padding:16px 0;margin:0}.rfp-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.rfp-done-btn{width:100%;padding:14px;border:none;border-radius:14px;background:var(--color-primary);color:var(--text-on-primary);font-size:15px;font-weight:600;font-family:Hanken Grotesk,Helvetica,sans-serif;cursor:pointer;transition:opacity .2s ease}.rfp-done-btn:hover{opacity:.85}.rfp-more-btn{width:100%;padding:12px;border:1px solid var(--border);border-radius:14px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:500;font-family:Hanken Grotesk,Helvetica,sans-serif;cursor:pointer;transition:color .2s ease,border-color .2s ease}.rfp-more-btn:hover{color:var(--text);border-color:var(--text-secondary)}.log-food-page{display:flex;flex-direction:column;gap:var(--space-5);max-width:700px;margin:0 auto;padding:var(--space-5)}.lfp-retro-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent)}.lfp-retro-banner-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.lfp-retro-banner-pill{display:inline-flex;align-items:center;padding:4px var(--space-3);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 22%,transparent);color:var(--text);font-size:var(--text-sm);font-weight:600}.lfp-retro-back-today{background:transparent;border:none;color:var(--color-primary-strong);font-size:var(--text-xs);font-weight:600;cursor:pointer;font-family:inherit;padding:4px 6px}.lfp-retro-back-today:hover{text-decoration:underline}.lfp-retro-rank-note{margin-top:6px;font-size:var(--text-xs);color:var(--text-muted)}.lfp-tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.lfp-tabs::-webkit-scrollbar{display:none}.lfp-tabs .tabs__item{background:none;border:none;font-family:inherit;white-space:nowrap}.lfp-panel{display:flex;flex-direction:column;gap:var(--space-4);animation:lfpPanelIn .25s ease-out}@keyframes lfpPanelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lfp-search-container{position:relative}.lfp-search-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer;transition:var(--transition)}.lfp-search-btn svg{color:var(--color-primary-strong)}.lfp-search-btn:hover:not(:disabled){opacity:.7}.lfp-search-btn:disabled{opacity:.35;cursor:not-allowed}.lfp-search-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.lfp-recent-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;z-index:100;box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto;animation:lfpDropdownIn .18s ease-out}@keyframes lfpDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lfp-dropdown-header{padding:var(--space-3) var(--space-4) var(--space-2);font-size:var(--text-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border)}.lfp-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px var(--space-4);background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;transition:var(--transition);font-family:inherit;gap:var(--space-3)}.lfp-dropdown-item:last-child{border-bottom:none}.lfp-dropdown-item:hover{background:color-mix(in srgb,var(--color-primary) 7%,var(--surface-raised))}.lfp-dropdown-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.lfp-dropdown-item-name{font-size:var(--text-sm);font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lfp-dropdown-item-brand{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lfp-dropdown-item-time{font-size:var(--text-xs);color:var(--text-muted);flex-shrink:0}.lfp-empty-link{background:none;border:none;color:var(--color-primary-strong);font-size:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;padding:0}.lfp-empty-link:hover{opacity:.8}.lfp-results{display:flex;flex-direction:column;gap:var(--space-3)}.lfp-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:48px var(--space-5);color:var(--text-secondary);font-size:var(--text-sm)}.lfp-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--color-primary);border-right-color:var(--color-primary-strong);border-radius:50%;animation:lfpSpin .9s linear infinite}@keyframes lfpSpin{to{transform:rotate(360deg)}}.lfp-loading-more{display:flex;justify-content:center;padding:var(--space-4) 0}.lfp-spinner--small{width:24px;height:24px;border-width:2px}.lfp-error{background:color-mix(in srgb,var(--danger) 6%,transparent);border:1px solid color-mix(in srgb,var(--danger) 15%,transparent);border-left:3px solid var(--danger);color:var(--danger);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-3);line-height:1.4}.lfp-error:before{content:"!";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:color-mix(in srgb,var(--danger) 20%,transparent);color:var(--danger);border-radius:50%;font-size:var(--text-xs);font-weight:700;flex-shrink:0}.lfp-empty{text-align:center;padding:48px var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.lfp-empty-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-muted)}.lfp-empty-title{margin:0 0 6px;font-size:var(--text-base);font-weight:600;color:var(--text)}.lfp-empty-subtitle{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.lfp-empty p{margin:0 0 6px}.lfp-empty-btn{margin-top:var(--space-5)}.lfp-recent-time{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.lfp-scan-actions{display:flex;gap:var(--space-3)}.lfp-scan-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:28px var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);font-size:var(--text-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition)}.lfp-scan-btn:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 25%,var(--border));color:var(--color-primary-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.lfp-scan-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.lfp-scan-btn:active{transform:translateY(0)}.lfp-file-input{display:none}.lfp-scan-hint{text-align:center;padding:32px var(--space-5);color:var(--text-muted);font-size:var(--text-sm);line-height:1.6;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-lg)}.lfp-scan-hint p{margin:0}.lfp-custom-form{display:flex;flex-direction:column;gap:var(--space-4)}.lfp-custom-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.lfp-custom-field .field__label{margin-bottom:0}.lfp-optional{font-weight:400;text-transform:none;color:var(--text-muted);font-size:var(--text-xs)}.lfp-custom-row{display:flex;gap:var(--space-3)}.lfp-custom-row--4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.lfp-custom-servings-row{display:flex;align-items:flex-end;gap:var(--space-3)}.lfp-custom-servings-row .lfp-custom-field{flex:0 0 100px}.lfp-custom-servings-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);padding-bottom:12px;white-space:nowrap}.lfp-custom-preview{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.lfp-custom-preview-title{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.lfp-custom-preview-values{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.lfp-custom-preview-cal{font-size:var(--text-base);font-weight:700;color:var(--text)}.lfp-custom-preview-macro{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.lfp-custom-macros-header{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.lfp-custom-meal-options{display:flex;gap:var(--space-2);flex-wrap:wrap}.lfp-attribution{text-align:center;padding:var(--space-5) 0 var(--space-2)}.lfp-attribution a{display:inline-block;opacity:.7;transition:var(--transition)}.lfp-attribution a:hover{opacity:1}.lfp-attribution img{height:20px;width:auto}@media (max-width: 768px){.log-food-page{padding:var(--space-4)}.lfp-scan-btn{padding:22px var(--space-3)}.lfp-custom-row--4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.log-food-page{padding:var(--space-3)}.lfp-scan-btn{padding:20px var(--space-2);gap:var(--space-2)}.lfp-scan-hint{padding:var(--space-5) var(--space-4)}}@media (prefers-reduced-motion: reduce){.lfp-panel{animation:none}.lfp-spinner{animation-duration:2s}.lfp-recent-dropdown{animation:none}.lfp-search-btn,.lfp-scan-btn{transition:none}.lfp-scan-btn:hover{transform:none}}@media (pointer: coarse){.lfp-scan-btn{min-height:80px}}.create-routine-wizard .method-selection-step,.create-routine-wizard .routine-config-step,.create-routine-wizard .ai-generation-step,.create-routine-wizard .manual-routine-build-step,.create-routine-wizard .routine-editor-step,.create-routine-wizard .routine-summary-step{display:flex;flex-direction:column;gap:var(--space-5)}.create-routine-wizard .wizard-content{animation:workoutFadeIn .4s cubic-bezier(.16,1,.3,1)}.create-routine-wizard .required{color:var(--danger)}.create-routine-wizard .routine-field{display:flex;flex-direction:column;gap:var(--space-2)}.create-routine-wizard .routine-config-textarea,.create-routine-wizard .routine-editor-textarea{resize:vertical;min-height:72px}.create-routine-wizard .accordion__chevron.is-open{transform:rotate(180deg)}.create-routine-wizard .method-options{display:flex;flex-direction:column;gap:var(--space-3)}.create-routine-wizard .method-card{width:100%;padding:0;text-align:left;cursor:pointer;transition:var(--transition)}.create-routine-wizard .method-card .list-row{width:100%}.create-routine-wizard .method-card:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));border-color:color-mix(in srgb,var(--color-primary) 30%,var(--border));transform:translateY(-1px)}.create-routine-wizard .method-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.create-routine-wizard .config-section{display:flex;flex-direction:column;gap:var(--space-3)}.create-routine-wizard .days-selector{display:flex;flex-wrap:wrap;gap:var(--space-2)}.create-routine-wizard .day-btn{width:44px;height:44px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-lg);font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}.create-routine-wizard .day-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border));color:var(--text)}.create-routine-wizard .day-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.create-routine-wizard .day-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.create-routine-wizard .duration-selector{flex-wrap:wrap}.create-routine-wizard .step-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0}.create-routine-wizard .step-actions{display:flex;gap:var(--space-3)}.create-routine-wizard .step-actions>.btn{flex:1 1 0}.create-routine-wizard .generated-preview-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.create-routine-wizard .routine-split-type{align-self:flex-start}.create-routine-wizard .routine-day-preview-list{display:flex;flex-direction:column;gap:var(--space-2)}.create-routine-wizard .routine-day-preview-header{justify-content:flex-start;cursor:pointer}.create-routine-wizard .routine-day-number{font-size:var(--text-sm);font-weight:700;color:var(--color-primary-strong);flex-shrink:0}.create-routine-wizard .routine-day-label{font-size:var(--text-base);font-weight:600;color:var(--text);flex-shrink:0}.create-routine-wizard .routine-day-workout-name{margin-left:auto;color:var(--text-secondary);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-routine-wizard .exercise-preview-list{display:flex;flex-direction:column}.create-routine-wizard .exercise-preview-item{padding-left:0;padding-right:0}.create-routine-wizard .exercise-preview-list>.exercise-preview-item+.exercise-preview-item{border-top:1px solid var(--border)}.create-routine-wizard .exercise-order{font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.create-routine-wizard .routine-day-number-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-full);color:var(--sem-workout);background:color-mix(in srgb,var(--sem-workout) 18%,var(--surface));font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.create-routine-wizard .muscle-group-count{flex-shrink:0;padding:2px 10px;background:var(--surface-sunken);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.create-routine-wizard .routine-day-accordion,.create-routine-wizard .routine-days-editor,.create-routine-wizard .summary-days{display:flex;flex-direction:column;gap:var(--space-2)}.create-routine-wizard .routine-day-header{justify-content:flex-start;cursor:pointer}.create-routine-wizard .routine-day-label-text{flex:1;min-width:0;font-size:var(--text-base);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.create-routine-wizard .routine-day-body,.create-routine-wizard .routine-day-editor-body{display:flex;flex-direction:column;gap:var(--space-4)}.create-routine-wizard .routine-day-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.create-routine-wizard .selected-exercises-preview{padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-primary) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--border));border-radius:var(--radius-md)}.create-routine-wizard .selected-exercises-preview h4{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-primary-strong)}.create-routine-wizard .selected-exercise-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.create-routine-wizard .selected-exercise-tag{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 10px;font-size:var(--text-xs);color:var(--text)}.create-routine-wizard .tag-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-lg);line-height:1;padding:0;transition:var(--transition)}.create-routine-wizard .tag-remove:hover{color:var(--danger)}.create-routine-wizard .exercise-browser{display:flex;flex-direction:column;gap:var(--space-3)}.create-routine-wizard .search-bar{display:flex;gap:var(--space-3);align-items:center}.create-routine-wizard .search-bar .search{flex:1;min-width:0}.create-routine-wizard .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-7) var(--space-5);color:var(--text-secondary)}.create-routine-wizard .loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:workoutSpin 1s linear infinite}.create-routine-wizard .muscle-group-accordion{display:flex;flex-direction:column;gap:var(--space-2)}.create-routine-wizard .muscle-group-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.create-routine-wizard .muscle-group-header{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;transition:var(--transition)}.create-routine-wizard .muscle-group-header:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--surface))}.create-routine-wizard .muscle-group-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.create-routine-wizard .muscle-group-header.expanded{border-bottom:1px solid var(--border)}.create-routine-wizard .muscle-group-name{flex:1;font-size:var(--text-base);font-weight:600;color:var(--text)}.create-routine-wizard .muscle-group-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.create-routine-wizard .expand-indicator{flex-shrink:0;color:var(--text-muted);font-size:10px;transition:transform var(--transition)}.create-routine-wizard .expand-indicator.open{transform:rotate(180deg)}.create-routine-wizard .muscle-group-section .exercise-grid{padding:var(--space-4);margin:0}.create-routine-wizard .exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.create-routine-wizard .exercise-select-card{position:relative;text-align:left;cursor:pointer;padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition)}.create-routine-wizard .exercise-select-card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border));background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));transform:translateY(-1px)}.create-routine-wizard .exercise-select-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.create-routine-wizard .exercise-select-card.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--surface))}.create-routine-wizard .exercise-select-card h4{margin:0 0 var(--space-1);padding-right:28px;font-size:var(--text-base);font-weight:600;color:var(--text)}.create-routine-wizard .exercise-card-description{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.create-routine-wizard .checkmark{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary);border-radius:var(--radius-full)}.create-routine-wizard .checkmark svg{width:14px;height:14px;stroke:var(--text-on-primary)}.create-routine-wizard .empty-exercises{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);text-align:center}.create-routine-wizard .empty-exercises p{margin:0;color:var(--text-secondary)}.create-routine-wizard .exercise-editor-list{display:flex;flex-direction:column;gap:var(--space-3)}.create-routine-wizard .exercise-card-header{cursor:pointer;-webkit-user-select:none;user-select:none}.create-routine-wizard .exercise-order-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;background:color-mix(in srgb,var(--color-primary) 14%,var(--surface));color:var(--color-primary-strong);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums}.create-routine-wizard .exercise-item-name{flex:1;min-width:0;color:var(--text);font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-routine-wizard .exercise-badges{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.create-routine-wizard .exercise-card-body{display:flex;flex-direction:column;gap:var(--space-4)}.create-routine-wizard .exercise-body-toolbar{display:flex;align-items:center;gap:var(--space-3)}.create-routine-wizard .exercise-order-controls{display:flex;flex-direction:row;gap:var(--space-2);margin-right:auto}.create-routine-wizard .exercise-editor-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.create-routine-wizard .summary-header{display:flex;align-items:center;gap:var(--space-3)}.create-routine-wizard .summary-stats{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--surface-sunken);border-radius:var(--radius-md)}.create-routine-wizard .stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1}.create-routine-wizard .stat-value{font-size:var(--text-2xl);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--color-primary-strong);font-variant-numeric:tabular-nums}.create-routine-wizard .stat-label{font-size:var(--text-xs);color:var(--text-muted);text-align:center}.create-routine-wizard .summary-exercise-list{margin:0;padding:0 0 0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.create-routine-wizard .summary-exercise-item{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.create-routine-wizard .summary-exercise-item:last-child{border-bottom:none}.create-routine-wizard .summary-exercise-item .exercise-name{color:var(--text);font-weight:500}.create-routine-wizard .summary-exercise-item .exercise-detail{color:var(--text-secondary);font-size:var(--text-sm)}.create-routine-wizard .summary-exercise-item .exercise-notes{color:var(--text-muted);font-size:var(--text-xs);font-style:italic}.create-routine-wizard .save-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-soft);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:var(--radius-md)}.create-routine-wizard .save-notice svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--color-primary-strong)}.create-routine-wizard .save-notice span{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}@media (max-width: 768px){.create-routine-wizard .search-bar{flex-direction:column;align-items:stretch}.create-routine-wizard .search-bar .btn{width:100%}.create-routine-wizard .routine-day-fields{grid-template-columns:1fr}.create-routine-wizard .exercise-editor-fields{grid-template-columns:repeat(2,1fr)}.create-routine-wizard .summary-stats{flex-wrap:wrap}.create-routine-wizard .stat{flex:1 1 40%}.create-routine-wizard .step-actions{flex-direction:column}}@media (max-width: 480px){.create-routine-wizard .exercise-editor-fields{grid-template-columns:1fr 1fr}}.workout-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:300px;text-align:center;color:var(--text-secondary)}.routine-title{display:flex;align-items:center;gap:var(--space-3);min-width:0}.routine-description{color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;margin:0}.routine-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);padding:var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.routine-meta span{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm)}.routine-detail-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.routine-detail-actions>.btn{flex:1 1 auto}.btn-toggle-status{padding:11px var(--space-5);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:var(--transition);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-muted)}.btn-toggle-status.active{background:color-mix(in srgb,var(--success) 15%,var(--surface));border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.btn-toggle-status:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.btn-toggle-status:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.routine-days-section,.routine-day-cards{display:flex;flex-direction:column;gap:var(--space-3)}.routine-day-card{animation:workoutFadeIn .4s ease-out}.routine-day-card-header{text-align:left;cursor:pointer}.routine-detail .accordion__chevron.is-open{transform:rotate(180deg)}.routine-day-number-badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-full);color:var(--sem-workout);background:color-mix(in srgb,var(--sem-workout) 18%,var(--surface));font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums}.routine-day-card-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.routine-day-card-label{font-size:var(--text-base);font-weight:600;color:var(--text)}.routine-day-card-workout{font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-detail .muscle-group-count{flex-shrink:0;padding:2px 10px;background:var(--surface-sunken);color:var(--text-secondary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.routine-day-card-body{display:flex;flex-direction:column;gap:var(--space-4)}.routine-exercise-list{list-style:none;margin:0;padding:0}.routine-exercise-item{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm);color:var(--text)}.routine-exercise-item:last-child{border-bottom:none}.routine-exercise-item .exercise-order{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.routine-exercise-item .exercise-name{flex:1;min-width:0}.routine-exercise-item .exercise-target{color:var(--text-secondary);font-size:var(--text-sm);flex-shrink:0}.no-exercises-text{color:var(--text-muted);font-size:var(--text-sm);font-style:italic;margin:0}.routine-day-card-actions{display:flex;gap:var(--space-3)}.routine-day-card-actions .btn{flex:1}.routine-footer{display:flex;justify-content:flex-end;padding-top:var(--space-5);border-top:1px solid var(--border)}.routine-scrim{position:fixed;z-index:1000}.routine-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.delete-dialog-text{margin:0}.delete-options{display:flex;flex-direction:column;gap:var(--space-3)}.delete-option-btn{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:left}.delete-option-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border));background:color-mix(in srgb,var(--color-primary) 6%,var(--surface))}.delete-option-btn.danger:hover{border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.delete-option-btn strong{color:var(--text);font-size:var(--text-base);font-weight:600}.delete-option-btn.danger strong{color:var(--danger)}.delete-option-btn span{color:var(--text-secondary);font-size:var(--text-xs)}.delete-option-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.delete-option-btn:disabled{opacity:.5;cursor:not-allowed}.delete-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-secondary)}.progression-modal{max-width:640px;max-height:85vh}.progression-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.progression-description{margin:0}.progression-day{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.progression-day-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-bottom:1px solid var(--border)}.progression-day-label{font-size:var(--text-sm);font-weight:600;color:var(--text)}.progression-day-workout{color:var(--text-secondary);font-size:var(--text-sm);margin-left:auto}.progression-exercises{padding:var(--space-2) var(--space-4)}.progression-exercise{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.progression-exercise:last-child{border-bottom:none}.progression-exercise .exercise-order{color:var(--text-muted);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}.progression-exercise-info{flex:1;min-width:0}.progression-exercise-info strong{display:block;color:var(--text);font-size:var(--text-sm);font-weight:600;margin-bottom:2px}.progression-exercise-info .exercise-meta{color:var(--text-secondary);font-size:var(--text-sm)}.progression-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-2)}.progression-actions .btn{flex:1 1 0}@media (max-width: 768px){.routine-meta{flex-direction:column;gap:var(--space-3)}.routine-detail-actions,.routine-day-card-actions{flex-direction:column}.routine-footer{justify-content:center}.routine-footer .btn{width:100%}}.routine-day-cards .routine-day-card:nth-child(1){animation-delay:.05s}.routine-day-cards .routine-day-card:nth-child(2){animation-delay:.1s}.routine-day-cards .routine-day-card:nth-child(3){animation-delay:.15s}.routine-day-cards .routine-day-card:nth-child(4){animation-delay:.2s}.routine-day-cards .routine-day-card:nth-child(5){animation-delay:.25s}.routine-day-cards .routine-day-card:nth-child(6){animation-delay:.3s}.routine-day-cards .routine-day-card:nth-child(7){animation-delay:.35s}@media (prefers-reduced-motion: reduce){.routine-day-card{animation:none}}.plan-your-week{max-width:700px;margin:0 auto;width:100%}.pyw-goals-header{display:flex;justify-content:space-between;align-items:center}.pyw-goals-loading{color:var(--text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-3) 0}.pyw-goals-pills{display:flex;gap:var(--space-2);flex-wrap:wrap}.pyw-goal-pill{--accent: var(--color-primary);flex:1;min-width:70px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.pyw-goal-pill-value{font-size:var(--text-base);font-weight:700;color:var(--accent)}.pyw-goal-pill-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.pyw-section>.section-title{margin-bottom:var(--space-1)}.pyw-chip--compact{min-width:48px;text-align:center}.pyw-section-title-text{font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.pyw-textarea{resize:vertical}.pyw-error{padding:var(--space-4) var(--space-5);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-sm)}.pyw-action{display:flex;flex-direction:column;gap:var(--space-3)}.pyw-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:var(--radius-full);animation:pywSpin .8s linear infinite}.pyw-generate-progress{padding:0 var(--space-1)}@keyframes pywSpin{to{transform:rotate(360deg)}}@media (pointer: coarse){.plan-your-week .chip{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}@media (prefers-reduced-motion: reduce){.pyw-spinner{animation-duration:1.5s}}.shopping-list{max-width:700px;margin:0 auto;width:100%}.sl-progress-row{display:flex;align-items:center;gap:var(--space-3)}.sl-progress-text{flex-shrink:0;font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);white-space:nowrap}.sl-categories{display:flex;flex-direction:column;gap:var(--space-3)}.sl-category-label{display:flex;align-items:center;gap:var(--space-2);min-width:0}.sl-category-dot{width:10px;height:10px;flex-shrink:0;border-radius:var(--radius-full);background:var(--dot-color, var(--color-primary))}.sl-category-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-category-right{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.sl-category-count{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.sl-items-list{list-style:none;margin:0;padding:0}.sl-item+.sl-item{border-top:1px solid var(--border)}.sl-checkbox{width:22px;height:22px;min-width:22px;border-radius:var(--radius-full);border:2px solid var(--border);background:transparent;color:var(--text-on-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:var(--transition)}.sl-checkbox:hover{border-color:var(--color-primary)}.sl-checkbox:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sl-checkbox svg{width:12px;height:12px}.sl-item--checked .sl-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.sl-item-name,.sl-item-amount{transition:var(--transition)}.sl-item--checked .sl-item-name,.sl-item--checked .sl-item-amount{color:var(--text-muted);text-decoration:line-through}.sl-ai-tip{display:flex;align-items:flex-start;gap:var(--space-3);border-left:3px solid var(--color-primary)}.sl-ai-tip-text{margin:0;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}@media (pointer: coarse){.sl-checkbox{width:28px;height:28px;min-width:28px}.sl-item{min-height:44px}}.weekly-plan{max-width:700px;margin:0 auto;width:100%}.wp-error{padding:var(--space-4) var(--space-5);background:color-mix(in srgb,var(--danger) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 20%,transparent);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-sm)}.wp-day-tabs{overflow-x:auto;scrollbar-width:none}.wp-day-tabs::-webkit-scrollbar{display:none}.wp-day-tab{position:relative;flex:1;min-width:44px;text-align:center}.wp-today-dot{display:inline-block;width:4px;height:4px;margin-left:4px;border-radius:var(--radius-full);background:currentColor;vertical-align:middle}.wp-meals-list{display:flex;flex-direction:column;gap:var(--space-3)}.wp-meal-card{cursor:pointer;transition:var(--transition)}.wp-meal-card:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--border));box-shadow:var(--shadow-md);transform:translateY(-2px)}.wp-meal-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.wp-meal-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.wp-meal-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.wp-meal-type-badge{align-self:flex-start;text-transform:uppercase;letter-spacing:.04em}.wp-meal-name{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--text);line-height:1.3}.wp-meal-desc{margin:0;font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-swap-btn{flex-shrink:0}.wp-swap-btn:hover:not(:disabled){color:var(--color-primary-strong)}.wp-swap-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:wpSpin .8s linear infinite}.wp-meal-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.wp-meal-macros{display:flex;flex-wrap:wrap;gap:var(--space-2)}.wp-prep-time{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.wp-no-meals{text-align:center;padding:var(--space-7) var(--space-4);color:var(--text-muted);font-size:var(--text-base)}.wp-no-meals p{margin:0}.wp-summary-text{display:flex;align-items:baseline;gap:var(--space-2)}.wp-summary-cal{font-size:var(--text-lg);font-weight:700;color:var(--text)}.wp-summary-target{font-size:var(--text-sm);color:var(--text-muted)}.wp-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-5)}.wp-empty-icon{width:56px;height:56px;margin-bottom:var(--space-3);opacity:.3;color:var(--text-secondary)}.wp-empty-icon svg{width:100%;height:100%}.wp-empty-text{font-size:var(--text-base);font-weight:600;color:var(--text-secondary);margin:0 0 4px}.wp-empty-sub{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 var(--space-4)}.wp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8) var(--space-4)}.wp-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:wpSpin .8s linear infinite}.wp-loading-text{font-size:var(--text-sm);color:var(--text-muted)}@keyframes wpSpin{to{transform:rotate(360deg)}}@media (pointer: coarse){.wp-day-tab{min-height:44px}.wp-swap-btn{width:44px;height:44px}}@media (prefers-reduced-motion: reduce){.wp-meal-card:hover{transform:none}.wp-spinner,.wp-swap-spinner{animation-duration:1.5s}}.md-page{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.md-title{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.md-title h1{margin:0;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--text)}.md-meal-type{margin:0;font-size:var(--text-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.md-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.md-meta-pill{display:inline-flex;align-items:center;gap:6px;padding:6px var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.md-meta-pill svg{width:14px;height:14px;color:var(--text-muted)}.md-calories-display{display:flex;align-items:baseline;gap:6px;margin-bottom:var(--space-5)}.md-calories-value{font-size:var(--text-3xl);font-weight:700;color:var(--text);line-height:1}.md-calories-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.md-macro-bars{display:flex;flex-direction:column;gap:var(--space-4)}.md-macro-row{display:grid;grid-template-columns:60px 1fr 50px;align-items:center;gap:var(--space-3)}.md-macro-name{font-size:var(--text-sm);font-weight:600}.md-macro-name--protein{color:var(--sem-nutrition-text)}.md-macro-name--carbs{color:var(--sem-energy-text)}.md-macro-name--fat{color:var(--sem-goal-text)}.md-macro-track{height:8px;background:var(--chart-track);border-radius:var(--radius-full);overflow:hidden}.md-macro-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition)}.md-macro-fill--protein{background:var(--sem-nutrition)}.md-macro-fill--carbs{background:var(--sem-energy)}.md-macro-fill--fat{background:var(--sem-goal)}.md-macro-grams{font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.md-fiber-note{display:flex;justify-content:space-between;padding-top:var(--space-3);border-top:1px solid var(--border)}.md-fiber-label{font-size:var(--text-xs);color:var(--text-muted)}.md-fiber-value{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.md-instructions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.md-instruction-step{display:flex;gap:var(--space-3);align-items:flex-start}.md-step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 14%,var(--surface));color:var(--color-primary-strong);font-size:var(--text-xs);font-weight:700;flex-shrink:0}.md-step-text{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;padding-top:4px}.md-action-bar{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.md-btn-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:mdSpin .8s linear infinite}.md-log-error{color:var(--danger);font-size:var(--text-sm);text-align:center;margin:0}.md-logged-success{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:14px var(--space-6);border-radius:var(--radius-md);background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);color:var(--success);font-size:var(--text-base);font-weight:700}.md-logged-success svg{width:20px;height:20px}.md-swap-panel{width:100%;box-sizing:border-box}.md-swap-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.md-swap-actions>.btn{flex:1 1 0}.md-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:400px}.md-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:mdSpin .8s linear infinite}.md-loading-text{font-size:var(--text-sm);color:var(--text-muted)}.md-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:300px;text-align:center}.md-error-state p{color:var(--danger);font-size:var(--text-sm);margin:0}@keyframes mdSpin{to{transform:rotate(360deg)}}.md-attribution{text-align:center;padding-top:var(--space-2)}.md-attribution a{color:var(--text-secondary);font-size:var(--text-xs);text-decoration:none}.md-attribution a:hover{color:var(--color-primary-strong)}@media (prefers-reduced-motion: reduce){.md-macro-fill{transition:none!important}.md-spinner,.md-btn-spinner{animation-duration:1.5s}}.rb-page{max-width:700px;margin:0 auto;width:100%;box-sizing:border-box}.rb-search-row{display:flex;align-items:center;gap:var(--space-2)}.rb-search-row>.search{flex:1 1 auto}.rb-results{display:flex;flex-direction:column;gap:var(--space-3)}.rb-card{display:flex;gap:var(--space-4);cursor:pointer;animation:rbFadeIn .4s ease-out both}.rb-card>*+*{margin-top:0}.rb-card:hover{border-color:color-mix(in srgb,var(--color-primary) 25%,var(--border));transform:translateY(-1px)}.rb-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rb-card:nth-child(1){animation-delay:.03s}.rb-card:nth-child(2){animation-delay:.06s}.rb-card:nth-child(3){animation-delay:.09s}.rb-card:nth-child(4){animation-delay:.12s}.rb-card:nth-child(5){animation-delay:.15s}.rb-card-image{width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--surface-sunken);border:1px solid var(--border)}.rb-card-image img{width:100%;height:100%;object-fit:cover;display:block}.rb-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.rb-card-name{font-size:var(--text-base);font-weight:600;color:var(--text);margin:0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rb-card-desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rb-card-macros{display:flex;flex-wrap:wrap;gap:6px}.rb-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.rb-tag{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.rb-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);color:var(--text-secondary);font-size:var(--text-sm)}.rb-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:rbSpin .9s linear infinite}.rb-loading-more{display:flex;justify-content:center;padding:var(--space-4) 0}.rb-spinner--small{width:24px;height:24px;border-width:2px}@keyframes rbSpin{to{transform:rotate(360deg)}}.rb-error{padding:14px var(--space-5);background:color-mix(in srgb,var(--danger) 6%,transparent);border:1px solid color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--text-sm);display:flex;align-items:center;gap:10px;line-height:1.4}.rb-error:before{content:"!";display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--danger);color:var(--text-on-primary);border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.rb-empty{text-align:center;padding:var(--space-8) var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;border-style:dashed}.rb-empty-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto var(--space-4);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-muted)}.rb-empty-title{margin:0 0 6px;font-size:var(--text-base);font-weight:600;color:var(--text)}.rb-empty-subtitle{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.rb-attribution{text-align:center;padding-top:var(--space-2)}.rb-attribution a{display:inline-block;opacity:.7;transition:opacity .2s ease}.rb-attribution a:hover{opacity:1}.rb-attribution img{height:20px;width:auto}@keyframes rbFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (pointer: coarse){.rb-card{min-height:44px}}@media (prefers-reduced-motion: reduce){.rb-card{animation:none!important}.rb-card:hover{transform:none}.rb-spinner{animation-duration:2s}}.rdp-page{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.rdp-hero{animation:rdpFadeIn .4s ease-out both}.rdp-hero-img{width:100%;max-height:320px;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--border);display:block}.rdp-header{display:flex;flex-direction:column;gap:var(--space-2);animation:rdpFadeIn .4s ease-out .05s both}.rdp-recipe-name{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;color:var(--text);margin:0;line-height:1.3}.rdp-stars{display:inline-flex;align-items:center;gap:2px}.rdp-star{width:16px;height:16px;color:var(--text-muted)}.rdp-star--filled{color:#f5a623}.rdp-rating-number{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-left:6px}.rdp-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rdp-meta-pill{display:inline-flex;align-items:center;gap:6px;padding:6px var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.rdp-meta-pill svg{width:14px;height:14px;color:var(--text-muted)}.rdp-nutrition-title{font-size:var(--text-sm);font-weight:600;color:var(--text-muted);margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.5px}.rdp-calories-display{display:flex;align-items:baseline;gap:6px;margin-bottom:var(--space-5)}.rdp-calories-value{font-size:var(--text-3xl);font-weight:700;color:var(--text);line-height:1}.rdp-calories-label{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.rdp-macro-bars{display:flex;flex-direction:column;gap:var(--space-4)}.rdp-macro-row{display:grid;grid-template-columns:60px 1fr 50px;align-items:center;gap:var(--space-3)}.rdp-macro-name{font-size:var(--text-sm);font-weight:600}.rdp-macro-name--protein{color:var(--sem-nutrition-text)}.rdp-macro-name--carbs{color:var(--sem-energy-text)}.rdp-macro-name--fat{color:var(--sem-goal-text)}.rdp-macro-track{height:8px;background:var(--chart-track);border-radius:var(--radius-full);overflow:hidden}.rdp-macro-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition)}.rdp-macro-fill--protein{background:var(--sem-nutrition)}.rdp-macro-fill--carbs{background:var(--sem-energy)}.rdp-macro-fill--fat{background:var(--sem-goal)}.rdp-macro-grams{font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.rdp-micros{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2) var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.rdp-micro-item{display:flex;justify-content:space-between;align-items:center}.rdp-micro-label{font-size:var(--text-xs);color:var(--text-muted)}.rdp-micro-value{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.rdp-directions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.rdp-direction-step{display:flex;gap:var(--space-3);align-items:flex-start}.rdp-step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 14%,var(--surface));color:var(--color-primary-strong);font-size:var(--text-xs);font-weight:700;flex-shrink:0}.rdp-step-text{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;padding-top:4px}.rdp-attribution{display:flex;justify-content:center;padding-top:var(--space-2)}.rdp-attribution-link{display:inline-flex;align-items:center;gap:6px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:500;color:var(--text-muted);text-decoration:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:var(--transition)}.rdp-attribution-link:hover{color:var(--color-primary-strong);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--border))}.rdp-attribution-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rdp-attribution-link svg{width:12px;height:12px}.rdp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:400px}.rdp-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--color-primary);border-radius:50%;animation:rdpSpin .8s linear infinite}.rdp-loading-text{font-size:var(--text-sm);color:var(--text-muted)}.rdp-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:300px;text-align:center}.rdp-error-state p{color:var(--danger);font-size:var(--text-sm);margin:0}@keyframes rdpSpin{to{transform:rotate(360deg)}}@keyframes rdpFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.rdp-hero-img{max-height:220px}.rdp-micros{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.rdp-hero,.rdp-header{animation:none!important}.rdp-macro-fill{transition:none!important}.rdp-spinner{animation-duration:1.5s}}:root{--font-headline: var(--font-sans);--font-body: var(--font-sans)}@keyframes socialDrift1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}@keyframes socialDrift2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-25px,25px) scale(.97)}66%{transform:translate(15px,-30px) scale(1.03)}}@keyframes socialFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes socialFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes socialPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes socialSpinner{to{transform:rotate(360deg)}}@keyframes socialSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes socialOverlayIn{0%{opacity:0}to{opacity:1}}.social-page{min-height:100vh;background:var(--bg);font-family:var(--font-body);position:relative;overflow-x:hidden;color:var(--text);-webkit-font-smoothing:antialiased}.social-page:before,.social-page:after{content:"";position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;opacity:.4}.social-page:before{width:400px;height:400px;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 12%,transparent) 0%,transparent 70%);top:-80px;right:-120px;animation:socialDrift1 18s ease-in-out infinite}.social-page:after{width:350px;height:350px;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 8%,transparent) 0%,transparent 70%);bottom:10%;left:-100px;animation:socialDrift2 22s ease-in-out infinite}.social-content,.social-feed-content{padding:0 20px 24px;display:flex;flex-direction:column;gap:16px;max-width:600px;margin:0 auto;position:relative;z-index:1}.post-card{background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);overflow:hidden;animation:socialFadeIn .5s ease both}.post-card:nth-child(2){animation-delay:.05s}.post-card:nth-child(3){animation-delay:.1s}.post-card:nth-child(4){animation-delay:.15s}.post-card:nth-child(5){animation-delay:.2s}.post-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.post-header-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1;cursor:pointer}.post-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.post-location{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-muted);background:var(--surface-raised);padding:4px 10px;border-radius:999px;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.post-location svg{flex-shrink:0;color:var(--text-muted)}.post-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;overflow:hidden;border:1.5px solid color-mix(in srgb,var(--color-primary) 25%,transparent);cursor:pointer;transition:var(--transition);background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center}.post-avatar:hover{border-color:var(--color-primary);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 20%,transparent)}.post-avatar img{width:100%;height:100%;object-fit:cover}.post-avatar-initials,.post-avatar>span{font-family:var(--font-headline);font-size:.75rem;font-weight:600;color:var(--color-primary-strong);text-transform:uppercase;line-height:1;-webkit-user-select:none;user-select:none}.post-meta{flex:1;min-width:0}.post-author-name{font-family:var(--font-headline);font-size:.88rem;font-weight:600;color:var(--text);cursor:pointer;transition:var(--transition);margin:0;line-height:1.3}.post-author-name:hover{color:var(--color-primary-strong)}.post-timestamp{font-size:.72rem;color:var(--text-muted);margin:0}.post-content{padding:12px 18px;font-size:.88rem;color:var(--text);line-height:1.6;word-wrap:break-word;white-space:pre-wrap}.post-image,.post-image img{width:100%;max-height:420px;object-fit:cover;display:block}.carousel{width:100%}.carousel-viewport{position:relative;overflow:hidden;width:100%;touch-action:pan-y}.carousel-track{display:flex;will-change:transform}.carousel-slide{width:100%;flex-shrink:0}.carousel-slide img{width:100%;max-height:420px;object-fit:cover;display:block}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,black 50%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:var(--transition);padding:0}.carousel-arrow:hover{background:color-mix(in srgb,black 70%,transparent)}.carousel-arrow-left{left:8px}.carousel-arrow-right{right:8px}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:8px 0}.carousel-dot{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,white 20%,transparent);border:none;padding:0;cursor:pointer;transition:var(--transition)}.carousel-dot-active{background:var(--color-primary)}.post-tags{display:flex;align-items:center;gap:8px;padding:4px 18px 8px;flex-wrap:wrap}.post-tag{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-secondary);background:var(--surface-raised);padding:4px 10px;border-radius:20px}.post-tag svg{width:12px;height:12px;flex-shrink:0}.achievement-post{box-shadow:var(--shadow-lg),0 0 24px color-mix(in srgb,var(--color-primary) 6%,transparent)}.achievement-badge{display:flex;align-items:center;gap:8px;margin:0 18px 4px;padding:8px 14px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,transparent),color-mix(in srgb,var(--color-primary) 4%,transparent));border-radius:var(--radius-md)}.achievement-badge svg{width:16px;height:16px;color:var(--color-primary-strong);flex-shrink:0}.achievement-badge span{font-size:.78rem;font-weight:600;color:var(--color-primary-strong);letter-spacing:.02em}.post-actions{display:flex;align-items:center;padding:8px 12px 12px;gap:4px}.post-action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:500;cursor:pointer;transition:var(--transition);-webkit-user-select:none;user-select:none}.post-action-btn:hover{background:var(--surface-raised);color:var(--text)}.post-action-btn svg{width:18px;height:18px;transition:var(--transition)}.post-action-btn.liked{color:var(--color-primary-strong)}.post-action-btn.liked svg{color:var(--color-primary-strong);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--color-primary) 30%,transparent))}.post-action-btn.liked:hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.like-animation{animation:socialPulse .35s ease}.post-action-count{font-variant-numeric:tabular-nums}.create-post-page{min-height:100vh;background:var(--bg);font-family:var(--font-body);position:relative;display:flex;flex-direction:column}.create-post-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;position:sticky;top:0;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:10}.create-post-header h2{font-family:var(--font-headline);font-size:.95rem;font-weight:600;color:var(--text);margin:0}.create-post-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:0}.create-post-close:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));color:var(--text)}.create-post-close svg{width:18px;height:18px}.create-post-title{font-family:var(--font-headline);font-size:.95rem;font-weight:600;color:var(--text);margin:0}.create-post-submit{padding:8px 22px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border:none;border-radius:24px;color:var(--text-on-primary);font-family:var(--font-headline);font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent);letter-spacing:.02em}.create-post-submit:hover:not(:disabled){box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 40%,transparent);transform:translateY(-1px)}.create-post-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.create-post-body{flex:1;padding:20px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.create-post-author{display:flex;align-items:center;gap:12px;margin-bottom:16px}.create-post-author-name{font-family:var(--font-headline);font-size:.88rem;font-weight:600;color:var(--text);display:block}.create-post-status{font-size:.7rem;font-weight:500;color:var(--color-primary-strong);letter-spacing:.06em;text-transform:uppercase;display:block}.create-post-user-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.create-post-user-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);flex-shrink:0;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center}.create-post-user-avatar img{width:100%;height:100%;object-fit:cover}.create-post-user-avatar-initials{font-family:var(--font-headline);font-size:.82rem;font-weight:600;color:var(--color-primary-strong);text-transform:uppercase}.create-post-user-info{display:flex;flex-direction:column;gap:2px}.create-post-user-name{font-family:var(--font-headline);font-size:.88rem;font-weight:600;color:var(--text);margin:0}.create-post-user-status{font-size:.7rem;font-weight:500;color:var(--color-primary-strong);letter-spacing:.06em;text-transform:uppercase;margin:0}.create-post-textarea{width:100%;min-height:160px;padding:0;background:transparent;border:none;color:var(--text);font-family:var(--font-body);font-size:1rem;line-height:1.65;resize:none;outline:none;box-sizing:border-box}.create-post-textarea::placeholder{color:var(--text-muted)}.create-post-char-count{text-align:right;font-size:.7rem;color:var(--text-muted)}.create-post-attachments{margin-top:16px;display:flex;flex-direction:column;gap:12px}.create-post-attachments h4{font-family:var(--font-headline);font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.create-post-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:none}.create-post-thumbnails::-webkit-scrollbar{display:none}.create-post-thumbnail{position:relative;width:72px;height:72px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden}.create-post-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.create-post-thumbnail-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:color-mix(in srgb,black 70%,transparent);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:var(--transition)}.create-post-thumbnail-remove:hover{background:var(--danger)}.create-post-add-photo{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;cursor:pointer;transition:var(--transition)}.create-post-add-photo:hover{background:var(--surface-raised);color:var(--color-primary-strong)}.create-post-add-photo:disabled{opacity:.5;cursor:not-allowed}.create-post-add-photo:disabled:hover{background:var(--surface);color:var(--text-secondary)}.create-post-add-photo svg{width:18px;height:18px}.privacy-settings{margin-top:24px;padding-top:20px}.privacy-settings h4{font-family:var(--font-headline);font-size:.82rem;font-weight:600;color:var(--text-secondary);margin:0 0 4px;text-transform:uppercase;letter-spacing:.05em}.privacy-subtitle{font-size:.75rem;color:var(--text-muted);margin:0 0 12px}.privacy-settings-title{font-family:var(--font-headline);font-size:.82rem;font-weight:600;color:var(--text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.privacy-options{display:flex;flex-direction:column;gap:8px}.privacy-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.privacy-option input[type=radio]{display:none}.privacy-option:hover{background:var(--surface-raised)}.privacy-option.selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.privacy-option-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--text-muted);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.privacy-option.selected .privacy-option-radio{border-color:var(--color-primary)}.privacy-option.selected .privacy-option-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 6px color-mix(in srgb,var(--color-primary) 40%,transparent)}.privacy-option-icon{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;transition:var(--transition)}.privacy-option.selected .privacy-option-icon{color:var(--color-primary-strong)}.privacy-option-content,.privacy-option-text{flex:1;min-width:0}.privacy-option-label{font-size:.85rem;font-weight:500;color:var(--text);margin:0;line-height:1.3;display:block}.privacy-option-desc,.privacy-option-description{font-size:.72rem;color:var(--text-muted);margin:2px 0 0;display:block}.create-post-tags{margin-top:16px;display:flex;flex-direction:column;gap:8px}.create-post-tag-input{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border-radius:var(--radius-md);transition:var(--transition)}.create-post-tag-input:focus-within{background:var(--surface-raised)}.create-post-tag-input svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.create-post-tag-input .tag-hash{color:var(--text-muted);font-weight:600;font-size:.88rem}.create-post-tag-input input{flex:1;background:transparent;border:none;color:var(--text);font-family:var(--font-body);font-size:.85rem;outline:none}.create-post-tag-input input::placeholder{color:var(--text-muted)}.hashtag-input{flex-wrap:wrap;cursor:text;row-gap:6px}.hashtag-input input{min-width:80px}.hashtag-pill{display:inline-flex;align-items:center;gap:4px;background:var(--color-primary);color:var(--text-on-primary);padding:3px 4px 3px 10px;border-radius:999px;font-size:.8rem;font-weight:500;line-height:1.2}.hashtag-pill-remove{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--text-on-primary) 22%,transparent);border:none;color:var(--text-on-primary);width:16px;height:16px;border-radius:50%;padding:0;cursor:pointer;transition:background .12s ease}.hashtag-pill-remove:hover{background:color-mix(in srgb,var(--text-on-primary) 40%,transparent)}.hashtag-input-hint{margin:6px 0 0;padding:0 4px;font-size:.75rem;color:var(--text-muted)}.social-profile{padding:0 20px 24px;max-width:600px;margin:0 auto;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.profile-hero{display:flex;flex-direction:column;align-items:center;padding:20px 0 24px;animation:socialFadeIn .5s ease both}.profile-avatar-large{width:100px;height:100px;border-radius:50%;overflow:hidden;border:3px solid color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--color-primary) 15%,transparent),0 0 60px color-mix(in srgb,var(--color-primary) 6%,transparent);flex-shrink:0;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-avatar-initials,.profile-avatar-large>span{font-family:var(--font-headline);font-size:1.8rem;font-weight:700;color:var(--color-primary-strong);text-transform:uppercase;line-height:1;-webkit-user-select:none;user-select:none}.profile-avatar-large-initials{font-family:var(--font-headline);font-size:1.8rem;font-weight:700;color:var(--color-primary-strong);text-transform:uppercase;line-height:1;-webkit-user-select:none;user-select:none}.profile-display-name{font-family:var(--font-headline);font-size:1.25rem;font-weight:700;color:var(--text);margin:0 0 4px;text-align:center}.profile-display-name.neon-glow{text-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 40%,transparent)}.profile-username{font-size:.82rem;color:var(--text-muted);margin:0 0 16px;text-align:center}.follow-btn{padding:10px 32px;border-radius:24px;font-family:var(--font-headline);font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none;letter-spacing:.01em;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary);box-shadow:0 2px 16px color-mix(in srgb,var(--color-primary) 30%,transparent)}.follow-btn:hover{box-shadow:0 4px 24px color-mix(in srgb,var(--color-primary) 40%,transparent);transform:translateY(-1px)}.follow-btn.following{background:var(--surface-raised);border:1px solid var(--border);color:var(--text-secondary);box-shadow:none}.follow-btn.following:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.profile-stats{display:flex;align-items:center;justify-content:center;gap:0;margin:24px 0;padding:20px 0;animation:socialFadeIn .5s ease .1s both;width:100%}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 28px;position:relative}.profile-stat:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:28px;background:var(--border)}.profile-stat-number{font-family:var(--font-headline);font-size:1.1rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.profile-stat-label{font-size:.68rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.profile-bio{font-size:.88rem;color:var(--text);line-height:1.6;margin:0 0 8px;text-align:center;word-wrap:break-word;animation:socialFadeIn .5s ease .15s both}.profile-link{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;color:var(--color-primary-strong);text-decoration:none;transition:var(--transition);margin-bottom:16px}.profile-link:hover{color:var(--color-primary-strong);text-decoration:underline}.profile-link svg{width:14px;height:14px}.profile-posts-section{margin-top:8px;animation:socialFadeIn .5s ease .2s both;width:100%}.profile-posts-title{font-family:var(--font-headline);font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.profile-posts-list{display:flex;flex-direction:column;gap:16px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-radius:var(--radius-md);overflow:hidden}.post-grid-item{aspect-ratio:1;position:relative;overflow:hidden;cursor:pointer;background:var(--surface)}.post-grid-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.post-grid-item:hover img{transform:scale(1.05)}.post-grid-item-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,black 50%,transparent);display:flex;align-items:center;justify-content:center;gap:16px;opacity:0;transition:opacity .25s ease}.post-grid-item:hover .post-grid-item-overlay{opacity:1}.post-grid-item-stat{display:flex;align-items:center;gap:4px;color:#fff;font-family:var(--font-headline);font-size:.82rem;font-weight:600}.post-grid-item-stat svg{width:16px;height:16px}.post-grid-item-text{display:flex;align-items:center;justify-content:center;padding:16px;font-size:.75rem;color:var(--text-secondary);line-height:1.4;text-align:center;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.comments-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,black 60%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:socialOverlayIn .2s ease both}.comments-sheet{position:fixed;bottom:0;left:0;right:0;max-height:75vh;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-top:1px solid color-mix(in srgb,var(--color-primary) 6%,transparent);z-index:201;display:flex;flex-direction:column;animation:socialSlideUp .3s cubic-bezier(.4,0,.2,1) both}.comments-sheet-handle{width:36px;height:4px;border-radius:2px;background:color-mix(in srgb,var(--text) 15%,transparent);margin:10px auto 0;flex-shrink:0}.comments-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;flex-shrink:0;border-bottom:1px solid color-mix(in srgb,var(--text) 6%,transparent)}.comments-sheet-title{font-family:var(--font-headline);font-size:.92rem;font-weight:600;color:var(--text);margin:0;letter-spacing:-.01em}.comments-sheet-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:0}.comments-sheet-close:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));color:var(--text)}.comments-sheet-close svg{width:16px;height:16px}.comments-section{flex:1;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:16px;min-height:0;overscroll-behavior:contain;scroll-behavior:smooth}.comments-empty-state{padding:40px 20px}.comments-empty-state svg{opacity:.4}.comment-item{display:flex;gap:10px;animation:socialFadeIn .35s ease both}.comment-item--sending{opacity:.65}.comment-item--deleted .comment-avatar{opacity:.35}.comment-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center;margin-top:2px}.comment-avatar img{width:100%;height:100%;object-fit:cover}.comment-avatar-initials,.comment-avatar>span{font-family:var(--font-headline);font-size:.62rem;font-weight:600;color:var(--color-primary-strong);text-transform:uppercase}.comment-body{flex:1;min-width:0}.comment-bubble{background:var(--surface);border-radius:14px 14px 14px 4px;padding:10px 14px;transition:var(--transition)}.comment-bubble--deleted{background:color-mix(in srgb,var(--danger) 12%,transparent);display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-deleted-text{font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);font-style:italic}.comment-undo-btn{background:none;border:none;color:var(--color-primary-strong);font-family:var(--font-headline);font-size:.75rem;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:6px;transition:var(--transition);white-space:nowrap;flex-shrink:0}.comment-undo-btn:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.comment-author{font-family:var(--font-headline);font-size:.78rem;font-weight:600;color:var(--text);margin:0 0 2px}.comment-text{font-size:.82rem;color:var(--text);line-height:1.5;margin:0;word-wrap:break-word}.comment-footer{display:flex;align-items:center;gap:12px;margin-top:5px;padding-left:4px}.comment-time{font-size:.68rem;color:var(--text-muted)}.comment-delete-btn{background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.68rem;cursor:pointer;padding:0;transition:var(--transition)}.comment-delete-btn:hover{color:var(--danger)}.comment-input-row{display:flex;align-items:center;gap:10px;padding:12px 20px;background:color-mix(in srgb,var(--bg) 60%,transparent);border-top:1px solid color-mix(in srgb,var(--text) 6%,transparent);flex-shrink:0}.comment-input-wrapper{flex:1 1 0;min-width:0;position:relative;display:flex;align-items:center}.comment-input{width:100%;padding:10px 16px;background:var(--surface);border:1px solid transparent;border-radius:24px;color:var(--text);font-family:var(--font-body);font-size:.85rem;outline:none;transition:var(--transition)}.comment-input:focus{background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 12%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 8%,transparent)}.comment-input::placeholder{color:var(--text-muted)}.comment-char-counter{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-family:var(--font-body);font-size:.62rem;color:var(--text-muted);pointer-events:none;opacity:.7;transition:color .2s ease,opacity .2s ease;animation:socialFadeIn .2s ease both}.comment-char-counter--warn{color:var(--warning);opacity:1}.comment-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border:none;color:var(--text-on-primary);cursor:pointer;transition:var(--transition);flex-shrink:0;padding:0}.comment-send-btn:hover:not(:disabled){box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent);transform:scale(1.05)}.comment-send-btn:active:not(:disabled){transform:scale(.95)}.comment-send-btn:disabled{opacity:.35;cursor:not-allowed}.comment-send-btn svg{width:16px;height:16px}.user-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:200;display:flex;flex-direction:column;animation:socialOverlayIn .2s ease both}.user-search-header{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.user-search-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:var(--transition);padding:0;flex-shrink:0}.user-search-back:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));color:var(--text)}.user-search-back svg{width:18px;height:18px}.user-search{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:201;display:flex;flex-direction:column;max-width:600px;margin:0 auto;animation:socialFadeIn .25s ease both}.user-search-input-wrapper{position:relative;flex:1;display:flex;align-items:center}.user-search-input-wrapper>svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color .2s ease}.user-search-input-wrapper:focus-within>svg{color:var(--color-primary-strong)}.user-search-input{width:100%;padding:12px 40px 12px 44px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;box-sizing:border-box;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.user-search-input:focus{background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 8%,transparent),var(--shadow-md)}.user-search-input::placeholder{color:var(--text-muted);transition:color .2s ease}.user-search-input:focus::placeholder{color:var(--text-muted)}.user-search-clear-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:50%;background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.user-search-clear-btn:hover{background:color-mix(in srgb,var(--text) 10%,var(--surface-raised));color:var(--text)}.user-search-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease;flex-shrink:0}.user-search-close-btn:hover{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));color:var(--text);transform:scale(1.05)}.user-search-close-btn:active{transform:scale(.95)}.user-search-results{flex:1;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:4px;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.user-search-result{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.user-search-result:hover{background:var(--surface-raised)}.user-search-result-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;background:color-mix(in srgb,var(--color-primary) 8%,transparent);display:flex;align-items:center;justify-content:center}.user-search-result-avatar img{width:100%;height:100%;object-fit:cover}.user-search-result-avatar-initials{font-family:var(--font-headline);font-size:.78rem;font-weight:600;color:var(--color-primary-strong);text-transform:uppercase}.user-search-result-info{flex:1;min-width:0}.user-search-result-name{font-family:var(--font-headline);font-size:.88rem;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-search-result-username{font-size:.75rem;color:var(--text-muted);margin:0}.user-search-follow-btn{padding:6px 18px;border-radius:20px;font-family:var(--font-headline);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);flex-shrink:0}.user-search-follow-btn.follow{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));border:none;color:var(--text-on-primary)}.user-search-follow-btn.follow:hover{box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.user-search-follow-btn.following{background:var(--surface-raised);border:1px solid var(--border);color:var(--text-secondary)}.user-search-follow-btn.following:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.social-search-header-input{position:relative;flex:1;display:flex;align-items:center;min-width:0}.social-search-header-input>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color .2s ease}.social-search-header-input:focus-within>svg{color:var(--color-primary-strong)}.social-search-header-input .user-search-input{height:40px;padding:8px 36px 8px 40px;font-size:.88rem}.social-search-header-input .user-search-clear-btn{right:8px}.social-search-cancel{background:none;border:none;color:var(--color-primary-strong);font-family:var(--font-headline);font-size:.88rem;font-weight:600;cursor:pointer;padding:6px 2px;margin-left:4px;white-space:nowrap;transition:opacity .15s ease}.social-search-cancel:hover{opacity:.8}.social-search-results-panel{background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;border-bottom:1px solid var(--border);animation:socialSearchSlideDown .2s ease both}.social-search-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 16px;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.social-search-tab{flex:1;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-headline);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .2s ease,border-color .2s ease;text-align:center}.social-search-tab:hover{color:var(--text-secondary)}.social-search-tab.active{color:var(--color-primary-strong);border-bottom-color:var(--color-primary)}.social-search-results{flex:1;overflow-y:auto;padding:8px 16px;display:flex;flex-direction:column;gap:2px}.post-search-result{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.post-search-result:hover{background:var(--surface-raised)}.post-search-avatar{flex-shrink:0;width:32px!important;height:32px!important}.post-search-info{flex:1;min-width:0}.post-search-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}.post-search-name{font-family:var(--font-headline);font-size:.82rem;font-weight:600;color:var(--text)}.post-search-tag{font-size:.72rem;font-weight:600;color:var(--color-primary-strong);background:color-mix(in srgb,var(--color-primary) 8%,transparent);padding:1px 8px;border-radius:10px}.post-search-time{font-size:.7rem;color:var(--text-muted);margin-left:auto}.post-search-content{font-family:var(--font-body);font-size:.8rem;color:var(--text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}@keyframes socialSearchSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;animation:socialFadeIn .5s ease both}.empty-state svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px;opacity:.6}.empty-state h3{font-family:var(--font-headline);font-size:1rem;font-weight:600;color:var(--text);margin:0 0 8px}.empty-state p{font-size:.82rem;color:var(--text-muted);margin:0;max-width:260px;line-height:1.6}.empty-state-icon{width:56px;height:56px;color:var(--text-muted);margin-bottom:16px;opacity:.6}.empty-state-title{font-family:var(--font-headline);font-size:1rem;font-weight:600;color:var(--text);margin:0 0 8px}.empty-state-message{font-size:.82rem;color:var(--text-muted);margin:0;max-width:260px;line-height:1.6}.social-loading{display:flex;justify-content:center;align-items:center;padding:40px 0}.social-spinner{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--text) 6%,var(--surface-raised));border-top-color:var(--color-primary);border-radius:50%;animation:socialSpinner .7s linear infinite}.social-loading-inline{display:flex;justify-content:center;padding:20px 0}.load-more-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px;background:var(--surface);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:var(--transition)}.load-more-btn:hover{background:var(--surface-raised);color:var(--color-primary-strong)}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.social-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center}.social-error p,.social-error-message{font-size:.85rem;color:var(--danger);margin:0}.social-error-retry{padding:8px 20px;background:var(--surface);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:.82rem;cursor:pointer;transition:var(--transition)}.social-error-retry:hover{background:var(--surface-raised);color:var(--text)}.social-page ::-webkit-scrollbar{width:4px}.social-page ::-webkit-scrollbar-track{background:var(--bg)}.social-page ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));border-radius:10px}@media (max-width: 600px){.social-content,.social-feed-content{padding:0 16px 20px}.post-header{padding:14px 14px 0}.post-content{padding:10px 14px}.post-actions{padding:6px 8px 10px}.post-action-btn{padding:6px 10px;font-size:.72rem}.social-profile{padding:0 16px 20px}.profile-avatar-large{width:84px;height:84px}.profile-avatar-large-initials,.profile-avatar-initials,.profile-avatar-large>span{font-size:1.5rem}.profile-stat{padding:0 18px}.create-post-body{padding:16px}.comments-sheet{max-height:85vh}.social-page:before{width:250px;height:250px}.social-page:after{width:200px;height:200px}}@media (prefers-reduced-motion: reduce){.post-card,.comment-item,.profile-hero,.profile-stats,.profile-bio,.profile-posts-section,.empty-state,.comments-sheet,.comments-overlay,.comment-char-counter,.user-search-overlay,.user-search,.social-search-results-panel{animation:none}.comment-send-btn:hover:not(:disabled),.comment-send-btn:active:not(:disabled){transform:none}.user-search-input,.user-search-close-btn,.user-search-clear-btn,.user-search-input-wrapper>svg,.social-search-header-input>svg,.social-search-tab,.social-search-cancel{transition:none}.social-page:before,.social-page:after{animation:none}.social-spinner{animation:socialSpinner 1.2s linear infinite}}.profile-showcase{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px;margin-bottom:4px}.profile-showcase-rank{display:inline-flex;align-items:center;gap:4px;padding:5px 14px;border:1.5px solid;border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.3px;background:color-mix(in srgb,var(--text) 8%,transparent)}.profile-showcase-achievements{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.profile-showcase-achievement{padding:4px 10px;border-radius:12px;font-size:.72rem;font-weight:500;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border)}.photo-tag-pin{position:absolute;transform:translate(-50%,-50%);z-index:3;border:0;background:transparent;padding:0;color:var(--text);cursor:pointer;animation:socialFadeIn .25s cubic-bezier(.4,0,.2,1)}.photo-tag-pin__dot,.photo-tag-pin--placed:before,.photo-tag-pin--pending:before{content:"";display:block;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--color-primary) 0%,var(--color-primary-strong) 75%);box-shadow:0 0 0 2px color-mix(in srgb,black 85%,transparent),0 0 16px color-mix(in srgb,var(--color-primary) 30%,transparent),0 0 32px color-mix(in srgb,var(--color-primary) 15%,transparent);margin:0 auto;transition:var(--transition)}.photo-tag-pin--placed:before,.photo-tag-pin--pending:before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.photo-tag-pin:hover .photo-tag-pin__dot,.photo-tag-pin:hover:before{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 0 0 2px color-mix(in srgb,black 90%,transparent),0 0 24px color-mix(in srgb,var(--color-primary) 30%,transparent),0 0 48px color-mix(in srgb,var(--color-primary) 15%,transparent)}.photo-tag-pin--pending:before{animation:socialPulse 1.4s ease-in-out infinite}.photo-tag-pin-label{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:999px;font-size:.78rem;font-weight:600;color:var(--text);letter-spacing:.01em;box-shadow:var(--shadow-lg);white-space:nowrap;pointer-events:auto}.photo-tag-pin-label:before{content:"";position:absolute;left:50%;top:-5px;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:color-mix(in srgb,var(--surface) 85%,transparent);border-left:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-top:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent)}.photo-tag-pin-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--text) 8%,transparent);border:0;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.photo-tag-pin-remove:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.photo-tag-pin--readonly{cursor:pointer}.photo-tag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.photo-tag-overlay .photo-tag-pin{pointer-events:auto}.photo-tag-indicator{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:999px;color:var(--text);font-size:.72rem;font-weight:600;letter-spacing:.02em;cursor:pointer;pointer-events:auto;transition:var(--transition);z-index:4}.photo-tag-indicator:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-primary-strong)}.photo-tag-indicator--active{background:var(--color-primary);color:var(--bg);border-color:var(--color-primary);box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 30%,transparent)}.photo-tag-indicator svg{flex-shrink:0}.follower-search-popover{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);min-width:240px;max-width:min(320px,90vw);max-height:280px;overflow-y:auto;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg),0 0 24px color-mix(in srgb,var(--color-primary) 6%,transparent);padding:4px;z-index:50;animation:socialFadeIn .18s cubic-bezier(.4,0,.2,1)}.follower-search-popover__loading{display:flex;align-items:center;gap:10px;padding:14px 12px;color:var(--text-secondary);font-size:.85rem}.follower-search-popover__loading-label{letter-spacing:.02em}.follower-search-popover__empty{padding:18px 14px;text-align:center;color:var(--text-muted);font-size:.85rem;letter-spacing:.02em}.follower-search-popover__row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:transparent;border:0;border-radius:10px;color:var(--text);text-align:left;cursor:pointer;transition:var(--transition)}.follower-search-popover__row:hover,.follower-search-popover__row--active{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary-strong)}.follower-search-popover__avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;background:var(--surface-raised);flex-shrink:0}.follower-search-popover__avatar img{width:100%;height:100%;object-fit:cover}.follower-search-popover__avatar span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-weight:600;color:var(--text)}.follower-search-popover__info{display:flex;flex-direction:column;min-width:0;flex:1}.follower-search-popover__name{font-size:.88rem;font-weight:600;color:var(--text);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.follower-search-popover__row--active .follower-search-popover__name{color:var(--color-primary-strong)}.follower-search-popover__handle{font-size:.76rem;color:var(--text-secondary);letter-spacing:.01em}.mention-dropdown{top:auto;bottom:calc(100% + 8px);left:12px;transform:none}.mention-input-wrapper{position:relative;width:100%;min-width:0;display:flex;align-items:center;gap:8px}.mention-input-wrapper>textarea,.mention-input-wrapper>input{flex:1 1 auto;min-width:0}.mention-link{color:var(--color-primary-strong);font-weight:600;text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .15s ease}.mention-link:hover{border-bottom-color:var(--color-primary)}.photo-tag-editor{display:flex;flex-direction:column;gap:10px}.photo-tag-editor__canvas{position:relative;display:block;border-radius:var(--radius-md);overflow:hidden;cursor:crosshair;background:#000;box-shadow:var(--shadow-lg)}.photo-tag-editor__canvas img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo-tag-editor__search{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%);min-width:240px;z-index:40}.photo-tag-editor__search-input{width:100%;padding:9px 12px;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border);border-radius:999px;color:var(--text);font-family:var(--font-body);font-size:.9rem;outline:none;transition:var(--transition)}.photo-tag-editor__search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.photo-tag-editor__hint{margin:0;font-size:.78rem;color:var(--text-muted);letter-spacing:.01em}.photo-tag-editor-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,black 72%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;animation:socialOverlayIn .2s ease}.photo-tag-editor-modal__panel{width:min(560px,100%);max-height:90vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-lg),0 0 24px color-mix(in srgb,var(--color-primary) 6%,transparent);animation:socialFadeInUp .25s cubic-bezier(.4,0,.2,1)}.photo-tag-editor-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.photo-tag-editor-modal__header h4{margin:0;font-family:var(--font-headline);font-size:1.1rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.photo-tag-editor-modal__done{padding:7px 14px;background:var(--color-primary);color:var(--bg);border:0;border-radius:999px;font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:var(--transition)}.photo-tag-editor-modal__done:hover{box-shadow:0 0 24px color-mix(in srgb,var(--color-primary) 30%,transparent)}.create-post-thumbnail{position:relative}.create-post-thumbnail-tag-btn{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:999px;font-size:.7rem;font-weight:600;color:var(--text);letter-spacing:.01em;cursor:pointer;transition:var(--transition)}.create-post-thumbnail-tag-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 30%,transparent);color:var(--color-primary-strong)}@media (prefers-reduced-motion: reduce){.photo-tag-pin,.photo-tag-pin--pending:before,.follower-search-popover,.photo-tag-editor-modal,.photo-tag-editor-modal__panel{animation:none!important}}:root{--rank-glass-blur: 12px;--rank-card-radius: 20px;--rank-bar-height: 10px;--rank-bar-radius: 5px;--rank-transition-slow: all .6s cubic-bezier(.4, 0, .2, 1)}@keyframes rankFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rankFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes rankSpin{to{transform:rotate(360deg)}}@keyframes rankPulseBar{0%,to{opacity:1}50%{opacity:.7}}@keyframes rankRingReveal{0%{stroke-dashoffset:var(--rank-ring-circumference, 339.292)}}@keyframes rankBarFill{0%{width:0}}@keyframes rankBadgeGlow{0%,to{filter:drop-shadow(0 0 6px var(--badge-glow-color, transparent))}50%{filter:drop-shadow(0 0 14px var(--badge-glow-color, transparent))}}@keyframes rankShimmer{0%{background-position:-200% center}to{background-position:200% center}}.rank-hub{min-height:100vh;background:var(--bg);padding-bottom:100px;font-family:Hanken Grotesk,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.rank-hub__content{padding:0 16px;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.rank-hub__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 16px}.rank-hub__spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--text) 6%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:rankSpin .8s linear infinite}.rank-hub__loading-text{font-size:14px;color:var(--text-muted)}.rank-hub__error{margin:16px 0;padding:14px 18px;background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:14px;color:var(--danger);font-size:13px}.rank-hub__hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:32px 20px 24px;border-radius:var(--radius-lg);overflow:hidden;animation:rankFadeIn .5s ease both}.rank-hub__hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.08;z-index:0;pointer-events:none}.rank-hub__hero>*{position:relative;z-index:1}.rank-hub__hero-badge{margin-bottom:16px;animation:rankFadeInUp .6s ease .1s both}.rank-hub__hero-tier{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;animation:rankFadeInUp .6s ease .15s both}.rank-hub__hero-rp{display:flex;align-items:baseline;gap:6px;margin:0 0 8px;animation:rankFadeInUp .6s ease .2s both}.rank-hub__hero-rp-value{font-size:2rem;font-weight:700;color:var(--text);line-height:1}.rank-hub__hero-rp-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.rank-hub__hero-meta{display:flex;align-items:center;gap:16px;animation:rankFadeInUp .6s ease .25s both}.rank-hub__delta{display:inline-flex;align-items:center;gap:3px;font-size:.8rem;font-weight:600}.rank-hub__delta--up{color:var(--success)}.rank-hub__delta--down{color:var(--danger)}.rank-hub__delta--neutral{color:var(--text-muted)}.rank-hub__delta-arrow{font-size:.7rem}.rank-hub__streak{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;color:var(--warning)}.rank-hub__streak-icon{font-size:.9rem;line-height:1}.rank-hub__section-title{font-size:.9rem;font-weight:700;color:var(--text);margin:0 0 12px;letter-spacing:.02em}.rank-hub__section-header{display:flex;align-items:center;gap:6px;margin-bottom:12px}.rank-hub__section-header .rank-hub__section-title{margin-bottom:0}.rank-hub__info-btn{background:none;border:none;padding:2px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;transition:color .15s ease;border-radius:50%}.rank-hub__info-btn:hover,.rank-hub__info-btn:focus-visible{color:var(--text)}.rank-hub__score-tooltip{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:12px;animation:rankFadeIn .25s ease both}.rank-hub__score-tooltip p{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.78rem;color:var(--text-muted);line-height:1.5;margin:0 0 10px}.rank-hub__score-tooltip ul{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-direction:column;gap:6px}.rank-hub__score-tooltip li{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.75rem;color:var(--text-muted);line-height:1.4}.rank-hub__score-tooltip li strong{color:var(--text)}.rank-hub__score-tooltip-footer{font-size:.72rem;margin-bottom:0}.rp-progress{animation:rankFadeIn .5s ease .1s both}.rp-progress__bar-container{position:relative;height:var(--rank-bar-height);background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:var(--rank-bar-radius);overflow:hidden}.rp-progress__bar-fill{height:100%;border-radius:var(--rank-bar-radius);transition:width .8s cubic-bezier(.4,0,.2,1);animation:rankBarFill 1s cubic-bezier(.4,0,.2,1) both}.rp-progress__bar-fill--pulsing{animation:rankBarFill 1s cubic-bezier(.4,0,.2,1) both,rankPulseBar 1.8s ease-in-out 1.2s infinite}.rp-progress__labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.rp-progress__label{font-size:.7rem;color:var(--text-muted);font-weight:500}.rp-progress__remaining{margin-top:8px;font-size:.78rem;color:var(--text-secondary);text-align:center}.rp-progress__remaining strong{color:var(--text);font-weight:600}.subscore-card{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));border-radius:var(--radius-lg);padding:16px 18px;transition:var(--transition);animation:rankFadeIn .4s ease both}.subscore-card:nth-child(2){animation-delay:.04s}.subscore-card:nth-child(3){animation-delay:.08s}.subscore-card:nth-child(4){animation-delay:.12s}.subscore-card:nth-child(5){animation-delay:.16s}.subscore-card:nth-child(6){animation-delay:.2s}.subscore-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subscore-card__left{display:flex;align-items:center;gap:8px}.subscore-card__icon{font-size:1rem;line-height:1;width:20px;text-align:center}.subscore-card__label{font-size:.82rem;font-weight:600;color:var(--text)}.subscore-card__score{font-size:.95rem;font-weight:700;color:var(--text)}.subscore-card__bar-track{height:6px;background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:3px;overflow:hidden;margin-bottom:8px}.subscore-card__bar-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1);animation:rankBarFill .8s cubic-bezier(.4,0,.2,1) both}.subscore-card__bar-fill--low{background:var(--danger)}.subscore-card__bar-fill--mid{background:var(--warning)}.subscore-card__bar-fill--high{background:var(--success)}.subscore-card__contribution{font-size:.7rem;color:var(--text-muted)}.subscore-card__not-tracked{font-size:.75rem;color:var(--text-muted);font-style:italic;padding:6px 0}.subscore-card__settings-link{background:none;border:none;padding:0;font:inherit;font-style:normal;color:var(--color-primary-strong);cursor:pointer;text-decoration:underline}.rank-hub__subscores{display:flex;flex-direction:column;gap:10px}.rank-hub__chart-section{animation:rankFadeIn .5s ease .2s both}.rank-hub__chart-container{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));border-radius:var(--radius-lg);padding:20px 12px 16px 0;min-height:240px}.rank-opt-in{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));border-radius:var(--radius-lg);padding:32px 24px;text-align:center;position:relative;overflow:hidden;animation:rankFadeInUp .6s ease both;max-width:440px;margin:40px auto 0}.rank-opt-in:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 30%,transparent),color-mix(in srgb,var(--color-primary) 5%,transparent) 40%,color-mix(in srgb,var(--color-primary-strong) 5%,transparent) 60%,color-mix(in srgb,var(--color-primary-strong) 30%,transparent));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.rank-opt-in__icon{font-size:2.5rem;margin-bottom:16px;line-height:1;color:var(--color-primary-strong)}.rank-opt-in__headline{font-size:1.15rem;font-weight:700;color:var(--text);margin:0 0 10px;line-height:1.3}.rank-opt-in__body{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0 0 24px}.rank-opt-in__prereqs{margin:0 0 20px;padding:14px 16px;background:color-mix(in srgb,var(--text) 3%,transparent);border:1px solid color-mix(in srgb,var(--text) 6%,transparent);border-radius:10px}.rank-opt-in__prereqs-title{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.rank-opt-in__prereqs-loading{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--text-secondary)}.rank-opt-in__prereqs-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--text) 15%,transparent);border-top-color:var(--color-primary);border-radius:50%;animation:rankSpin .7s linear infinite}.rank-opt-in__prereqs-list{display:flex;flex-direction:column;gap:8px}.rank-opt-in__prereq{display:flex;align-items:flex-start;gap:10px}.rank-opt-in__prereq-content{display:flex;flex-direction:column;gap:2px}.rank-opt-in__prereq-label{font-size:.85rem;font-weight:500;color:var(--text)}.rank-opt-in__prereq--met .rank-opt-in__prereq-label{color:var(--success)}.rank-opt-in__prereq-hint{font-size:.78rem;color:var(--text-secondary);line-height:1.5}.rank-opt-in__prereq-link{background:none;border:none;padding:0;font-family:inherit;font-size:inherit;color:var(--color-primary-strong);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.rank-opt-in__prereq-link:hover{color:var(--color-primary-strong)}.rank-opt-in__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.rank-opt-in__button:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 85%,black),var(--color-primary));transform:translateY(-1px);box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 30%,transparent)}.rank-opt-in__button:active{transform:translateY(0) scale(.98)}.rank-opt-in__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rank-opt-in__button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.rank-opt-in__button-spinner{width:18px;height:18px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:rankSpin .7s linear infinite}.placement-progress{display:flex;flex-direction:column;align-items:center;padding:32px 20px;animation:rankFadeInUp .6s ease both}.placement-progress__rings{display:flex;gap:24px;justify-content:center;margin-bottom:20px}.placement-progress__ring-wrap{position:relative;width:110px;height:110px}.placement-progress__ring-wrap svg{transform:rotate(-90deg);width:110px;height:110px}.placement-progress__ring-bg{fill:none;stroke:color-mix(in srgb,var(--text) 6%,transparent);stroke-width:7}.placement-progress__ring-fill{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.placement-progress__ring-fill--workout{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--color-primary) 40%,transparent))}.placement-progress__ring-fill--nutrition{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--sem-nutrition) 40%,transparent))}.placement-progress__ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px}.placement-progress__ring-count{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1}.placement-progress__ring-label{font-size:.55rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.12em}.placement-progress__message{font-size:.85rem;color:var(--text-secondary);text-align:center;margin:0;line-height:1.5}.placement-progress__message strong{color:var(--text);font-weight:600}.tier-badge{display:inline-flex;flex-direction:column;align-items:center;gap:2px;position:relative}.tier-badge__svg{filter:drop-shadow(0 0 6px var(--badge-glow-color, transparent));animation:rankBadgeGlow 3s ease-in-out infinite}.tier-badge__division{font-size:.55rem;font-weight:700;letter-spacing:.05em;line-height:1}.tier-badge--sm .tier-badge__division{font-size:.45rem}.tier-badge--lg .tier-badge__division{font-size:.7rem}.rank-hub__actions{display:flex;gap:10px;animation:rankFadeIn .5s ease .3s both}.rank-hub__action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;border:none;border-radius:12px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.rank-hub__action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rank-hub__action-btn--primary{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 15%,transparent),color-mix(in srgb,var(--color-primary-strong) 10%,transparent));color:var(--color-primary-strong)}.rank-hub__action-btn--primary:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 25%,transparent),color-mix(in srgb,var(--color-primary-strong) 18%,transparent));transform:translateY(-1px)}.rank-hub__action-btn--secondary{background:var(--surface);color:var(--text-secondary)}.rank-hub__action-btn--secondary:hover{background:var(--surface-raised);color:var(--text)}.rank-hub__action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.rank-hub__action-btn svg{width:16px;height:16px}.rank-hub__placing-info{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));border-radius:var(--radius-lg);padding:24px 20px;animation:rankFadeIn .5s ease .15s both}.rank-hub__placing-info-title{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 8px}.rank-hub__placing-info-subtitle{font-size:.85rem;font-weight:700;color:var(--color-primary-strong);margin:16px 0 6px}.rank-hub__placing-info-text{font-size:.82rem;color:var(--text-secondary);margin:0;line-height:1.6}.rank-hub__placing-info-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.rank-hub__placing-info-list li{font-size:.8rem;color:var(--text-secondary);line-height:1.5;padding-left:16px;position:relative}.rank-hub__placing-info-list li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.rank-hub__placing-info-list li strong{color:var(--text);font-weight:600}@media (min-width: 480px){.rank-hub__content{padding:0 20px}.rank-hub__hero{padding:40px 28px 28px}.rank-opt-in{padding:40px 32px}}@media (min-width: 768px){.rank-hub__subscores{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rank-hub__content{max-width:700px}}@media (prefers-reduced-motion: reduce){.rank-hub *,.rank-hub *:before,.rank-hub *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.ranked-overview{animation:rankFadeIn .5s ease .15s both}.ranked-overview__heading{font-size:.9rem;font-weight:700;color:var(--text);margin:0 0 12px;letter-spacing:.02em}.ranked-overview__sections{display:flex;flex-direction:column;gap:6px}.ranked-overview-section{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));border-radius:14px;overflow:hidden;transition:var(--transition)}.ranked-overview-section--open{background:color-mix(in srgb,var(--text) 5%,transparent)}.ranked-overview-title{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:none;background:none;cursor:pointer;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;font-weight:600;color:var(--text);text-align:left;transition:var(--transition)}.ranked-overview-title:hover{background:color-mix(in srgb,var(--text) 2%,transparent)}.ranked-overview-title:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:14px}.ranked-overview-title__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--color-primary-strong);flex-shrink:0}.ranked-overview-title__text{flex:1;min-width:0}.ranked-overview-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .25s cubic-bezier(.4,0,.2,1)}.ranked-overview-chevron--open{transform:rotate(180deg)}.ranked-overview-content{overflow:hidden}.ranked-overview-content[hidden]{display:none}.ranked-overview-content__inner{padding:0 16px 16px}.ranked-overview-content__inner p{font-size:.8rem;color:var(--text-secondary);line-height:1.65;margin:0}.ranked-overview-content__inner p+p{margin-top:10px}.ranked-overview-subheading{font-size:.78rem;font-weight:700;color:var(--text);margin-top:14px!important;margin-bottom:2px}.ranked-overview-rp-table{display:flex;flex-direction:column;gap:1px;margin:10px 0;border-radius:10px;overflow:hidden;background:color-mix(in srgb,var(--text) 4%,transparent)}.ranked-overview-rp-table__row{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;background:color-mix(in srgb,var(--text) 2%,transparent)}.ranked-overview-rp-table__label{font-size:.78rem;color:var(--text-secondary)}.ranked-overview-rp-table__value{font-size:.78rem;font-weight:700;color:var(--text);white-space:nowrap}.ranked-overview-tier-ladder{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ranked-overview-tier-ladder__row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--text) 2%,transparent)}.ranked-overview-tier-ladder__pip{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ranked-overview-tier-ladder__name{font-size:.82rem;font-weight:700;min-width:80px}.ranked-overview-tier-ladder__rp{font-size:.75rem;color:var(--text-muted);margin-left:auto}@keyframes leaderboardFlameGlow{0%,to{box-shadow:0 0 12px #c084fc26,0 0 4px #c084fc14}50%{box-shadow:0 0 20px #c084fc40,0 0 8px #c084fc1f}}.leaderboard{min-height:100vh;background:var(--bg);padding-bottom:100px;font-family:Hanken Grotesk,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.leaderboard__tabs{display:flex;padding:0 16px;gap:4px;max-width:600px;width:100%;margin:0 auto}.leaderboard__tab{flex:1;display:flex;align-items:center;justify-content:center;height:42px;border:none;background:none;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative;transition:var(--transition);border-radius:0;padding:0 12px}.leaderboard__tab:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;border-radius:1px;background:transparent;transition:var(--transition)}.leaderboard__tab:hover{color:var(--text-secondary)}.leaderboard__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:8px}.leaderboard__tab--active{color:var(--text)}.leaderboard__tab--active:after{background:var(--tab-accent, var(--color-primary))}.leaderboard__loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 16px}.leaderboard__error{margin:16px;padding:14px 18px;background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:14px;color:var(--danger);font-size:13px;max-width:600px;align-self:center;width:calc(100% - 32px)}.leaderboard__list{display:flex;flex-direction:column;gap:6px;padding:12px 16px 0;max-width:600px;width:100%;margin:0 auto;overflow-y:auto;overflow-x:hidden;flex:1;box-sizing:border-box}.leaderboard__row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur));transition:var(--transition);animation:rankFadeIn .35s ease both;min-width:0;box-sizing:border-box}.leaderboard__row:nth-child(1){animation-delay:0s}.leaderboard__row:nth-child(2){animation-delay:.03s}.leaderboard__row:nth-child(3){animation-delay:.06s}.leaderboard__row:nth-child(4){animation-delay:.09s}.leaderboard__row:nth-child(5){animation-delay:.12s}.leaderboard__row:nth-child(6){animation-delay:.15s}.leaderboard__row:nth-child(7){animation-delay:.18s}.leaderboard__row:nth-child(8){animation-delay:.21s}.leaderboard__row:nth-child(9){animation-delay:.24s}.leaderboard__row:nth-child(10){animation-delay:.27s}.leaderboard__row--current-user{background:color-mix(in srgb,var(--color-primary) 6%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 20%,transparent),0 0 16px color-mix(in srgb,var(--color-primary) 8%,transparent)}.leaderboard__row--champion{background:#c084fc0a;animation:rankFadeIn .35s ease both,leaderboardFlameGlow 3s ease-in-out infinite}.leaderboard__position{min-width:36px;font-size:.85rem;font-weight:700;color:var(--text-secondary);text-align:center;flex-shrink:0}.leaderboard__avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.leaderboard__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.leaderboard__avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;border-radius:50%;letter-spacing:.02em}.leaderboard__user-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.leaderboard__username{font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard__rp{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:2px}.leaderboard__rp-value{font-size:.85rem;font-weight:700;color:var(--text);white-space:nowrap}.leaderboard__rp-label{font-size:.7rem;font-weight:500;color:var(--text-secondary)}.leaderboard__streak{display:inline-flex;align-items:center;gap:3px;font-size:.7rem;font-weight:500;color:var(--warning)}.leaderboard__pinned{position:fixed;bottom:72px;left:0;right:0;padding:8px 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:10;display:flex;justify-content:center}.leaderboard__pinned .leaderboard__row{max-width:600px;width:100%;background:color-mix(in srgb,var(--color-primary) 6%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 20%,transparent),0 0 16px color-mix(in srgb,var(--color-primary) 8%,transparent);animation:none}.leaderboard__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;text-align:center;max-width:600px;margin:0 auto;width:100%}.leaderboard__empty-icon{font-size:2rem;line-height:1;opacity:.6}.leaderboard__empty-text{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0;max-width:280px}.leaderboard__sentinel{height:1px;width:100%}.leaderboard__load-more{display:flex;justify-content:center;padding:16px 0}@media (min-width: 480px){.leaderboard__tabs{padding:0 20px}.leaderboard__list{padding:12px 20px 0}.leaderboard__row{padding:14px 20px}}@media (prefers-reduced-motion: reduce){.leaderboard *,.leaderboard *:before,.leaderboard *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.countdown-timer{display:flex;align-items:center;gap:10px;padding:10px 16px;background:color-mix(in srgb,var(--text) 3%,transparent);border-radius:12px;-webkit-backdrop-filter:blur(var(--rank-glass-blur));backdrop-filter:blur(var(--rank-glass-blur))}.countdown-timer__label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.countdown-timer__time{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:2px}.rank-hub__countdown-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.rank-hub__season-end{font-size:12px;color:var(--text-secondary);white-space:nowrap}.rank-hub__leaderboard-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid color-mix(in srgb,var(--text) 8%,transparent);background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text);cursor:pointer;transition:var(--transition)}.rank-hub__leaderboard-btn:hover{background:color-mix(in srgb,var(--text) 5%,transparent);border-color:color-mix(in srgb,var(--text) 15%,transparent)}.today-progress{margin-bottom:20px}.today-progress__card{background:color-mix(in srgb,var(--text) 3%,transparent);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(var(--rank-glass-blur));backdrop-filter:blur(var(--rank-glass-blur));padding:16px 20px;border:1px solid color-mix(in srgb,var(--text) 4%,transparent)}.today-progress__rp{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.today-progress__rp-value{font-size:28px;font-weight:700;color:var(--text)}.today-progress__rp-label{font-size:14px;color:var(--text-secondary)}.today-progress__items{display:flex;gap:20px;margin-bottom:8px}.today-progress__item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.today-progress__icon{font-size:16px}.today-progress__item--done,.today-progress__item--done .today-progress__icon{color:var(--success)}.today-progress__item--warning .today-progress__icon{color:var(--warning)}.today-progress__warning{font-size:12px;color:var(--warning);margin:8px 0 0;padding:0}.today-progress__streak{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--warning);margin-top:10px}.rank-hub__tier-table{display:flex;flex-direction:column;gap:6px;margin:12px 0;padding:12px 16px;background:color-mix(in srgb,var(--text) 2%,transparent);border-radius:12px;border:1px solid color-mix(in srgb,var(--text) 4%,transparent)}.rank-hub__tier-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.rank-hub__tier-name{font-weight:600;font-size:14px}.rank-hub__tier-rp{font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rank-share-button{position:absolute;top:16px;right:16px;z-index:2;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid color-mix(in srgb,var(--text) 8%,transparent);background:color-mix(in srgb,var(--text) 3%,transparent);color:color-mix(in srgb,var(--text) 60%,transparent);cursor:pointer;transition:var(--transition);backdrop-filter:blur(var(--rank-glass-blur));-webkit-backdrop-filter:blur(var(--rank-glass-blur))}.rank-share-button:hover{background:color-mix(in srgb,var(--text) 5%,transparent);border-color:color-mix(in srgb,var(--text) 15%,transparent);color:var(--text)}.rank-share-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rank-share-button:active{transform:scale(.94)}.rank-share-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:rankFadeIn .15s ease both}.rank-share-modal{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:16px;padding:8px;min-width:220px;display:flex;flex-direction:column;gap:2px;box-shadow:0 16px 48px #00000080;animation:rankFadeInUp .2s ease both}.rank-share-modal__option{display:flex;align-items:center;gap:10px;padding:12px 16px;border:none;border-radius:10px;background:none;color:var(--text);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:var(--transition);text-align:left;width:100%}.rank-share-modal__option:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.rank-share-modal__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:10px}.rank-share-modal__option:active{background:color-mix(in srgb,var(--text) 10%,transparent)}.rank-share-modal__option:disabled{opacity:.5;cursor:not-allowed}.rank-share-modal__option svg{color:var(--text-secondary);flex-shrink:0}.rank-share-modal__feedback{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.85rem;font-weight:600;color:var(--success)}.rank-share-modal__feedback svg{color:var(--success)}@media (prefers-reduced-motion: reduce){.rank-share-modal__backdrop,.rank-share-modal{animation-duration:.01ms!important}}:root{--ch-glass-blur: 12px;--ch-bar-height: 8px;--ch-bar-radius: 4px}@keyframes chFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes chSpin{to{transform:rotate(360deg)}}@keyframes chBarFill{0%{width:0}}@keyframes chPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes chCountdownPulse{0%,to{box-shadow:0 0 8px color-mix(in srgb,var(--sem-insight) 20%,transparent)}50%{box-shadow:0 0 16px color-mix(in srgb,var(--sem-insight) 35%,transparent)}}@keyframes chCrownBob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-2px) rotate(4deg)}}@keyframes chDrift1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}@keyframes chDrift2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-25px,25px) scale(.97)}66%{transform:translate(15px,-30px) scale(1.03)}}.challenges-page{min-height:100vh;background:var(--bg);padding-bottom:100px;font-family:Hanken Grotesk,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text);position:relative;overflow-x:hidden}.challenges-page:before,.challenges-page:after{content:"";position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;opacity:.35}.challenges-page:before{width:380px;height:380px;background:radial-gradient(circle,color-mix(in srgb,var(--color-primary) 10%,transparent) 0%,transparent 70%);top:-80px;right:-120px;animation:chDrift1 18s ease-in-out infinite}.challenges-page:after{width:320px;height:320px;background:radial-gradient(circle,color-mix(in srgb,var(--sem-insight) 6%,transparent) 0%,transparent 70%);bottom:10%;left:-100px;animation:chDrift2 22s ease-in-out infinite}.challenges-content{padding:0 16px;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.challenge-tabs{display:flex;padding:0 16px;gap:4px;max-width:600px;width:100%;margin:0 auto 4px;position:relative;z-index:1}.challenge-tabs__btn{flex:1;display:flex;align-items:center;justify-content:center;height:42px;border:none;background:none;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative;transition:var(--transition);padding:0 12px}.challenge-tabs__btn:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;border-radius:1px;background:transparent;transition:var(--transition)}.challenge-tabs__btn:hover{color:var(--text-secondary)}.challenge-tabs__btn:focus-visible{outline:2px solid var(--color-primary-strong);outline-offset:-2px;border-radius:8px}.challenge-tabs__btn--active{color:var(--text)}.challenge-tabs__btn--active:after{background:var(--color-primary-strong)}.challenge-card{background:color-mix(in srgb,var(--surface) 70%,transparent);border-radius:var(--radius-lg);backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur));box-shadow:var(--shadow-lg);overflow:hidden;cursor:pointer;transition:var(--transition);animation:chFadeIn .4s ease both}.challenge-card:nth-child(2){animation-delay:.04s}.challenge-card:nth-child(3){animation-delay:.08s}.challenge-card:nth-child(4){animation-delay:.12s}.challenge-card:nth-child(5){animation-delay:.16s}.challenge-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 20px color-mix(in srgb,var(--color-primary) 8%,transparent)}.challenge-card:active{transform:translateY(0) scale(.99)}.challenge-card__image{width:100%;height:140px;object-fit:cover;display:block}.challenge-card__gradient-placeholder{width:100%;height:140px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,transparent),color-mix(in srgb,var(--sem-insight) 8%,transparent),color-mix(in srgb,var(--color-primary-strong) 10%,transparent));display:flex;align-items:center;justify-content:center}.challenge-card__gradient-placeholder svg{width:40px;height:40px;color:var(--color-primary-strong);opacity:.4}.challenge-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.challenge-card__top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.challenge-card__name{font-size:.95rem;font-weight:700;color:var(--text);margin:0;line-height:1.3;flex:1;min-width:0}.challenge-card__status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;white-space:nowrap}.challenge-card__status-badge--active{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong)}.challenge-card__status-badge--completed{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.challenge-card__status-badge--cancelled{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.challenge-card__meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.challenge-card__meta-item{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-secondary)}.challenge-card__meta-item svg{width:13px;height:13px;opacity:.7}.challenge-card__creator{display:flex;align-items:center;gap:8px;padding-top:2px}.challenge-card__creator-avatar{width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.challenge-card__creator-avatar img{width:100%;height:100%;object-fit:cover}.challenge-card__creator-avatar-initials{font-size:.55rem;font-weight:700;color:var(--color-primary-strong);text-transform:uppercase}.challenge-card__creator-name{font-size:.7rem;color:var(--text-muted)}.challenge-card__progress{display:flex;flex-direction:column;gap:4px}.challenge-card__progress-label{display:flex;justify-content:space-between;font-size:.68rem;color:var(--text-secondary)}.challenge-card__progress-bar-track{height:6px;background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:3px;overflow:hidden}.challenge-card__progress-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-primary-strong),var(--color-primary));transition:width .6s cubic-bezier(.4,0,.2,1)}.challenge-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.challenge-card__join-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary));color:var(--text-on-primary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.72rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap}.challenge-card__join-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-card__join-btn:active{transform:translateY(0) scale(.97)}.challenge-card__view-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:none;border-radius:10px;background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}.challenge-card__view-btn:hover{background:color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-detail{min-height:100vh;background:var(--bg);padding-bottom:100px;font-family:Hanken Grotesk,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text)}.challenge-detail__content{padding:0 16px;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.challenge-hero{position:relative;border-radius:var(--radius-lg);overflow:hidden;animation:chFadeIn .5s ease both}.challenge-hero__image{width:100%;height:200px;object-fit:cover;display:block}.challenge-hero__gradient{width:100%;height:200px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 15%,transparent),color-mix(in srgb,var(--sem-insight) 10%,transparent) 40%,color-mix(in srgb,var(--color-primary-strong) 12%,transparent));display:flex;align-items:center;justify-content:center}.challenge-hero__gradient svg{width:56px;height:56px;color:var(--color-primary-strong);opacity:.35}.challenge-hero__overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 18px 16px;background:linear-gradient(transparent,color-mix(in srgb,black 90%,transparent))}.challenge-hero__name{font-size:1.15rem;font-weight:700;color:var(--text);margin:0 0 6px;line-height:1.3}.challenge-hero__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.challenge-hero__meta-item{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-secondary)}.challenge-hero__meta-item svg{width:13px;height:13px;opacity:.7}.challenge-countdown{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.03em}.challenge-countdown--active{background:color-mix(in srgb,var(--sem-insight) 12%,transparent);color:var(--sem-insight-text);animation:chCountdownPulse 3s ease-in-out infinite}.challenge-countdown--completed{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success)}.challenge-countdown--cancelled{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.challenge-countdown svg{width:12px;height:12px}.challenge-badge-rp{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:color-mix(in srgb,var(--sem-energy) 12%,transparent);color:var(--sem-energy-text);font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.challenge-badge-rp svg{width:12px;height:12px}.challenge-description{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur));border-radius:var(--radius-lg);padding:16px 18px;animation:chFadeIn .4s ease .05s both}.challenge-description__text{font-size:.82rem;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-wrap}.challenge-progress-section{background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur));border-radius:var(--radius-lg);padding:18px;animation:chFadeIn .4s ease .1s both}.challenge-progress-section__title{font-size:.78rem;font-weight:700;color:var(--text);margin:0 0 10px}.challenge-progress-bar{display:flex;flex-direction:column;gap:6px}.challenge-progress-bar__labels{display:flex;justify-content:space-between;align-items:baseline}.challenge-progress-bar__current{font-size:1.1rem;font-weight:700;color:var(--text)}.challenge-progress-bar__target{font-size:.72rem;color:var(--text-muted)}.challenge-progress-bar__track{height:var(--ch-bar-height);background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:var(--ch-bar-radius);overflow:hidden}.challenge-progress-bar__fill{height:100%;border-radius:var(--ch-bar-radius);background:linear-gradient(90deg,var(--color-primary-strong),var(--color-primary));transition:width .8s cubic-bezier(.4,0,.2,1);animation:chBarFill 1s cubic-bezier(.4,0,.2,1) both}.challenge-progress-bar__percent{font-size:.7rem;color:var(--text-secondary);text-align:center}.challenge-progress-bar__rank{font-size:.72rem;color:var(--text-secondary);text-align:center;margin-top:2px}.challenge-progress-bar__rank strong{color:var(--color-primary-strong);font-weight:700}.challenge-leaderboard{animation:chFadeIn .4s ease .15s both}.challenge-leaderboard__title{font-size:.9rem;font-weight:700;color:var(--text);margin:0 0 12px;letter-spacing:.02em}.challenge-leaderboard__list{display:flex;flex-direction:column;gap:6px}.challenge-leaderboard__row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur));transition:var(--transition);animation:chFadeIn .35s ease both}.challenge-leaderboard__row:nth-child(1){animation-delay:0s}.challenge-leaderboard__row:nth-child(2){animation-delay:.03s}.challenge-leaderboard__row:nth-child(3){animation-delay:.06s}.challenge-leaderboard__row:nth-child(4){animation-delay:.09s}.challenge-leaderboard__row:nth-child(5){animation-delay:.12s}.challenge-leaderboard__position{min-width:32px;font-size:.82rem;font-weight:700;color:var(--text-secondary);text-align:center;flex-shrink:0}.challenge-leaderboard__avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.challenge-leaderboard__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.challenge-leaderboard__avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;border-radius:50%;letter-spacing:.02em;background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary-strong)}.challenge-leaderboard__user-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.challenge-leaderboard__username{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.challenge-leaderboard__progress-value{font-size:.82rem;font-weight:700;color:var(--text);flex-shrink:0;display:flex;align-items:center;gap:6px}.challenge-leaderboard__progress-unit{font-size:.65rem;font-weight:500;color:var(--text-muted)}.challenge-winner-crown{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;animation:chCrownBob 2s ease-in-out infinite}.challenge-winner-crown svg{width:16px;height:16px;color:gold;filter:drop-shadow(0 0 4px rgba(255,215,0,.4))}.challenge-join-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary));color:var(--text-on-primary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden}.challenge-join-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-join-btn:active{transform:translateY(0) scale(.98)}.challenge-join-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.challenge-join-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.challenge-join-btn svg{width:18px;height:18px}.challenge-detail__actions{display:flex;flex-direction:column;gap:10px;animation:chFadeIn .4s ease .2s both}.challenge-detail__actions-row{display:flex;gap:10px}.challenge-detail__action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:44px;min-height:44px;border:none;border-radius:12px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition)}.challenge-detail__action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.challenge-detail__action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.challenge-detail__action-btn svg{width:16px;height:16px}.challenge-detail__action-btn--primary{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary-strong) 15%,transparent),color-mix(in srgb,var(--color-primary) 10%,transparent));color:var(--color-primary-strong)}.challenge-detail__action-btn--primary:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary-strong) 25%,transparent),color-mix(in srgb,var(--color-primary) 18%,transparent));transform:translateY(-1px)}.challenge-detail__action-btn--secondary{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text-secondary)}.challenge-detail__action-btn--secondary:hover{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text)}.challenge-detail__action-btn--danger{flex:0 0 auto;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.challenge-detail__action-btn--danger:hover{background:color-mix(in srgb,var(--danger) 18%,transparent)}.challenge-detail__action-btn--accent{background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary));color:var(--text-on-primary)}.challenge-detail__action-btn--accent:hover{transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-notice{background:color-mix(in srgb,var(--sem-energy) 6%,transparent);border-radius:var(--radius-lg);padding:14px 18px;display:flex;align-items:flex-start;gap:12px;animation:chFadeIn .4s ease .15s both}.challenge-notice__icon{flex-shrink:0;width:20px;height:20px;color:var(--sem-energy-text);margin-top:1px}.challenge-notice__text{font-size:.78rem;color:var(--text-secondary);line-height:1.5;margin:0}.goal-type-section__label{font-size:.82rem;font-weight:700;color:var(--text);margin:0 0 6px}.goal-type-section__category{font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:14px 0 8px}.goal-type-section__category:first-of-type{margin-top:8px}.goal-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.goal-type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 10px;border:none;border-radius:14px;background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur));cursor:pointer;transition:var(--transition);text-align:center;position:relative;overflow:hidden}.goal-type-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;padding:1px;background:linear-gradient(135deg,transparent,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:var(--transition)}.goal-type-card:hover{background:color-mix(in srgb,var(--text) 5%,transparent);transform:translateY(-1px)}.goal-type-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.goal-type-card--selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--color-primary) 8%,transparent)}.goal-type-card--selected:before{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 50%,transparent),color-mix(in srgb,var(--color-primary-strong) 20%,transparent) 50%,color-mix(in srgb,var(--color-primary) 50%,transparent))}.goal-type-card__icon{font-size:1.1rem;line-height:1}.goal-type-card__label{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.7rem;font-weight:600;color:var(--text);line-height:1.3}.goal-type-card--selected .goal-type-card__label{color:var(--color-primary-strong)}.goal-type-card__unit{font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.58rem;color:var(--text-muted)}.duration-presets{display:flex;gap:8px;flex-wrap:wrap}.duration-presets__btn{flex:1;min-width:70px;display:flex;align-items:center;justify-content:center;height:38px;border:none;border-radius:10px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition)}.duration-presets__btn:hover{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text)}.duration-presets__btn--selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong);box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 8%,transparent)}.duration-presets__custom-input{width:80px;height:38px;border:none;border-radius:10px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.8rem;font-weight:600;text-align:center;padding:0 8px;outline:none;transition:var(--transition)}.duration-presets__custom-input:focus{background:color-mix(in srgb,var(--text) 5%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.duration-presets__custom-input::placeholder{color:var(--text-muted);font-weight:400}.create-challenge{min-height:100vh;background:var(--bg);padding-bottom:100px;font-family:Hanken Grotesk,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text)}.create-challenge__content{padding:0 16px;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.create-challenge__section{display:flex;flex-direction:column;gap:8px;animation:chFadeIn .4s ease both}.create-challenge__section:nth-child(2){animation-delay:.03s}.create-challenge__section:nth-child(3){animation-delay:.06s}.create-challenge__section:nth-child(4){animation-delay:.09s}.create-challenge__section:nth-child(5){animation-delay:.12s}.create-challenge__section:nth-child(6){animation-delay:.15s}.create-challenge__section:nth-child(7){animation-delay:.18s}.create-challenge__section:nth-child(8){animation-delay:.21s}.create-challenge__label{font-size:.82rem;font-weight:700;color:var(--text)}.create-challenge__sublabel{font-size:.68rem;color:var(--text-muted);margin-top:-4px}.create-challenge__input{width:100%;height:44px;border:none;border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.85rem;padding:0 16px;outline:none;transition:var(--transition);box-sizing:border-box}.create-challenge__input:focus{background:color-mix(in srgb,var(--text) 5%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.create-challenge__input::placeholder{color:var(--text-muted);font-weight:400}.create-challenge__textarea{width:100%;min-height:80px;border:none;border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;padding:12px 16px;outline:none;transition:var(--transition);resize:vertical;line-height:1.5;box-sizing:border-box}.create-challenge__textarea:focus{background:color-mix(in srgb,var(--text) 5%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.create-challenge__textarea::placeholder{color:var(--text-muted);font-weight:400}.create-challenge__audience-group{display:flex;flex-direction:column;gap:6px}.create-challenge__audience-option{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent);cursor:pointer;transition:var(--transition)}.create-challenge__audience-option:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.create-challenge__audience-option--selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.create-challenge__audience-option input[type=radio]{display:none}.create-challenge__audience-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}.create-challenge__audience-option--selected .create-challenge__audience-radio{border-color:var(--color-primary)}.create-challenge__audience-radio-dot{width:8px;height:8px;border-radius:50%;background:transparent;transition:var(--transition)}.create-challenge__audience-option--selected .create-challenge__audience-radio-dot{background:var(--color-primary)}.create-challenge__audience-label{font-size:.8rem;font-weight:600;color:var(--text)}.create-challenge__audience-desc{font-size:.68rem;color:var(--text-muted)}.create-challenge__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent)}.create-challenge__toggle-info{display:flex;flex-direction:column;gap:2px}.create-challenge__toggle-label{font-size:.8rem;font-weight:600;color:var(--text)}.create-challenge__toggle-hint{font-size:.65rem;color:var(--text-muted);line-height:1.4}.create-challenge__toggle{position:relative;width:44px;height:24px;flex-shrink:0}.create-challenge__toggle input{display:none}.create-challenge__toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:color-mix(in srgb,var(--text) 10%,transparent);cursor:pointer;transition:var(--transition)}.create-challenge__toggle input:checked+.create-challenge__toggle-track{background:var(--color-primary-strong)}.create-challenge__toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text);transition:var(--transition)}.create-challenge__toggle input:checked+.create-challenge__toggle-track:after{transform:translate(20px)}.create-challenge__image-upload{display:flex;flex-direction:column;gap:8px}.create-challenge__image-preview{position:relative;border-radius:14px;overflow:hidden}.create-challenge__image-preview img{width:100%;height:160px;object-fit:cover;display:block}.create-challenge__image-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#0009;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.create-challenge__image-remove:hover{background:#000c}.create-challenge__image-remove svg{width:12px;height:12px}.create-challenge__image-add{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border:none;border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition)}.create-challenge__image-add:hover{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text)}.create-challenge__image-add:disabled{opacity:.5;cursor:not-allowed}.create-challenge__image-add svg{width:18px;height:18px}.create-challenge__submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary));color:var(--text-on-primary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:var(--transition);margin-top:8px}.create-challenge__submit:hover{transform:translateY(-1px);box-shadow:0 4px 20px color-mix(in srgb,var(--color-primary) 30%,transparent)}.create-challenge__submit:active{transform:translateY(0) scale(.98)}.create-challenge__submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.create-challenge__submit-spinner{width:18px;height:18px;border:2px solid color-mix(in srgb,var(--text-on-primary) 30%,transparent);border-top-color:var(--text-on-primary);border-radius:50%;animation:chSpin .7s linear infinite}.challenge-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;animation:chFadeInUp .5s ease both}.challenge-empty-state__icon{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.challenge-empty-state__title{font-size:.95rem;font-weight:700;color:var(--text);margin:0 0 8px}.challenge-empty-state__text{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.5;max-width:260px}.challenge-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:80px 16px}.challenge-spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--text) 6%,transparent);border-top-color:var(--color-primary-strong);border-radius:50%;animation:chSpin .8s linear infinite}.challenge-loading__text{font-size:14px;color:var(--text-muted)}.challenge-error{margin:16px 0;padding:14px 18px;background:color-mix(in srgb,var(--danger) 10%,transparent);border-radius:14px;color:var(--danger);font-size:13px}.challenge-post-embed{margin:0 18px 4px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--text) 3%,transparent);backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur));cursor:pointer;transition:var(--transition)}.challenge-post-embed:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.challenge-post-embed__header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.challenge-post-embed__icon{width:18px;height:18px;color:var(--color-primary-strong);flex-shrink:0}.challenge-post-embed__label{font-size:.6rem;font-weight:700;color:var(--color-primary-strong);text-transform:uppercase;letter-spacing:.08em}.challenge-post-embed__name{font-size:.85rem;font-weight:700;color:var(--text);margin:0 0 6px}.challenge-post-embed__meta{display:flex;align-items:center;gap:12px;margin-bottom:8px}.challenge-post-embed__meta-item{font-size:.68rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.challenge-post-embed__meta-item svg{width:11px;height:11px}.challenge-post-embed__action{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:none;border-radius:8px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.68rem;font-weight:700;cursor:pointer;transition:var(--transition)}.challenge-post-embed__action--join{background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary));color:var(--text-on-primary)}.challenge-post-embed__action--join:hover{box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-post-embed__action--view{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong)}.challenge-post-embed__action--view:hover{background:color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-result-embed{margin:0 18px 4px;padding:12px 14px;border-radius:14px;background:#ffd7000a;backdrop-filter:blur(var(--ch-glass-blur));-webkit-backdrop-filter:blur(var(--ch-glass-blur))}.challenge-result-embed__header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.challenge-result-embed__crown{width:16px;height:16px;color:gold}.challenge-result-embed__label{font-size:.6rem;font-weight:700;color:gold;text-transform:uppercase;letter-spacing:.08em}.challenge-result-embed__name{font-size:.85rem;font-weight:700;color:var(--text);margin:0}.challenge-load-more{display:flex;align-items:center;justify-content:center;padding:8px}.challenge-load-more__btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 28px;border:none;border-radius:12px;background:color-mix(in srgb,var(--text) 3%,transparent);color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition)}.challenge-load-more__btn:hover{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text)}.challenge-create-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--color-primary-strong),var(--color-primary));color:var(--text-on-primary);font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.7rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap}.challenge-create-btn:hover{transform:translateY(-1px);box-shadow:0 2px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.challenge-create-btn:active{transform:translateY(0) scale(.97)}.challenge-create-btn svg{width:14px;height:14px}@media (min-width: 480px){.challenges-content,.challenge-detail__content,.create-challenge__content{padding:0 20px}.goal-type-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.challenges-content,.challenge-detail__content,.create-challenge__content{max-width:700px}.goal-type-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion: reduce){.challenges-page *,.challenges-page *:before,.challenges-page *:after,.challenge-detail *,.challenge-detail *:before,.challenge-detail *:after,.create-challenge *,.create-challenge *:before,.create-challenge *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.challenge-card__image-wrapper{position:relative;overflow:hidden}.challenge-card__cancelled-banner{position:absolute;top:10px;right:-30px;background:#ff716ceb;color:#fff;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 40px;transform:rotate(35deg)}.challenge-hero__name-row{display:flex;align-items:center;gap:10px}.challenge-detail__edit-btn{background:color-mix(in srgb,var(--text) 10%,transparent);border:none;border-radius:8px;padding:6px;cursor:pointer;color:var(--text-secondary);transition:var(--transition);flex-shrink:0;display:flex;align-items:center;justify-content:center}.challenge-detail__edit-btn svg{width:16px;height:16px}.challenge-detail__edit-btn:hover{background:color-mix(in srgb,var(--text) 18%,transparent);color:var(--text)}.challenge-detail__edit-input{width:100%;background:color-mix(in srgb,var(--text) 8%,transparent);border:1px solid color-mix(in srgb,var(--text) 15%,transparent);border-radius:10px;padding:10px 14px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:1.15rem;font-weight:700;color:var(--text);outline:none;transition:var(--transition)}.challenge-detail__edit-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.challenge-detail__edit-textarea{width:100%;background:color-mix(in srgb,var(--text) 6%,transparent);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:10px;padding:10px 14px;font-family:Hanken Grotesk,Helvetica,sans-serif;font-size:.82rem;color:var(--text-secondary);outline:none;resize:vertical;min-height:60px;margin-top:8px;transition:var(--transition)}.challenge-detail__edit-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.challenge-detail__edit-actions{display:flex;flex-direction:column;gap:10px;animation:chFadeIn .3s ease both}.challenge-post-embed__status--completed{color:var(--success);font-weight:600}.challenge-post-embed__status--cancelled{color:var(--danger);font-weight:600}.fl-tabs{display:flex;padding:0 20px;gap:0;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:sticky;top:0;z-index:5}.fl-tab{position:relative;flex:1;padding:14px 16px;background:none;border:none;font-family:var(--font-headline);font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .3s ease;text-align:center;letter-spacing:.01em}.fl-tab:after{content:"";position:absolute;bottom:-1px;left:20%;right:20%;height:2px;background:transparent;border-radius:2px 2px 0 0;transition:all .35s cubic-bezier(.4,0,.2,1)}.fl-tab:hover{color:var(--text-secondary)}.fl-tab[aria-selected=true]{color:var(--color-primary-strong)}.fl-tab[aria-selected=true]:after{left:12%;right:12%;background:var(--color-primary);box-shadow:0 0 8px color-mix(in srgb,var(--color-primary) 50%,transparent),0 0 20px color-mix(in srgb,var(--color-primary) 15%,transparent)}.fl-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:9px;font-size:.62rem;font-weight:700;font-family:var(--font-headline);line-height:1;background:var(--color-primary);color:var(--text-on-primary);vertical-align:super;box-shadow:0 0 8px color-mix(in srgb,var(--color-primary) 35%,transparent)}.fl-tab[aria-selected=true] .fl-tab-badge{box-shadow:0 0 12px color-mix(in srgb,var(--color-primary) 50%,transparent)}.fl-content{max-width:600px;margin:0 auto}.fl-count{padding:18px 20px 6px;font-family:var(--font-body);font-size:.72rem;font-weight:500;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.fl-list{padding:4px 12px;display:flex;flex-direction:column;gap:0}.fl-card+.fl-card,.fl-card--request+.fl-card--request{border-top:1px solid var(--border)}@keyframes flSlideIn{0%{opacity:0;transform:translate(-6px) translateY(4px)}to{opacity:1;transform:translate(0) translateY(0)}}.fl-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:background .22s ease,box-shadow .22s ease;animation:flSlideIn .38s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(min(var(--fl-i, 0),14)*45ms);-webkit-tap-highlight-color:transparent}.fl-card:hover{background:var(--surface-raised);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 4%,transparent)}.fl-card:active{background:color-mix(in srgb,var(--text) 6%,var(--surface-raised));transform:scale(.99)}.fl-card-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--surface-raised);border:1.5px solid color-mix(in srgb,var(--color-primary) 6%,transparent);display:flex;align-items:center;justify-content:center;transition:border-color .3s ease,box-shadow .3s ease}.fl-card:hover .fl-card-avatar{border-color:color-mix(in srgb,var(--color-primary) 25%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--color-primary) 10%,transparent)}.fl-card-avatar img{width:100%;height:100%;object-fit:cover}.fl-card-avatar>span{font-family:var(--font-headline);font-size:.82rem;font-weight:700;color:var(--color-primary-strong);text-transform:uppercase;opacity:.85}.fl-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fl-card-name{font-family:var(--font-headline);font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.fl-card-handle{font-family:var(--font-body);font-size:.74rem;color:var(--text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fl-card--request{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);cursor:default;transition:background .22s ease,border-color .3s ease;animation:flSlideIn .38s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(min(var(--fl-i, 0),14)*45ms);-webkit-tap-highlight-color:transparent}.fl-card--request:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--color-primary) 8%,transparent)}.fl-request-clickable{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer}.fl-request-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;margin-left:auto}.fl-request-time{font-family:var(--font-body);font-size:.68rem;color:var(--text-muted);opacity:.7;white-space:nowrap}.fl-request-actions{display:flex;gap:6px}.fl-accept-btn,.fl-decline-btn{padding:7px 18px;border-radius:18px;font-family:var(--font-headline);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .22s ease;white-space:nowrap}.fl-accept-btn{border:none;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-strong));color:var(--text-on-primary);box-shadow:0 2px 10px color-mix(in srgb,var(--color-primary) 25%,transparent)}.fl-accept-btn:hover{box-shadow:0 4px 18px color-mix(in srgb,var(--color-primary) 45%,transparent);transform:translateY(-1px)}.fl-accept-btn:active{transform:translateY(0) scale(.97);box-shadow:0 1px 6px color-mix(in srgb,var(--color-primary) 20%,transparent)}.fl-decline-btn{border:1px solid var(--border);background:transparent;color:var(--text-muted)}.fl-decline-btn:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.fl-decline-btn:active{transform:scale(.97)}.fl-accept-btn:disabled,.fl-decline-btn:disabled{opacity:.5;pointer-events:none}.fl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px 60px;text-align:center;animation:socialFadeIn .6s ease both;animation-delay:.1s}.fl-empty-icon{width:52px;height:52px;margin-bottom:18px;color:var(--text-muted);opacity:.3}.fl-empty-title{font-family:var(--font-headline);font-size:.92rem;font-weight:600;color:var(--text-secondary);margin:0 0 6px}.fl-empty-message{font-family:var(--font-body);font-size:.78rem;color:var(--text-muted);margin:0;max-width:220px;line-height:1.65}.fl-loading{display:flex;justify-content:center;align-items:center;padding:48px 0}.fl-loading-more{display:flex;justify-content:center;padding:20px 0}.fl-spinner{width:24px;height:24px;border:2.5px solid color-mix(in srgb,var(--text) 6%,var(--surface-raised));border-top-color:var(--color-primary);border-radius:50%;animation:socialSpinner .7s linear infinite}@media (max-width: 380px){.fl-request-actions{gap:4px}.fl-accept-btn,.fl-decline-btn{padding:7px 14px;font-size:.74rem}.fl-card--request{flex-wrap:wrap}.fl-request-meta{flex-direction:row;align-items:center;width:100%;justify-content:space-between;margin-left:58px;margin-top:4px}}.change-history-container{padding:0 16px 24px}.change-history-card{background:color-mix(in srgb,var(--surface) 65%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--text) 6%,transparent);border-radius:16px;padding:24px;margin-bottom:20px}.change-history-version{display:inline-block;padding:4px 10px;background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary-strong);border-radius:8px;font-size:.75rem;font-weight:600;font-family:Hanken Grotesk,Helvetica,sans-serif;margin-bottom:12px}.change-history-title{font-size:1.15rem;font-weight:600;color:var(--text);margin:0 0 8px;font-family:Hanken Grotesk,Helvetica,sans-serif}.change-history-date{font-size:.8rem;color:var(--text-secondary);margin-bottom:16px;font-family:Hanken Grotesk,Helvetica,sans-serif}.change-history-content{font-size:.9rem;color:var(--text-secondary);line-height:1.6;font-family:Hanken Grotesk,Helvetica,sans-serif}.change-history-section-title{font-size:.8rem;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:16px 0 6px;font-family:Hanken Grotesk,Helvetica,sans-serif}.change-history-section-title:first-child{margin-top:0}.change-history-content ul{list-style:none;padding:0;margin:0}.change-history-content li{padding:6px 0 6px 16px;position:relative}.change-history-content li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--color-primary)}.change-history-nav{display:flex;justify-content:space-between;gap:12px}.change-history-nav-btn{flex:1;padding:12px 16px;border-radius:12px;font-size:.85rem;font-weight:500;font-family:Hanken Grotesk,Helvetica,sans-serif;cursor:pointer;transition:all .25s ease;background:color-mix(in srgb,var(--surface) 65%,transparent);border:1px solid color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.change-history-nav-btn:hover:not(:disabled){background:color-mix(in srgb,var(--surface) 85%,transparent);border-color:color-mix(in srgb,var(--text) 10%,transparent)}.change-history-nav-btn:disabled{opacity:.35;cursor:not-allowed}.change-history-empty,.change-history-loading{text-align:center;padding:48px 24px;color:var(--text-secondary);font-family:Hanken Grotesk,Helvetica,sans-serif}@media (max-width: 480px){.change-history-card{padding:16px}.change-history-title{font-size:1.05rem}}.feedback-container{max-width:640px;margin:0 auto;padding:24px 20px 80px;font-family:Hanken Grotesk,Helvetica,sans-serif;color:var(--text)}.feedback-subtitle{margin:4px 0 32px;color:var(--text-secondary);font-size:.9375rem;line-height:1.55;max-width:52ch}.feedback-form{display:flex;flex-direction:column;gap:28px}.feedback-field{display:flex;flex-direction:column;gap:10px}.feedback-field__header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.feedback-label{font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:var(--text)}.feedback-counter{font-size:.75rem;font-weight:400;color:var(--text-muted);font-variant-numeric:tabular-nums;transition:color .2s ease}.feedback-segmented{position:relative;display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:4px;box-sizing:border-box;overflow:hidden}.feedback-segmented__pill{position:absolute;top:4px;bottom:4px;left:calc(4px + var(--active-index, 0) * ((100% - 8px) / 3));width:calc((100% - 8px) / 3);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 22%,transparent),color-mix(in srgb,var(--color-primary) 12%,transparent));border:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 5%,transparent),0 8px 20px -8px color-mix(in srgb,var(--color-primary) 35%,transparent),inset 0 1px color-mix(in srgb,white 4%,transparent);transition:left .38s cubic-bezier(.22,1,.36,1);pointer-events:none}.feedback-segmented__option{position:relative;z-index:1;padding:12px;background:transparent;border:0;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:9px;transition:color .25s ease;letter-spacing:.01em}.feedback-segmented__option:hover,.feedback-segmented__option--active{color:var(--text)}.feedback-segmented__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.feedback-text-input.textinput-base,.feedback-textarea{width:100%;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-family:inherit;font-size:.9375rem;line-height:1.5;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.feedback-text-input.textinput-base::placeholder,.feedback-textarea::placeholder{color:var(--text-muted)}.feedback-text-input.textinput-base:hover,.feedback-textarea:hover{background:var(--surface-raised);border-color:color-mix(in srgb,var(--border) 50%,var(--text))}.feedback-text-input.textinput-base:focus,.feedback-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--surface-raised);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent)}.feedback-textarea{padding:14px;min-height:72px}.feedback-error{padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--danger) 8%,transparent);border:1px solid color-mix(in srgb,var(--danger) 25%,transparent);color:var(--danger);font-size:.875rem;line-height:1.45}.feedback-actions{display:flex;justify-content:flex-end;margin-top:4px}.feedback-submit.button-base{min-width:180px;padding:12px 24px;background:linear-gradient(180deg,var(--color-primary),color-mix(in srgb,var(--color-primary) 85%,black));border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);border-radius:10px;color:var(--text-on-primary);font-family:inherit;font-size:.9375rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 24px -8px color-mix(in srgb,var(--color-primary) 45%,transparent),inset 0 1px color-mix(in srgb,white 20%,transparent);transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.feedback-submit.button-base:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px color-mix(in srgb,var(--color-primary) 55%,transparent),inset 0 1px color-mix(in srgb,white 25%,transparent)}.feedback-submit.button-base:active{transform:translateY(0)}.feedback-submit.button-base.button-disabled{background:var(--surface-raised);border-color:var(--border);color:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.feedback-success{margin-top:12px;padding:40px 28px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:feedback-success-in .45s cubic-bezier(.22,1,.36,1)}.feedback-success__glyph{width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-primary) 25%,transparent),color-mix(in srgb,var(--color-primary) 5%,transparent) 70%);border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent);display:flex;align-items:center;justify-content:center;color:var(--color-primary-strong);box-shadow:0 0 24px -4px color-mix(in srgb,var(--color-primary) 30%,transparent)}.feedback-success__title{margin:6px 0 0;font-size:1.125rem;font-weight:600;color:var(--text);letter-spacing:-.005em}.feedback-success__body{margin:0 0 12px;color:var(--text-secondary);font-size:.9375rem;line-height:1.5;max-width:36ch}@keyframes feedback-success-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.feedback-segmented__pill,.feedback-submit.button-base{transition:none}.feedback-success{animation:none}}@media (max-width: 480px){.feedback-container{padding:16px 14px 64px}.feedback-form{gap:22px}.feedback-submit.button-base{width:100%}.feedback-actions{justify-content:stretch}}
