._nav_16x6c_1{background:var(--color-surface);box-shadow:0 1px #00000014;position:sticky;top:0;z-index:10;transition:background var(--dur-open) var(--ease-out)}._inner_16x6c_10{display:flex;align-items:center;gap:20px;max-width:1152px;margin:0 auto;padding:0 24px;height:116px}._brand_16x6c_21{display:flex;align-items:center;gap:14px;flex-shrink:0;text-decoration:none}._badgeWrap_16x6c_35{width:96px;height:96px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}._badge_16x6c_35{height:150px;width:auto;margin-top:4px;display:block}._brandName_16x6c_55{font-family:"DM Serif Display",Georgia,serif;font-size:28px;font-weight:400;color:var(--color-primary-ink);letter-spacing:-.02em;line-height:1}._divider_16x6c_65{width:1px;height:32px;background:var(--color-surface-border);flex-shrink:0}._links_16x6c_74{display:flex;gap:6px;flex-wrap:nowrap;flex:1;min-width:0;align-items:center}._links_16x6c_74 a{display:inline-flex;align-items:center;gap:6px;padding:11px 16px;border-radius:12px;border:1px solid var(--color-surface-border);background:var(--color-surface);color:var(--color-text-muted);font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:16px;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);line-height:1.3}._links_16x6c_74 a:active{transform:translateY(1px)}@media (min-width: 769px) and (max-width: 1120px){._inner_16x6c_10{gap:12px;padding:0 16px}._badgeWrap_16x6c_35{width:72px;height:72px}._badge_16x6c_35{height:112px;margin-top:3px}._brandName_16x6c_55{font-size:22px}._divider_16x6c_65{height:26px}._links_16x6c_74{gap:4px}._links_16x6c_74 a{padding:8px 11px;font-size:14px}}._links_16x6c_74 a:hover{background:var(--color-secondary-bg);border-color:var(--color-secondary-border);color:var(--color-primary)}._active_16x6c_130{background:var(--color-primary)!important;color:#fff!important;border-color:var(--color-primary)!important;font-weight:400!important;box-shadow:0 2px 8px #0000002e!important}@media (prefers-reduced-motion: reduce){._links_16x6c_74 a:active{transform:none}}@media (max-width: 768px){._nav_16x6c_1{position:static}._inner_16x6c_10{height:104px;padding:0 20px;gap:14px}._brand_16x6c_21{flex:1;position:relative}._badgeWrap_16x6c_35{width:64px;height:64px}._badge_16x6c_35{height:100px;margin-top:3px}._brandName_16x6c_55{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:46px;letter-spacing:.06em}._links_16x6c_74,._divider_16x6c_65{display:none}}._bar_1t08i_2{display:none}@media (max-width: 768px){._bar_1t08i_2{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--color-surface);border-top:1px solid var(--color-surface-border);box-shadow:0 -1px 8px #0000000a;padding-bottom:env(safe-area-inset-bottom,0px)}}._tab_1t08i_21{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 2px;background:transparent;border:none;border-radius:0;color:var(--color-text-muted);font-family:var(--font-sans);font-size:11px;font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}@media (hover: hover){._tab_1t08i_21:hover{color:var(--color-text-strong);background:color-mix(in srgb,var(--color-text) 6%,transparent)}}._tab_1t08i_21:active{transform:scale(.97)}._tab_1t08i_21 svg{width:22px;height:22px;display:block}._tabActive_1t08i_62{color:var(--color-primary)}._tabTwoLine_1t08i_69{font-size:9.5px;line-height:1.12;text-align:center}._sheetBackdrop_1t08i_76{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0006;display:flex;align-items:flex-end}._sheet_1t08i_76{width:100%;background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-8) var(--space-16) calc(var(--space-16) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-modal);animation:_sheet-up_1t08i_1 .18s ease-out}@keyframes _sheet-up_1t08i_1{0%{transform:translateY(100%)}to{transform:translateY(0)}}._sheetHandle_1t08i_99{width:40px;height:4px;border-radius:var(--radius-pill);background:var(--color-border);margin:6px auto 10px}._sheetTitle_1t08i_107{margin:0 0 var(--space-4);padding:0 var(--space-8);font-size:var(--text-caption);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint)}._sheetRow_1t08i_117{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-8);min-height:52px;color:var(--color-text-body);text-decoration:none;font-size:var(--text-body);font-weight:500;border-radius:var(--radius-md);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}@media (hover: hover){._sheetRow_1t08i_117:hover{background:var(--color-divider-warm)}}._sheetRow_1t08i_117:active{transform:scale(.98)}._sheetRow_1t08i_117 svg{width:22px;height:22px;color:var(--color-text-muted);flex-shrink:0}._sheetRowActive_1t08i_151{background:var(--color-secondary-bg);color:var(--color-primary)}._sheetRowActive_1t08i_151 svg{color:var(--color-primary)}._chev_1t08i_160{margin-left:auto;color:var(--color-text-faint);font-size:22px;line-height:1}@media (prefers-reduced-motion: reduce){._tab_1t08i_21:active,._sheetRow_1t08i_117:active{transform:none}}._bar_4gzz0_1{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;flex-shrink:0;isolation:isolate;border-radius:8px;background:var(--color-surface)}._thumb_4gzz0_11{position:absolute;inset:0 auto 0 0;width:50%;border-radius:8px;background:var(--color-primary);pointer-events:none;z-index:0;transition:transform var(--dur-dropdown) var(--ease-out),opacity var(--dur-dropdown) var(--ease-out)}._thumbMacros_4gzz0_24{transform:translate(0);opacity:1}._thumbMicros_4gzz0_29{transform:translate(100%);opacity:1}._thumbHidden_4gzz0_34{opacity:0}._tab_4gzz0_38{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:clamp(12px,1vw,13.5px);padding:6px clamp(10px,1vw,14px);min-height:clamp(32px,2.6vw,40px);line-height:1;border:1px solid var(--color-border, #e5e7eb);background:transparent;color:var(--color-text-body);cursor:pointer;font-weight:600;transition:color var(--dur-dropdown) var(--ease-out),border-color var(--dur-dropdown) var(--ease-out),transform var(--dur-fast) var(--ease-out)}._tab_4gzz0_38:first-of-type{border-radius:8px 0 0 8px;border-right:none}._tab_4gzz0_38:last-of-type{border-radius:0 8px 8px 0}@media (hover: hover){._tab_4gzz0_38:hover:not(:disabled){filter:none;color:var(--color-text-strong)}}._tab_4gzz0_38:active:not(:disabled){transform:scale(.97)}._tab_4gzz0_38:disabled{opacity:.45;cursor:default}._tabActive_4gzz0_85{color:#fff;border-color:var(--color-primary)}._compact_4gzz0_90 ._tab_4gzz0_38{font-size:12px;padding:4px 10px;min-height:30px}@media (prefers-reduced-motion: reduce){._thumb_4gzz0_11{transition:none}._tab_4gzz0_38:active:not(:disabled){transform:none}}._row_5xypd_2{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}._bar_5xypd_11{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:3px;background:var(--color-divider, #eef1f4);border-radius:999px}._thumb_5xypd_21{position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/2);border-radius:999px;background:var(--color-surface);box-shadow:0 1px 3px #0f172a1a;pointer-events:none;transition:transform var(--dur-open) var(--ease-out)}._thumbStart_5xypd_34{transform:translate(0)}._thumbEnd_5xypd_38{transform:translate(100%)}._tab_5xypd_42{position:relative;z-index:1;padding:8px 18px;border-radius:999px;font-family:var(--font-sans);font-size:14px;font-weight:600;color:var(--color-text-muted);text-decoration:none;white-space:nowrap;text-align:center;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}._tab_5xypd_42:hover{color:var(--color-text-strong)}._tab_5xypd_42:active{transform:scale(.97)}._tabActive_5xypd_67{color:var(--color-primary)}._build_5xypd_74{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:48px;padding:0 20px;border-radius:var(--radius-md, 10px);background:var(--color-primary);color:#fff;font-family:var(--font-sans);font-size:15.5px;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 2px 8px #0000001a;transition:filter var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}._build_5xypd_74:hover{filter:brightness(1.08)}._build_5xypd_74:active{transform:translateY(1px)}@media (max-width: 560px){._row_5xypd_2{flex-direction:column;align-items:stretch;gap:10px}._bar_5xypd_11{display:grid}._tab_5xypd_42{padding:9px 12px}._build_5xypd_74{min-height:46px}}@media (prefers-reduced-motion: reduce){._thumb_5xypd_21{transition:none}._tab_5xypd_42:active,._build_5xypd_74:active{transform:none}}._page_10cuv_1{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(180deg,#f8f6f1,#efe9df)}._card_10cuv_10{width:100%;max-width:420px;background:#fff;border:1px solid #e8e4dc;border-radius:16px;padding:28px 24px 24px;box-shadow:0 12px 40px #0f172a0f}._brand_10cuv_20{display:flex;align-items:center;gap:12px;margin-bottom:8px}._brand_10cuv_20 h1{margin:0;font-size:1.5rem;letter-spacing:-.02em;color:var(--color-primary-ink)}._badge_10cuv_34{width:40px;height:40px;object-fit:cover;border-radius:10px}._lede_10cuv_41{margin:0 0 20px;color:#6b7280;font-size:14px;line-height:1.45}._form_10cuv_48{display:flex;flex-direction:column;gap:8px}._form_10cuv_48 label{font-size:13px;font-weight:500;color:#374151}._hint_10cuv_60{margin:0 0 8px;font-size:13px;color:#4b5563}._dev_10cuv_66{color:var(--color-link)}._error_10cuv_70{color:#b91c1c;font-size:13px;margin:0 0 12px}._divider_10cuv_76{display:flex;align-items:center;gap:12px;margin:18px 0;color:#9ca3af;font-size:12px}._divider_10cuv_76:before,._divider_10cuv_76:after{content:"";flex:1;height:1px;background:#e8e4dc}._apple_10cuv_93{width:100%;border:1px solid var(--color-primary-ink);background:var(--color-primary-ink);color:#fff;border-radius:10px;padding:11px 14px;font-weight:600;cursor:pointer}._apple_10cuv_93:disabled{opacity:.6;cursor:not-allowed}._linkBtn_10cuv_109{background:none;border:none;color:var(--color-link);font-size:13px;cursor:pointer;padding:8px 0 0;text-align:left}._footnote_10cuv_119{margin:12px 0 0;font-size:11px;color:#9ca3af;line-height:1.4}._page_1rhr3_1{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#f8f6f1}._card_1rhr3_10{width:100%;max-width:480px;background:#fff;border:1px solid #e8e4dc;border-radius:16px;padding:28px 24px}._card_1rhr3_10 h1{margin:0 0 10px;font-size:1.4rem;color:var(--color-primary-ink)}._progress_1rhr3_25{margin:0 0 16px;font-size:12px;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}._lede_1rhr3_33{margin:0 0 20px;color:#4b5563;font-size:14px;line-height:1.5}._choices_1rhr3_40{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}._choice_1rhr3_40{text-align:left;border:1px solid #e8e4dc;background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px}._choice_1rhr3_40 strong{font-size:14px;color:var(--color-primary-ink)}._choice_1rhr3_40 span{font-size:12px;color:#6b7280}._choiceOn_1rhr3_69{border-color:var(--color-primary);background:var(--color-primary-subtle)}._row_1rhr3_74{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}._ghost_1rhr3_81{border:1px solid #e8e4dc;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer}._label_1rhr3_89{margin:12px 0 6px;font-size:13px;font-weight:500}._error_1rhr3_95{color:#b91c1c;font-size:13px}._page_128h0_1{padding-bottom:24px}._muted_128h0_5{color:#6b7280;font-size:13px;margin:6px 0 16px}._inviteCard_128h0_11{margin-bottom:16px}._codeRow_128h0_15{display:flex;flex-wrap:wrap;gap:10px;align-items:center}._code_128h0_15{font-size:1.25rem;letter-spacing:.12em;font-weight:700;color:var(--color-primary-ink);background:var(--color-primary-subtle);border:1px solid var(--color-border);border-radius:10px;padding:10px 14px}._roster_128h0_33{display:flex;flex-direction:column;gap:10px}._rowCard_128h0_39{padding:0;overflow:hidden}._rowHead_128h0_44{width:100%;display:flex;align-items:flex-start;gap:10px;text-align:left;border:none;background:transparent;padding:14px 16px;cursor:pointer}._chevron_128h0_56{color:var(--color-primary);font-size:14px;line-height:1.4}._rowMain_128h0_62{display:flex;flex-direction:column;gap:2px}._expand_128h0_68{border-top:1px solid #efe9df;padding:12px 16px 16px}._expand_128h0_68 h4{margin:0 0 8px;font-size:13px;color:#374151}._dayList_128h0_79{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}._dayList_128h0_79 li{display:flex;justify-content:space-between;gap:12px;font-size:13px;flex-wrap:wrap}._actions_128h0_96{display:flex;flex-wrap:wrap;gap:8px}._ghost_128h0_102{border:1px solid #e8e4dc;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer;font-size:13px}._note_128h0_111{margin:12px 0 0;padding:10px 12px;background:#f8f6f1;border-radius:10px;font-size:13px;line-height:1.45;color:#374151}._back_128h0_121{border:none;background:none;color:var(--color-link);cursor:pointer;padding:0;margin-bottom:8px;font-size:14px}._tableWrap_128h0_131{overflow-x:auto;border:1px solid #e8e4dc;border-radius:12px;background:#fff}._table_128h0_131{width:100%;border-collapse:collapse;font-size:13px}._table_128h0_131 th,._table_128h0_131 td{padding:8px 10px;border-bottom:1px solid #f0ebe3;text-align:left}._table_128h0_131 th{background:#f8f6f1;font-weight:600;color:#4b5563}*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #1d4ed8;--color-primary-hover: #1e40af;--color-primary-ink: #1e3a8a;--color-primary-subtle: #eff6ff;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-secondary-bg: #f3f4f6;--color-secondary-bg-hover: #e5e7eb;--color-secondary-border: #e5e7eb;--color-link: #2563eb;--color-success: #059669;--color-bg: #f3ede3;--color-surface: #faf9f7;--color-surface-border: #e8e4dc;--color-input-border: #d1d5db;--color-border: #e5e7eb;--color-divider: #f3f4f6;--color-divider-warm: #f0ede8;--color-divider-strong: #e6e1d7;--color-text: #1a1a1a;--color-text-strong: #111827;--color-text-body: #374151;--color-text-muted: #6b7280;--color-text-faint: #6b7280;--status-hit-bg: #d1fae5;--status-hit-border: #6ee7b7;--status-hit-text: #065f46;--status-partial-bg: #fef3c7;--status-partial-border: #fcd34d;--status-partial-text: #92400e;--status-miss-bg: #fee2e2;--status-miss-border: #fca5a5;--status-miss-text: #991b1b;--status-none-bg: #f3f4f6;--status-none-border: #e5e7eb;--status-none-text: #6b7280;--status-upcoming-bg: #eff6ff;--status-upcoming-border: #bfdbfe;--status-upcoming-text: #1d4ed8;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "DM Serif Display", Georgia, serif;--text-page-title: 32px;--text-section: 20px;--text-subsection: 16px;--text-body: 14px;--text-secondary: 13px;--text-caption: 12px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-14: 14px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--touch-target: 44px;--shadow-card: 0 1px 3px rgba(0,0,0,.05);--shadow-pop: 0 10px 28px rgba(0,0,0,.08);--shadow-modal: 0 20px 60px rgba(0,0,0,.2);--dur-fast: .15s;--dur-dropdown: .2s;--dur-collapse: .22s;--dur-open: .3s;--dur-swipe: .56s;--dur-close: .2s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--enter-offset: 6px;--enter-lift: 4px;--enter-scale: .98;--reveal-offset: 14px;--reveal-dur: .48s;--grow-dur: .36s;--bd-row-offset: 6px;--bd-stagger-open: 48ms;--bd-stagger-close: 24ms;--bd-row-dur: .22s;--bd-panel-border: #e6e1d7;--bd-divider: #ece7dd;--color-ring-track: #dbeafe}html[data-notebook-day=past],html[data-notebook-day=future]{--color-bg: #2a2c2e;--color-surface: #3a3d40;--color-surface-border: #4a4e52;--color-input-border: #5b6168;--color-border: #52525b;--color-divider: #3f4246;--color-divider-warm: #3f4246;--color-divider-strong: #52525b;--color-text: #f4f4f5;--color-text-strong: #fafafa;--color-text-body: #e4e4e7;--color-text-muted: #c4c4c8;--color-text-faint: #a1a1aa;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-ink: #dbeafe;--color-primary-subtle: #1e3a5f;--color-link: #93c5fd;--color-success: #8fbfa8;--color-secondary-bg: #3f4246;--color-secondary-bg-hover: #4a4e52;--color-secondary-border: #52525b;--color-ring-track: #4a4e52;--status-hit-bg: #2f3d38;--status-hit-border: #4a6b5c;--status-hit-text: #8fbfa8;--bd-panel-border: #52525b;--bd-divider: #3f4246;--shadow-card: 0 1px 3px rgba(0, 0, 0, .28);--shadow-pop: 0 10px 28px rgba(0, 0, 0, .35)}html[data-notebook-day=future]{--color-bg: #2c2a28;--color-surface: #3d3a37;--color-surface-border: #524e4a;--color-divider: #42403c;--color-divider-warm: #42403c}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-close) var(--ease-in)}.collapse.is-open{grid-template-rows:1fr;transition:grid-template-rows var(--dur-open) var(--ease-out)}.collapse__inner{overflow:hidden;min-height:0;opacity:0;transition:opacity var(--dur-close) var(--ease-in)}.collapse.is-open>.collapse__inner{opacity:1;transition:opacity var(--dur-open) var(--ease-out)}.chevron{display:inline-block;transition:transform var(--dur-fast) var(--ease-out)}.chevron.is-open{transform:rotate(180deg)}.reveal{opacity:0;transform:translateY(var(--reveal-offset));transition:opacity var(--reveal-dur) var(--ease-out),transform var(--reveal-dur) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:none}.grow-reveal{display:grid;grid-template-rows:0fr;min-height:1px;transition:grid-template-rows var(--grow-dur) var(--ease-out)}.grow-reveal.is-open{grid-template-rows:1fr;min-height:0}.grow-reveal__inner{overflow:hidden;min-height:0;opacity:0;transform:translateY(var(--reveal-offset));transition:opacity var(--grow-dur) var(--ease-out),transform var(--grow-dur) var(--ease-out)}.grow-reveal.is-open>.grow-reveal__inner{opacity:1;transform:none}@keyframes grow-slide-right{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:none}}@keyframes grow-slide-left{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:none}}.grow-reveal.slide-right,.grow-reveal.slide-left{overflow:hidden}.grow-reveal.slide-right>.grow-reveal__inner,.grow-reveal.slide-left>.grow-reveal__inner{animation:grow-slide-right var(--grow-dur) var(--ease-out) both;animation-delay:var(--slide-delay, 0ms)}.grow-reveal.slide-left>.grow-reveal__inner{animation-name:grow-slide-left}@media (prefers-reduced-motion: reduce){.grow-reveal,.grow-reveal__inner{transition:none}.grow-reveal.slide-right>.grow-reveal__inner,.grow-reveal.slide-left>.grow-reveal__inner{animation:none}}@keyframes ghost-slot-in{0%{opacity:0}to{opacity:1}}.ghost-slots{flex:1;display:flex;flex-direction:column;gap:var(--space-10);padding-top:var(--space-10)}.ghost-slot{flex:1;min-height:52px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1.5px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-faint);font-size:16px;cursor:pointer;-webkit-user-select:none;user-select:none;animation:ghost-slot-in var(--grow-dur) var(--ease-out) both;animation-delay:var(--slide-delay, 0ms);transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ghost-slot:hover,.ghost-slot:focus-visible{border-color:var(--color-secondary-border);color:var(--color-primary);background:#1d4ed80a}@media (prefers-reduced-motion: reduce){.ghost-slot{animation:none}}.bd-table{position:relative}.bd-lanes{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;column-gap:0;z-index:0;pointer-events:none}.bd-panel{grid-column:3 / -1;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--bd-panel-border);border-radius:8px;overflow:hidden;opacity:0;transition:opacity var(--dur-close) var(--ease-in)}.bd.is-open .bd-panel{opacity:1;transition:opacity var(--dur-open) var(--ease-out)}.bd-seg{position:relative;background:var(--lane-tint)}.bd-seg__div{position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--bd-divider);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-close) var(--ease-in)}.bd.is-open .bd-seg__div{transform:scaleY(1);transition:transform clamp(.26s,calc(var(--rn) * 42ms),.64s) var(--ease-out)}.bd-head,.bd-row{position:relative;z-index:1;opacity:0;transform:translateY(var(--bd-row-offset));transition:opacity var(--dur-close) var(--ease-in),transform var(--dur-close) var(--ease-in);transition-delay:calc(min(var(--rn) - 1 - var(--i),8) * var(--bd-stagger-close))}.bd.is-open .bd-head,.bd.is-open .bd-row{opacity:1;transform:none;transition:opacity var(--bd-row-dur) var(--ease-out),transform var(--bd-row-dur) var(--ease-out);transition-delay:calc(min(var(--i),8) * var(--bd-stagger-open))}.bd-h{font-size:var(--text-secondary);font-weight:800;letter-spacing:.02em;text-align:center}.bd-val{text-align:center;font-variant-numeric:tabular-nums}.bd-val--cell{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:7px 0}@media (max-width: 560px){.bd-h{font-size:12px;letter-spacing:0}}@media (prefers-reduced-motion: reduce){.collapse,.collapse.is-open{transition:none}.collapse__inner,.collapse.is-open>.collapse__inner{transition:opacity .01ms}.chevron{transition:none}.bd-head,.bd-row,.bd.is-open .bd-head,.bd.is-open .bd-row{opacity:1;transform:none;transition:opacity .01ms;transition-delay:0ms}.bd-panel,.bd.is-open .bd-panel{opacity:1;transition:none}.bd-seg__div,.bd.is-open .bd-seg__div{transform:scaleY(1);transition:none}.reveal,.reveal.is-visible{opacity:1;transform:none;transition:none;transition-delay:0ms}}.font-display{font-family:var(--font-serif)}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);overflow-x:clip;transition:background-color var(--dur-open) var(--ease-out),color var(--dur-open) var(--ease-out)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;border-radius:var(--radius-sm);padding:var(--space-10) var(--space-16);font-size:var(--text-body);font-weight:500;min-height:var(--touch-target);transition:filter var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}@media (hover: hover){button:not(:disabled):hover,[role=button]:hover{filter:brightness(.97)}}button:not(:disabled):active,[role=button]:active{transform:scale(.97)}@media (prefers-reduced-motion: reduce){button:not(:disabled):active,[role=button]:active{transform:none}}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-secondary{background:var(--color-secondary-bg);color:var(--color-primary);border:1px solid var(--color-secondary-border)}.btn-secondary:hover{background:var(--color-secondary-bg-hover)}.btn-primary,.btn-secondary,.btn-danger,.btn-ai{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);border-radius:var(--radius-sm);padding:var(--space-10) var(--space-16);font-size:var(--text-body);font-weight:500;min-height:var(--touch-target);line-height:1.1;white-space:nowrap;text-decoration:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-ai:disabled{opacity:.6;cursor:not-allowed}.btn-ai{background:var(--color-primary-subtle);color:var(--color-primary);border:1px solid var(--color-border);box-shadow:none;font-weight:600}.btn-ai:hover{background:#dbeafe;border-color:var(--color-border);box-shadow:none}html[data-notebook-day] .btn-ai{background:var(--color-primary-subtle);color:var(--color-text-strong);border-color:var(--color-secondary-border);box-shadow:none}html[data-notebook-day] .btn-ai:hover:not(:disabled){background:var(--color-secondary-bg-hover);border-color:var(--color-secondary-border);box-shadow:none}html[data-notebook-day] .btn-secondary{color:var(--color-text-strong)}.btn-primary,.btn-secondary,.btn-danger,.btn-ai{position:relative;overflow:hidden}.btn-primary:after,.btn-secondary:after,.btn-danger:after,.btn-ai:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#ffffff4d,#ffffff1a);transform:scaleX(0);transform-origin:left center;opacity:0;transition:opacity .3s var(--ease-out),transform 0s .3s}.btn-secondary:after,.btn-ai:after{background:linear-gradient(90deg,#1d4ed824,#1d4ed80d)}.btn-primary:active:not(:disabled):after,.btn-secondary:active:not(:disabled):after,.btn-danger:active:not(:disabled):after,.btn-ai:active:not(:disabled):after{transform:scaleX(1);opacity:1;transition:transform .35s var(--ease-out),opacity 0s}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.btn-danger:hover:not(:disabled),.btn-ai:hover:not(:disabled){transform:translateY(-1px)}.btn-primary:hover:not(:disabled),.btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #1d4ed838}.btn-secondary:hover:not(:disabled){box-shadow:0 3px 8px #0f172a1a}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-danger:active:not(:disabled),.btn-ai:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:none;transition-duration:60ms}@media (prefers-reduced-motion: reduce){.btn-primary,.btn-secondary,.btn-danger,.btn-ai,.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.btn-ai:hover,.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-ai:active{transition:none;transform:none}.btn-primary:after,.btn-secondary:after,.btn-danger:after,.btn-ai:after{display:none}}input,select,textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-sm);padding:var(--space-10) var(--space-12);font-size:var(--text-body);width:100%;min-height:var(--touch-target);background:var(--color-surface);color:var(--color-text)}input[type=checkbox],input[type=radio]{width:auto;min-height:0;padding:0;border:none;border-radius:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);border-color:transparent}label{display:block;font-size:var(--text-secondary);font-weight:500;margin-bottom:var(--space-4);color:var(--color-text-body)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-20);box-shadow:var(--shadow-card);border:1px solid var(--color-surface-border)}@media (max-width: 480px){.card{padding:var(--space-14)}}.page-title{margin:0;font-family:var(--font-serif);font-size:var(--text-page-title);font-weight:400;color:var(--color-primary-ink);letter-spacing:-.02em;line-height:1.1}.section-title{margin:0;font-family:var(--font-serif);font-size:var(--text-section);font-weight:400;color:var(--color-primary-ink)}.subsection-title{margin:0;font-family:var(--font-serif);font-size:var(--text-subsection);font-weight:400;color:var(--color-primary-ink)}.page-subtitle{margin:0 0 var(--space-20);font-size:var(--text-body);color:var(--color-text-muted)}.macro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-12)}@media (min-width: 640px){.macro-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1000px){.macro-grid{gap:var(--space-16)}}.macro-ring-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:18px var(--space-14);border:1px solid var(--color-surface-border);display:flex;align-items:center;gap:var(--space-12);box-shadow:0 1px 3px #0000000a;transition:background var(--dur-open) var(--ease-out),border-color var(--dur-open) var(--ease-out)}@media (min-width: 1000px){.macro-ring-card{padding:var(--space-24) var(--space-20);gap:var(--space-16)}}@media (min-width: 1280px){.macro-ring-card{padding:26px var(--space-24);gap:var(--space-20)}}@media (max-width: 479px){.macro-ring-card{flex-direction:column;align-items:flex-start;gap:var(--space-8);padding:var(--space-14) var(--space-12)}}.error{color:var(--color-danger);font-size:var(--text-secondary);margin-top:var(--space-4)}.empty-state{text-align:center;color:var(--color-text-faint);padding:var(--space-32) 0;font-size:var(--text-body)}.section-label{font-size:11px;font-weight:600;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.07em;margin:0 0 var(--space-10)}input.scan-field-missing{border-style:dashed;border-color:#94a3b8;background:#f8fafc}input.scan-field-review{border-color:#d97706;background:#fffbeb}dialog{border:none;border-radius:var(--radius-lg);padding:var(--space-24);width:min(480px,90vw);box-shadow:var(--shadow-modal)}dialog::backdrop{background:#0006}dialog[open]{animation:dialog-enter var(--dur-open) var(--ease-out)}dialog[open]::backdrop{animation:backdrop-enter var(--dur-open) ease}@keyframes dialog-enter{0%{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes backdrop-enter{0%{background:#0000}}.modal-close-x{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;margin:-6px -6px 0 0;border:none;background:transparent;border-radius:50%;color:var(--color-text-muted);font-size:24px;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.modal-close-x:hover,.modal-close-x:focus-visible{background:var(--color-secondary-bg);color:var(--color-primary)}.panel-in{animation:panel-in var(--dur-open) var(--ease-out) backwards}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}}.chart-wipe{animation:chart-wipe 2.1s cubic-bezier(.4,0,.2,1) both}@keyframes chart-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media (prefers-reduced-motion: reduce){.chart-wipe{animation:none}}.dropdown-in{animation:dropdown-in var(--dur-dropdown) var(--ease-out)}@keyframes dropdown-in{0%{opacity:0;transform:scaleY(.85)}}.menu-pop{display:flex;flex-direction:column;gap:2px;padding:6px;background:#fff;border:1px solid var(--color-surface-border);border-radius:12px;box-shadow:0 10px 28px #0f172a29}.menu-pop-item{display:block;width:100%;text-align:left;border:none;background:transparent;padding:9px 12px;border-radius:8px;font-size:13px;color:#4b5563;cursor:pointer;min-height:0;white-space:nowrap;transition:background .12s,color .12s}.menu-pop-item:hover{background:var(--color-primary-subtle);color:var(--color-primary-ink)}.menu-pop-item.is-selected{background:var(--color-secondary-bg);color:var(--color-primary);font-weight:600}.menu-pop-item.is-danger{color:var(--color-danger)}.menu-pop-item.is-danger:hover{background:#fef2f2;color:var(--color-danger-hover)}.meal-row-menu-btn{padding:6px clamp(10px,1vw,12px);font-size:clamp(14px,1vw,16px);min-height:clamp(32px,2.4vw,38px);line-height:1;letter-spacing:.04em}.meal-row-collapse-btn{display:inline-flex;align-items:center;justify-content:center;letter-spacing:0}.meal-row-collapse-icon{display:block}@media (prefers-reduced-motion: reduce){dialog[open],dialog[open]::backdrop,.panel-in,.dropdown-in{animation:none}}@media (max-width: 480px){dialog{padding:var(--space-16);max-height:90vh;overflow-y:auto}}.cal-day{padding:8px;transition:filter .1s ease,box-shadow .1s ease,transform .1s ease}.cal-day:hover{filter:brightness(.93);box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.cal-day:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.cal-day--outside{display:flex;border-radius:10px;border:1px dashed #e2ddd4;background:transparent;cursor:default;opacity:.55}.cal-day--outside:hover{filter:none;box-shadow:none;transform:none}.cal-grid{gap:8px}.cal-day-missed{font-size:10px;line-height:1.15;opacity:.9;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.cal-day-note{font-size:10px;color:var(--color-text-faint);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width: 600px){.cal-grid{gap:4px}.cal-day{padding:5px}.cal-day-missed{font-size:9px;line-height:1.1}.cal-day-note{font-size:9px}}@keyframes spin{to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-primary.btn-loading:disabled,.btn-secondary.btn-loading:disabled,.btn-danger.btn-loading:disabled,.btn-ai.btn-loading:disabled{opacity:.92;cursor:progress}@keyframes btn-loading-sheen{0%{transform:translate(-100%)}to{transform:translate(100%)}}.btn-loading:after{opacity:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:btn-loading-sheen 1.4s var(--ease-out) infinite;transition:none}.btn-secondary.btn-loading:after,.btn-ai.btn-loading:after{background:linear-gradient(90deg,transparent,rgba(29,78,216,.1),transparent)}@media (prefers-reduced-motion: reduce){.btn-loading:after{animation:none;opacity:0}}@keyframes voice-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.5}}.voice-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--color-danger);animation:voice-pulse 1.2s ease-in-out infinite}.btn-secondary.is-recording{background:#fef2f2;border-color:#fca5a5;color:var(--color-danger)}.btn-secondary.is-recording:hover{background:#fee2e2}@media (prefers-reduced-motion: reduce){.voice-dot{animation:none}}.prep-panel{margin-top:12px;padding:var(--space-14);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.prep-panel__title{margin:0;font-size:15px;font-weight:400;color:var(--color-primary-ink);font-family:"DM Serif Display",Georgia,serif}.prep-split{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;width:100%;min-height:var(--touch-target);padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;font-size:13px;color:var(--color-text-body);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.prep-split:hover{border-color:var(--color-secondary-border);box-shadow:0 2px 8px #1d4ed81a;transform:translateY(-1px)}.prep-split:active{transform:scale(.98);box-shadow:none;transition-duration:60ms}.prep-split.is-selected{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);background:var(--color-primary-subtle)}.prep-split__count{font-weight:600;white-space:nowrap}.prep-split.is-selected .prep-split__count{font-weight:700;color:var(--color-primary)}.prep-split__macros{font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.prep-split.is-selected .prep-split__macros{color:var(--color-text-strong)}.prep-badge{margin-top:8px;padding:6px 10px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-primary);font-weight:600}.prep-badge__hint{display:block;margin-top:2px;font-weight:400;font-size:12px;color:var(--color-primary-ink)}@media (prefers-reduced-motion: reduce){.prep-split,.prep-split:hover,.prep-split:active{transform:none}}.slot-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden}.slot-list__head,.slot-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 64px 36px;gap:var(--space-8);align-items:center;padding:var(--space-6) var(--space-10)}.slot-list__head{font-size:var(--text-caption);font-weight:600;color:var(--color-text-muted);background:#f9fafb;border-bottom:1px solid var(--color-border);padding-block:var(--space-4)}.slot-list__head>span+span{padding-left:var(--space-8)}.slot-list__line+.slot-list__line,.slot-row+.slot-row{border-top:1px solid var(--color-divider-strong)}.slot-row{transition:background var(--dur-fast) var(--ease-out)}.slot-row:hover,.slot-row:focus-within{background:#f3f4f6}.slot-row__name{min-width:0;font-size:var(--text-secondary);font-weight:600;color:var(--color-text-strong);overflow:hidden;transition:color var(--dur-fast) var(--ease-out)}.slot-row:hover .slot-row__name,.slot-row:focus-within .slot-row__name{color:var(--color-primary-ink)}.slot-row input,.slot-row select{min-height:38px;padding:var(--space-6) var(--space-8);font-size:var(--text-secondary)}.slot-row input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.slot-row input[type=number]::-webkit-outer-spin-button,.slot-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slot-row__unit-static{font-size:var(--text-secondary);color:var(--color-text-body);padding-left:var(--space-2)}.slot-row__remove{width:32px;height:32px;min-height:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:14px;line-height:1;cursor:pointer}.slot-row__remove:hover,.slot-row__remove:focus-visible{background:#fee2e2;color:#991b1b}.slot-list__subs{margin:0 var(--space-10) var(--space-8);padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;font-size:12px}@media (hover: none){.slot-row:hover{background:#fff}.slot-row:hover .slot-row__name{color:var(--color-text-strong)}.slot-row__remove:hover{background:transparent;color:var(--color-text-muted)}}@media (max-width: 480px){.slot-list__head,.slot-row{grid-template-columns:minmax(0,1fr) 68px 56px 36px;gap:var(--space-6);padding-inline:var(--space-8)}.slot-row input,.slot-row select{min-height:var(--touch-target)}.slot-row__remove{width:36px;height:36px}}.logging-style-group{display:flex;gap:var(--space-12);flex-wrap:wrap}.logging-style-option{flex:1;min-width:180px;display:flex;align-items:flex-start;gap:var(--space-10);padding:var(--space-12) var(--space-14);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:0;font-size:inherit;font-weight:inherit;color:inherit}.logging-style-option.is-selected{border:2px solid var(--color-primary);background:var(--color-primary-subtle)}.logging-style-option input[type=radio]{width:auto;flex-shrink:0;margin-top:3px;padding:0;border:none;border-radius:0;accent-color:var(--color-primary)}.logging-style-option input[type=radio]:focus{outline:none}.logging-style-text{flex:1;min-width:0}.logging-style-title{font-weight:600;font-size:var(--text-body);color:var(--color-text-strong);margin-bottom:3px}.logging-style-option.is-selected .logging-style-title{font-weight:700;color:var(--color-primary-ink)}.logging-style-description{font-size:var(--text-caption);color:var(--color-text-muted);margin:0 0 var(--space-2)}.logging-style-examples{font-size:11px;color:var(--color-text-faint);margin:0}.app-main{max-width:1152px;margin:0 auto;padding:var(--space-24) var(--space-20)}@media (min-width: 1000px){.app-main--wide{max-width:1240px}}@media (min-width: 1280px){.app-main--wide{max-width:1360px;padding-left:var(--space-32);padding-right:var(--space-32)}}@media (min-width: 1536px){.app-main--wide{max-width:1440px}}@media (max-width: 768px){.app-main{padding-bottom:80px}}@media (max-width: 480px){.app-main{padding:var(--space-16) var(--space-12);padding-bottom:80px}}.mb-line{border:1px solid var(--color-surface-border);border-radius:var(--radius-md);padding:12px 14px;background:#fff}.mb-line-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 80px auto;gap:8px;align-items:end}.mb-amount-unit{display:contents}.mb-line-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.mb-line-title{font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.mb-trash{display:none}@media (max-width: 699px){.mb-line{display:flex;flex-direction:column;padding:12px}.mb-line-header{order:0}.mb-line-title{font-size:14px;font-weight:600;color:var(--color-text-strong);text-transform:none;letter-spacing:normal}.mb-trash{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:0;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-faint);flex-shrink:0}.mb-trash:hover{color:var(--color-danger);background:#fef2f2}.mb-trash:disabled{opacity:.4;cursor:not-allowed}.mb-line-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;order:1}.mb-field-ingredient{width:100%}.mb-amount-unit{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;width:100%}.mb-remove{display:none}.mb-macro{order:2}}.wizard-steps{display:flex;align-items:flex-start;margin-bottom:20px}.wizard-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:0;padding:6px 4px;background:none;border:none;font-family:inherit;cursor:default}.wizard-step:disabled{opacity:1;cursor:default}.wizard-step.is-clickable{cursor:pointer}.wizard-step:before,.wizard-step:after{content:"";position:absolute;top:22px;height:2px;width:calc(50% - 22px);background:var(--color-border)}.wizard-step:before{left:0}.wizard-step:after{right:0}.wizard-step:first-child:before,.wizard-step:last-child:after{display:none}.wizard-step.is-done:before,.wizard-step.is-done:after,.wizard-step.is-current:before{background:var(--color-primary)}.wizard-step-num{width:34px;height:34px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;background:var(--color-divider);color:var(--color-text-muted);border:2px solid transparent;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.wizard-step.is-current .wizard-step-num{background:var(--color-primary);color:#fff}.wizard-step.is-done .wizard-step-num{background:var(--color-secondary-bg);color:var(--color-primary);border-color:var(--color-secondary-border)}.wizard-step.is-clickable:hover .wizard-step-num{background:var(--color-secondary-bg-hover)}.wizard-step-label{font-size:12px;font-weight:600;color:var(--color-text-muted);line-height:1.3;text-align:center}.wizard-step.is-current .wizard-step-label{color:var(--color-primary-ink)}.wizard-detour-crumb{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.wizard-detour-back{min-height:var(--touch-target);padding:8px 16px;background:var(--color-secondary-bg);border:1px solid var(--color-secondary-border);border-radius:var(--radius-sm);color:var(--color-primary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}.wizard-detour-back:hover{background:var(--color-secondary-bg-hover)}.wizard-detour-label{font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.wizard-nav{display:flex;gap:10px;margin-bottom:24px}.wizard-nav .wizard-back{flex:0 0 auto;min-width:110px;min-height:52px;font-size:15px;font-weight:700;border-radius:12px}.wizard-nav .wizard-continue{flex:1;min-height:52px;font-size:15px;font-weight:700;border-radius:12px;letter-spacing:-.01em}.adh-detail-cards,.adh-hist-cards{display:none}@media (max-width: 480px){.adh-detail-table,.adh-hist-table{display:none}.adh-detail-cards,.adh-hist-cards{display:block}}.adh-detail-cat{padding:10px 8px;border-bottom:1px solid var(--color-divider);border-radius:var(--radius-sm)}.adh-detail-cat:last-child{border-bottom:none}.adh-detail-cat-name{font-weight:600;color:var(--color-text-strong);margin-bottom:4px}.adh-detail-cat-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--color-text-body)}.adh-detail-cat-row span:first-child{color:var(--color-text-muted)}.adh-hist-card{padding:10px 0;border-bottom:1px solid var(--color-divider);cursor:pointer}.adh-hist-card:last-child{border-bottom:none}.adh-hist-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.adh-hist-card-date{font-size:13px;font-weight:600;color:var(--color-text-strong)}.adh-hist-card-missed{font-size:12px;color:var(--color-text-muted);margin-top:4px}.goals-cards{display:none}@media (max-width: 768px){.goals-table-wrap{display:none}.goals-cards{display:block}}.goals-day-card{padding:14px 0;border-bottom:1px solid var(--color-divider)}.goals-day-card:first-child{padding-top:0}.goals-day-card:last-child{padding-bottom:0;border-bottom:none}.goals-day-title{margin:0 0 10px;font-family:var(--font-serif);font-size:18px;font-weight:400;color:var(--color-primary-ink)}.goals-macro{margin-bottom:12px}.goals-macro:last-child{margin-bottom:0}.goals-macro-label{display:block;font-size:13px;font-weight:500;color:var(--color-text-body);margin-bottom:6px}.goals-minmax{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recipe-list{display:flex;flex-direction:column;margin:0 calc(var(--space-20) * -1)}.recipe-list .ghost-slots{padding:0 var(--space-20)}@media (max-width: 480px){.recipe-list{margin:0 calc(var(--space-14) * -1)}.recipe-list .ghost-slots{padding:0 var(--space-14)}}.recipe-card{padding:14px var(--space-20);border-bottom:1px solid var(--color-divider-strong);min-width:0;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.recipe-card:last-child{border-bottom:none}.recipe-card:hover,.recipe-card.is-open{background:var(--color-divider-warm)}.recipe-card:hover{box-shadow:inset 0 0 0 1px var(--color-surface-border)}@media (hover: none){.recipe-card:hover{background:transparent;box-shadow:none}.recipe-card.is-open{background:var(--color-divider-warm)}}@media (max-width: 480px){.recipe-card{padding:14px var(--space-14)}}.recipe-card-top{display:flex;flex-direction:column;gap:10px;min-width:0}.recipe-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.recipe-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;min-width:0}.recipe-card-name{font-size:15px;overflow-wrap:anywhere}.name-uniform{text-transform:uppercase;letter-spacing:.045em;font-weight:600}.recipe-card-macros{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--color-text-body)}.recipe-card-actions{display:flex;flex-wrap:wrap;gap:8px}@media (min-width: 700px){.recipe-card-top{flex-direction:row;align-items:flex-start;gap:12px}.recipe-card-main{flex:1}.recipe-card-macros{flex-shrink:0}.recipe-card-actions{flex-shrink:0;justify-content:flex-end}}.recipe-card-detail{margin-top:12px;padding:12px;background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-md)}.recipe-card-detail__caveat{margin:0 0 10px;font-size:12px;color:var(--color-text-muted)}.recipe-card-detail__total{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-divider-strong);font-size:13px;color:var(--color-text-body)}.ingredient-card{display:flex;flex-direction:column;gap:10px;padding:12px var(--space-12);margin:0 calc(var(--space-12) * -1);border-bottom:1px solid var(--color-divider);min-width:0;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.ingredient-card:hover{background:var(--color-divider-warm);box-shadow:inset 0 0 0 1px var(--color-surface-border)}@media (hover: none){.ingredient-card:hover{background:transparent;box-shadow:none}}.ingredient-card-main{min-width:0}.ingredient-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.ingredient-card-name{font-size:15px;font-weight:600;overflow-wrap:anywhere}.ingredient-card-meta{margin-top:4px;font-size:12px;color:var(--color-text-muted);overflow-wrap:anywhere}.ingredient-card-actions{display:flex;flex-wrap:wrap;gap:8px}@media (min-width: 700px){.ingredient-card{flex-direction:row;align-items:center;gap:12px}.ingredient-card-main{flex:1}.ingredient-card-actions{flex-shrink:0;justify-content:flex-end}}.day-off-banner-slot{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-open) var(--ease-out),margin-bottom var(--dur-open) var(--ease-out);margin-bottom:0}.day-off-banner-slot.is-open{grid-template-rows:1fr;margin-bottom:16px}.day-off-banner-slot-inner{overflow:hidden;min-height:0}.day-off-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:14px;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity var(--dur-open) var(--ease-out),transform var(--dur-open) var(--ease-out),background var(--dur-open) var(--ease-out),border-color var(--dur-open) var(--ease-out),color var(--dur-open) var(--ease-out)}.day-off-banner--future{background:var(--color-primary-subtle);border-color:#bfdbfe;color:var(--color-primary-ink)}html[data-notebook-day] .day-off-banner{background:#3d4248;border-color:#5b6168;color:#f4f4f5}html[data-notebook-day=future] .day-off-banner,html[data-notebook-day] .day-off-banner--future{background:#42403e;border-color:#5c5752;color:#f4f4f5}.day-off-banner-slot.is-open .day-off-banner{opacity:1;transform:none;pointer-events:auto}.day-off-banner-copy{flex:1 1 200px}.day-off-banner-copy span{color:#64748b}.day-off-banner--future .day-off-banner-copy span{color:#6b7280}html[data-notebook-day] .day-off-banner-copy span,html[data-notebook-day] .day-off-banner--future .day-off-banner-copy span{color:#c4c4c8}.day-off-banner-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media (prefers-reduced-motion: reduce){.day-off-banner-slot,.day-off-banner{transition:none}.day-off-banner{transform:none}}@keyframes day-slide-fwd{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes day-slide-back{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}.dashboard-day-body--fwd{animation:day-slide-fwd var(--dur-open) var(--ease-out)}.dashboard-day-body--back{animation:day-slide-back var(--dur-open) var(--ease-out)}.day-nav-btn{flex-shrink:0;width:48px;height:48px;padding:0;border-radius:12px;border:1px solid var(--color-surface-border);background:var(--color-surface);font-size:22px;color:var(--color-primary-ink);box-shadow:var(--shadow-card)}@media (hover: hover){.day-nav-btn:hover:not(:disabled){filter:none;background:var(--color-secondary-bg);border-color:var(--color-secondary-border)}}.day-nav-btn:active:not(:disabled){transform:scale(.96)}.stepper-btn{width:26px;height:26px;min-height:26px;padding:0;border-radius:6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-body);font-size:15px;line-height:1;flex-shrink:0}@media (hover: hover){.stepper-btn:hover:not(:disabled){filter:none;background:var(--color-divider-warm)}}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.supp-chip{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;border-radius:12px;border:1px solid var(--color-surface-border);background:var(--color-surface);min-height:44px;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.supp-chip.is-taken{background:var(--status-hit-bg);border-color:var(--status-hit-border)}.supp-chip__toggle{display:flex;align-items:center;gap:9px;background:none;border:none;padding:0;min-height:0;cursor:pointer;font:inherit;text-align:left}.supp-chip__check{flex-shrink:0;width:20px;height:20px;border-radius:6px;border:2px solid var(--color-border);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.supp-chip.is-taken .supp-chip__check{border-color:var(--color-success);background:var(--color-success)}.plan-tabs{display:flex;gap:8px;flex-wrap:wrap}.plan-tab{padding:8px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-body);font-size:13px;font-weight:700;text-decoration:none;min-height:var(--touch-target);display:inline-flex;align-items:center;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}@media (hover: hover){.plan-tab:hover{filter:none;background:var(--color-secondary-bg);border-color:var(--color-secondary-border);color:var(--color-primary)}}.plan-tab:active{transform:scale(.97)}.plan-tab.is-active{background:var(--color-text-strong);color:var(--color-surface);border-color:var(--color-text-strong)}@keyframes library-outlet-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.library-outlet{animation:library-outlet-in var(--dur-open) var(--ease-out)}@media (prefers-reduced-motion: reduce){.dashboard-day-body--fwd,.dashboard-day-body--back,.library-outlet{animation:none}body{transition:none}}.paste-meal-btn{flex-shrink:0;animation:paste-meal-in .28s var(--ease-out, ease-out)}@keyframes paste-meal-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.paste-meal-btn{animation:none}}.meal-name{font-family:var(--font-serif);font-weight:400;font-size:clamp(19px,1.5vw,22px);line-height:1.25;letter-spacing:-.01em;color:var(--color-primary-ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.meal-macros{display:flex;flex-wrap:nowrap;gap:10px;align-items:baseline;margin-top:clamp(8px,1vw,12px);font-size:clamp(13px,1vw,15px);color:var(--color-text-muted);white-space:nowrap;overflow:hidden}.meal-macros .meal-cal{font-weight:600;color:var(--color-text-body);flex-shrink:0}.meal-macros .meal-macro{flex-shrink:0}.meal-notes{margin-top:6px;font-size:12px;color:var(--color-text-faint);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12)}@media (max-width: 520px){.form-grid-2{grid-template-columns:1fr}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-16);align-items:start;margin-bottom:var(--space-16)}.meal-panel-right{animation:meal-panel-in-right var(--dur-swipe) var(--ease-out) both}.meal-panel-left{animation:meal-panel-in-left var(--dur-swipe) var(--ease-out) both}@keyframes meal-panel-in-right{0%{opacity:0;transform:translate(44px)}}@keyframes meal-panel-in-left{0%{opacity:0;transform:translate(-44px)}}.meal-micro-fill{animation:meal-micro-fill var(--dur-swipe) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 44ms)}@keyframes meal-micro-fill{0%{width:0;opacity:.4}}@media (prefers-reduced-motion: reduce){.meal-panel-right,.meal-panel-left,.meal-micro-fill{animation:none}}
