:root,[data-theme=dark]{--bg-primary: #131518;--bg-surface: #1a1d21;--bg-elevated: #222529;--bg-input: #131518;--border: #2a2e33;--border-light: #1f2226;--border-input: #5e646d;--border-control: #686f77;--text-primary: #eceff4;--text-secondary: #8c939c;--text-muted: #737a84;--accent: #2dd4a8;--accent-hover: #5eead4;--accent-dim: rgba(45, 212, 168, .12);--success: #34d399;--warning: #f59e0b;--danger: #f87091;--info: #38bdf8;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--color-blast: #ef4444;--color-cruise: #38bdf8;--color-pct: #34d399;--color-menstrual: #f43f5e;--color-follicular: #f59e0b;--color-ovulatory: #2dd4a8;--color-luteal: #a78bfa;--color-peak: #c084fc;--unit-mg: #f59e0b;--unit-mcg: #38bdf8;--unit-iu: #a78bfa;--unit-ml: #2dd4a8;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.25);--shadow-elevated: 0 2px 4px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);--shadow-float: 0 4px 8px rgba(0,0,0,.3), 0 12px 40px rgba(0,0,0,.4);--bp-mobile: 480px;--z-base: 1;--z-sticky: 50;--z-dropdown: 200;--z-overlay: 9000;--z-modal: 9999;--z-toast: 10500;--bottom-nav-height: 60px;--bp-phone: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--bg-card: #222529;--badge-bg: #2a2e33;--badge-color: #8c939c;--bm-skin: #3a2f2a;--bm-muscle: #2dd4a822;--bm-muscle-hover: #2dd4a844;--bm-gap: #131518;--bm-head: #4a3f3a;--bm-hair: #2a2320;--bg: #131518;--card-bg: #222529;--text: #eceff4;--text-tertiary: #484f58;--text-dim: #484f58;--bg-hover: #2a2e33;--bg-secondary: #1a1d21;--primary: #2dd4a8;--accent-primary: #2dd4a8;--green: #34d399;--green-dim: rgba(52, 211, 153, .15);--red: #f87091;--red-dim: rgba(248, 112, 145, .15);--blue: #38bdf8;--blue-dim: rgba(56, 189, 248, .15);--amber: #f59e0b;--amber-dim: rgba(245, 158, 11, .15);--purple: #a78bfa;--pink: #f472b6;--cyan: #22d3ee}[data-theme=light]{--bg-primary: #f4f5f7;--bg-surface: #ffffff;--bg-elevated: #f9fafb;--bg-input: #ffffff;--bg-card: #ffffff;--border: #e2e5ea;--border-light: #eef0f3;--border-input: #6b727b;--border-control: #6b727b;--text-primary: #1a1d21;--text-secondary: #5c636e;--text-muted: #5c636e;--accent: #0a7a5f;--accent-hover: #086047;--accent-dim: rgba(10, 122, 95, .1);--success: #0d7d56;--warning: #a16207;--danger: #c02942;--info: #0369a1;--shadow: 0 1px 2px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.05);--shadow-elevated: 0 2px 4px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.08);--shadow-float: 0 4px 8px rgba(0,0,0,.08), 0 12px 40px rgba(0,0,0,.12);--badge-bg: #e2e5ea;--badge-color: #5c636e;--bm-skin: rgba(100, 105, 115, .1);--bm-muscle: rgba(10, 122, 95, .18);--bm-muscle-hover: rgba(10, 122, 95, .28);--bm-gap: rgba(255, 255, 255, .65);--bm-head: rgba(100, 105, 115, .18);--bm-hair: rgba(60, 65, 75, .3);--bg: #f4f5f7;--card-bg: #ffffff;--text: #1a1d21;--text-tertiary: #8c939c;--text-dim: #8c939c;--bg-hover: #e2e5ea;--bg-secondary: #f9fafb;--primary: #0a7a5f;--accent-primary: #0a7a5f;--green: #0d7d56;--green-dim: rgba(13, 125, 86, .12);--red: #c02942;--red-dim: rgba(192, 41, 66, .12);--blue: #0369a1;--blue-dim: rgba(3, 105, 161, .12);--amber: #a16207;--amber-dim: rgba(161, 98, 7, .12);--purple: #7c3aed;--pink: #db2777;--cyan: #0891b2;--color-blast: #dc2626;--color-cruise: #0369a1;--color-pct: #0d7d56;--color-menstrual: #c02942;--color-follicular: #a16207;--color-ovulatory: #0a7a5f;--color-luteal: #7c3aed;--color-peak: #9333ea;--unit-mg: #a16207;--unit-mcg: #0369a1;--unit-iu: #6d28d9;--unit-ml: #0a7a5f}*{margin:0;padding:0;box-sizing:border-box}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease,fill .3s ease,stroke .3s ease!important}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";--font-display: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Consolas", "Monaco", monospace;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100vh;min-height:100dvh;transition:background .2s,color .2s;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}.landing{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-surface) 50%,var(--bg-primary) 100%);animation:fadeIn .6s ease;position:relative;overflow:hidden}.landing:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,color-mix(in srgb,var(--accent) 6%,transparent) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(52,211,153,.04) 0%,transparent 50%);pointer-events:none}.landing-inner{text-align:center;max-width:440px;width:100%}.landing-logo{font-size:56px;color:var(--accent);margin-bottom:8px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-title{font-family:var(--font-display);font-size:36px;font-weight:800;letter-spacing:3px;margin-bottom:8px}.landing-tagline{color:var(--text-secondary);font-size:16px;margin-bottom:32px}.landing-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px;text-align:left}.landing-feature{display:flex;gap:10px;padding:14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.landing-feature-icon{font-size:24px;flex-shrink:0;line-height:1}.landing-feature strong{font-size:13px;display:block}.landing-feature p{font-size:11px;color:var(--text-secondary);margin:2px 0 0}.landing-cta{padding:14px 48px;font-size:16px;font-weight:600;border-radius:12px;margin-bottom:16px}.landing-disclaimer{font-size:11px;color:var(--text-muted)}.landing.hidden{display:none}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:none;background:var(--bg-surface);box-shadow:0 1px 0 var(--border),0 2px 8px #0000001f;position:sticky;top:0;z-index:50}[data-theme=light] .header{box-shadow:0 1px 0 var(--border),0 2px 8px #0000000a}.header-logo{display:flex;align-items:center;gap:10px}.header-logo h1,.header-wordmark{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:1px}.header-logo .logo-icon{font-size:22px;color:var(--accent)}.header-actions{display:flex;gap:4px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;min-height:44px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.btn:active{transform:scale(.95);box-shadow:inset 0 1px 3px #0003}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible,.btn:focus-visible,.tab-btn:focus-visible,.bottom-nav-btn:focus-visible,.calendar-day:focus-visible,.protocol-item:focus-visible,.card:focus-visible,.club-card:focus-visible,.sub-tab:focus-visible,[role=button]:focus-visible,[tabindex="0"]:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:8px 16px;border-radius:var(--radius);z-index:10000;font-size:14px;text-decoration:none}.skip-link:focus{top:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html.reduce-motion-forced *,html.reduce-motion-forced *:before,html.reduce-motion-forced *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-theme=high-contrast]{--bg-primary: #000000;--bg-surface: #0a0a0a;--bg-elevated: #141414;--bg-input: #000000;--border: #ffffff;--border-light: #cccccc;--border-input: #ffffff;--border-control: #ffffff;--text-primary: #ffffff;--text-secondary: #f0f0f0;--text-muted: #d0d0d0;--accent: #ffeb3b;--accent-hover: #fff176;--accent-dim: rgba(255, 235, 59, .25);--success: #00e676;--warning: #ffab00;--danger: #ff5252;--info: #40c4ff;--shadow: 0 0 0 1px #ffffff;--shadow-elevated: 0 0 0 2px #ffffff;--shadow-float: 0 0 0 3px #ffffff}[data-theme=high-contrast] a,[data-theme=high-contrast] button,[data-theme=high-contrast] input,[data-theme=high-contrast] select,[data-theme=high-contrast] textarea{border-width:2px!important}[data-theme=high-contrast] *:focus-visible{outline:3px solid #ffeb3b!important;outline-offset:3px!important;box-shadow:0 0 0 5px #000!important}.tap-target-min{min-width:24px;min-height:24px}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#2dd4a8,#0d9373);border:none;color:#131518;font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.btn-primary:hover{background:linear-gradient(135deg,#5eead4,#2dd4a8);color:#131518;box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 35%,transparent);transform:translateY(-1px)}.btn-primary:active{transform:scale(.97);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 20%,transparent)}[data-theme=light] .btn-primary{background:linear-gradient(135deg,#0a7d62,#086047);color:#fff;box-shadow:0 2px 8px #0a7a5f40}[data-theme=light] .btn-primary:hover{background:linear-gradient(135deg,#0d9373,#0a7d62);color:#fff;box-shadow:0 4px 16px #0a7a5f52}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:#f43f5e1a}.btn-sm{padding:4px 10px;font-size:12px}.btn-group-sm{display:flex;gap:2px}.btn-group-sm .btn-sm{padding:3px 8px;font-size:11px;border-radius:var(--radius-sm)}.btn-xs{padding:2px 8px;font-size:11px;border-radius:4px}.btn-icon{padding:6px 8px;min-width:32px;justify-content:center}.btn-ghost{border:none;background:none;color:var(--text-secondary);padding:6px 8px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elevated)}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-surface);padding:0 20px;overflow-x:auto}.tab-btn{padding:11px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;position:relative}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;min-height:var(--bottom-nav-height);background:var(--bg-surface);border-top:none;box-shadow:0 -1px 0 var(--border),0 -4px 16px #0000002e;z-index:50;padding-bottom:env(safe-area-inset-bottom);scrollbar-width:none}[data-theme=light] .bottom-nav{box-shadow:0 -1px 0 var(--border),0 -4px 16px #0000000d}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 0;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav-btn.active{color:var(--accent)}.bottom-nav-icon{font-size:20px;line-height:1}.bottom-nav-label{font-size:10px;font-weight:600}.bottom-nav-btn.simple-mode-locked,.tab-btn.simple-mode-locked,.more-sheet-item.simple-mode-locked{opacity:.42}.bottom-nav-btn.simple-mode-locked:hover,.tab-btn.simple-mode-locked:hover,.more-sheet-item.simple-mode-locked:hover{opacity:.65}.bottom-nav-btn.simple-mode-locked.active,.tab-btn.simple-mode-locked.active{opacity:1}.simple-mode-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.5px;color:#f59e0b;background:#f59e0b24;padding:2px 6px;border-radius:4px;margin-left:6px;cursor:pointer;vertical-align:1px;user-select:none}.simple-mode-badge:hover{background:#f59e0b38}.simple-mode-badge:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}body.simple-mode-active .tab-content{padding-top:24px;padding-bottom:32px}body.simple-mode-active .card{margin-bottom:14px}.simple-mode-nudge{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;margin:0 0 16px;border-radius:var(--radius-md, 10px);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.simple-mode-nudge-body{flex:1;font-size:13px;line-height:1.5;color:var(--text-primary)}.simple-mode-nudge-body strong{display:block;font-size:14px;margin-bottom:4px}.simple-mode-nudge-actions{display:flex;gap:8px;flex-shrink:0}.simple-mode-nudge-dismiss{background:transparent;border:0;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;align-self:flex-start}.tab-content-wrapper{flex:1}.tab-content{display:none;padding:20px;max-width:960px;margin:0 auto;width:100%;transition:opacity .15s ease;content-visibility:hidden;contain-intrinsic-size:auto 500px}.tab-content.active{display:block;animation:tabIn .2s ease;content-visibility:visible;contain-intrinsic-size:auto}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.text-page-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.3px}.text-card-title{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text-muted);line-height:1.4;letter-spacing:.4px;text-transform:uppercase}.text-body{font-size:14px;color:var(--text-primary);line-height:1.5;font-variant-numeric:tabular-nums}.text-caption{font-size:12px;color:var(--text-secondary);line-height:1.4}.text-micro{font-size:10px;color:var(--text-muted);line-height:1.3;letter-spacing:.3px;font-weight:500}.stat-value,.biometric-metric-value,.bloodwork-marker-value,.rest-timer-value,.workout-session-timer,.streak-value,.vitascore-streak-number,.overlay-delta-pill,.efficacy-agg-val,.today-date,.fasting-time,.ring-value,.weekly-day-card .value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.btn-action-sm{font-size:11px;padding:4px 8px;min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s;line-height:1}.btn-action-sm:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-action-sm.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.btn-action-sm.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}@media(pointer:coarse){.btn-action-sm{min-width:36px;min-height:36px;padding:6px 10px;font-size:12px}}.empty-state{text-align:center;padding:32px 20px;color:var(--text-secondary);animation:fadeSlideIn .3s ease}.empty-state-title{font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.empty-state-desc{font-size:12px;color:var(--text-muted);margin-bottom:10px;line-height:1.5}.empty-state .btn{margin-top:4px}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-surface) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:vlSkeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:12px;margin-bottom:8px;width:80%}.skeleton-text.short{width:40%}.skeleton-text.medium{width:60%}.skeleton-circle{border-radius:50%}@keyframes vlSkeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.unit-badge{display:inline-flex;align-items:center;padding:3px 8px;font-family:var(--font-mono, "SF Mono", "Consolas", monospace);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-radius:4px;line-height:1;white-space:nowrap;border:1px solid transparent;vertical-align:baseline}.unit-badge[data-unit=mg]{color:var(--unit-mg);background:#f59e0b24;border-color:#f59e0b4d}.unit-badge[data-unit=mcg]{color:var(--unit-mcg);background:#38bdf824;border-color:#38bdf84d}.unit-badge[data-unit=iu],.unit-badge[data-unit=IU]{color:var(--unit-iu);background:#a78bfa24;border-color:#a78bfa4d}.unit-badge[data-unit=ml],.unit-badge[data-unit=mL],.unit-badge[data-unit=cc]{color:var(--unit-ml);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.unit-badge-lg{font-size:11px;padding:4px 10px}.unit-select[data-unit=mg]{color:var(--unit-mg);border-color:#f59e0b66}.unit-select[data-unit=mcg]{color:var(--unit-mcg);border-color:#38bdf866}.unit-select[data-unit=iu]{color:var(--unit-iu);border-color:#a78bfa66}.unit-select[data-unit=ml],.unit-select[data-unit=cc]{color:var(--unit-ml);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.unit-select{font-weight:600;font-family:var(--font-mono, monospace);text-transform:uppercase;letter-spacing:.5px}[data-theme=light] .unit-badge[data-unit=mg]{background:#a162071a;border-color:#a1620747}[data-theme=light] .unit-badge[data-unit=mcg]{background:#0369a11a;border-color:#0369a147}[data-theme=light] .unit-badge[data-unit=iu]{background:#6d28d91a;border-color:#6d28d947}[data-theme=light] .unit-badge[data-unit=ml],[data-theme=light] .unit-badge[data-unit=cc]{background:#0a7a5f1a;border-color:#0a7a5f47}.card{background:var(--bg-elevated);border:1px solid transparent;border-radius:var(--radius-lg);padding:16px;margin-bottom:16px;box-shadow:var(--shadow);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.mp-listing-card{transition:transform .15s ease,box-shadow .15s ease}.mp-listing-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0006}.st-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;letter-spacing:.02em;border-radius:999px;text-transform:capitalize;line-height:1.3;white-space:nowrap;border:1px solid transparent}.st-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.st-badge.st-draft{color:var(--text-muted);background:#96969624}.st-badge.st-recruiting{color:var(--success, #22c37a);background:#22c37a24}.st-badge.st-active{color:#4fa3ff;background:#4fa3ff24}.st-badge.st-paused{color:#e5a93a;background:#e5a93a29}.st-badge.st-completed{color:#a985ff;background:#a985ff29}.st-badge.st-archived{color:var(--text-muted);background:#96969614;opacity:.75}.st-pbadge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;border-radius:999px;line-height:1.3;text-transform:capitalize}.st-pbadge.st-p-enrolled{color:#4fa3ff;background:#4fa3ff24}.st-pbadge.st-p-active{color:var(--success, #22c37a);background:#22c37a24}.st-pbadge.st-p-completed{color:#a985ff;background:#a985ff24}.st-pbadge.st-p-dropped_out{color:var(--text-muted);background:#9696961f}.st-pbadge.st-p-removed{color:var(--danger);background:#e6484824}.st-provenance{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:11.5px;color:var(--text-muted);margin:2px 0 14px;align-items:center}.st-provenance .st-sep{opacity:.45;padding:0 2px}.st-provenance code{background:var(--bg-input);padding:1px 6px;border-radius:4px;font-size:11px}.st-meta-grid{display:grid;grid-template-columns:minmax(128px,160px) 1fr;gap:10px 16px;font-size:13px;line-height:1.5}@media(max-width:560px){.st-meta-grid{grid-template-columns:1fr;gap:2px 0}.st-meta-grid>dt{margin-top:10px}.st-meta-grid>dt:first-child{margin-top:0}}.st-meta-grid>dt{color:var(--text-muted);font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;align-self:start;padding-top:1px}.st-meta-grid>dd{margin:0;color:var(--text-primary)}.st-meta-grid>dd.st-muted{color:var(--text-muted);font-style:italic}.st-meta-grid code{background:var(--bg-input);padding:1px 6px;border-radius:4px;font-size:12px}.st-section-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px}.st-section-label:first-child{margin-top:0}.st-progress{display:flex;flex-direction:column;gap:6px}.st-progress-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--text-secondary)}.st-progress-head strong{color:var(--text-primary);font-weight:600}.st-progress-bar{position:relative;height:8px;background:var(--bg-input);border-radius:999px;overflow:hidden}.st-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--accent),var(--success, var(--accent)));border-radius:inherit;transition:width .25s ease}.st-arm-card{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);transition:border-color .15s ease,background .15s ease}.st-arm-card+.st-arm-card{margin-top:8px}.st-arm-card.st-arm-mine{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.st-arm-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.st-arm-title{font-weight:600;font-size:13.5px}.st-arm-alloc{font-size:11px;color:var(--text-muted);white-space:nowrap}.st-arm-desc{font-size:12.5px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.st-arm-mine .st-arm-title:after{content:"YOUR ARM";margin-left:8px;padding:1px 6px;font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:4px;vertical-align:middle}.st-consent-frame{border:1px solid var(--border);border-radius:10px;background:var(--bg-input);overflow:hidden;margin-bottom:12px}.st-consent-head{padding:10px 14px;background:var(--bg-elevated);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.st-consent-body{max-height:260px;overflow-y:auto;padding:14px;white-space:pre-wrap;font-size:12.5px;line-height:1.6;color:var(--text-primary)}.st-consent-foot{padding:6px 14px;background:var(--bg-elevated);border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);text-align:center;transition:color .2s ease,background .2s ease}.st-consent-read .st-consent-foot{color:var(--success, var(--accent));background:color-mix(in srgb,var(--success, var(--accent)) 10%,var(--bg-elevated))}.st-loghist{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-input)}.st-loghist-row{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:9px 14px;font-size:12.5px;align-items:start}.st-loghist-row+.st-loghist-row{border-top:1px solid var(--border)}.st-loghist-date{color:var(--text-muted);font-variant-numeric:tabular-nums}.st-loghist-body{color:var(--text-secondary);line-height:1.45}.st-ptable{width:100%;font-size:12.5px;border-collapse:collapse}.st-ptable th{padding:8px 10px;background:var(--bg-elevated);text-align:left;font-weight:600;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.st-ptable td{padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.st-ptable tr:last-child td{border-bottom:none}.st-ptable code{background:var(--bg-input);padding:1px 6px;border-radius:4px;font-size:11.5px}.st-empty{padding:32px 20px;text-align:center}.st-empty-icon{font-size:28px;margin-bottom:10px;opacity:.5}.st-empty-title{font-size:15px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.st-empty-body{font-size:13px;color:var(--text-secondary);margin:0 auto 14px;max-width:420px;line-height:1.5}.st-list{display:flex;flex-direction:column;gap:10px}.st-list-card{padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;transition:border-color .15s ease,transform .15s ease;display:flex;flex-direction:column;gap:6px}.st-list-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transform:translateY(-1px)}.st-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.st-list-title{font-weight:600;font-size:14.5px;flex:1;line-height:1.3}.st-list-desc{font-size:12.5px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 4px}.st-list-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--text-muted);align-items:center}.st-list-meta .st-sep{opacity:.45}.st-detail{max-width:780px;margin:0 auto}.st-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.st-detail-title{margin:0;font-size:22px;font-weight:700;line-height:1.25;flex:1}.st-detail-desc{font-size:14px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;margin:14px 0 4px}.st-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.st-filter{padding:5px 12px;font-size:12px;font-weight:500;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.st-filter:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--text-primary)}.st-filter.is-active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.st-disclaimer{margin:28px auto 4px;max-width:680px;padding:14px 18px;border-left:3px solid var(--border);background:var(--bg-elevated);font-size:11.5px;line-height:1.6;color:var(--text-muted);border-radius:0 8px 8px 0}.st-disclaimer strong{color:var(--text-secondary)}[data-theme=amoled] .card{background:var(--bg-elevated);border:1px solid var(--border);box-shadow:none}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:15px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.card-compact{padding:14px;margin-bottom:12px}.expandable{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.expandable-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-surface);cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.expandable-header:hover{background:var(--bg-elevated)}.expandable-title{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.expandable-arrow{font-size:12px;color:var(--text-muted);transition:transform .2s}.expandable.open .expandable-arrow{transform:rotate(90deg)}.expandable-body{display:none;padding:0 16px 16px;background:var(--bg-surface)}.expandable.open .expandable-body{display:block;animation:expandIn .2s ease}@keyframes expandIn{0%{opacity:0}to{opacity:1}}.chart-container{width:100%;height:200px;position:relative}.chart-container canvas{width:100%;height:100%;display:block}.chart-container-sm{height:120px}.chart-container-lg{height:260px}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius);margin-bottom:12px;font-size:13px;line-height:1.5}.alert-icon{font-size:16px;flex-shrink:0;margin-top:1px}.alert-info{background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--info)}.alert-warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:var(--warning)}.alert-danger{background:#f43f5e1a;border:1px solid rgba(244,63,94,.3);color:var(--danger)}.today-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.today-date{font-size:24px;font-weight:700}.today-subtitle{color:var(--text-secondary);font-size:14px;margin-top:2px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.status-badge.complete{background:#34d39926;color:var(--success)}.status-badge.partial{background:#f59e0b26;color:var(--warning)}.status-badge.none{background:#8b949e1a;color:var(--text-secondary)}.time-group{margin-bottom:20px}.time-group-header{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding-bottom:8px;border-bottom:1px solid var(--border-light);margin-bottom:8px}.dose-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius);transition:background .15s}.dose-item:hover{background:var(--bg-elevated)}.dose-item.administered{opacity:.55}.dose-checkbox{-webkit-appearance:none;appearance:none;width:24px;height:24px;border:2px solid var(--border-control);border-radius:50%;cursor:pointer;position:relative;flex-shrink:0;transition:border-color .15s,background .15s}.dose-checkbox:checked{background:var(--success);border-color:var(--success);animation:doseCheckBg .22s cubic-bezier(.34,1.56,.64,1) both}@keyframes doseCheckBg{0%{transform:scale(.75)}65%{transform:scale(1.12)}to{transform:scale(1)}}.dose-checkbox:checked:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;width:14px;height:14px;display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;animation:doseCheckIn .28s cubic-bezier(.34,1.56,.64,1) both}@keyframes doseCheckIn{0%{transform:translate(-50%,-50%) scale(0) rotate(-15deg);opacity:0}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}.dose-info{flex:1;min-width:0}.dose-name{font-weight:600;font-size:15px}.dose-details{font-family:SF Mono,Consolas,Monaco,monospace;font-size:13px;color:var(--text-secondary);margin-top:2px}.dose-site{font-size:12px;color:var(--text-muted);margin-top:2px}.dose-color{width:4px;height:36px;border-radius:2px;flex-shrink:0}.dose-extra{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.daily-notes{width:100%;min-height:60px;padding:12px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:inherit;font-size:14px;resize:vertical}.daily-notes::placeholder{color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.4}.empty-state-icon svg{width:48px;height:48px;opacity:.4}.empty-state p{font-size:15px;margin-bottom:16px}.empty-state .empty-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.empty-state .empty-desc{font-size:13px;line-height:1.5;max-width:380px;margin:0 auto 16px}.empty-state .empty-features{text-align:left;max-width:360px;margin:0 auto 20px;font-size:13px;line-height:2;color:var(--text-secondary)}.empty-state .empty-features div{color:var(--accent)}.empty-state .empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.empty-state .empty-tip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:10px 14px;max-width:400px;margin:0 auto 16px;font-size:12px;color:var(--text-secondary);line-height:1.5;text-align:left}.halflife-bar{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.halflife-track{width:60px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.halflife-fill{height:100%;border-radius:2px;transition:width .3s}.halflife-fill.high{background:var(--success)}.halflife-fill.medium{background:var(--warning)}.halflife-fill.low{background:var(--danger)}.cycle-progress{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:4px}.cycle-progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.cycle-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s}.cycle-ending{color:var(--warning);font-weight:600}.titration-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.vial-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin-top:4px}.vial-bar{width:50px;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.vial-fill{height:100%;border-radius:3px}.vial-fill.ok{background:var(--success)}.vial-fill.low{background:var(--warning)}.vial-fill.empty{background:var(--danger)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-month{font-size:20px;font-weight:700}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.calendar-day-header{background:var(--bg-elevated);padding:8px;text-align:center;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.calendar-day{background:var(--bg-surface);min-height:90px;padding:6px;cursor:pointer;transition:background .15s;position:relative}.calendar-day:hover{background:var(--bg-elevated)}.calendar-day.other-month{opacity:.3}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--accent)}.calendar-day-number{font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text-secondary)}.calendar-day.today .calendar-day-number{color:var(--accent)}.calendar-pills{display:flex;flex-wrap:wrap;gap:2px}.calendar-pill{font-size:10px;padding:1px 5px;border-radius:3px;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.4}.calendar-pill.administered{opacity:.5;text-decoration:line-through}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.legend-dot{width:10px;height:10px;border-radius:2px}.calendar-detail{margin-top:16px}.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calc-inputs{display:flex;flex-direction:column;gap:14px}.calc-result{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.calc-result-value{font-family:SF Mono,Consolas,Monaco,monospace;font-size:36px;font-weight:700;color:var(--accent)}.calc-result-unit{font-size:14px;color:var(--text-secondary);margin-top:4px}.calc-result-secondary{font-family:SF Mono,Consolas,Monaco,monospace;font-size:24px;font-weight:600;color:var(--success);margin-top:16px}.calc-concentration{font-size:13px;color:var(--text-muted);margin-top:12px}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.form-input,.form-select{padding:9px 12px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-input:focus:not(:focus-visible),.form-select:focus:not(:focus-visible){outline:none}.form-input:focus-visible,.form-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-input::placeholder{color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-hint{font-size:11px;color:var(--text-secondary);margin-top:2px}.protocol-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;transition:background .15s}.protocol-item:hover{background:var(--bg-elevated)}.protocol-color{width:6px;align-self:stretch;border-radius:3px;flex-shrink:0}.protocol-info{flex:1;min-width:0}.protocol-name{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}.protocol-schedule{font-size:13px;color:var(--text-secondary);margin-top:2px}.protocol-dose{font-family:SF Mono,Consolas,Monaco,monospace;font-size:13px;color:var(--text-muted)}.protocol-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.toggle-switch{position:relative;width:40px;height:22px;cursor:pointer;flex-shrink:0}.toggle-switch input{opacity:0;position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.toggle-slider{position:absolute;inset:0;background:var(--border-control);border-radius:11px;transition:background .2s;pointer-events:none}.toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:var(--text-primary);border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.toggle-slider{background:var(--success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.modal-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:var(--z-modal);align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:var(--bg-elevated);border:1px solid rgba(255,255,255,.06);border-radius:16px;width:90%;max-width:520px;max-height:85vh;overflow-y:auto;padding:24px;box-shadow:var(--shadow-float);position:relative}[data-theme=light] .modal{border:1px solid rgba(0,0,0,.04)}@media(max-width:640px){.modal-overlay.active{align-items:flex-end;padding:0}.modal{width:100%!important;max-width:100%!important;border-radius:20px 20px 0 0!important;margin:0!important;padding-top:28px!important;padding-bottom:max(24px,env(safe-area-inset-bottom,24px))!important;max-height:90vh!important}.modal-overlay.active .modal{animation:vlSheetUp .32s cubic-bezier(.32,.72,0,1) both}.modal:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:36px;height:4px;background:var(--border);border-radius:2px;opacity:.8}}@keyframes vlSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.swipe-del-bg{position:absolute;right:0;top:0;bottom:0;width:76px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0}#pull-indicator{position:fixed;top:0;left:50%;transform:translate(-50%) translateY(-100%);background:var(--accent);color:#fff;font-size:12px;font-weight:600;padding:6px 18px;border-radius:0 0 10px 10px;z-index:var(--z-modal);pointer-events:none;transition:transform .1s linear;white-space:nowrap}#quick-settings-panel{position:fixed;z-index:var(--z-dropdown);background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #00000073;width:230px;padding:8px 4px;opacity:0;transform:translateY(-6px) scale(.97);transition:opacity .15s ease,transform .15s ease;pointer-events:none}#quick-settings-panel.qs-open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.qs-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:4px 14px 8px}.qs-section-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 14px 4px}.qs-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;background:none;border:none;color:var(--text-primary);font-size:13px;cursor:pointer;border-radius:8px;text-align:left;transition:background .1s}.qs-row:hover{background:var(--bg-elevated)}.qs-icon{font-size:15px;flex-shrink:0;width:20px;text-align:center}.qs-label{flex:1;font-weight:500}.qs-val{font-size:11px;color:var(--accent);font-weight:600;white-space:nowrap}.qs-sep{height:1px;background:var(--border-light);margin:4px 10px}.qs-check{cursor:pointer}.modal-title{font-size:18px;font-weight:700;margin-bottom:20px}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.cycle-type-group{display:flex;gap:8px}.cycle-type-btn{flex:1;padding:8px;text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.cycle-type-btn.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.cycle-config{display:none;gap:12px;margin-top:8px}.cycle-config.active{display:flex}.day-picker{display:flex;gap:4px}.day-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.day-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.profile-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.profile-bar label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.profile-bar select{flex:1}.journal-entry{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.journal-date-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.journal-date-nav .date-display{font-size:18px;font-weight:700;min-width:200px;text-align:center}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.journal-metric{display:flex;flex-direction:column;gap:4px}.journal-metric label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.star-rating{display:flex;gap:4px}.star-btn{font-size:22px;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:color .15s,transform .1s;padding:2px}.star-btn.active,.star-btn:hover{color:var(--warning)}.star-btn:active{transform:scale(1.2)}.slider-rating{display:flex;align-items:center;gap:8px;width:100%}.rating-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--border);border-radius:3px;cursor:pointer}.rating-slider:focus:not(:focus-visible){outline:none}.rating-slider:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0000004d}.rating-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--bg-primary)}.slider-value{font-size:13px;font-weight:600;color:var(--text-secondary);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.water-tracker-compact{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.water-btn{width:32px;height:32px;padding:0;font-size:16px;line-height:1}.water-progress-inline{flex:1;display:flex;align-items:center;gap:8px}.water-bar-bg{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:visible;position:relative}.water-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .35s cubic-bezier(.34,1.3,.64,1)}.water-bar-fill.complete{background:var(--success)}.water-bar-fill.water-pop{animation:waterPop .45s ease-out both}@keyframes waterPop{0%{filter:brightness(1.7) saturate(1.4);transform:scaleY(1.5)}55%{filter:brightness(1.2) saturate(1.1);transform:scaleY(.9)}to{filter:brightness(1) saturate(1);transform:scaleY(1)}}.water-bar-label{position:absolute;top:-11px;left:50%;transform:translate(-50%);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;pointer-events:none}.water-label{font-size:12px;font-weight:600;color:var(--text-secondary);min-width:50px;text-align:center;font-variant-numeric:tabular-nums}.water-unit{font-size:10px;font-weight:400;color:var(--text-muted)}.journal-history{margin-top:20px}.journal-history-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light);font-size:13px}.journal-history-item:last-child{border-bottom:none}.journal-history-date{font-weight:600;min-width:100px;color:var(--text-secondary)}.journal-history-metrics{display:flex;gap:16px;flex:1}.journal-metric-sm{font-size:12px;color:var(--text-muted)}.journal-metric-sm span{font-weight:600;color:var(--text-primary)}.weekly-overview{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}.weekly-day-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 6px;text-align:center;font-size:11px;cursor:pointer;transition:border-color .15s,background .15s}.weekly-day-card:hover{border-color:var(--accent)}.weekly-day-card.today{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.weekly-day-card.has-data{border-left:3px solid var(--success)}.weekly-day-card .day-name{font-weight:700;color:var(--text-secondary);margin-bottom:4px}.weekly-day-card .day-weight{font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:600;color:var(--text-primary)}.weekly-day-card .day-stars{color:var(--warning);font-size:10px;margin-top:2px}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center}.stat-value{font-family:SF Mono,Consolas,Monaco,monospace;font-size:28px;font-weight:700;color:var(--accent)}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;margin-top:4px}.cost-table{width:100%;border-collapse:collapse;font-size:13px}.cost-table th,.cost-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border-light)}.cost-table th{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.cost-table td:last-child{font-family:SF Mono,Consolas,monospace;text-align:right}.cost-table tfoot td{font-weight:700;border-top:2px solid var(--border)}.supp-row{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s,background .12s}.supp-row:hover{border-color:var(--accent)}.supp-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.supp-row.is-taken{background:color-mix(in srgb,var(--success) 8%,transparent);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.supp-row.is-taken .supp-row-name{text-decoration:line-through;color:var(--text-muted)}.supp-row-main{display:flex;flex-direction:column;flex:1;min-width:0;gap:2px}.supp-row-name{font-size:13px;font-weight:600;color:var(--text-primary)}.supp-row-dose{font-size:11px;color:var(--text-secondary);font-family:SF Mono,Consolas,monospace}.supp-row-cat{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-elevated);padding:2px 8px;border-radius:999px;flex-shrink:0}.supp-row .supp-remove-btn{flex-shrink:0}.quick-relog-row{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-sm)}.quick-relog-meal{font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;flex-shrink:0;min-width:88px}.quick-relog-detail{flex:1;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compound-compare-table{width:100%;border-collapse:collapse;font-size:13px}.compound-compare-table th,.compound-compare-table td{padding:8px 12px;border-bottom:1px solid var(--border-light);font-family:inherit}.compound-compare-table th{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.site-map-container{position:relative;width:200px;height:300px;margin:0 auto}.site-map-body{width:100%;height:100%;opacity:.3}.site-dot{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid var(--bg-surface);transform:translate(-50%,-50%);cursor:pointer;transition:transform .15s}.site-dot:hover{transform:translate(-50%,-50%) scale(1.3)}.site-dot.suggested{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 50%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}.site-history-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.site-history-item{display:flex;justify-content:space-between;padding:6px 10px;font-size:12px;border-radius:var(--radius-sm)}.site-history-item:nth-child(odd){background:var(--bg-elevated)}.settings-section{margin-bottom:24px}.settings-section-title{font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.settings-row label{font-size:14px}.settings-row .form-input{width:120px}.toast{position:fixed;bottom:80px;right:24px;padding:12px 20px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;box-shadow:0 4px 12px #0006;z-index:var(--z-toast);opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translateY(0)}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media(max-width:768px){.header{flex-wrap:wrap;padding:8px 12px;gap:6px}.header-logo h1,.header-wordmark{font-size:16px}.header-search{order:3;width:100%;margin-top:4px}.header-search .form-input{font-size:14px}.header-actions{gap:2px}.header-actions .btn{padding:6px 8px;font-size:12px}.header-actions .btn:not(.btn-ghost){padding:5px 8px;font-size:11px;min-height:36px}.tab-bar{display:none}.bottom-nav{display:flex;overflow-x:visible;justify-content:space-around;gap:0;padding:0 2px;flex-wrap:nowrap}.bottom-nav-btn{flex:1 1 0;min-width:0}.bottom-nav-btn{flex:1 1 0;min-width:44px;padding:6px 2px}.bottom-nav-label{font-size:10px}.bottom-nav-icon{font-size:18px}.tab-content-wrapper{padding:12px 8px 80px;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.tab-content{padding:16px}.calc-grid,.form-row,.form-row-3,.journal-grid{grid-template-columns:1fr}.today-header{flex-direction:column;gap:8px;align-items:flex-start}.time-group-header{font-size:13px;padding:6px 10px}.dose-item{padding:10px;gap:8px}.dose-info{min-width:0}.dose-name{font-size:14px;word-break:break-word}.dose-details{font-size:12px}.dose-extra{display:none}.protocol-item{flex-wrap:wrap;padding:10px;gap:8px}.protocol-info{flex:1;min-width:0}.protocol-name{font-size:14px;word-break:break-word}.protocol-schedule{font-size:11px;word-break:break-word}.protocol-actions{width:100%;display:flex;justify-content:flex-end;gap:4px;padding-top:4px;border-top:1px solid var(--border-light)}.cost-table{font-size:11px}.cost-table th,.cost-table td{padding:6px 4px}.analytics-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:10px 8px}.stat-value{font-size:20px}.calendar-grid{gap:1px}.calendar-day{min-height:48px;padding:2px}.calendar-day-number{font-size:11px}.calendar-pill{font-size:10px;padding:1px 2px}.card{padding:12px}.card-header{flex-direction:column;gap:8px;align-items:stretch}.modal{width:95vw;max-width:95vw;max-height:90vh;margin:5vh auto;padding:16px}.modal-form{gap:10px}.form-input,.form-select{font-size:16px}.streak-bar{gap:12px}.streak-item{min-width:0}.bloodwork-card{padding:10px}.bloodwork-markers{gap:4px}.bloodwork-marker{padding:6px 8px;font-size:12px}.workout-subtabs{flex-wrap:wrap;gap:4px;row-gap:6px;padding-bottom:4px}.workout-subtab{flex-shrink:1;font-size:12px;padding:6px 10px}.settings-section{padding:12px}.settings-row{flex-direction:column;gap:6px;align-items:stretch}.settings-row label{font-size:13px}.macro-rings{gap:12px;flex-wrap:wrap;justify-content:center}.meal-section{padding:10px}.food-item{font-size:12px;padding:8px}.weekly-overview{grid-template-columns:repeat(7,1fr);gap:4px}.weekly-day-card{padding:6px 2px;font-size:10px}.weekly-day-card .day-weight{font-size:11px}.landing-features{grid-template-columns:1fr}.landing-title{font-size:28px}}@media(max-width:480px){.header-logo h1,.header-wordmark{font-size:14px}.landing-title{font-size:28px}.landing-tagline{font-size:14px}.landing-feature{flex-direction:column;text-align:center;gap:4px}.btn{padding:6px 10px;font-size:12px}.calendar-day-header{font-size:10px;padding:6px 2px}.stat-value{font-size:18px}.calendar-day{min-height:40px}.calendar-pills{display:none}.modal{padding:12px;border-radius:8px}.cost-table th:nth-child(3),.cost-table td:nth-child(3){display:none}.analytics-grid{grid-template-columns:1fr}.set-row{grid-template-columns:28px 1fr 1fr 80px 28px;gap:3px;font-size:12px}.set-row .form-input,.set-row .form-select{font-size:12px;padding:4px 6px}.rpe-rir-compact{font-size:10px!important;padding:3px 1px!important}.bloodwork-markers{grid-template-columns:1fr}}.install-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius);margin-bottom:16px;font-size:13px}.install-banner .btn{flex-shrink:0}.preset-dropdown{position:absolute;top:100%;left:0;right:0;max-height:250px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000004d;z-index:110}.preset-dd-cat{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px 4px;background:var(--bg-elevated);border-top:1px solid var(--border);position:sticky;top:0;z-index:1}.preset-dd-cat:first-child{border-top:none}.preset-dd-item{padding:8px 12px;font-size:13px;cursor:pointer;transition:background .1s}.preset-dd-item:hover{background:var(--bg-elevated);color:var(--accent)}@media(pointer:coarse){.btn,.tab-btn,.cycle-type-btn,.day-btn,.bottom-nav-btn,.expandable-header,.dose-item,.protocol-item,.calendar-day,.weekly-day-card,.preset-dd-item,.star-btn,.btn-sm{min-height:44px}.btn-xs{min-height:44px;min-width:44px}.btn-icon{min-width:44px;min-height:44px}.btn-ghost{min-width:44px;min-height:44px;padding:10px}.dose-checkbox{width:28px;height:28px}.toggle-switch{width:48px;height:28px}.toggle-slider:before{height:20px;width:20px;left:4px;bottom:4px}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.preset-dd-item{padding:12px;min-height:44px}.star-btn{font-size:28px;padding:4px 6px}}@media screen and (max-width:768px){.form-input,.form-select,.daily-notes,textarea,input[type=text],input[type=number],input[type=date],input[type=time],select{font-size:16px}}@supports (padding: env(safe-area-inset-top)){.header{padding-top:calc(10px + env(safe-area-inset-top));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.tab-content{padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.bottom-nav{height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.landing{padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-right))}.toast{bottom:calc(80px + env(safe-area-inset-bottom));right:calc(24px + env(safe-area-inset-right))}}.tab-content-wrapper{-webkit-overflow-scrolling:touch;overflow-y:auto}.modal{-webkit-overflow-scrolling:touch}html,body{overscroll-behavior-y:none}.header-search{position:relative;flex:1;max-width:300px;margin:0 16px}.search-results-dropdown{position:absolute;top:100%;left:0;right:0;max-height:400px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000004d;z-index:110}.search-result-item{padding:10px 14px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px}.search-result-item:hover,.search-result-item.is-active{background:var(--bg-elevated)}.search-result-item.is-active{outline:2px solid var(--accent);outline-offset:-2px}.search-result-item:last-child{border-bottom:none}.search-result-cat{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:6px 14px;background:var(--bg-elevated)}.search-deeplink-flash{animation:search-deeplink-flash 1.6s ease-out}@keyframes search-deeplink-flash{0%{background:#2dd4a859;background:color-mix(in srgb,var(--accent) 35%,transparent)}to{background:transparent}}@media(max-width:768px){.header-search{display:block;max-width:none;margin:0}}.streak-bar{display:flex;gap:16px;margin-bottom:16px}.streak-item{display:flex;align-items:baseline;gap:6px}.streak-value{font-family:SF Mono,Consolas,monospace;font-size:24px;font-weight:700;color:var(--accent)}.streak-label{font-size:12px;color:var(--text-secondary)}.correlation-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px}.correlation-item:last-child{border-bottom:none}.correlation-compound{font-weight:600;min-width:120px}.correlation-insight{flex:1;color:var(--text-secondary)}.correlation-arrow{font-size:18px;font-weight:700}.correlation-arrow.up{color:var(--success)}.correlation-arrow.down{color:var(--danger)}.correlation-arrow.neutral{color:var(--text-muted)}.bloodwork-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}.bloodwork-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.bloodwork-card-date{font-weight:700;font-size:15px}.bloodwork-card-source{font-size:11px;color:var(--text-muted);text-transform:uppercase}.bloodwork-markers{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.bloodwork-marker{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px;border-left:3px solid transparent;min-width:0;flex-wrap:wrap;row-gap:4px;overflow:hidden}.bloodwork-marker>span{min-width:0}.bloodwork-marker>span:last-child{flex-wrap:wrap;row-gap:2px}.bloodwork-marker.in-range{background:color-mix(in srgb,var(--success) 8%,transparent);border-left-color:var(--success)}.bloodwork-marker.slightly-out{background:color-mix(in srgb,var(--warning) 12%,transparent);border-left-color:var(--warning)}.bloodwork-marker.out-of-range{background:color-mix(in srgb,var(--danger) 15%,transparent);border-left-color:var(--danger)}.bloodwork-marker-name{color:var(--text-secondary)}.bloodwork-marker-value{font-weight:600;font-family:SF Mono,Consolas,monospace}.bloodwork-marker.in-range .bloodwork-marker-value{color:var(--success)}.bloodwork-marker.slightly-out .bloodwork-marker-value{color:var(--warning)}.bloodwork-marker.out-of-range .bloodwork-marker-value{color:var(--danger)}.bloodwork-marker-unit{font-size:11px;color:var(--text-muted);margin-left:2px}.bloodwork-group-label{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin:8px 0 4px;grid-column:1 / -1}.bloodwork-actions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.bloodwork-notes{font-size:12px;color:var(--text-secondary);margin-top:8px;font-style:italic}.bw-modal-group{margin-bottom:12px}.bw-modal-group-title{font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;margin-bottom:6px;border-bottom:1px solid var(--border-light);padding-bottom:4px}.bw-modal-markers{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bw-marker-input{display:flex;align-items:center;gap:6px}.bw-marker-input label{font-size:12px;color:var(--text-secondary);min-width:100px;flex-shrink:0}.bw-marker-input input{width:80px}.bw-marker-input .bw-unit{font-size:10px;color:var(--text-muted);min-width:45px}.bw-marker-input .bw-ref{font-size:10px;color:var(--text-muted)}.csv-preview-table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0;max-height:300px;overflow-y:auto;display:block}.csv-preview-table th,.csv-preview-table td{padding:4px 8px;border:1px solid var(--border-light);text-align:left}.csv-preview-table th{background:var(--bg-elevated);font-weight:600;position:sticky;top:0}.lab-report-viewer{display:flex;gap:16px;max-height:60vh;overflow:hidden}.lab-report-image{flex:1;min-width:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);display:flex;align-items:flex-start;justify-content:center;padding:8px}.lab-report-image img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.lab-report-fields{flex:1;min-width:0;overflow-y:auto;max-height:60vh;padding-right:8px}.lab-report-fields .bw-marker-input input.has-value{border-color:var(--success);background:#34d3990f}.quick-entry-area{width:100%;min-height:80px;font-family:SF Mono,Consolas,monospace;font-size:13px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);padding:10px;resize:vertical}.quick-entry-area:focus{border-color:var(--accent)}.quick-entry-area:focus:not(:focus-visible){outline:none}.quick-entry-area:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.quick-entry-hint{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4}.quick-entry-results{margin-top:8px}.quick-entry-match{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-radius:var(--radius-sm);background:#34d39914;margin-bottom:4px;font-size:13px}.quick-entry-match-label{color:var(--text-secondary)}.quick-entry-match-value{font-weight:600;color:var(--success);font-family:SF Mono,Consolas,monospace}.pdf-preview-table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}.pdf-preview-table th,.pdf-preview-table td{padding:6px 10px;border:1px solid var(--border-light);text-align:left}.pdf-preview-table th{background:var(--bg-elevated);font-weight:600;font-size:11px;text-transform:uppercase}.pdf-preview-table input{width:80px}.pdf-preview-status{font-size:12px;color:var(--text-secondary);margin-bottom:8px;padding:8px;background:var(--bg-elevated);border-radius:var(--radius-sm)}.pdf-fallback-msg{font-size:12px;color:var(--warning);margin-bottom:8px;padding:8px;background:#f59e0b1a;border-radius:var(--radius-sm)}@media(max-width:768px){.bloodwork-markers,.bw-modal-markers{grid-template-columns:1fr}.lab-report-viewer{flex-direction:column;max-height:none}.lab-report-image,.lab-report-fields{max-height:40vh}.wearable-import-btns{flex-direction:column}.wearable-import-btns .btn{width:100%}}.workout-subtabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:16px}.workout-subtab{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer}.workout-subtab.active{color:var(--accent);border-bottom-color:var(--accent)}.exercise-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-light)}.exercise-row:last-child{border-bottom:none}.exercise-name{font-weight:600;font-size:14px;flex:1}.exercise-muscle{font-size:11px;color:var(--text-muted);text-transform:uppercase}.exercise-type-badge{font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600}.exercise-type-badge.compound{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.exercise-type-badge.isolation{background:#a371f726;color:#a371f7}.set-row{display:grid;grid-template-columns:36px 1fr 1fr 90px 32px;gap:6px;align-items:center;padding:4px 0;font-size:13px}.rpe-rir-cell{display:flex;gap:3px;align-items:center}.rpe-rir-compact{font-size:11px!important;padding:4px 2px!important;min-width:0;flex:1}.set-row-header{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase}.set-number{font-weight:700;color:var(--text-secondary);text-align:center}.prev-value{font-size:11px;color:var(--text-muted)}.rest-timer{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-elevated);border-radius:var(--radius);margin:8px 0}.rest-timer-value{font-family:SF Mono,Consolas,monospace;font-size:24px;font-weight:700;color:var(--accent)}.workout-day-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:8px}.workout-day-title{font-weight:700;font-size:15px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.rm-table{width:100%;border-collapse:collapse;font-size:13px}.rm-table th,.rm-table td{padding:6px 10px;border-bottom:1px solid var(--border-light);text-align:center}.rm-table th{font-size:11px;color:var(--text-muted);text-transform:uppercase}.rm-table td:first-child{text-align:left;font-weight:600}.pr-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#f59e0b26;color:var(--warning)}.muscle-group-header{font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;padding:10px 0 6px;border-bottom:1px solid var(--border);margin-bottom:4px}.workout-exercise-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px}.workout-exercise-title{font-weight:700;font-size:14px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.workout-session-timer{font-family:SF Mono,Consolas,monospace;font-size:18px;font-weight:700;color:var(--accent)}.workout-plan-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;transition:background .15s}.workout-plan-item:hover{background:var(--bg-elevated)}.workout-plan-name{font-weight:600;font-size:15px;flex:1}.workout-plan-meta{font-size:12px;color:var(--text-secondary)}.exercise-search-dropdown{position:fixed;max-height:240px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000080;z-index:9999}.exercise-search-item{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px}.exercise-search-item:hover{background:var(--bg-elevated)}.exercise-search-item:last-child{border-bottom:none}.progress-exercise-item{padding:10px 0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s}.progress-exercise-item:hover{background:var(--bg-elevated)}.progress-exercise-name{font-weight:600;font-size:14px}.progress-exercise-pr{font-size:12px;color:var(--text-secondary);margin-top:2px}.form-input-sm{max-width:180px}.bloodwork-marker-ref{font-size:11px;color:var(--text-muted);margin-left:4px}.delta-summary{margin-bottom:12px}.delta-highlight{font-size:13px;line-height:1.5}.delta-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px;gap:8px;flex-wrap:wrap}.delta-label{font-weight:600;min-width:120px}.delta-values{color:var(--text-secondary);flex:1;text-align:center;white-space:nowrap}.delta-change{font-weight:600;text-align:right;white-space:nowrap;min-width:130px}.pct-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.pct-score-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0;background:var(--border);background:conic-gradient(var(--success) calc(var(--pct) * 1%),var(--border) 0%);position:relative}.pct-score-circle:before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--bg-surface)}.pct-score-circle span{position:relative;z-index:1}.progress-bar-bg{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.overlay-marker-groups{display:flex;flex-wrap:wrap;gap:12px}.overlay-marker-group{min-width:160px}.overlay-group-label{font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.overlay-marker-option{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer;padding:2px 0;color:var(--text-secondary)}.overlay-marker-option:hover{color:var(--text-primary)}.overlay-marker-option input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent)}.overlay-marker-swatch{display:inline-block;width:10px;height:3px;border-radius:1px;flex-shrink:0}.overlay-canvas-wrap{width:100%;min-height:300px;position:relative}.overlay-canvas-wrap canvas{width:100%;display:block}.overlay-chart-card{padding:12px;overflow-x:auto}.overlay-phase-table{font-size:12px}.overlay-phase-header{display:grid;grid-template-columns:100px 90px 1fr 1fr;gap:8px;padding:6px 0;border-bottom:2px solid var(--border);font-weight:700;color:var(--text-secondary);text-transform:uppercase;font-size:10px;letter-spacing:.5px}.overlay-phase-row{display:grid;grid-template-columns:100px 90px 1fr 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--border-light);align-items:center}.overlay-phase-date{font-weight:600;font-family:SF Mono,Consolas,monospace;font-size:11px}.overlay-phase-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.overlay-phase-compounds{font-size:12px;color:var(--text-secondary);line-height:1.4}.overlay-phase-changes{display:flex;flex-wrap:wrap;gap:4px}.overlay-delta-pill{font-size:11px;font-weight:600;font-family:SF Mono,Consolas,monospace;padding:1px 6px;background:var(--bg-elevated);border-radius:var(--radius-sm);white-space:nowrap}.overlay-insight{padding:8px 12px;margin-bottom:8px;background:var(--bg-elevated);border-radius:var(--radius-sm)}.overlay-insight-title{font-size:14px;font-weight:700;margin-bottom:2px}.overlay-insight-detail{font-size:12px;color:var(--text-secondary);line-height:1.5}@media(max-width:640px){.overlay-marker-groups{gap:8px}.overlay-marker-group{min-width:140px}.overlay-phase-header,.overlay-phase-row{grid-template-columns:80px 70px 1fr}.overlay-phase-header span:last-child,.overlay-phase-row span:last-child{display:none}}.efficacy-contribute{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-light)}.efficacy-rate-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px}.efficacy-rate-name{font-size:14px;font-weight:600;margin-bottom:6px}.efficacy-rate-stars{display:flex;flex-direction:column;gap:4px}.efficacy-rate-field{display:flex;align-items:center;gap:8px}.efficacy-rate-label{font-size:11px;color:var(--text-secondary);min-width:60px}.efficacy-stars{display:flex;gap:2px;cursor:pointer}.efficacy-star{font-size:18px;color:var(--border);transition:color .15s;user-select:none}.efficacy-star.active{color:#f0883e}.efficacy-star.hover{color:#ffa657}.efficacy-star:hover{transform:scale(1.2)}.efficacy-compound-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.efficacy-compound-name{font-size:15px;font-weight:700}.efficacy-report-count{font-size:11px;color:var(--text-muted);background:var(--bg-elevated);padding:2px 8px;border-radius:10px}.efficacy-agg-row{padding:8px 0;border-bottom:1px solid var(--border-light)}.efficacy-agg-row:last-child{border-bottom:none}.efficacy-agg-dose{font-size:12px;font-weight:600;margin-bottom:6px}.efficacy-agg-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.efficacy-agg-metric{display:flex;align-items:center;gap:4px}.efficacy-agg-label{font-size:10px;color:var(--text-muted);min-width:44px}.efficacy-agg-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.efficacy-agg-fill{height:100%;border-radius:3px;transition:width .4s ease}.efficacy-agg-val{font-size:11px;font-weight:600;font-family:SF Mono,Consolas,monospace;min-width:22px;text-align:right}.efficacy-goals{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.efficacy-goal-tag{font-size:10px;padding:1px 6px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:8px;color:var(--text-secondary)}.efficacy-bw-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;border-bottom:1px solid var(--border-light)}.efficacy-bw-row:last-child{border-bottom:none}@media(max-width:640px){.efficacy-agg-bars{grid-template-columns:repeat(2,1fr)}}.qe-preview-item{padding:4px 0;font-size:13px}.muscle-map{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.muscle-map-item{font-size:10px;padding:3px 7px;border-radius:3px;font-weight:600;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-light)}.muscle-map-item.primary{background:#34d39933;color:var(--success);border-color:var(--success)}.muscle-map-item.secondary{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text-secondary);border-color:var(--border)}.exercise-type-badge.custom{background:#db7ff726;color:#db7ff7}.body-map-container{display:flex;gap:12px;justify-content:center;padding:12px 0}.body-map-view{text-align:center;flex:1;max-width:200px;background:#ffffff05;border-radius:12px;padding:8px 4px 4px;border:1px solid rgba(255,255,255,.06)}.body-map-view-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;letter-spacing:1px}.body-map-svg{width:100%;height:auto}.body-map-legend{font-size:11px;color:var(--text-muted);margin-bottom:8px}.muscle-pill{display:inline-flex;align-items:center;font-size:10px;padding:3px 8px;border-radius:10px;font-weight:600}.muscle-pill.primary{background:#34d39933;color:var(--success)}.muscle-pill.secondary{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.custom-exercise-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:6px;background:var(--bg-surface)}.stopwatch-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-size:14px;transition:all .2s;flex-shrink:0}.stopwatch-btn:hover{border-color:var(--accent);color:var(--accent)}.stopwatch-btn.running{background:#34d39926;border-color:var(--success);color:var(--success);animation:pulse-glow 1.5s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #34d3994d}50%{box-shadow:0 0 8px 2px #34d39933}}.isometric-duration{font-family:monospace;font-size:13px;font-weight:700;min-width:55px;text-align:center}.exercise-type-badge.cardio{background:#f59e0b26;color:var(--warning)}.cardio-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:8px 0}.cardio-field label{font-size:11px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;display:block;margin-bottom:4px}.muscle-volume-bar{margin-bottom:10px}.muscle-volume-label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:4px}.muscle-volume-track{height:18px;background:var(--bg-elevated);border-radius:4px;overflow:hidden}.muscle-volume-fill{height:100%;border-radius:4px;transition:width .4s ease;min-width:2px;background:var(--accent)}.stat-box{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:10px 14px;text-align:center;flex:1;min-width:80px}.stat-box .stat-value{font-size:20px;font-weight:800;line-height:1.2}.stat-box .stat-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.wiki-entry summary::-webkit-details-marker{display:none}.wiki-entry summary{list-style:none}.wiki-entry summary:before{content:"";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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;width:12px;height:12px;display:inline-block;margin-right:6px;transition:transform .2s}.wiki-entry[open] summary:before{transform:rotate(90deg)}.nutrition-date-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.nutrition-date-display{font-weight:700;font-size:16px;min-width:160px;text-align:center}.macro-ring-container{display:flex;justify-content:center;gap:20px;margin:16px 0;flex-wrap:wrap}.macro-ring{text-align:center}.macro-ring svg{width:80px;height:80px;transform:rotate(-90deg)}.macro-ring-big svg{width:120px;height:120px}.macro-ring circle{fill:none;stroke-width:8}.macro-ring .bg{stroke:var(--border)}.macro-ring .fill{stroke-linecap:round;transition:stroke-dashoffset .5s ease;animation:ringFadeIn .6s ease}@keyframes ringFadeIn{0%{opacity:0;stroke-dashoffset:314}to{opacity:1}}.macro-ring-label{font-size:12px;color:var(--text-secondary);margin-top:4px}.macro-ring-value{font-size:16px;font-weight:700}.meal-section{margin-bottom:16px;padding:12px;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border-light)}.meal-section-header{display:flex;justify-content:space-between;align-items:center;padding:6px 0 8px;border-bottom:2px solid var(--border);margin-bottom:8px}.meal-section-title{font-weight:700;font-size:14px}.meal-section-total{font-size:12px;color:var(--text-secondary)}.food-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light);font-size:13px}.food-name{flex:1;font-weight:500}.food-macros{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.food-macro{text-align:center;min-width:40px}.food-macro-value{font-weight:600;color:var(--text-primary)}.food-macro-label{font-size:10px}.food-search-results{max-height:200px;overflow-y:auto}.food-search-item{display:flex;justify-content:space-between;align-items:center;padding:8px;cursor:pointer;border-bottom:1px solid var(--border-light);font-size:13px}.food-search-item:hover{background:var(--bg-elevated)}.food-macros-inline{font-size:11px;color:var(--text-secondary)}.food-preview-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:600;text-align:center;margin:8px 0;color:var(--accent)}.quick-add-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.quick-add-btn{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nutr-trend-bars{display:flex;gap:4px;align-items:flex-end;height:100px;margin-bottom:8px}.nutr-trend-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.nutr-trend-bar{width:100%;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease}.nutr-trend-label{font-size:10px;color:var(--text-muted);margin-top:4px}.nutr-trend-val{font-size:10px;color:var(--text-secondary);font-weight:600}.macro-split-bar{display:flex;height:16px;border-radius:8px;overflow:hidden;margin-top:8px}.macro-split-segment{height:100%;transition:width .4s ease}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--border-light) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:vlSkeletonShimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-line{height:14px;margin-bottom:10px;width:100%}.skeleton-line:last-child{width:60%}.skeleton-card{height:120px;margin-bottom:16px;border-radius:var(--radius)}.skeleton-tab-loading{padding:20px;animation:fadeSlideIn .15s ease}.skeleton-tab-loading .skeleton-header{height:28px;width:45%;margin-bottom:20px}.skeleton-tab-loading .skeleton-row{display:flex;gap:12px;margin-bottom:16px}.skeleton-tab-loading .skeleton-circle{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-tab-loading .skeleton-content{flex:1}.skeleton-tab-loading .skeleton-content .skeleton-line{margin-bottom:8px}.skeleton-tab-loading .skeleton-content .skeleton-line:nth-child(2){width:75%}.skeleton-tab-loading .skeleton-content .skeleton-line:nth-child(3){width:50%}.skeleton-chart{height:180px;border-radius:var(--radius-sm);margin:4px 0 8px}@keyframes spin{to{transform:rotate(360deg)}}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.error-boundary{padding:40px 24px;text-align:center;border:1px dashed var(--danger);border-radius:var(--radius);margin:16px;background:color-mix(in srgb,var(--danger) 6%,transparent)}.error-boundary__icon{font-size:36px;margin-bottom:12px}.error-boundary__title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.error-boundary__msg{font-size:12px;color:var(--text-secondary);margin-bottom:20px;font-family:monospace}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:10000;background:var(--warning);color:#000;text-align:center;padding:6px 16px;font-size:12px;font-weight:600;transform:translateY(-100%);transition:transform .3s ease}.offline-banner.visible{transform:translateY(0)}.offline-banner .offline-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#d32f2f;margin-right:6px;vertical-align:middle}.offline-queue-toggle{vertical-align:middle;margin-left:4px;text-decoration:underline}.offline-queue-panel{position:fixed;top:30px;left:50%;transform:translate(-50%);z-index:var(--z-modal);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000004d;width:380px;max-width:95vw;max-height:50vh;overflow:hidden;display:flex;flex-direction:column}.offline-queue-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.offline-queue-list{overflow-y:auto;max-height:35vh;padding:4px 0}.offline-queue-item{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;border-bottom:1px solid var(--border-subtle, rgba(128,128,128,.1))}.offline-queue-item:last-child{border-bottom:none}.oq-item-info{flex:1;min-width:0}.oq-method{font-weight:700;font-family:monospace;font-size:10px;color:var(--accent)}.oq-path{color:var(--text-secondary);word-break:break-all}.oq-age{color:var(--text-muted);font-size:10px;margin-left:6px}.oq-retries{color:var(--warning);font-size:10px}.oq-item-actions{flex-shrink:0;margin-left:8px}.offline-queue-footer{padding:8px 14px;border-top:1px solid var(--border);text-align:right}.sync-pending-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:10px;background:#ffb74d26;color:var(--warning);font-weight:600}.about-section{padding:0}.about-hero{text-align:center;padding:24px 20px 20px;border-bottom:1px solid var(--border);margin-bottom:16px}.about-hero .about-logo{font-size:36px;margin-bottom:8px}.about-hero .about-logo svg{width:48px;height:48px}.about-hero .about-version{font-size:12px;color:var(--text-muted);margin-top:4px}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;padding:12px 0;font-weight:600;font-size:14px;color:var(--text-primary);list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary:after{content:"+" / "";font-size:18px;color:var(--text-muted);transition:transform .2s}.faq-item[open] summary:after{content:"−" / ""}.faq-item .faq-answer{padding:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.6}.goal-card{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;transition:border-color .15s}.goal-card:hover{border-color:var(--accent)}.goal-card .goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.goal-card .goal-name{font-weight:700;font-size:14px}.goal-card .goal-target{font-size:12px;color:var(--text-secondary)}.goal-card .goal-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:6px}.goal-card .goal-progress-fill{height:100%;border-radius:4px;transition:width .4s ease}.goal-card .goal-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-secondary)}.goal-card .goal-complete-badge{background:#34d3991f;color:var(--success);padding:2px 8px;border-radius:10px;font-weight:600;font-size:11px}.goal-card .goal-deadline-near{color:var(--warning);font-weight:600}.summary-card{padding:16px;margin-top:12px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-top:12px}.summary-stat{text-align:center;padding:10px 8px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border)}.summary-stat .stat-value{font-size:20px;font-weight:800;color:var(--text-primary)}.summary-stat .stat-label{font-size:10px;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.summary-stat .stat-delta{font-size:10px;margin-top:2px;font-weight:600}.summary-stat .stat-delta.positive{color:var(--success)}.summary-stat .stat-delta.negative{color:var(--danger)}.compare-container{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-col{padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated)}.compare-col .compare-title{font-weight:700;font-size:13px;color:var(--accent);margin-bottom:10px;text-align:center}.compare-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px solid var(--border)}.compare-row:last-child{border-bottom:none}.compare-row .compare-label{color:var(--text-secondary)}.compare-row .compare-value{font-weight:600;color:var(--text-primary)}@media(max-width:480px){.compare-container{grid-template-columns:1fr}}.wearable-section{margin-top:16px}.wearable-import-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.wearable-import-btns .btn{font-size:12px;padding:8px 12px}.wearable-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);background:var(--bg-elevated);padding:2px 6px;border-radius:var(--radius-sm);margin-left:6px}.wearable-indicator .wearable-icon{font-size:10px}.compound-health-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.compound-health-table th{text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;padding:6px 8px;border-bottom:2px solid var(--border)}.compound-health-table td{padding:6px 8px;border-bottom:1px solid var(--border-light)}.compound-health-table .on-val{color:var(--accent);font-weight:600}.compound-health-table .off-val{color:var(--text-secondary)}.wearable-overlay-legend{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0;font-size:12px;color:var(--text-secondary)}.wearable-overlay-legend span{display:inline-flex;align-items:center;gap:4px}.tab-badge{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;padding:0 4px;pointer-events:none;z-index:1;line-height:1}.tab-badge-lock{background:var(--text-muted);min-width:14px;height:14px;font-size:10px}.more-sheet-overlay{position:fixed;inset:0;background:#00000080;z-index:9000;display:none;opacity:0;transition:opacity .2s ease}.more-sheet-overlay.active{display:block;opacity:1}.more-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-surface);border-top:1px solid var(--border);border-radius:20px 20px 0 0;padding:12px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));z-index:9001;animation:vlSheetUp .28s cubic-bezier(.32,.72,0,1) both}.more-sheet-overlay.closing .more-sheet{animation:vlSheetDown .22s cubic-bezier(.32,.72,0,1) both}@keyframes vlSheetDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.more-sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 14px}.more-sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.more-sheet-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 4px;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}.more-sheet-item:active{background:var(--border)}.more-sheet-item .more-item-icon{font-size:22px;line-height:1}.more-sheet-item .more-item-label{font-size:11px;font-weight:500;white-space:nowrap}.more-sheet-hint{text-align:center;font-size:10px;color:var(--text-muted);margin-top:12px;margin-bottom:2px}.more-sheet-swap-bar{display:flex;gap:6px;margin-bottom:12px;padding:10px;background:var(--bg-primary);border-radius:var(--radius);border:1px dashed var(--accent)}.more-sheet-swap-bar .swap-slot{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:6px;border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;font-size:10px;color:var(--text-secondary);transition:border-color .15s}.more-sheet-swap-bar .swap-slot:hover,.more-sheet-swap-bar .swap-slot:active{border-color:var(--accent);color:var(--accent)}@media(min-width:769px){#btn-more-nav,.more-sheet-overlay{display:none!important}}.toast-summary{font-size:12px;color:var(--text-secondary);margin-top:4px}body.modal-open{overflow:hidden;position:fixed;width:100%}.overload-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm);margin-left:6px}.overload-badge.up{background:#34d39926;color:var(--success)}.overload-badge.down{background:#f43f5e26;color:var(--danger)}.overload-badge.same{background:#8b949e26;color:var(--text-secondary)}.protocol-actions{display:flex;gap:4px;flex-shrink:0}.water-tracker{display:flex;gap:8px;align-items:center;justify-content:center}@media(max-width:768px){.set-row{grid-template-columns:30px 1fr 1fr 80px 28px;font-size:12px}.delta-row{flex-direction:column;align-items:flex-start}.delta-values,.delta-change{text-align:left;min-width:auto}.form-input-sm{max-width:100%}.macro-ring-container{gap:12px}.macro-ring-big svg{width:100px;height:100px}.meal-section-header{flex-direction:column;align-items:flex-start;gap:4px}.quick-add-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.compound-health-table{font-size:11px}.compound-health-table th,.compound-health-table td{padding:4px 6px}.protocol-item{flex-wrap:wrap;gap:8px}.protocol-info{min-width:0;flex:1}.protocol-actions{width:auto}.protocol-schedule{font-size:11px;word-break:break-word}.cost-table{font-size:11px}.cost-table th,.cost-table td{padding:4px 6px}.card-header{flex-direction:column;align-items:flex-start;gap:8px}.card-header>div{width:100%}.card-header .btn{font-size:12px;padding:6px 10px}.analytics-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:10px 12px}.stat-value{font-size:18px}.today-header{flex-direction:column;align-items:flex-start;gap:8px}.today-greeting{flex-wrap:wrap;gap:6px}.greeting-hello{font-size:20px}.daily-progress-row{gap:4px}.progress-ring-item{min-width:50px;padding:4px 2px}.progress-ring{width:36px;height:36px}.quick-action-btn{padding:8px 2px;min-width:50px}.feature-discovery-grid{grid-template-columns:repeat(2,1fr)}.dose-item{flex-wrap:wrap;gap:6px;padding:10px}.dose-info{min-width:0;flex:1}.dose-extra{width:100%;margin-top:4px}.weekly-overview{gap:4px}.weekly-day-card{padding:6px 4px;min-width:42px}.journal-grid{grid-template-columns:1fr 1fr;gap:8px}.modal{max-height:85vh;margin:auto 8px;padding:16px}.modal-form{max-height:60vh;overflow-y:auto}.profile-bar{flex-wrap:wrap;gap:6px}.profile-bar select{max-width:140px}.cardio-fields{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.streak-bar{gap:12px}.conflict-matrix{font-size:10px}.conflict-matrix th,.conflict-matrix td{padding:3px}.dashboard-grid{grid-template-columns:1fr}.phase-timeline{overflow-x:auto}.serum-controls{flex-direction:column}.ester-checkboxes,.risk-gauges{grid-template-columns:1fr 1fr}.comparison-table{font-size:10px}.comparison-table th,.comparison-table td{padding:4px}.meal-prep-grid,.supplement-grid,.wearable-cards,.proportion-chart,.analytics-cards{grid-template-columns:1fr}.volume-grid{grid-template-columns:1fr 1fr}.tdee-result,.photo-compare{flex-direction:column}.correlation-matrix{font-size:10px;overflow-x:auto}.split-preview,.cycle-comparison-grid,.export-options{grid-template-columns:1fr}}[data-theme=amoled]{--bg-primary: #000000;--bg-surface: #0a0a0a;--bg-elevated: #111111;--bg-input: #000000;--border: #1a1a1a;--border-light: #111111;--border-input: #4a4a4a;--border-control: #5a5a5a;--text-primary: #eceff4;--text-secondary: #8c939c;--text-muted: #6b727b;--accent: #2dd4a8;--accent-hover: #5eead4;--accent-dim: rgba(45, 212, 168, .12);--success: #34d399;--warning: #f59e0b;--danger: #f43f5e;--info: #38bdf8;--shadow: none;--shadow-elevated: none;--shadow-float: 0 0 0 1px rgba(255,255,255,.06);--bg-card: #0a0a0a;--badge-bg: #1a1a1a;--badge-color: #8c939c;--bm-skin: #2a2520;--bm-muscle: #2dd4a822;--bm-muscle-hover: #2dd4a844;--bm-gap: #000000;--bm-head: #3a3530;--bm-hair: #1a1510}[data-theme=amoled] .card{border-color:#1a1a1a}[data-theme=amoled] .card:hover{box-shadow:none;transform:none}[data-theme=amoled] .header,[data-theme=amoled] .tab-bar{border-bottom-color:#1a1a1a}[data-theme=amoled] .bottom-nav{border-top-color:#1a1a1a}.a11y-large-text{font-size:16px}.a11y-large-text .form-input,.a11y-large-text .form-select{font-size:16px;min-height:48px}.a11y-large-text .btn{font-size:15px;min-height:48px}.a11y-large-text .card-title{font-size:15px}.a11y-large-text .stat-value{font-size:28px}.a11y-high-contrast{--border: var(--text-secondary)}.a11y-high-contrast .card,.a11y-high-contrast .btn,.a11y-high-contrast .form-input,.a11y-high-contrast .form-select{border-width:2px}.a11y-no-animations,.a11y-no-animations *{animation-duration:0s!important;transition-duration:0s!important}.sub-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:16px}.sub-tabs.sub-tabs-groups{border-bottom:1px solid var(--border);margin-bottom:0}.sub-tabs.sub-tabs-groups .sub-tab{font-weight:600;font-size:13px}.sub-tabs.sub-tabs-leaves{border-bottom:none;margin-bottom:14px;padding-bottom:4px}.sub-tabs.sub-tabs-leaves .sub-tab{padding:6px 12px;font-size:12px;color:var(--text-muted)}.sub-tabs.sub-tabs-leaves .sub-tab.active{color:var(--accent)}.sub-tab{padding:10px 16px;border-radius:0;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.sub-tab:hover{background:none;color:var(--text-primary)}.sub-tab.active{background:none;color:var(--accent);border-bottom-color:var(--accent)}.today-view-switcher{display:flex;gap:4px;margin-bottom:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:3px}.view-switch-btn{flex:1;padding:8px 16px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.view-switch-btn:hover{color:var(--text-primary)}.view-switch-btn.active{background:var(--accent);color:#fff}.onboarding-wizard{padding:16px 0;max-width:520px;margin:0 auto}.onboarding-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:24px}.onboarding-step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--bg-card);border:2px solid var(--border);color:var(--text-muted);transition:all .2s}.onboarding-step-dot.active{border-color:var(--accent);color:var(--accent);background:#34d3991a}.onboarding-step-dot.complete{background:var(--accent);color:#fff;border-color:var(--accent)}.onboarding-step-line{flex:1;max-width:40px;height:2px;background:var(--border);transition:background .2s}.onboarding-step-line.active{background:var(--accent)}.onboarding-content{padding:28px 24px;text-align:center}.onboarding-title{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.onboarding-desc{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.onboarding-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;text-align:left}.onboarding-feat{padding:14px;border-radius:10px;background:var(--bg-secondary, rgba(128,128,128,.06));font-size:13px;line-height:1.4}.onboarding-feat strong{color:var(--accent)}.onboarding-goals{display:flex;flex-direction:column;gap:8px;text-align:left;margin-bottom:20px}.onboarding-goal-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--bg-secondary, rgba(128,128,128,.06));cursor:pointer;font-size:14px;transition:background .15s}.onboarding-goal-option:hover{background:#34d39914}.onboarding-goal-option input[type=radio]{accent-color:var(--accent)}.onboarding-form{display:flex;flex-direction:column;gap:14px;text-align:left;margin-bottom:20px}.onboarding-form label{font-size:13px;font-weight:600;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.onboarding-widgets{display:flex;flex-direction:column;gap:8px;text-align:left;margin-bottom:20px}.onboarding-widget-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--bg-secondary, rgba(128,128,128,.06));cursor:pointer;font-size:13px}.onboarding-widget-option input[type=checkbox]{accent-color:var(--accent)}.onboarding-nav{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.onboarding-next-steps{display:flex;flex-direction:column;gap:8px;text-align:left;margin-bottom:20px}.onboarding-next-step{padding:12px 14px;border-radius:10px;background:var(--bg-secondary, rgba(128,128,128,.06));font-size:13px;cursor:pointer;transition:background .15s}.onboarding-next-step:hover{background:#34d3991a}.btn-lg{padding:12px 32px;font-size:15px}.onboarding-skip{margin-top:12px;font-size:12px}@media(max-width:480px){.onboarding-features-grid{grid-template-columns:1fr}.onboarding-content{padding:20px 16px}}.ob-goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ob-goal-card{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg-surface);cursor:pointer;transition:all .15s}.ob-goal-card:hover{border-color:var(--text-muted);background:var(--bg-elevated)}.ob-goal-card.selected{border-color:var(--accent);background:var(--accent-dim)}.ob-consent-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-light);cursor:pointer}.ob-consent-item:last-child{border-bottom:none}.ob-consent-item input[type=checkbox]{margin-top:3px;accent-color:var(--accent);flex-shrink:0}@media(max-width:480px){.ob-goal-grid{grid-template-columns:1fr}}.today-greeting{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:4px 0}.greeting-text{flex:1;min-width:0}.greeting-hello{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.today-date-line{font-size:13px;color:var(--text-secondary);margin-top:2px}.greeting-right{flex-shrink:0;margin-left:12px}.streak-card{display:flex;justify-content:center;gap:20px;padding:14px 12px;margin-bottom:14px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:12px}.streak-item{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:52px}.streak-circle{width:44px;height:44px;border-radius:50%;border:2.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--text-primary);background:var(--bg-elevated);transition:border-color .2s,color .2s}.streak-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;line-height:1}@media(max-width:480px){.streak-card{gap:14px;padding:12px 8px}.streak-circle{width:38px;height:38px;font-size:16px}}.daily-progress-row{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);padding:4px 0}.daily-progress-row::-webkit-scrollbar{display:none}.progress-ring-item{display:flex;flex-direction:column;align-items:center;min-width:56px;flex:1;gap:3px;cursor:pointer;padding:6px 2px;border-radius:var(--radius);transition:background .15s}.progress-ring-item:hover{background:var(--bg-surface)}.progress-ring{width:40px;height:40px;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--border-light);stroke-width:3}.ring-fill{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .3s ease;animation:ringFillIn .8s ease-out forwards}@keyframes ringFillIn{0%{stroke-dashoffset:106.8}}.progress-ring-item.completed .ring-fill{stroke:var(--success)}.progress-ring-item.empty .ring-fill{stroke:var(--text-muted);opacity:.3}.progress-ring text{transform:rotate(90deg);transform-origin:center}.ring-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;line-height:1}.ring-value{font-size:11px;font-weight:600;color:var(--text-secondary);line-height:1}.progress-ring-item.completed .ring-value{color:var(--success)}.ring-trend{font-size:10px;font-weight:600;color:var(--text-muted);line-height:1;margin-top:2px;white-space:nowrap;max-width:64px;overflow:hidden;text-overflow:ellipsis}.ring-trend-up{color:var(--success)}.ring-trend-down{color:var(--danger)}.bw-trend-arrow{font-size:11px;margin-left:3px;flex-shrink:0}.quick-actions{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%)}.quick-action-btn,.daily-progress-ring-card{scroll-snap-align:start}.quick-actions::-webkit-scrollbar{display:none}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:56px;padding:10px 4px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;font-family:inherit}.quick-action-btn:hover,.quick-action-btn:active{background:var(--bg-elevated);border-color:var(--accent);color:var(--accent)}.quick-action-btn:active{transform:scale(.97);box-shadow:0 0 0 2px var(--accent, #4f8cff) 33 inset;transition:transform .4s ease,box-shadow .4s ease,background .15s,border-color .15s,color .15s}.qa-icon{line-height:1}.qa-icon svg{width:18px;height:18px}.qa-label{font-size:10px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.qa-expand-form{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;animation:fadeSlideIn .15s ease}.qa-expand-label{font-size:12px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.qa-mood-btn{min-width:36px;text-align:center}.qa-mood-btn.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.qa-meal-picker{flex-wrap:wrap}.qa-meal-type-btn{flex:1;min-width:70px;text-align:center}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.today-empty-card{padding:16px;margin-bottom:4px}.today-empty-header{display:flex;align-items:flex-start;gap:12px}.today-empty-icon{flex-shrink:0;color:var(--text-muted)}.today-empty-icon svg{width:24px;height:24px}.today-snap-card{cursor:pointer;padding:14px 16px;margin-top:10px;transition:border-color .15s}.today-snap-card:hover{border-color:var(--accent)}.snap-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.snap-icon{flex-shrink:0;color:var(--text-muted);line-height:1}.snap-icon svg{width:16px;height:16px}.snap-icon.completed{color:var(--success)}.snap-badge{margin-left:auto;font-size:11px;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}.snap-badge.success{background:#34d3991f;color:var(--success)}.snap-macros{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.snap-empty{font-size:13px;color:var(--text-muted);font-style:italic}.achievement-banner{padding:8px 12px;margin-top:10px;background:#34d3991a;border:1px solid rgba(52,211,153,.25);border-radius:var(--radius-sm);color:var(--success);font-size:13px;font-weight:600;text-align:center}.vitascore-card{padding:16px;margin-bottom:12px}.vitascore-top{display:flex;align-items:center;gap:16px}.vitascore-ring-wrap{flex-shrink:0;width:90px;height:90px}.vitascore-ring{width:100%;height:100%}.vitascore-info{flex:1}.vitascore-streak{flex-shrink:0;text-align:center;padding-left:20px;margin-left:auto;min-width:80px;position:relative}.vitascore-streak:before{content:"";position:absolute;left:0;top:10%;height:80%;width:1px;background:linear-gradient(to bottom,transparent,var(--border),transparent)}.vitascore-streak-number{font-size:34px;font-weight:800;color:var(--accent);line-height:1;letter-spacing:-.5px}.vitascore-streak-label{font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap;margin-top:2px}.vitascore-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:2px}.vitascore-rank{font-size:13px;font-weight:700;margin-bottom:2px}.vitascore-averages{display:flex;align-items:center;gap:6px;margin-top:4px}.vitascore-avg{font-size:10px;color:var(--text-muted);font-weight:500}.vitascore-avg-sep{font-size:10px;color:var(--border)}.vitascore-trend{font-size:12px;font-weight:600;margin-bottom:2px}.insight-cards{margin-bottom:12px}.insight-card{padding:12px 14px;margin-bottom:8px}.insight-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.insight-icon{font-size:16px;line-height:1}.insight-title{font-size:13px;font-weight:700;color:var(--text-primary);flex:1}.insight-dismiss{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:2px 6px;line-height:1;font-family:inherit;opacity:.6}.insight-dismiss:hover{opacity:1}.insight-body{font-size:12px;color:var(--text-secondary);line-height:1.4;padding-left:24px}.partner-widget{padding:14px;margin-bottom:12px}.partner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.partner-title{font-size:13px;font-weight:700;color:var(--text-primary)}.partner-stats{display:flex;flex-direction:column;gap:8px}.partner-stat{display:flex;align-items:center;gap:10px}.partner-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.partner-stat-info{flex:1}.partner-name{font-size:13px;font-weight:600;color:var(--text-primary)}.partner-status{font-size:11px;margin-top:1px}.partner-status.logged{color:var(--success)}.partner-status.not-logged{color:var(--text-muted)}.partner-streak-num{font-size:22px;font-weight:800;color:var(--text-primary);text-align:center;line-height:1}.partner-streak-label{display:block;font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase}.partner-shared{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.partner-shared-streak{font-size:12px;color:var(--text-secondary);text-align:center}.seasonal-card{padding:16px;margin-bottom:12px;border:1px solid rgba(255,215,0,.2);background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,215,0,.03) 100%)}.seasonal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.seasonal-title-row{display:flex;align-items:center;gap:8px}.seasonal-season-badge{font-size:18px}.seasonal-title{font-size:14px;font-weight:700;color:var(--text-primary)}.seasonal-complete-badge{font-size:11px;font-weight:600;color:var(--success);padding:2px 8px;background:#34d3991f;border-radius:10px}.seasonal-dismiss{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1;font-family:inherit}.seasonal-desc{font-size:12px;color:var(--text-secondary);margin:0 0 10px}.seasonal-progress{margin-bottom:8px}.seasonal-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:4px}.seasonal-progress-fill{height:100%;background:var(--warning, #f0a800);border-radius:4px;transition:width .5s ease}.seasonal-progress-fill.complete{background:var(--success)}.seasonal-progress-text{font-size:11px;color:var(--text-muted);text-align:right}.seasonal-participants{font-size:11px;color:var(--text-muted)}.seasonal-badge-preview{margin-top:6px;font-size:12px;color:var(--text-secondary);font-weight:600;text-align:center;padding:6px;background:var(--bg-elevated, var(--bg-surface));border-radius:var(--radius-sm)}.seasonal-join-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.comeback-banner{padding:16px;margin-bottom:12px;border:1px solid var(--accent);background:linear-gradient(135deg,var(--bg-surface) 0%,color-mix(in srgb,var(--accent) 6%,transparent) 100%)}.comeback-header{display:flex;align-items:flex-start;gap:12px}.comeback-text{flex:1}.comeback-title{font-size:15px;font-weight:700;color:var(--text-primary)}.comeback-desc{font-size:12px;color:var(--text-secondary);margin-top:2px}.comeback-close{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1;font-family:inherit}.comeback-reward{margin-top:10px;padding:10px;background:#a855f71a;border:1px solid rgba(168,85,247,.25);border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:#a855f7;text-align:center}.comeback-actions{display:flex;gap:8px;margin-top:10px}.comeback-actions .btn{flex:1}.quest-card{padding:16px;margin-bottom:12px;border:1px solid var(--accent);background:linear-gradient(135deg,var(--bg-surface) 0%,color-mix(in srgb,var(--accent) 4%,transparent) 100%)}.quest-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.quest-title-row{display:flex;align-items:center;gap:8px}.quest-title{font-size:14px;font-weight:700;color:var(--text-primary)}.quest-progress-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.quest-dismiss{background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1;font-family:inherit}.quest-progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:12px}.quest-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s ease}.quest-steps{display:flex;flex-direction:column;gap:4px}.quest-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);transition:background .15s}.quest-step:not(.done):hover{background:var(--bg-elevated, var(--bg-surface))}.quest-step.done{color:var(--text-muted);text-decoration:line-through;opacity:.7}.quest-check{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0;border:2px solid var(--border);color:var(--text-muted)}.quest-step.done .quest-check{background:var(--success);border-color:var(--success);color:#fff}.quest-step-label{flex:1}.quest-reward{margin-top:12px;padding:10px;background:#34d3991a;border:1px solid rgba(52,211,153,.25);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--success);text-align:center}.quest-reward-preview{margin-top:10px;font-size:11px;color:var(--text-muted);text-align:center}.streak-hero-card{padding:16px;margin-bottom:12px;background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(255,215,0,.04) 100%);border:1px solid var(--border);position:relative;overflow:hidden}.streak-hero-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.streak-tier-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;border:1px solid;font-size:12px;font-weight:700}.streak-tier-icon{font-size:16px}.streak-tier-name{text-transform:uppercase;letter-spacing:.5px;font-size:10px}.streak-hero-number{display:flex;align-items:baseline;gap:6px;margin-left:auto}.streak-big-num{font-size:32px;font-weight:800;color:var(--text-primary);line-height:1}.streak-big-label{font-size:13px;color:var(--text-muted);font-weight:500}.streak-next-tier{display:flex;align-items:center;gap:10px;margin-bottom:10px}.streak-progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.streak-progress-fill{height:100%;border-radius:3px;transition:width .5s ease}.streak-next-label{font-size:11px;color:var(--text-muted);white-space:nowrap}.streak-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.streak-shield-count{font-size:12px;color:var(--text-secondary);font-weight:600}.streak-freeze-btn{font-size:11px}.streak-frozen-badge{font-size:11px;color:var(--info, #2dd4a8);font-weight:600;padding:3px 10px;background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:10px}.quick-checkin-overlay{position:fixed;inset:0;background:#00000080;z-index:1100;display:flex;align-items:flex-end;justify-content:center;animation:qciFadeIn .25s ease;backdrop-filter:blur(4px)}.quick-checkin-overlay.closing{animation:qciFadeOut .25s ease forwards}@keyframes qciFadeIn{0%{opacity:0}to{opacity:1}}@keyframes qciFadeOut{0%{opacity:1}to{opacity:0}}.quick-checkin-card{background:var(--bg-surface);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:20px 20px max(20px,env(safe-area-inset-bottom,20px));box-shadow:0 -4px 30px #0000004d;animation:qciSlideUp .32s cubic-bezier(.32,.72,0,1) both}.quick-checkin-overlay.closing .quick-checkin-card{animation:qciSlideDown .25s ease forwards}@keyframes qciSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes qciSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.qci-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.qci-title{font-size:16px;font-weight:700;color:var(--text-primary)}.qci-dismiss{background:none;border:none;font-size:22px;color:var(--text-muted);cursor:pointer;padding:4px 8px;line-height:1;font-family:inherit}.qci-section{margin-bottom:14px}.qci-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.qci-emoji-row{display:flex;gap:6px}.qci-emoji-btn{flex:1;padding:10px 4px;font-size:22px;background:var(--bg-elevated, var(--bg-surface));border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s;font-family:inherit;text-align:center;line-height:1}.qci-emoji-btn:hover{border-color:var(--accent)}.qci-emoji-btn.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);transform:scale(1.08);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 20%,transparent)}.qci-toggle-row{display:flex;gap:8px}.qci-toggle-btn{flex:1;padding:10px;font-size:13px;font-weight:600;background:var(--bg-elevated, var(--bg-surface));border:2px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:inherit}.qci-toggle-btn:hover{border-color:var(--accent)}.qci-toggle-btn.active{border-color:var(--success);background:#34d3991a;color:var(--success)}.qci-save-btn{width:100%;margin-top:6px;padding:14px;font-size:15px;font-weight:700}.qci-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.qci-expand-link{font-size:12px;color:var(--accent);cursor:pointer;font-weight:500}.qci-expand-link:hover{text-decoration:underline}.qci-disable-label{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px;cursor:pointer}.qci-disable-label input{margin:0}@media(min-width:641px){.quick-checkin-overlay{align-items:center}.quick-checkin-card{border-radius:var(--radius);max-width:420px}}.onboarding-checklist{display:flex;flex-direction:column;gap:6px}.ob-item{font-size:13px;color:var(--text-muted);padding:4px 0;transition:color .2s}.ob-item.done{color:var(--success)}.feature-discovery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fd-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.fd-item:hover{border-color:var(--accent)}.fd-icon{line-height:1}.fd-icon svg{width:20px;height:20px}.fd-text{font-size:11px;color:var(--text-secondary);text-align:center;white-space:nowrap}.tutorial-overlay{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fadeIn .3s ease}.tutorial-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:20px;max-width:400px;width:100%;margin-bottom:env(safe-area-inset-bottom,0);animation:fadeSlideIn .3s ease;box-shadow:0 8px 32px #0006}.tutorial-progress{display:flex;gap:4px;margin-bottom:12px}.tutorial-dot{flex:1;height:3px;border-radius:2px;background:var(--border-light);transition:background .2s}.tutorial-dot.active{background:var(--accent)}.tutorial-dot.done{background:var(--success)}.tutorial-step-num{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.tutorial-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.tutorial-body{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.tutorial-actions{display:flex;gap:8px;align-items:center}.tutorial-highlight{position:relative;z-index:var(--z-modal);box-shadow:0 0 0 4px var(--accent),0 0 0 6px color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius)}.tutorial-tab-highlight{background:var(--accent)!important;color:#fff!important;border-radius:6px;animation:tutTabPulse 1.2s ease-in-out infinite}@keyframes tutTabPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}.subtab-group-divider{display:inline-block;width:1px;height:20px;background:var(--border);margin:0 4px;vertical-align:middle;flex-shrink:0}.side-effect-section{margin-bottom:16px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:16px}.widget-edit-active .today-widget-wrap{border:2px dashed var(--border);border-radius:var(--radius);margin-bottom:10px;transition:border-color .15s,opacity .15s,box-shadow .15s;background:var(--bg-surface)}.today-widget-wrap.widget-hidden{opacity:.45;border-style:dotted}.today-widget-wrap.dragging{opacity:.3;box-shadow:0 0 0 2px var(--accent)}.today-widget-wrap.drag-over-top{border-top:3px solid var(--accent)}.today-widget-wrap.drag-over-bottom{border-bottom:3px solid var(--accent)}.widget-edit-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light);user-select:none}.widget-drag-grip{font-size:16px;color:var(--text-muted);cursor:grab;touch-action:none}.widget-drag-grip:active{cursor:grabbing}.widget-edit-label{flex:1;font-size:12px;font-weight:600;color:var(--text-secondary)}.widget-eye-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s}.widget-eye-btn:hover{background:var(--bg-elevated)}.widget-edit-content{padding:4px 0}.widget-edit-placeholder{padding:16px;text-align:center;font-size:12px;color:var(--text-muted);font-style:italic}.dashboard-widget{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:all .15s}.dashboard-widget:hover{border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 10%,transparent)}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.widget-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.widget-value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.2}.widget-subtitle{font-size:12px;color:var(--text-muted);margin-top:4px}.widget-icon{font-size:20px;opacity:.7}.conflict-matrix{width:100%;border-collapse:collapse;font-size:11px}.conflict-matrix th,.conflict-matrix td{padding:6px;text-align:center;border:1px solid var(--border-light);min-width:40px}.conflict-matrix th{background:var(--bg-elevated);font-weight:600;font-size:10px;writing-mode:vertical-rl;text-orientation:mixed;max-width:40px;padding:8px 4px}.conflict-matrix th.row-header{writing-mode:horizontal-tb;text-align:right;max-width:none;padding:6px 8px}.matrix-cell{width:30px;height:30px;border-radius:4px;cursor:pointer;transition:transform .1s}.matrix-cell:hover{transform:scale(1.2)}.matrix-cell.synergy{background:var(--success);opacity:.7}.matrix-cell.caution{background:var(--warning);opacity:.7}.matrix-cell.conflict{background:var(--danger);opacity:.7}.matrix-cell.neutral{background:var(--bg-elevated)}.matrix-cell.self{background:var(--border-light)}.risk-gauges{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.risk-gauge{text-align:center;padding:16px;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border-light)}.gauge-ring{width:80px;height:80px;border-radius:50%;margin:0 auto 8px;position:relative;display:flex;align-items:center;justify-content:center}.gauge-ring svg{position:absolute;top:0;left:0}.gauge-score{font-size:22px;font-weight:700;z-index:1}.gauge-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.gauge-status{font-size:11px;margin-top:4px;font-weight:600}.gauge-good{color:var(--success)}.gauge-moderate{color:var(--warning)}.gauge-poor{color:var(--danger)}.serum-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.serum-controls .form-group{margin-bottom:0;flex:1;min-width:120px}.serum-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.serum-stat{text-align:center;padding:8px 16px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.serum-stat-value{font-size:18px;font-weight:700;color:var(--accent)}.serum-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.ester-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin-bottom:12px}.ester-check{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-light);font-size:12px;cursor:pointer;transition:border-color .15s}.ester-check:hover{border-color:var(--accent)}.ester-check.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.ester-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.phase-timeline{position:relative;padding:16px 0}.phase-bar{height:28px;border-radius:4px;position:relative;margin-bottom:6px;display:flex;align-items:center;padding:0 8px;font-size:11px;font-weight:600;color:#fff;overflow:hidden;transition:opacity .15s}.phase-bar.blast{background:linear-gradient(135deg,var(--color-blast),#c02020);color:#fff}.phase-bar.cruise{background:linear-gradient(135deg,var(--color-cruise),#0284c7);color:#fff}.phase-bar.pct{background:linear-gradient(135deg,var(--color-pct),#16a34a);color:#fff}.phase-bar.off{background:var(--bg-elevated);color:var(--text-secondary)}.phase-label{position:absolute;left:8px;font-size:10px;white-space:nowrap}.washout-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light)}.washout-bar-bg{flex:1;height:20px;background:var(--bg-elevated);border-radius:4px;overflow:hidden;position:relative}.washout-bar-fill{height:100%;border-radius:4px;transition:width .3s}.washout-bar-fill.active{background:var(--danger)}.washout-bar-fill.declining{background:var(--warning)}.washout-bar-fill.cleared{background:var(--success)}.comparison-table{width:100%;border-collapse:collapse;font-size:12px}.comparison-table th,.comparison-table td{padding:6px 10px;border:1px solid var(--border-light);text-align:center}.comparison-table th{background:var(--bg-elevated);font-weight:600}.comparison-table .delta-good{color:var(--success);font-weight:600}.comparison-table .delta-bad{color:var(--danger);font-weight:600}.comparison-table .delta-neutral{color:var(--warning)}.photo-compare{display:flex;gap:16px;align-items:flex-start}.photo-frame{flex:1;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;min-height:200px}.photo-frame img{width:100%;height:auto;display:block}.photo-date-badge{position:absolute;bottom:8px;left:8px;background:#000000b3;color:#fff;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600}.photo-upload-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:30px;text-align:center;color:var(--text-muted);cursor:pointer;transition:border-color .15s}.photo-upload-zone:hover{border-color:var(--accent);color:var(--accent)}.supplement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.supplement-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-light);transition:border-color .15s}.supplement-item.taken{border-color:var(--success)}.supplement-item.taken:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;width:14px;height:14px;display:inline-block;margin-left:auto}.supplement-name{font-size:13px;font-weight:600}.supplement-dose{font-size:11px;color:var(--text-muted)}.supplement-timing{font-size:10px;padding:2px 6px;border-radius:10px;background:var(--bg-primary);color:var(--text-secondary)}.tdee-result{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.tdee-box{flex:1;min-width:120px;text-align:center;padding:16px;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border-light)}.tdee-box.primary{border-color:var(--accent)}.tdee-value{font-size:28px;font-weight:700;color:var(--accent)}.tdee-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}.fasting-ring{width:180px;height:180px;border-radius:50%;margin:20px auto;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.fasting-ring svg{position:absolute;top:0;left:0;transform:rotate(-90deg)}.fasting-time{font-size:32px;font-weight:700;z-index:1}.fasting-status{font-size:12px;color:var(--text-secondary);z-index:1}.fasting-controls{display:flex;gap:8px;justify-content:center;margin-top:16px}.meal-prep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.meal-prep-day{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);padding:10px}.meal-prep-day-header{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:8px;text-transform:uppercase}.meal-slot{padding:6px;border-bottom:1px solid var(--border-light);font-size:11px}.meal-slot:last-child{border-bottom:none}.meal-slot-label{font-weight:600;color:var(--text-secondary);font-size:10px;text-transform:uppercase}.biometric-metric-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:10px;text-align:center}.biometric-metric-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.biometric-metric-value{font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1}.biometric-metric-unit{font-size:11px;font-weight:400;color:var(--text-muted)}.biometric-metric-sub{font-size:10px;color:var(--text-muted);margin-top:2px}.wearable-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.wearable-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:all .15s}.wearable-card:hover{border-color:var(--accent)}.wearable-logo{font-size:28px;margin-bottom:8px}.wearable-name{font-size:14px;font-weight:600}.wearable-status{font-size:11px;color:var(--text-muted);margin-top:2px}.wearable-status.connected{color:var(--success)}.cgm-time-in-range{display:flex;height:24px;border-radius:12px;overflow:hidden;margin:12px 0}.cgm-range-segment{transition:width .3s}.cgm-range-low{background:var(--danger)}.cgm-range-normal{background:var(--success)}.emergency-card{background:#fff;color:#000;border:3px solid #dc2626;border-radius:12px;padding:24px;max-width:400px;margin:0 auto}.emergency-card-header{text-align:center;border-bottom:2px solid #dc2626;padding-bottom:12px;margin-bottom:16px}.emergency-card-title{font-size:18px;font-weight:800;color:#dc2626;text-transform:uppercase}.emergency-compound-list{list-style:none;padding:0}.emergency-compound-list li{padding:6px 0;border-bottom:1px solid #fca5a5;font-size:13px;display:flex;justify-content:space-between}.correlation-matrix{border-collapse:collapse;font-size:10px}.correlation-matrix th,.correlation-matrix td{padding:4px;border:1px solid var(--border-light);text-align:center;min-width:36px}.correlation-cell{width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.split-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.split-day-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);padding:12px}.split-day-name{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:6px}.split-exercise{font-size:11px;padding:3px 0;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between}.split-exercise:last-child{border-bottom:none}.volume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.volume-item{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:10px;text-align:center}.volume-muscle{font-size:12px;font-weight:600;margin-bottom:4px}.volume-sets{font-size:20px;font-weight:700;color:var(--accent)}.volume-range{font-size:10px;color:var(--text-muted)}.volume-bar{height:4px;background:var(--bg-primary);border-radius:2px;margin-top:6px;overflow:hidden}.volume-bar-fill{height:100%;border-radius:2px;transition:width .3s}.volume-bar-fill.under{background:var(--warning)}.volume-bar-fill.optimal{background:var(--success)}.volume-bar-fill.over{background:var(--danger)}.rest-timer{text-align:center;padding:20px;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border)}.rest-timer-display{font-size:48px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1;margin:12px 0}.rest-timer-display.warning{color:var(--warning)}.rest-timer-display.done{color:var(--success);animation:pulse-opacity .5s ease infinite}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.5}}.rest-presets{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.rest-preset{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.rest-preset:hover{border-color:var(--accent);color:var(--accent)}.rest-preset.active{background:var(--accent);color:#fff;border-color:var(--accent)}.progress-ring-circle{transition:stroke-dashoffset .35s;transform-origin:center}.period-phase{padding:12px 16px;background:var(--bg-elevated);border-left:4px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:8px}.period-phase.strength{border-left-color:var(--danger)}.period-phase.hypertrophy{border-left-color:var(--success)}.period-phase.peak{border-left-color:#a855f7}.period-phase.deload{border-left-color:var(--text-muted)}.period-phase-name{font-size:13px;font-weight:700;margin-bottom:4px}.period-phase-detail{font-size:11px;color:var(--text-secondary)}.blend-vial{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);padding:14px;margin-bottom:10px}.blend-compounds{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pct-timeline{position:relative;padding-left:20px;margin:16px 0}.pct-timeline:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--border)}.pct-step{position:relative;padding:8px 0 16px 16px}.pct-step:before{content:"";position:absolute;left:-17px;top:12px;width:10px;height:10px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-surface)}.pct-step.wait:before{background:var(--warning)}.pct-step.active:before{background:var(--success)}.pct-step.complete:before{background:var(--text-muted)}.pct-step-title{font-size:13px;font-weight:600}.pct-step-detail{font-size:11px;color:var(--text-secondary);margin-top:2px}.export-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.export-option{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);padding:16px;text-align:center;cursor:pointer;transition:all .15s}.export-option:hover{border-color:var(--accent)}.export-icon{font-size:28px;margin-bottom:8px}.export-format{font-size:13px;font-weight:600}.export-desc{font-size:11px;color:var(--text-muted);margin-top:2px}.gut-rating{display:flex;gap:4px;align-items:center}.gut-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.gut-dot:hover{border-color:var(--accent)}.gut-dot.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.trend-alert{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:var(--bg-elevated);border-radius:var(--radius);border-left:3px solid var(--warning);margin-bottom:8px}.trend-alert.critical{border-left-color:var(--danger)}.trend-alert.improving{border-left-color:var(--success)}.trend-arrow{font-size:18px;font-weight:700;line-height:1}.trend-arrow.up{color:var(--danger)}.trend-arrow.down{color:var(--success)}.lock-screen{position:fixed;inset:0;background:var(--bg-primary);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.lock-icon{font-size:48px;color:var(--accent)}.pin-input{display:flex;gap:8px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);transition:all .2s}.pin-dot.filled{background:var(--accent);border-color:var(--accent)}.year-heatmap{display:grid;grid-template-columns:repeat(53,1fr);gap:2px}.heatmap-cell{aspect-ratio:1;border-radius:2px;background:var(--bg-elevated);min-width:8px}.heatmap-cell.level-1{background:#34d39933}.heatmap-cell.level-2{background:#34d39966}.heatmap-cell.level-3{background:#34d39999}.heatmap-cell.level-4{background:#34d399e6}.qr-container{background:#fff;padding:16px;border-radius:var(--radius);display:inline-block;margin:12px 0}.qr-container canvas{display:block}.cycle-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.cycle-phase-card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius);padding:14px}.cycle-phase-label{font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--accent)}.cycle-phase-label.baseline{border-bottom-color:var(--text-muted)}.cycle-phase-label.mid{border-bottom-color:var(--warning)}.cycle-phase-label.end{border-bottom-color:var(--danger)}.cycle-phase-label.pct{border-bottom-color:var(--success)}.proportion-chart{display:grid;grid-template-columns:1fr 1fr;gap:8px}.proportion-item{display:flex;flex-direction:column;padding:10px;background:var(--bg-elevated);border-radius:var(--radius-sm)}.proportion-label{font-size:11px;color:var(--text-secondary);font-weight:600}.proportion-values{display:flex;justify-content:space-between;margin-top:4px}.proportion-current{font-size:14px;font-weight:700}.proportion-ideal{font-size:12px;color:var(--text-muted)}.proportion-bar{height:4px;background:var(--bg-primary);border-radius:2px;margin-top:6px;overflow:hidden;position:relative}.proportion-bar-fill{height:100%;border-radius:2px}.proportion-bar-target{position:absolute;top:-2px;width:2px;height:8px;background:var(--text-secondary)}.analytics-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.superset-group{border-left:3px solid var(--accent);padding-left:10px;margin-bottom:8px;background:color-mix(in srgb,var(--accent) 3%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.superset-label{font-size:10px;font-weight:600;color:var(--accent);text-transform:uppercase;padding:4px 0}.hr-zones{display:flex;gap:4px;margin:8px 0}.hr-zone{flex:1;text-align:center;padding:6px 4px;border-radius:var(--radius-sm);font-size:10px;font-weight:600}.hr-zone.z1{background:#3b82f633;color:#3b82f6}.hr-zone.z2{background:#34d39933;color:var(--success)}.hr-zone.z3{background:#eab30833;color:#eab308}.hr-zone.z4{background:#f9731633;color:#f97316}.hr-zone.z5{background:#ef444433;color:#ef4444}.hr-zone.active{font-weight:700;transform:scale(1.05)}.lab-import-area{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;color:var(--text-muted);cursor:pointer;transition:border-color .15s;margin-bottom:12px}.lab-import-area:hover{border-color:var(--accent)}.lab-import-area.dragover{border-color:var(--success);background:#34d3990d}.disclaimer-box{padding:8px 12px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:#f43f5e0d;font-size:11px;color:var(--danger);margin-bottom:12px}.disclaimer-box strong{font-weight:700}.sync-status{display:flex;align-items:center;gap:8px;font-size:12px}.sync-dot{width:8px;height:8px;border-radius:50%}.sync-dot.synced{background:var(--success)}.sync-dot.pending{background:var(--warning);animation:pulse 1s infinite}.sync-dot.error{background:var(--danger)}.grocery-list{columns:2;column-gap:16px}.grocery-category{break-inside:avoid;margin-bottom:12px}.grocery-category-title{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:4px;text-transform:uppercase}.grocery-item{font-size:12px;padding:3px 0;display:flex;align-items:center;gap:6px}.grocery-check{width:14px;height:14px;border:1px solid var(--border);border-radius:3px;flex-shrink:0}.auth-modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.auth-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:32px 28px 24px;max-width:380px;width:100%;position:relative;box-shadow:0 20px 60px #0006}.auth-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;line-height:1;padding:4px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.auth-modal-close:hover{color:var(--text-primary)}.auth-modal-logo{text-align:center;font-size:36px;margin-bottom:8px}.auth-modal-title{text-align:center;font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.auth-modal-subtitle{text-align:center;font-size:13px;color:var(--text-secondary);margin:0 0 20px}.auth-modal-error{background:#f851491f;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:8px 12px;font-size:13px;margin-bottom:12px}.auth-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.auth-input{width:100%;margin-bottom:14px;padding:10px 12px;font-size:14px;box-sizing:border-box}.auth-password-wrap{position:relative;margin-bottom:14px}.auth-password-wrap .auth-input{margin-bottom:0;padding-right:44px}.auth-password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:6px;color:var(--text-muted);cursor:pointer;padding:0;transition:color .15s,background .15s}.auth-password-toggle:hover,.auth-password-toggle:focus-visible{color:var(--text-primary);background:var(--bg-hover);outline:none}.auth-password-toggle:focus-visible{box-shadow:0 0 0 2px var(--accent)}@media(pointer:coarse){.auth-password-toggle{width:44px;height:44px;right:4px}.auth-password-wrap .auth-input{padding-right:50px}}.auth-pwd-strength{margin-top:-6px;margin-bottom:14px}.auth-pwd-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:6px}.auth-pwd-seg{height:4px;border-radius:2px;background:var(--border);transition:background .18s ease}.auth-pwd-strength[data-score="1"] .auth-pwd-seg:nth-child(-n+1){background:var(--danger)}.auth-pwd-strength[data-score="2"] .auth-pwd-seg:nth-child(-n+2){background:#f5a524}.auth-pwd-strength[data-score="3"] .auth-pwd-seg:nth-child(-n+3){background:#f5c518}.auth-pwd-strength[data-score="4"] .auth-pwd-seg{background:var(--accent)}.auth-pwd-hint{font-size:11px;color:var(--text-muted);line-height:1.4;min-height:14px}.auth-pwd-hint.ok{color:var(--accent)}.auth-pwd-hint.warn{color:#f5a524}.auth-oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;margin-bottom:10px;font-size:14px;font-weight:500;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}.auth-oauth-btn:hover{background:var(--bg-hover);border-color:var(--text-muted);text-decoration:none}.auth-oauth-btn--apple{color:var(--text-primary)}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0 16px;color:var(--text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-submit{width:100%;padding:11px;font-size:15px;font-weight:600;margin-top:4px}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;font-size:13px;color:var(--text-muted);margin:16px 0 0}.auth-switch a{color:var(--accent);text-decoration:none;font-weight:600}.auth-switch a:hover{text-decoration:underline}.auth-consent-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-muted);line-height:1.4;cursor:pointer;margin:4px 0 12px}.auth-consent-label input[type=checkbox]{margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.auth-consent-label a{color:var(--accent);text-decoration:none}.auth-consent-label a:hover{text-decoration:underline}.auth-forgot{text-align:right;font-size:12px;margin:-4px 0 12px}.auth-forgot a{color:var(--text-muted);text-decoration:none}.auth-forgot a:hover{color:var(--accent);text-decoration:underline}.landing-legal-links{text-align:center;font-size:12px;color:var(--text-muted);margin-top:12px}.landing-legal-links a{color:var(--text-muted);text-decoration:none;opacity:.8}.landing-legal-links a:hover{color:var(--accent);text-decoration:underline;opacity:1}.landing-seo-content{display:none;max-width:900px;margin:48px auto 32px;padding:32px 24px 16px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:15px;line-height:1.7}.landing-seo-inner h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:40px 0 14px;scroll-margin-top:24px}.landing-seo-inner h2:first-child{margin-top:0}.landing-seo-inner h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 6px}.landing-seo-inner p{margin:0 0 16px}.landing-seo-inner a{color:var(--accent);text-decoration:none}.landing-seo-inner a:hover{text-decoration:underline}.landing-seo-inner strong{color:var(--text-primary);font-weight:600}.landing-seo-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:16px 0 24px}.seo-feature{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:10px;padding:16px 18px}.seo-feature p{margin:0;font-size:13.5px;color:var(--text-secondary)}.landing-faq{margin:0 0 24px}.landing-faq dt{color:var(--text-primary);font-weight:600;font-size:15.5px;margin-top:18px;margin-bottom:6px}.landing-faq dd{margin:0 0 12px;padding-left:0;color:var(--text-secondary)}.landing-seo-cta{text-align:center;margin:24px 0 8px;font-size:15px}.legal-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:20px}.legal-modal{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;width:100%;max-width:640px;max-height:80vh;overflow-y:auto;padding:32px;position:relative;box-shadow:0 20px 60px #0006}.legal-modal h2{margin:0 0 16px;font-size:20px;color:var(--text-primary)}.legal-modal h3{margin:20px 0 8px;font-size:14px;color:var(--text-primary);font-weight:600}.legal-modal p{margin:0 0 12px;font-size:13px;color:var(--text-muted);line-height:1.6}.cloud-account-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}.cloud-account-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.cloud-account-name{font-weight:600;font-size:14px;color:var(--text-primary)}.cloud-account-email{font-size:12px;color:var(--text-secondary)}.user-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.user-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.4px;background:var(--badge-bg);color:var(--badge-color);border:1px solid var(--badge-color);opacity:.9}.user-badge svg{flex-shrink:0;vertical-align:middle}.sync-banner{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-elevated, #1a1d21);border-bottom:1px solid var(--border, #2a2f36);font-family:Plus Jakarta Sans,-apple-system,sans-serif;font-size:13px;color:var(--text-primary, #eceff4);box-shadow:0 2px 12px #00000059}.sync-banner-network{border-left:4px solid var(--warning, #f59e0b)}.sync-banner-auth{border-left:4px solid var(--accent, #2dd4a8)}.sync-banner-conflict{border-left:4px solid var(--warning, #f59e0b)}.sync-banner-rate{border-left:4px solid var(--text-muted, #737a84)}.sync-banner-server,.sync-banner-unknown{border-left:4px solid var(--danger, #f43f5e)}.sync-banner-icon{font-size:18px;flex-shrink:0}.sync-banner-text{flex:1;min-width:0}.sync-banner-title{font-weight:700;font-size:13px;line-height:1.2}.sync-banner-detail{font-size:12px;color:var(--text-secondary, #8c939c);margin-top:2px;line-height:1.35}.sync-banner-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.sync-banner-btn{appearance:none;border:1px solid var(--border, #2a2f36);background:var(--bg-input, #131518);color:var(--text-primary, #eceff4);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.sync-banner-btn:hover{border-color:var(--accent, #2dd4a8)}.sync-banner-btn.primary{background:var(--accent, #2dd4a8);border-color:var(--accent, #2dd4a8);color:#0b1012}.sync-banner-btn.primary:hover{filter:brightness(1.05)}.sync-banner-btn.ghost{font-size:18px;line-height:1;padding:4px 9px;background:transparent;border:none;color:var(--text-muted, #737a84)}.sync-banner-btn.ghost:hover{color:var(--text-primary, #eceff4)}@media(max-width:640px){.sync-banner{flex-wrap:wrap}.sync-banner-text{flex-basis:100%;order:2}.sync-banner-actions{order:1;margin-left:auto}}.sync-indicator{font-size:12px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;transition:opacity .3s}.sync-syncing{color:var(--accent);animation:sync-spin 1s linear infinite}.sync-synced{color:var(--success)}.sync-error{color:var(--danger);font-weight:700}.sync-conflict{color:var(--warning)}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-auth-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover, var(--accent)));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;padding:0;min-width:36px;box-shadow:0 2px 8px #0000002e;border:2px solid rgba(255,255,255,.15);transition:box-shadow .15s,transform .15s}.header-auth-avatar:hover{box-shadow:0 4px 12px #00000040;transform:scale(1.06)}.header-auth-initials{line-height:1;letter-spacing:.02em}.header-auth-wrap{display:flex;align-items:center;gap:10px}.header-level-badge{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:4px 10px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);border-radius:8px;line-height:1;min-width:56px}.header-level-num{font-size:12px;font-weight:800;color:var(--accent);white-space:nowrap;letter-spacing:.3px}.header-level-bar{display:block;width:100%;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.header-level-bar-fill{display:block;height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.header-level-xp{font-size:10px;font-weight:600;color:var(--text-muted);white-space:nowrap}@media(max-width:600px){.header-level-badge{display:none}}.header-signin-btn{display:flex;align-items:center;gap:6px;padding:0 14px;height:34px;font-size:13px;font-weight:600;border-radius:17px;white-space:nowrap}@media(max-width:768px){.sub-tabs{flex-wrap:wrap;overflow-x:visible;margin-left:0;margin-right:0;padding-left:0;padding-right:0;gap:4px;row-gap:6px}.sub-tab{flex-shrink:1;padding:8px 12px;font-size:12px;min-height:36px}.bottom-nav{height:auto;min-height:var(--bottom-nav-height);padding:4px 0;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.bottom-nav-btn{flex:0 0 auto;min-width:56px;padding:4px 6px}.bottom-nav-icon{font-size:20px}.bottom-nav-label{font-size:10px;white-space:nowrap}.cost-table,table.rm-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.cost-table thead,.cost-table tbody,table.rm-table thead,table.rm-table tbody{display:table;width:100%}.workout-plan-item{flex-wrap:wrap;padding:12px;gap:8px}.workout-plan-item .btn{min-height:36px}.header-logo{gap:6px}.header-logo .logo-icon{font-size:20px}.header-actions{display:flex;gap:2px;flex-wrap:nowrap}.card{border-radius:8px}.form-group{margin-bottom:10px}.form-label{font-size:12px;margin-bottom:4px}.stat-box{min-width:0;padding:8px 10px}.auth-modal{width:100vw;max-width:100vw;min-height:100vh;border-radius:0;padding:24px 20px}.food-search-item{padding:10px 8px;min-height:44px;display:flex;align-items:center;gap:8px}.quick-add-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px}.quick-add-btn{padding:8px 4px;font-size:11px;min-height:40px}#lock-keypad .lock-key{min-height:52px;font-size:20px;border-radius:8px}.year-heatmap{margin-left:-8px;margin-right:-8px;padding:0 8px}.today-view-switcher{justify-content:center}.view-switch-btn{padding:8px 16px;font-size:13px;min-height:36px}.workout-subtabs{flex-wrap:wrap;overflow-x:visible;margin-left:0;margin-right:0;padding-left:0;padding-right:0;gap:4px;row-gap:6px}.workout-subtab{flex-shrink:0;white-space:nowrap;padding:8px 12px;font-size:12px;min-height:36px}.settings-row .form-input,.settings-row .form-select,.form-input-sm{max-width:100%;width:100%}}@media(max-width:375px){.bottom-nav-btn{min-width:48px;padding:4px 3px}.bottom-nav-label{font-size:10px}.bottom-nav-icon{font-size:18px}.sub-tab,.workout-subtab{padding:6px 8px;font-size:11px}.card{padding:10px}.header-actions .btn-ghost{min-width:36px;min-height:36px;padding:6px}}.gdpr-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--bg-elevated);border-top:1px solid var(--border);box-shadow:0 -4px 20px #0000004d;padding:16px 20px;animation:gdprSlideUp .4s ease-out}@keyframes gdprSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.gdpr-banner-inner{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:16px}.gdpr-banner-text{flex:1}.gdpr-banner-text strong{font-size:13px;color:var(--text-primary);display:block;margin-bottom:4px}.gdpr-banner-text p{font-size:11px;color:var(--text-secondary);line-height:1.5;margin:0}.gdpr-banner-actions{display:flex;gap:8px;flex-shrink:0}@media(max-width:600px){.gdpr-banner-inner{flex-direction:column;align-items:stretch;gap:10px}.gdpr-banner-actions{justify-content:flex-end}.gdpr-banner{padding:12px 16px 20px}}.research-program-card{background:linear-gradient(135deg,#34d39914,#3b82f614);border:1px solid var(--accent);border-radius:var(--radius);padding:16px;margin-bottom:16px}.research-program-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.research-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,var(--accent),var(--success));color:#fff;white-space:nowrap}.research-perks-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.research-perk-item{display:flex;gap:8px;align-items:flex-start;padding:8px;background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border)}.research-perk-icon{font-size:18px;flex-shrink:0;line-height:1}.research-optin-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:10px 12px;background:#34d3991a;border:1px solid var(--success);border-radius:var(--radius);margin-top:12px}.research-status-card{padding:14px;border-radius:var(--radius)}.research-status-active{background:linear-gradient(135deg,#34d39914,#3b82f60f);border:1px solid var(--success)}.research-status-inactive{background:var(--bg-elevated);border:1px solid var(--border)}.research-perks-mini{display:flex;flex-wrap:wrap;gap:6px}.research-perk-mini{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;font-size:11px;color:var(--text-secondary)}@media(max-width:600px){.research-perks-grid{grid-template-columns:1fr}}.gps-map-container{background:var(--bg-elevated);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);min-height:80px}.gps-map-container.live{height:200px}.gps-btn-record{background:var(--success)!important;color:#fff!important}.gps-btn-record:hover{filter:brightness(1.1)}@keyframes gpsPulse{0%,to{box-shadow:0 0 #34d39966}50%{box-shadow:0 0 0 12px #34d39900}}.gps-recording .gps-btn-record{animation:gpsPulse 2s infinite}.gps-live-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gps-activity-card{transition:border-color .15s,background .15s}.gps-activity-card:hover{border-color:var(--accent);background:var(--bg-elevated)}.gps-type-btn{border-radius:20px;padding:6px 14px;font-size:12px;border:1px solid var(--border);transition:all .15s}.gps-type-btn:hover{border-color:var(--accent)}[data-theme=dark] .leaflet-control-zoom a{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] .leaflet-control-attribution{background:#0d1117b3;color:var(--text-muted)}[data-theme=dark] .leaflet-control-attribution a{color:var(--accent)}@media(max-width:768px){.gps-map-container{height:250px}.gps-map-container.live{height:200px}.gps-live-stats{grid-template-columns:1fr 1fr}}.exercise-name-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.exercise-name-link:hover{color:var(--accent)}.btn-copy-last{opacity:.5;transition:opacity .15s;font-size:9px!important;padding:1px 4px!important;min-width:auto!important}.btn-copy-last:hover{opacity:1}.plate-calculator summary{user-select:none}.plate-calculator summary:hover{color:var(--accent)}.plate-calculator[open] summary{margin-bottom:0}.btn-toggle-notes{opacity:.6;transition:opacity .15s}.btn-toggle-notes:hover{opacity:1}.workout-exercise-card.exercise-skipped{opacity:.4}.workout-exercise-card.exercise-skipped .set-row,.workout-exercise-card.exercise-skipped .cardio-fields{display:none}.btn-reorder-ex:hover,.btn-skip-ex:hover{opacity:1!important}.btn-skip-ex{transition:opacity .15s}.superset-suggestion-card:hover{border-color:var(--accent)!important;background:var(--bg-elevated)}.workout-session-timer.paused{color:var(--warning)}.lib-card:hover{box-shadow:0 4px 12px #00000026}@media print{body{background:#fff!important;color:#000!important}.header,.bottom-nav,.tab-bar,#desktop-tabs,.floating-action-btn,.install-banner,.gdpr-banner,.auth-modal,.feedback-fab{display:none!important}.tab-content-wrapper{padding:0!important}.card{border:1px solid #ddd!important;box-shadow:none!important;break-inside:avoid}a{color:#000!important;text-decoration:underline}.btn{border:1px solid #999!important;background:transparent!important;color:#000!important}}.vault-banner{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:12px 0;display:flex;align-items:center;gap:12px}.vault-banner .vault-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#34d3991a;border-radius:10px;flex-shrink:0}.vault-banner .vault-info{flex:1}.vault-banner .vault-info h4{font-size:14px;margin-bottom:2px}.vault-banner .vault-info p{font-size:12px;color:var(--text-secondary);margin:0}.vault-status{font-size:11px;padding:3px 10px;border-radius:999px;font-weight:500}.vault-status.locked{background:#ef444426;color:#ef4444}.vault-status.unlocked{background:#34d39926;color:var(--success)}.vault-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.vault-actions .btn-vault{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;transition:all .2s}.vault-actions .btn-vault:hover{border-color:var(--accent);background:#34d3991a}.vault-actions .btn-vault.danger{border-color:#ef4444}.vault-actions .btn-vault.danger:hover{background:#ef44441a}.vault-password-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;margin-bottom:8px}.vault-recovery-key{font-family:monospace;font-size:18px;letter-spacing:2px;padding:12px 16px;background:#34d3991a;border:1px dashed var(--accent);border-radius:var(--radius);text-align:center;word-break:break-all;margin:12px 0;user-select:all;color:var(--accent)}body.deniability-mode{--accent: #3b82f6;--accent-secondary: #2563eb}body.deniability-mode .compound-card,body.deniability-mode .bloodwork-section,body.deniability-mode .efficacy-section,body.deniability-mode .injection-site-tracker,body.deniability-mode .cycle-indicator,body.deniability-mode [data-tab=protocol],body.deniability-mode [data-tab=calculator],body.deniability-mode [data-tab=bloodwork],body.deniability-mode .vault-banner,body.deniability-mode .protocol-overlay,body.deniability-mode .tab-content[id=tab-calculator],body.deniability-mode .tab-content[id=tab-protocol],body.deniability-mode .tab-content[id=tab-bloodwork]{display:none!important}body.deniability-mode .app-header-title:after{content:"FitTrack"}body.deniability-mode .app-header-title{font-size:0}body.deniability-mode .landing-logo:after{content:"FitTrack — Your Fitness Companion"}body.deniability-mode .landing-logo{font-size:0}body.deniability-mode .nav-tab.active{border-color:#3b82f6;color:#3b82f6}body.deniability-mode .btn-primary{background:#3b82f6}.efficacy-full-report{padding:0}.efficacy-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:16px}.efficacy-stat{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:12px;text-align:center}.efficacy-stat .val{font-size:22px;font-weight:700;color:var(--accent)}.efficacy-stat .lbl{font-size:11px;color:var(--text-secondary);margin-top:2px}.efficacy-timeline-row{display:flex;align-items:flex-end;gap:3px;height:80px;margin:12px 0}.efficacy-timeline-bar{flex:1;border-radius:3px 3px 0 0;min-width:6px;transition:height .3s}.efficacy-condition-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.efficacy-condition-row .improvement{font-weight:600;padding:2px 8px;border-radius:999px;font-size:11px}.efficacy-condition-row .improvement.positive{background:#34d39926;color:var(--success)}.efficacy-condition-row .improvement.negative{background:#ef444426;color:#ef4444}.interaction-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;margin:2px;border:1px solid var(--border)}.interaction-badge.synergistic{background:#34d3991a;border-color:#34d3994d}.interaction-badge.antagonistic{background:#ef44441a;border-color:#ef44444d}.interaction-badge.adverse{background:#f59e0b1a;border-color:#f59e0b4d}.interaction-badge.neutral{background:#3b82f61a;border-color:#3b82f64d}.compliance-streak-banner{border-radius:12px}.missed-dose-card{border-radius:var(--radius)}.missed-dose-item{border-radius:8px}.fasting-indicator,.training-preview{border-radius:var(--radius)}.photo-thumb{border-radius:8px;overflow:hidden}.photo-month-group{margin-bottom:12px}@keyframes waterBarPop{0%{transform:scaleX(1)}50%{transform:scaleX(1.03)}to{transform:scaleX(1)}}.water-bar-fill.pop{animation:waterBarPop .3s ease}@media(max-width:480px){.calc-grid,.form-row-3{grid-template-columns:1fr!important}.compliance-streak-banner{padding:10px!important}.compliance-streak-banner>div{font-size:22px!important}}.photo-thumb:focus-visible,.missed-dose-btn:focus-visible,.uc-conv-btn:focus-visible,.photo-cat-filter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(forced-colors:active){.dose-checkbox,.toggle-slider{border:1px solid ButtonText}.btn-primary{border:2px solid Highlight}.alert{border:1px solid CanvasText}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}.calc-only-mode .tab-bar [data-tab]:not([data-tab=calculator]),.calc-only-mode .bottom-nav [data-tab]:not([data-tab=calculator]),.calc-only-mode #btn-quick-settings,.calc-only-mode #btn-undo,.calc-only-mode #btn-redo,.calc-only-mode #btn-pdf,.calc-only-mode #btn-load,.calc-only-mode #btn-save,.calc-only-mode #global-search,.calc-only-mode .offline-banner{display:none!important}.calc-only-mode .tab-content:not(#tab-calculator){display:none!important}.library-only-mode .tab-bar [data-tab]:not([data-tab=library]),.library-only-mode .bottom-nav [data-tab]:not([data-tab=library]),.library-only-mode #btn-quick-settings,.library-only-mode #btn-undo,.library-only-mode #btn-redo,.library-only-mode #btn-pdf,.library-only-mode #btn-load,.library-only-mode #btn-save,.library-only-mode #global-search,.library-only-mode .offline-banner{display:none!important}.library-only-mode .tab-content:not(#tab-library){display:none!important}.glossary-trigger{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;padding:0;border:none;background:none;color:var(--text-muted);cursor:pointer;vertical-align:middle;flex-shrink:0;border-radius:50%;transition:color .15s,background-color .15s;opacity:.6}.glossary-trigger:hover,.glossary-trigger-active{color:var(--accent);opacity:1;background:var(--bg-elevated)}.glossary-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.glossary-tooltip{position:absolute;z-index:var(--z-dropdown);max-width:280px;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #00000059;font-size:13px;line-height:1.5;color:var(--text-primary);pointer-events:auto;animation:glossaryFadeIn .15s ease}[data-theme=light] .glossary-tooltip{box-shadow:0 4px 16px #0000001f}.glossary-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:12px;height:6px;clip-path:polygon(50% 0%,0% 100%,100% 100%);background:var(--bg-surface)}.glossary-tooltip-above:before{top:auto;bottom:-6px;clip-path:polygon(0% 0%,100% 0%,50% 100%)}@keyframes glossaryFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.glossary-tooltip-above{animation-name:glossaryFadeInAbove}@keyframes glossaryFadeInAbove{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.form-label{display:inline-flex;align-items:center;flex-wrap:wrap}@media(max-width:640px){#btn-load,#btn-save{display:none!important}}.cycle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cycle-title{margin:0;font-size:18px;font-weight:700}.cycle-subtabs{display:flex;gap:4px;flex-wrap:wrap;row-gap:6px;border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:1px}.cycle-subtab{background:transparent;border:none;color:var(--text-secondary);padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}.cycle-subtab:hover{color:var(--text-primary)}.cycle-subtab.active{color:var(--accent);border-bottom-color:var(--accent)}.cycle-empty{padding:20px;text-align:left}.cycle-hero{padding:16px 18px;margin-bottom:14px}.cycle-hero-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cycle-hero-phase{font-size:20px;font-weight:800;letter-spacing:.2px}.cycle-hero-day{font-size:13px;color:var(--text-secondary);margin-top:2px}.cycle-hero-headline{font-size:13px;color:var(--text-secondary);margin-top:12px;font-style:italic}.cycle-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px}.cycle-stat{background:var(--bg-secondary, rgba(128,128,128,.04));border:1px solid var(--border);border-radius:8px;padding:12px}.cycle-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.cycle-stat-main{font-size:15px;font-weight:700;color:var(--text-primary);margin-top:4px}.cycle-stat-sub{font-size:11px;color:var(--text-muted);margin-top:2px}.cycle-guidance{padding:16px;margin-bottom:14px}.cycle-guidance-grid{display:flex;flex-direction:column;gap:16px}.cycle-guidance-section ul{font-size:12px;color:var(--text-secondary);line-height:1.6;margin:6px 0 8px;padding-left:20px}.cycle-guidance-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.cycle-guidance-meta{font-size:11px;color:var(--text-muted)}@media(min-width:720px){.cycle-guidance-grid{display:grid;grid-template-columns:1fr 1fr}}.cycle-cal-card{padding:14px}.cycle-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.cycle-cal-title{font-size:15px;font-weight:700;color:var(--text-primary);flex:1;text-align:center}.cycle-cal-navbtn{min-width:32px;padding:4px 10px;font-size:16px;line-height:1}.cycle-cal-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:12px;padding:8px 10px;background:var(--bg-secondary, rgba(128,128,128,.04));border-radius:6px;font-size:11px;color:var(--text-secondary)}.cycle-cal-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cycle-cal-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.cycle-cal-legend-icon{width:12px;height:12px;fill:#e11d48;flex-shrink:0}.cycle-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cycle-cal-head{font-size:10px;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.5px;padding:6px 0 4px;font-weight:600}.cycle-cal-cell{aspect-ratio:1/1;border-radius:6px;padding:4px 5px;position:relative;cursor:pointer;font-size:12px;background:#80808014;border:1px solid rgba(128,128,128,.1);color:var(--text-primary);display:flex;flex-direction:column;align-items:flex-start;min-height:44px;overflow:hidden;transition:transform .12s ease,border-color .12s ease;text-align:left;font-family:inherit}.cycle-cal-cell:hover:not(.cycle-cal-blank){transform:translateY(-1px);border-color:#ffffff40}.cycle-cal-cell.cycle-cal-blank{background:transparent;border:none;cursor:default;min-height:0}.cycle-cal-cell.cycle-cal-blank:hover{transform:none;border:none}.cycle-cal-phase-menstrual{background:#e11d482e;border-color:#e11d4859}.cycle-cal-phase-follicular{background:#f59e0b29;border-color:#f59e0b52}.cycle-cal-phase-ovulatory{background:#10b98138;border-color:#10b9818c}.cycle-cal-phase-luteal{background:#8b5cf629;border-color:#8b5cf652}.cycle-cal-projected{opacity:.72}.cycle-cal-has-flow{opacity:1}.cycle-cal-flow-icon{position:absolute;top:50%;left:50%;width:42%;height:42%;transform:translate(-50%,-50%);fill:#e11d48;filter:drop-shadow(0 0 2px rgba(0,0,0,.5));pointer-events:none}.cycle-cal-flow-1 .cycle-cal-flow-icon{fill:#e11d4899}.cycle-cal-flow-2 .cycle-cal-flow-icon{fill:#e11d48c7}.cycle-cal-flow-3 .cycle-cal-flow-icon{fill:#e11d48eb}.cycle-cal-flow-4 .cycle-cal-flow-icon{fill:#e11d48}.cycle-cal-ov-day{box-shadow:inset 0 0 0 2px #10b981}.cycle-cal-ov-label{position:absolute;top:2px;right:3px;font-size:10px;font-weight:800;color:#10b981;letter-spacing:.5px;line-height:1}.cycle-cal-cell.cycle-cal-today{box-shadow:0 0 0 2px var(--accent),0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent)}.cycle-cal-cell.cycle-cal-today.cycle-cal-ov-day{box-shadow:0 0 0 2px var(--accent),inset 0 0 0 2px #10b981,0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.cycle-cal-origin:before{content:"";position:absolute;top:2px;left:3px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 4px #fffc}.cycle-cal-dn{font-weight:700;font-size:13px;color:var(--text-primary);line-height:1.1}.cycle-cal-cd{font-size:10px;color:var(--text-muted);font-weight:500;margin-top:1px;line-height:1}.cycle-cal-dots{display:flex;gap:2px;position:absolute;bottom:3px;left:4px}.cycle-cal-dot{display:inline-block;width:5px;height:5px;border-radius:50%}.cycle-cal-dot-sym{background:#fde68a}.cycle-cal-dot-note{background:#93c5fd}.cycle-cal-upcoming{margin-top:12px;padding:12px 14px}.cycle-upcoming-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);padding:4px 0}@media(max-width:520px){.cycle-cal-cell{min-height:40px;padding:3px 4px}.cycle-cal-dn{font-size:12px}.cycle-cal-cd{font-size:10px}.cycle-cal-legend{gap:8px;font-size:10px}.cycle-cal-swatch{width:10px;height:10px}}.cycle-log-section{margin-bottom:14px}.cycle-log-label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cycle-flow-picker{display:flex;gap:6px;flex-wrap:wrap}.cycle-flow-btn{background:var(--bg-secondary, rgba(128,128,128,.04));border:1px solid var(--border);border-radius:6px;padding:6px 14px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.cycle-flow-btn:hover{color:var(--text-primary)}.cycle-flow-btn.active{background:#e11d4820;border-color:#e11d48;color:#e11d48;font-weight:600}.cycle-symptom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px}.cycle-symptom-btn{background:var(--bg-secondary, rgba(128,128,128,.04));border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;color:var(--text-secondary);cursor:pointer;text-align:left;transition:all .15s}.cycle-symptom-btn:hover{color:var(--text-primary)}.cycle-symptom-btn.active{background:#8b5cf61f;border-color:#8b5cf6;color:#8b5cf6;font-weight:600}.cycle-slider-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.cycle-slider{background:var(--bg-secondary, rgba(128,128,128,.04));border:1px solid var(--border);border-radius:6px;padding:10px}.cycle-slider-label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.cycle-slider input[type=range]{width:100%}.cycle-insight-bars{display:flex;flex-direction:column;gap:8px}.cycle-insight-row{display:grid;grid-template-columns:90px 1fr 80px;gap:10px;align-items:center;font-size:12px}.cycle-insight-label{color:var(--text-secondary)}.cycle-insight-bar{background:var(--bg-secondary, rgba(128,128,128,.08));border-radius:4px;height:10px;overflow:hidden}.cycle-insight-fill{height:100%;border-radius:4px;transition:width .4s}.cycle-insight-val{text-align:right;color:var(--text-muted);font-size:11px}.cycle-insight-table{width:100%;border-collapse:collapse;font-size:12px}.cycle-insight-table th,.cycle-insight-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border)}.cycle-insight-table th{font-size:11px;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.cycle-phase-pill{display:inline-block;padding:2px 8px;border-radius:10px;color:#fff;font-size:11px;font-weight:600}.cycle-history{display:flex;flex-direction:column;gap:6px}.cycle-history-row{display:grid;grid-template-columns:12px 1fr auto 24px;gap:10px;align-items:center;padding:8px;background:var(--bg-secondary, rgba(128,128,128,.04));border-radius:6px;font-size:12px}.cycle-history-dot{width:10px;height:10px;border-radius:50%}.cycle-history-date{color:var(--text-primary)}.cycle-history-len{color:var(--text-muted);font-size:11px}.cycle-history-del{padding:0;width:24px;height:24px;line-height:1;font-size:16px;color:var(--text-muted)}.cycle-nudge-close{position:absolute;top:6px;right:8px;width:22px;height:22px;padding:0;background:transparent;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.cycle-nudge-close:hover{background:var(--bg-secondary, rgba(128,128,128,.08));color:var(--text-primary)}.cycle-setting-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px}.cycle-setting-row label{flex:1;color:var(--text-secondary)}.trust-strip{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin:24px auto 0;max-width:720px;padding:14px 20px;background:color-mix(in srgb,var(--accent) 4%,transparent);border:1px solid var(--accent-dim);border-radius:var(--radius-lg)}.trust-strip .item{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}.trust-strip .item svg{width:14px;height:14px;stroke:var(--accent);flex-shrink:0}.trust-strip .sep{color:var(--text-muted);font-size:8px}@media(max-width:560px){.trust-strip{gap:10px;padding:10px 14px}.trust-strip .item{font-size:10px}.trust-strip .sep{display:none}}@media(max-width:480px){.header-logo .header-wordmark,.header-logo h1{display:none}}@media(max-width:768px){.header{min-height:52px;padding:6px 14px}}.tab-btn.active,.bottom-nav-btn.active{position:relative}.tab-btn.active:before,.bottom-nav-btn.active:before{content:"";position:absolute;left:12%;right:12%;top:0;height:2px;background:var(--accent);border-radius:0 0 2px 2px}.bottom-nav-btn.active:before{top:auto;bottom:0;border-radius:2px 2px 0 0}@media(max-height:600px){.bottom-nav{transition:transform .22s cubic-bezier(.32,.72,0,1);will-change:transform}body.nav-hidden .bottom-nav{transform:translateY(100%);pointer-events:none}body.nav-hidden{--bottom-nav-height: 0px}}.daily-wrap-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fadeIn .25s ease}.daily-wrap-card{background:var(--bg-elevated);border-radius:20px 20px var(--radius-lg) var(--radius-lg);padding:24px 22px 20px;max-width:520px;width:100%;box-shadow:var(--shadow-float);position:relative;animation:vlSheetUp .28s cubic-bezier(.32,.72,0,1)}@media(min-width:640px){.daily-wrap-overlay{align-items:center}.daily-wrap-card{border-radius:var(--radius-lg)}}.daily-wrap-card .eyebrow{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.daily-wrap-card h2{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.3px;margin-bottom:16px}.daily-wrap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--bg-surface);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.daily-wrap-stat{padding:12px 10px;text-align:center;background:var(--bg-elevated)}.daily-wrap-stat .n{font-family:var(--font-mono, monospace);font-size:22px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.daily-wrap-stat .l{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-top:4px}.daily-wrap-miss{padding:12px 14px;background:#f43f5e14;border:1px solid rgba(244,63,94,.22);border-radius:var(--radius);margin-bottom:12px;font-size:13px;display:flex;align-items:center;gap:10px}.daily-wrap-miss .icon{color:var(--danger);font-size:18px}.daily-wrap-actions{display:flex;gap:8px}.error-bound{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-family:var(--font-mono, monospace);font-size:11px;font-weight:500;letter-spacing:.3px;color:var(--warning);background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:999px}.error-bound:before{content:"±";font-weight:700}.error-bound.severe{color:var(--danger);background:#f43f5e1a;border-color:#f43f5e40}.stack-viz{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px;overflow-x:auto}.stack-viz-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.stack-viz-head h3{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted)}.stack-viz-head .range{font-size:11px;color:var(--text-muted)}.stack-viz-grid{display:grid;grid-template-columns:80px 1fr;gap:4px}.stack-viz-label{font-size:12px;color:var(--text-secondary);padding:4px 8px 4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stack-viz-track{position:relative;height:20px;background:var(--bg-input);border-radius:4px;margin:2px 0}.stack-viz-bar{position:absolute;top:0;bottom:0;border-radius:4px;opacity:.85;transition:opacity .15s}.stack-viz-bar:hover{opacity:1;box-shadow:0 0 0 1px #ffffff26}.stack-viz-today{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);box-shadow:0 0 6px var(--accent);pointer-events:none;z-index:2}.stack-viz-axis{display:flex;justify-content:space-between;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted);margin-top:8px;letter-spacing:1px;grid-column:2}.mood-slider-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:var(--bg-elevated);border-radius:var(--radius-lg)}.mood-emoji{font-size:56px;line-height:1;filter:saturate(1.1);transition:transform .18s cubic-bezier(.34,1.56,.64,1);user-select:none}.mood-emoji.pulse{animation:moodPulse .4s ease}@keyframes moodPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.mood-slider{-webkit-appearance:none;appearance:none;width:100%;max-width:300px;height:6px;border-radius:3px;background:linear-gradient(90deg,#f43f5e,#f59e0b,#34d399);outline:none;cursor:pointer}.mood-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--bg-elevated);box-shadow:0 2px 8px #0000004d;cursor:grab}.mood-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--bg-elevated);box-shadow:0 2px 8px #0000004d;cursor:grab}.mood-slider:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:3px}.mood-label{font-size:12px;color:var(--text-secondary);font-weight:500}.ref-range-bar{position:relative;height:28px;margin:10px 0}.ref-range-track{position:absolute;left:0;right:0;top:10px;height:8px;border-radius:4px;background:linear-gradient(90deg,#f43f5e 0% 18%,#f59e0b 18% 28%,#34d399 28% 72%,#f59e0b 72% 82%,#f43f5e 82% 100%);opacity:.85}.ref-range-marker{position:absolute;top:2px;width:4px;height:24px;background:var(--text-primary);border-radius:2px;box-shadow:0 0 0 2px var(--bg-elevated),0 0 0 3px var(--text-primary);transform:translate(-50%);transition:left .3s ease}.ref-range-labels{display:flex;justify-content:space-between;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted);letter-spacing:.5px;margin-top:2px}#rest-timer-float{position:fixed;bottom:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom));right:16px;z-index:var(--z-sticky);background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-lg);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:var(--shadow-elevated);font-family:var(--font-mono, monospace);min-width:130px;animation:fadeSlideIn .25s ease}#rest-timer-float.active{display:flex}#rest-timer-float.done{border-color:var(--success);animation:rtPulseGlow 1.2s infinite}#rest-timer-float .rt-time{font-size:18px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:1px}#rest-timer-float .rt-lbl{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}#rest-timer-float .rt-stop{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:0 2px;line-height:1;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center}#rest-timer-float .rt-stop:hover{color:var(--text-primary)}@media(pointer:coarse){#rest-timer-float .rt-stop{min-width:44px;min-height:44px}}@keyframes rtPulseGlow{0%,to{box-shadow:0 0 #34d39999}50%{box-shadow:0 0 0 6px #34d39900}}.pr-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:var(--z-toast);background:linear-gradient(135deg,#2dd4a8,#0d9373);color:#131518;padding:14px 22px;border-radius:var(--radius-lg);font-weight:700;box-shadow:0 12px 40px color-mix(in srgb,var(--accent) 40%,transparent);animation:prPop .4s cubic-bezier(.34,1.56,.64,1),prExit .3s ease 3.5s forwards;display:flex;align-items:center;gap:10px}.pr-toast .icon{font-size:22px}.pr-toast .title{font-family:var(--font-display);font-size:14px;letter-spacing:.3px}.pr-toast .detail{font-family:var(--font-mono, monospace);font-size:12px;opacity:.8}@keyframes prPop{0%{transform:translate(-50%) scale(.8);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes prExit{to{transform:translate(-50%) scale(.9);opacity:0}}.superset-group{border:2px solid var(--accent-dim);border-radius:var(--radius-lg);padding:10px 12px;margin-bottom:10px;background:color-mix(in srgb,var(--accent) 3%,transparent);position:relative}.superset-group:before{content:"SUPERSET";position:absolute;top:-9px;left:12px;background:var(--bg-elevated);padding:0 8px;font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:2px;color:var(--accent)}.superset-group.circuit:before{content:"CIRCUIT"}.superset-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--border-light)}.superset-row:last-child{border-bottom:none}.superset-row .idx{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted);width:18px}.superset-row .ex{flex:1;font-weight:500}.superset-row .sets{font-family:var(--font-mono, monospace);font-size:11px;color:var(--accent)}.body-map-heat-legend{display:flex;align-items:center;gap:6px;font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin:8px 0}.body-map-heat-scale{display:inline-block;width:100px;height:6px;border-radius:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--accent) 40%,transparent),#f59e0b80,#f43f5eb3)}path[data-heat="1"]{fill:color-mix(in srgb,var(--accent) 22%,transparent)!important}path[data-heat="2"]{fill:color-mix(in srgb,var(--accent) 42%,transparent)!important}path[data-heat="3"]{fill:#f59e0b7a!important}path[data-heat="4"]{fill:#f59e0ba6!important}path[data-heat="5"]{fill:#f43f5ebf!important}.hydration-widget{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,transparent),#38bdf814);border:1px solid var(--accent-dim);border-radius:var(--radius-lg);margin-bottom:12px}.hydration-label{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}.hydration-val{font-family:var(--font-mono, monospace);font-size:20px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums;min-width:88px}.hydration-val small{font-size:12px;color:var(--text-muted);margin-left:2px}.hydration-bar{flex:1;height:8px;background:var(--bg-input);border-radius:4px;overflow:hidden}.hydration-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--info));transition:width .3s ease;border-radius:4px}.hydration-actions{display:flex;gap:4px}.hydration-btn{padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono, monospace);font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;min-height:32px;min-width:52px}.hydration-btn:hover{background:var(--accent-dim);border-color:var(--accent)}.hydration-btn:active{transform:scale(.95)}.compound-hero{background:linear-gradient(135deg,var(--bg-elevated),color-mix(in srgb,var(--accent) 4%,transparent));border:1px solid var(--accent-dim);border-radius:16px;padding:20px 22px;margin-bottom:16px;position:relative;overflow:hidden}.compound-hero:before{content:"";position:absolute;top:0;right:0;width:180px;height:180px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%);pointer-events:none}.compound-hero .class-tag{display:inline-block;padding:3px 10px;font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border-radius:4px;margin-bottom:8px}.compound-hero h2{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px}.compound-hero .subtitle{font-size:14px;color:var(--text-secondary);font-style:italic;margin-bottom:16px}.compound-hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:12px;position:relative}.compound-hero-stat{padding:10px 12px;background:var(--bg-surface);border-radius:var(--radius)}.compound-hero-stat .k{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.compound-hero-stat .v{font-family:var(--font-mono, monospace);font-size:14px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.chem-panel{display:grid;grid-template-columns:180px 1fr;gap:18px;margin-top:16px;padding:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 4%,transparent),#60a5fa0a);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}@media(max-width:560px){.chem-panel{grid-template-columns:1fr}.chem-image-wrap{justify-self:center}}.chem-image-toggle{display:none;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s,color .15s}.chem-image-toggle:hover,.chem-image-toggle:focus-visible{background:var(--bg-hover);color:var(--text-primary);outline:none}.chem-image-toggle:focus-visible{box-shadow:0 0 0 2px var(--accent)}@media(pointer:coarse){.chem-image-toggle{display:inline-flex;min-height:44px}.chem-image-wrap{display:none}.chem-image-wrap.show{display:flex}}.chem-image-wrap{position:relative;width:180px;height:180px;background:#fff;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000d}.chem-image{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s ease;font-size:0;color:transparent}.chem-image:hover{transform:scale(1.05)}.chem-image-fallback{position:absolute;inset:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;text-align:center;padding:16px;font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-muted);background:var(--bg-elevated)}.chem-image-wrap>.chem-image-fallback:only-child{display:flex}.chem-data{display:flex;flex-direction:column;gap:6px;min-width:0}.chem-data-title{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.chem-row{display:grid;grid-template-columns:100px 1fr;gap:10px;align-items:baseline;padding:3px 0}.chem-k{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted)}.chem-v{font-size:13px;color:var(--text-primary);word-break:break-word}.chem-mono{font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-secondary)}.chem-formula{font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:500;color:var(--accent);letter-spacing:.5px}.chem-formula sub{font-size:70%;vertical-align:-.25em;margin:0 .05em}.chem-row-iupac{grid-template-columns:100px 1fr}.chem-iupac{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;cursor:help}.chem-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:10px;border-top:1px solid var(--border)}.chem-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;background:var(--bg-elevated);color:var(--accent);font-size:11px;font-weight:600;text-decoration:none;border:1px solid var(--border);transition:all .15s ease}.chem-link:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-1px)}.chem-link-pubchem{color:#2dd4a8}.chem-link-drugbank{color:#60a5fa}.chem-link-wiki{color:#a78bfa}.chem-link-cas{color:#f59e0b}.chem-notes{margin-top:10px;padding:8px 10px;background:var(--bg-elevated);border-left:3px solid var(--accent);border-radius:6px;font-size:11px;color:var(--text-secondary);line-height:1.5;font-style:italic}.related-compounds{margin-top:20px}.related-compounds h3{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.related-grid{display:flex;gap:8px;flex-wrap:wrap}.related-chip{padding:8px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--text-primary);cursor:pointer;transition:all .15s;font-weight:500}.related-chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.cite-ref{display:inline-flex;align-items:center;padding:1px 6px;margin:0 2px;font-family:var(--font-mono, monospace);font-size:10px;font-weight:600;color:var(--info);background:#38bdf81a;border-radius:3px;text-decoration:none;vertical-align:baseline;letter-spacing:.3px;transition:background .15s}.cite-ref:hover{background:#38bdf833;text-decoration:none}.cite-ref:before{content:"#";opacity:.6}.club-discovery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.club-discovery-card{padding:14px;background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid transparent;cursor:pointer;transition:all .15s}.club-discovery-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-elevated)}.club-discovery-card .cat{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.club-discovery-card h4{font-family:var(--font-display);font-size:15px;font-weight:600;margin-bottom:4px}.club-discovery-card .desc{font-size:12px;color:var(--text-secondary);line-height:1.4;margin-bottom:10px;min-height:34px}.club-discovery-card .meta{display:flex;gap:10px;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted);letter-spacing:.5px}.club-category-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;overflow-x:auto;padding-bottom:4px}.club-cat-chip{padding:5px 12px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:500;background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.club-cat-chip.active{background:var(--accent);border-color:var(--accent);color:#131518;font-weight:700}.settings-search{position:sticky;top:0;z-index:10;background:var(--bg-primary);padding:10px 0 14px;margin-bottom:10px}.settings-search-wrap{position:relative}.settings-search-wrap:before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c939c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;pointer-events:none}.settings-search input{width:100%;padding:10px 14px 10px 38px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px;color:var(--text-primary);font-size:14px}.settings-section.hidden-by-search,.settings-row.hidden-by-search{display:none}.settings-section-title{display:flex;align-items:center;gap:8px}.settings-section-icon{width:18px;height:18px;flex-shrink:0;color:var(--accent);opacity:.8}.settings-section-actions{margin-left:auto;font-size:11px}.settings-section-reset{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;font-family:var(--font-mono, monospace)}.settings-section-reset:hover{color:var(--danger);background:#f43f5e14}.skel{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-surface) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:vlSkeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skel-line{height:12px;margin-bottom:8px}.skel-line.lg{height:18px}.skel-line.short{width:40%}.skel-line.med{width:70%}.skel-card{height:100px;border-radius:var(--radius-lg);margin-bottom:12px}.skel-chip{width:90px;height:28px;border-radius:999px;display:inline-block;margin-right:6px}.first-run-overlay{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;pointer-events:auto;animation:firstRunFade .18s ease}@keyframes firstRunFade{0%{opacity:0}to{opacity:1}}.first-run-backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.first-run-card{position:relative;width:90%;max-width:420px;margin:0 16px;padding:20px 22px 18px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);z-index:1}.first-run-card[data-pos=above],.first-run-card[data-pos=below]{position:fixed;left:50%;transform:translate(-50%);margin:0}.first-run-step{font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.first-run-title{font-size:18px;font-weight:700;margin:0 0 8px;color:var(--text-primary)}.first-run-body{font-size:14px;line-height:1.5;margin:0 0 16px;color:var(--text-secondary)}.first-run-dots{display:flex;gap:6px;margin-bottom:14px}.first-run-dot{width:6px;height:6px;border-radius:50%;background:var(--border)}.first-run-dot.active{background:var(--accent);width:18px;border-radius:3px}.first-run-actions{display:flex;justify-content:space-between;gap:10px}.first-run-actions .btn{min-height:40px}@media(pointer:coarse){.first-run-actions .btn{min-height:44px}}.first-run-highlight{position:relative;z-index:9999;animation:firstRunPulse 1.6s ease-in-out infinite;border-radius:var(--radius)}@keyframes firstRunPulse{0%,to{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 40%,transparent)}}#vl-toast-queue{position:fixed;bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:90vw}.vl-toast{background:var(--bg-elevated);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-float);font-size:13px;color:var(--text-primary);pointer-events:auto;display:flex;align-items:center;gap:10px;min-width:260px;animation:toastIn .28s cubic-bezier(.34,1.56,.64,1)}.vl-toast.out{animation:toastOut .2s ease forwards}.vl-toast.success{border-left-color:var(--success)}.vl-toast.danger{border-left-color:var(--danger)}.vl-toast.warning{border-left-color:var(--warning)}.vl-toast.info{border-left-color:var(--info)}.vl-toast .body{flex:1}.vl-toast .action{color:var(--accent);font-weight:600;background:none;border:none;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px}.vl-toast .action:hover{background:var(--accent-dim)}.vl-toast .close{color:var(--text-muted);background:none;border:none;cursor:pointer;font-size:18px;line-height:1;padding:0 2px}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(8px)}}.form-input.invalid,.form-select.invalid{border-color:var(--danger);box-shadow:0 0 0 3px #f43f5e1f}.form-error{font-size:11px;color:var(--danger);margin-top:4px;display:none;align-items:center;gap:4px}.form-error.visible{display:flex}.form-error:before{content:"!";font-weight:700;width:14px;height:14px;border-radius:50%;background:var(--danger);color:#fff;text-align:center;line-height:14px;font-size:10px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.landing-logo,.sync-dot.pending,.gps-recording-indicator,#rest-timer-float.done,.pr-toast{animation:none!important}.mood-emoji{transition:none!important}}.crash-screen{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.crash-icon{font-size:56px;color:var(--danger);margin-bottom:16px;line-height:1}.crash-screen h1{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:8px}.crash-screen p{color:var(--text-secondary);max-width:420px;font-size:14px;margin-bottom:20px;line-height:1.5}.crash-screen .ref{font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-muted);letter-spacing:1px;margin-bottom:20px;padding:6px 12px;background:var(--bg-elevated);border-radius:4px}.crash-screen-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.btn-undo-caret{font-size:10px;line-height:1;opacity:.7}.btn-undo-caret:hover:not(:disabled){opacity:1}.btn-undo-caret:disabled{opacity:.3;cursor:not-allowed}.undo-history-pop{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #00000052;min-width:240px;max-width:min(340px,calc(100vw - 32px));padding:6px 0;z-index:var(--z-overlay);font-size:13px}@media(max-width:480px){.undo-history-pop{min-width:200px;max-width:min(260px,calc(100vw - 24px))}}.undo-pop-title{padding:4px 12px 8px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.undo-pop-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.undo-pop-list{list-style:none;padding:0;margin:0}.undo-pop-list li{padding:0}.undo-pop-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;gap:12px;background:transparent;border:0;color:inherit;font-size:13px;text-align:left;cursor:pointer}.undo-pop-item:hover{background:var(--bg-input)}.undo-pop-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-pop-when{font-size:11px;color:var(--text-muted);flex-shrink:0}.vl-recovery-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:calc(var(--z-overlay) - 1);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:var(--radius);padding:12px 16px;box-shadow:0 8px 24px #00000059;max-width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.45;animation:vl-recovery-toast-in .22s ease-out}@keyframes vl-recovery-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.vl-recovery-toast-title{font-weight:600;font-size:14px}.vl-recovery-toast-body{color:var(--text-secondary)}.vl-recovery-toast-actions{display:flex;gap:8px;margin-top:6px}.vl-recovery-toast-network,.vl-recovery-toast-quota,.vl-recovery-toast-parse{border-left-color:var(--warning)}.vl-recovery-toast-auth,.vl-recovery-toast-sw_stale{border-left-color:var(--accent)}@media(min-width:768px){.vl-recovery-toast{left:auto;right:24px;transform:none}@keyframes vl-recovery-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}.empty-v2{text-align:center;padding:48px 20px 32px;animation:fadeSlideIn .25s ease}.empty-v2 .empty-v2-icon{width:48px;height:48px;margin:0 auto 16px;color:var(--text-muted);opacity:.5}.empty-v2 h3{font-family:var(--font-display);font-size:16px;font-weight:600;margin-bottom:6px;color:var(--text-primary)}.empty-v2 p{font-size:13px;color:var(--text-secondary);max-width:280px;margin:0 auto 16px;line-height:1.5}.empty-v2 .btn{margin-top:8px}.save-indicator{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.02em;background:#22c55e1f;color:var(--success, #22c55e);border:1px solid rgba(34,197,94,.3);transition:opacity .25s ease,background-color .2s ease,color .2s ease,border-color .2s ease}.save-indicator:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.save-indicator.is-saving{background:#3b82f61f;color:var(--accent, #3b82f6);border-color:#3b82f64d}.save-indicator.is-saving:before{animation:save-pulse 1s ease-in-out infinite}.save-indicator.is-offline{background:#eab3081f;color:var(--warning, #eab308);border-color:#eab3084d}.save-indicator.is-error{background:#ef44441f;color:var(--danger, #ef4444);border-color:#ef44444d}@keyframes save-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
