@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--paper:#faf8f6;--paper-warm:#f3eeea;--ink:#2c2420;--ink-soft:#4a3f38;--ink-muted:#7a6e65;--ink-faint:#a89e96;--ink-ghost:#d4cec9;--rule:#e8e2dd;--accent:#3d322b;--accent-light:#5c4f46;--accent-bg:#f5f0ec;--danger:#b33a2a;--danger-bg:#fef2f0;--warning-bg:#fdf8ee;--warning-text:#7a5220;--font-display:"Instrument Serif",Georgia,serif;--font-body:"Inter",-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--touch:44px;--radius:12px;--radius-sm:8px;--radius-xs:4px;--shadow-card:0 1px 3px rgba(44,36,32,0.04),0 4px 12px rgba(44,36,32,0.03);--shadow-elevated:0 4px 16px rgba(44,36,32,0.08),0 12px 40px rgba(44,36,32,0.04);--shadow-overlay:0 24px 80px rgba(44,36,32,0.2)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{text-size-adjust:100%;overflow-x:hidden;max-width:100vw}body{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;border:none;background:none}a{color:inherit;text-decoration:none}.land{min-height:100dvh}.land-nav{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;max-width:1200px;margin:0 auto}.land-wordmark{font-family:var(--font-display);font-size:22px;color:var(--ink)}.land-nav-link{font-size:14px;font-weight:500;color:var(--ink-muted);transition:color .15s}.land-nav-link:hover{color:var(--ink)}.land-split{display:grid;grid-template-columns:1fr;grid-gap:48px;gap:48px;max-width:1200px;margin:0 auto;padding:60px 32px 80px;align-items:center}@media (min-width:900px){.land-split{grid-template-columns:1fr 1fr;padding:100px 56px 120px;gap:80px}}.land-left{animation:landFadeUp .6s ease-out both}.land-h1{font-family:var(--font-display);font-size:clamp(40px,7vw,72px);line-height:1.1;color:var(--ink);margin-bottom:24px}.land-h1-line{display:block}.land-h1-line--2,.land-sub{color:var(--ink-muted)}.land-sub{font-size:17px;line-height:1.7;max-width:420px;margin-bottom:32px}.land-actions{display:flex;gap:12px;flex-wrap:wrap}.land-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 28px;font-size:14px;font-weight:600;border-radius:var(--radius-sm);transition:all .15s}.land-btn--primary{background:var(--accent);color:white}.land-btn--primary:hover{background:#231c18}.land-btn--primary:active{transform:scale(.97)}.land-btn--ghost{border:1.5px solid var(--rule);color:var(--ink-soft)}.land-btn--ghost:hover{border-color:var(--ink-muted);color:var(--ink)}.land-right{animation:landFadeUp .6s ease-out .2s both}.land-receipt{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow-elevated);font-family:var(--font-mono);font-size:13px;max-width:380px;margin:0 auto}@media (min-width:900px){.land-receipt{margin:0 0 0 auto}}.land-receipt-header{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--rule)}.land-receipt-date{font-family:var(--font-display);font-size:16px;color:var(--ink)}.land-receipt-meal{margin-bottom:16px}.land-receipt-meal-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.land-receipt-title{font-family:var(--font-body);font-weight:600;font-size:14px;color:var(--ink)}.land-receipt-kcal{font-weight:500;color:var(--ink)}.land-receipt-comp{display:flex;justify-content:space-between;padding:3px 0 3px 12px;color:var(--ink-muted);font-size:12px}.land-receipt-num{color:var(--ink-faint)}.land-receipt-divider{height:1px;background:var(--rule);margin:12px 0}.land-receipt-total{display:flex;justify-content:space-between;padding-top:4px;font-weight:500;color:var(--ink)}.land-receipt-total-num{font-weight:600}.land-receipt-anim--1{animation:landFadeUp .4s ease-out .5s both}.land-receipt-anim--2{animation:landFadeUp .4s ease-out .65s both}.land-receipt-anim--3{animation:landFadeUp .4s ease-out .75s both}.land-receipt-anim--4{animation:landFadeUp .4s ease-out .85s both}.land-receipt-anim--5{animation:landFadeUp .4s ease-out .95s both}.land-receipt-anim--6{animation:landFadeUp .4s ease-out 1.05s both}.land-receipt-anim--7{animation:landFadeUp .4s ease-out 1.15s both}.land-receipt-anim--8{animation:landFadeUp .4s ease-out 1.25s both}.land-receipt-anim--9{animation:landFadeUp .4s ease-out 1.35s both}@keyframes landFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.land-how{max-width:720px;margin:0 auto;padding:60px 32px 80px;display:flex;flex-direction:column;gap:32px}.land-how-step{display:flex;gap:20px;align-items:flex-start}.land-how-num{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--paper-warm);font-family:var(--font-display);font-size:16px;color:var(--ink-soft)}.land-how-step h3{font-family:var(--font-display);font-size:18px;color:var(--ink);margin-bottom:4px}.land-how-step p{font-size:14px;color:var(--ink-muted);line-height:1.6}.land-footer{text-align:center;padding:32px 24px;font-size:13px;color:var(--ink-faint);border-top:1px solid var(--rule)}.app-shell{display:flex;min-height:100dvh}.app-main{flex:1 1;min-width:0;padding:32px 24px 100px;max-width:800px;overflow-x:hidden}@media (min-width:1024px){.app-main{padding:48px 56px;max-width:none}}.sidebar{display:none}@media (min-width:1024px){.sidebar{display:flex;flex-direction:column;width:260px;height:100dvh;padding:32px 24px;background:white;border-right:1px solid var(--rule);position:fixed;top:0;left:0;z-index:50}.app-main{margin-left:260px}}.sidebar-logo{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--ink);margin-bottom:40px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1 1}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--ink-muted);transition:background .15s,color .15s}.sidebar-link:hover{background:var(--paper-warm);color:var(--ink)}.sidebar-link--active{background:var(--accent-bg);color:var(--accent);font-weight:600}.sidebar-link--disabled{opacity:.4;cursor:default}.sidebar-scan-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:24px;background:var(--accent);color:white;font-size:14px;font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .1s}.sidebar-scan-button:hover{background:#231c18}.sidebar-scan-button:active{transform:scale(.97)}.sidebar-footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--rule)}.sidebar-sign-out{font-size:13px;color:var(--ink-faint);transition:color .15s}.sidebar-sign-out:hover{color:var(--danger)}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--rule);z-index:100}@media (min-width:1024px){.tab-bar{display:none}}.tab-button{flex:1 1;height:var(--touch);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;transition:color .2s}.tab-button:disabled{cursor:default}.tab-active{color:var(--accent)}.fab-button{width:56px;height:56px;margin:0 20px;border-radius:50%;background:var(--accent);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(44,36,32,.3),0 1px 3px rgba(44,36,32,.2);transition:transform .15s ease,box-shadow .15s ease}.fab-button:hover{transform:scale(1.05);box-shadow:0 6px 20px rgba(44,36,32,.35),0 2px 6px rgba(44,36,32,.25)}.fab-button:active{transform:scale(.95)}.ledger-container{padding-top:24px}.ledger-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:0 4px}.ledger-date{font-family:var(--font-display);font-size:22px;font-weight:700;font-optical-sizing:auto;color:var(--ink)}.date-nav-button{width:var(--touch);height:var(--touch);display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-muted);cursor:pointer;transition:color .2s,background .2s}.date-nav-button:hover{color:var(--accent);background:var(--accent-bg)}.macro-header{display:flex;justify-content:flex-end;padding:0 20px 12px;border-bottom:1px solid var(--rule);margin-bottom:16px}.macro-col,.macro-col-kcal{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;text-align:right}.macro-col-kcal{width:52px}.macro-col{width:36px}.empty-state{text-align:center;padding:80px 32px}.empty-state p{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--ink-muted);margin-bottom:8px}.empty-hint{font-size:14px;color:var(--ink-faint)}.meals-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.meal-card{background:white;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-card);border:1px solid var(--rule);transition:box-shadow .2s,border-color .2s;overflow:hidden}.meal-card:hover{box-shadow:var(--shadow-elevated);border-color:transparent}.meal-card-header{margin-bottom:16px}.meal-card-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.meal-card-title{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--ink);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-card-time{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);white-space:nowrap}.meal-card-macros{display:flex;justify-content:flex-end}.macro-value,.macro-value-kcal{font-family:var(--font-mono);font-weight:500;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.macro-value-kcal{width:52px;font-size:14px;color:var(--ink)}.macro-value{width:36px;font-size:13px;color:var(--ink-muted)}.meal-card-footer{display:flex;justify-content:flex-end;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}.action-text{font-size:12px;font-weight:500;color:var(--ink-faint);cursor:pointer;padding:4px 0;transition:color .15s}.action-text:hover{color:var(--ink-soft)}.action-text:disabled{opacity:.4;cursor:not-allowed}.action-text--delete:hover{color:var(--danger)}.meal-card-divider{border:none;height:1px;background:var(--rule);margin:0 -20px 16px}.meal-card-components{display:flex;flex-direction:column;gap:8px}.component-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0}.component-name{flex:1 1;font-size:14px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.component-macros{display:flex}.sub-container{display:inline;position:relative;margin-left:6px}.sub-btn{font-size:11px;color:var(--ink-faint);cursor:pointer;padding:2px 4px;border-radius:3px;transition:color .15s}.sub-btn:hover{color:var(--ink-muted);background:var(--paper-warm)}.sub-dropdown{position:absolute;top:100%;left:0;z-index:10;background:white;border:1px solid var(--rule);border-radius:var(--radius-xs);box-shadow:var(--shadow-elevated);padding:4px;min-width:120px}.sub-goal{display:block;width:100%;padding:6px 10px;font-size:12px;text-align:left;color:var(--ink-soft);cursor:pointer;border-radius:3px;transition:background .15s}.sub-goal:hover{background:var(--paper-warm)}.sub-result{display:flex;align-items:center;gap:6px;padding:6px 0;font-size:12px}.sub-result-arrow{color:var(--ink-faint)}.sub-result-name{font-weight:500;color:var(--accent)}.sub-result-reason{color:var(--ink-faint);font-style:italic}.sub-result-close{font-size:14px;color:var(--ink-faint);cursor:pointer;margin-left:auto}.sub-loading{font-size:11px;color:var(--ink-faint);margin-left:6px}.day-totals-card{background:var(--paper-warm);border-radius:var(--radius);padding:20px;border:1px solid var(--rule)}.day-totals-header{display:flex;align-items:center;justify-content:space-between}.day-totals-label{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.day-totals-macros{display:flex;font-weight:700}.day-totals-macros .macro-value-kcal{font-size:16px}.day-totals-macros .macro-value{font-size:14px;color:var(--ink-soft)}.day-totals-progress{margin-top:14px}.progress-bar{width:100%;height:4px;background:var(--ink-ghost);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-label{display:block;margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);text-align:right}.scan-overlay{position:fixed;inset:0;background:rgba(44,36,32,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:20px;animation:overlayIn .2s ease-out}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.scan-overlay-content{position:relative;background:white;border-radius:var(--radius) var(--radius) 0 0;padding:28px 20px calc(24px + env(safe-area-inset-bottom));width:100%;max-width:500px;max-height:85dvh;overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-overlay);animation:sheetUp .3s cubic-bezier(.2,0,0,1)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.overlay-close{position:absolute;top:16px;right:16px;width:var(--touch);height:var(--touch);display:flex;align-items:center;justify-content:center;color:var(--ink-faint);z-index:10;cursor:pointer;border-radius:50%;transition:background .15s,color .15s}.overlay-close:hover{background:var(--paper-warm);color:var(--ink)}.overlay-title{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:20px;color:var(--ink)}.credit-pill{display:inline-flex;align-items:center;gap:6px;background:var(--accent-bg);padding:6px 12px;border-radius:20px;margin-bottom:16px}.credit-pill-link{display:inline-block;text-decoration:none;margin-bottom:16px}.credit-count{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent)}.credit-label{font-size:12px;color:var(--ink-muted)}.mode-picker{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--rule);flex-wrap:wrap}.mode-tab{padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--ink-muted);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.mode-tab:hover{color:var(--ink)}.mode-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.photo-upload{margin-bottom:20px}.photo-input-hidden{display:none}.photo-input-label{display:flex;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed var(--rule);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;transition:border-color .2s,background .2s}.photo-input-label:hover{border-color:var(--accent);background:var(--accent-bg)}.photo-prompt{color:var(--ink-muted)}.photo-prompt,.photo-selected{font-family:var(--font-body);font-size:14px}.photo-selected{color:var(--ink);font-weight:500}.upload-error{margin-top:-12px;margin-bottom:16px;padding:12px;background:var(--danger-bg);border-radius:var(--radius-xs);color:var(--danger);font-size:13px}.scan-input{width:100%;background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;line-height:1.5;color:var(--ink);resize:vertical;min-height:80px;transition:border-color .2s,box-shadow .2s;margin-bottom:16px}.scan-input::placeholder{color:var(--ink-faint)}.scan-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,36,32,.08)}.tier-picker{margin-bottom:20px}.tier-label{display:block;font-size:12px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.tier-chips{display:flex;gap:8px}.tier-chip{flex:1 1;height:var(--touch);border:1.5px solid var(--rule);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--ink-muted);cursor:pointer;transition:all .15s}.tier-chip:hover{border-color:var(--accent);color:var(--accent)}.tier-chip-active{border-color:var(--accent)}.scan-button,.tier-chip-active{background:var(--accent);color:white}.scan-button{width:100%;height:52px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.scan-button:hover{background:#231c18}.scan-button:active{transform:scale(.98)}.scan-button:disabled{background:var(--ink-ghost);color:var(--ink-faint);cursor:not-allowed}.scan-loading{text-align:center;padding:48px 24px}.loading-dots{font-size:32px;color:var(--accent);display:flex;justify-content:center;gap:6px;margin-bottom:12px}.loading-dots span{animation:pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.16s}.loading-dots span:nth-child(3){animation-delay:.32s}@keyframes pulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.follow-up-question{background:var(--paper-warm);padding:16px;border-radius:var(--radius-sm);margin-bottom:16px;border-left:3px solid var(--accent);font-size:15px;color:var(--ink-soft)}.review-form{position:relative}.confidence-banner{background:var(--warning-bg);color:var(--warning-text);padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;margin-bottom:20px;border:1px solid #fde68a}.form-group{margin-bottom:20px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.form-input,.form-select{width:100%;height:var(--touch);background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--radius-sm);padding:0 14px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,36,32,.08)}.component-edit-row{background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;transition:border-color .15s;overflow:hidden}.component-edit-row:focus-within{border-color:var(--accent)}.component-edit-header{display:flex;gap:8px;margin-bottom:10px}.form-input-inline{flex:1 1;height:36px;background:white;border:1px solid var(--rule);border-radius:var(--radius-xs);padding:0 10px;font-size:14px;font-weight:500}.form-input-inline:focus{outline:none;border-color:var(--accent)}.component-remove{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);color:var(--ink-faint);cursor:pointer;transition:all .15s}.component-remove:hover{background:var(--danger-bg);color:var(--danger)}.component-edit-macros{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}@media (min-width:600px){.component-edit-macros{grid-template-columns:repeat(6,1fr)}}.form-input-macro{height:32px;background:white;border:1px solid var(--rule);border-radius:var(--radius-xs);padding:0 4px;font-family:var(--font-mono);font-size:12px;text-align:center;transition:border-color .15s}.form-input-macro:focus{outline:none;border-color:var(--accent)}.component-add{width:100%;height:var(--touch);border:1.5px dashed var(--rule);border-radius:var(--radius-sm);color:var(--ink-faint);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.component-add:hover{border-color:var(--accent);color:var(--accent)}.form-actions{display:flex;gap:12px;margin-top:24px}.form-button{flex:1 1;height:48px;border-radius:var(--radius-sm);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s}.form-button-discard{border:1.5px solid var(--rule);color:var(--ink-muted)}.form-button-discard:hover{border-color:var(--danger);color:var(--danger)}.form-button-save{background:var(--accent);color:white}.form-button-save:hover{background:#231c18}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:400px;background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:40px 32px;box-shadow:var(--shadow-card)}.auth-wordmark{display:block;font-size:20px;margin-bottom:32px}.auth-title,.auth-wordmark{font-family:var(--font-display);color:var(--ink);text-align:center}.auth-title{font-size:26px;margin-bottom:8px}.auth-subtitle{font-size:14px;color:var(--ink-muted);text-align:center;margin-bottom:24px;line-height:1.5}.auth-form{gap:16px;margin-top:24px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{font-size:13px;font-weight:500;color:var(--ink-soft)}.auth-field input{height:44px;padding:0 14px;background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--radius-sm);font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(44,36,32,.06)}.auth-error{font-size:13px;color:var(--danger);text-align:center}.auth-submit{height:48px;margin-top:8px;background:var(--accent);color:white;font-size:15px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .1s}.auth-submit:hover{background:#231c18}.auth-submit:active{transform:scale(.98)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-links{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid var(--rule)}.auth-links a{font-size:13px;color:var(--ink-muted);transition:color .15s}.auth-links a:hover{color:var(--ink)}.credits-page{max-width:600px;padding-top:24px}.credits-back{font-size:14px;color:var(--ink-muted);margin-bottom:16px;display:inline-flex;align-items:center;gap:8px;transition:color .15s}.credits-back:hover{color:var(--ink)}.credits-title{font-family:var(--font-display);font-size:28px;margin-bottom:24px}.credits-balance{display:flex;gap:24px;margin-bottom:16px}.credits-balance-item{display:flex;flex-direction:column}.credits-balance-number{font-family:var(--font-mono);font-size:36px;font-weight:500;color:var(--ink)}.credits-balance-label{font-size:13px;color:var(--ink-muted);margin-top:4px}.credits-reset-info{font-size:14px;color:var(--ink-muted);margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--rule)}.credits-log-title{font-family:var(--font-display);font-size:18px;margin-bottom:16px}.credits-log-empty{font-size:14px;color:var(--ink-faint)}.credits-log{display:flex;flex-direction:column;gap:12px}.credits-log-entry{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule)}.credits-log-info{display:flex;align-items:center;gap:8px}.credits-log-reason{font-size:14px;color:var(--ink-soft);text-transform:capitalize}.credits-log-tier{font-size:11px;font-family:var(--font-mono);color:var(--ink-faint);background:var(--paper-warm);padding:2px 6px;border-radius:3px}.credits-log-right{display:flex;flex-direction:column;align-items:flex-end}.credits-log-delta{font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--ink)}.credits-log-date{font-size:11px;color:var(--ink-faint)}.credits-loading{padding:48px;text-align:center;color:var(--ink-faint)}.edit-overlay-placeholder,.scan-overlay-placeholder{position:fixed;inset:0;background:rgba(44,36,32,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.settings-page{max-width:600px;padding-top:24px}.settings-back{font-size:14px;color:var(--ink-muted);margin-bottom:16px;display:inline-block}.settings-back:hover{color:var(--ink)}.settings-title{font-family:var(--font-display);font-size:28px;margin-bottom:32px}.settings-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--rule)}.settings-section-title{font-family:var(--font-display);font-size:18px;margin-bottom:12px}.settings-hint{font-size:13px;color:var(--ink-faint);margin-bottom:12px}.settings-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.settings-row label{font-size:14px;color:var(--ink-soft);min-width:60px}.settings-row .form-select{flex:1 1}.settings-targets{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:8px;gap:8px}.settings-target-field label{display:block;font-size:11px;color:var(--ink-faint);text-transform:uppercase;margin-bottom:4px}.settings-target-field .form-input{width:100%;height:36px;text-align:center}.settings-tier-options{display:flex;gap:8px}.settings-tier-btn{flex:1 1;height:40px;border:1.5px solid var(--rule);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.settings-tier-btn:hover{border-color:var(--ink-faint)}.settings-tier-btn--active{background:var(--accent);border-color:var(--accent);color:white}.settings-toggle{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-soft);cursor:pointer}.settings-toggle input{width:18px;height:18px}.settings-section--danger{border-bottom:none;display:flex;flex-direction:column;gap:12px}.settings-sign-out{height:44px;border:1.5px solid var(--rule);border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--ink-muted);cursor:pointer;transition:all .15s}.settings-sign-out:hover{border-color:var(--ink-faint);color:var(--ink)}.settings-delete{height:44px;border:1.5px solid var(--danger);border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--danger);cursor:pointer;transition:all .15s}.settings-delete:hover{background:var(--danger);color:white}.settings-loading{padding:48px;text-align:center;color:var(--ink-faint)}@media (min-width:481px){.scan-overlay-content{border-radius:var(--radius);margin-bottom:20px}.scan-overlay{align-items:center}}@media (min-width:1024px){.ledger-container{padding-top:0}.ledger-header{margin-bottom:40px}.ledger-date{font-size:28px}.meal-card{padding:28px}.meal-card-title{font-size:20px}.macro-value-kcal{width:64px;font-size:15px}.macro-value{width:48px;font-size:14px}.macro-col-kcal{width:64px}.macro-col{width:48px}.meals-list{gap:16px}.day-totals-card{padding:24px}}@media (max-width:380px){.macro-col{width:32px}.macro-value{width:32px;font-size:12px}.component-edit-macros{grid-template-columns:repeat(3,1fr)}}.scan-input--hint{min-height:48px;margin-top:12px;font-size:13px}.insights-page{max-width:700px;padding-top:24px}.insights-title{font-family:var(--font-display);font-size:28px;margin-bottom:24px}.insights-loading{padding:48px;text-align:center;color:var(--ink-faint)}.insights-empty{text-align:center;padding:60px 24px}.insights-empty p{font-family:var(--font-display);font-size:18px;color:var(--ink-muted);margin-bottom:8px}.insights-empty-hint{font-size:14px;color:var(--ink-faint)}.insights-list{display:flex;flex-direction:column;gap:16px}.insight-card{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:24px}.insight-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.insight-card-week{font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}.insight-card-date{font-size:12px;color:var(--ink-faint)}.insight-card-overview{font-size:15px;line-height:1.6;color:var(--ink-soft);margin-bottom:16px}.insight-card-section{margin-bottom:12px}.insight-card-section h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);margin-bottom:6px}.insight-card-section ul{list-style:none;padding:0}.insight-card-section li{font-size:14px;color:var(--ink-soft);padding:4px 0 4px 12px;border-left:2px solid var(--rule);margin-bottom:4px}.insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.insights-generate{height:40px;padding:0 20px;background:var(--accent);color:white;font-size:13px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.insights-generate:hover{background:#231c18}.insights-generate:disabled{opacity:.5;cursor:not-allowed}.settings-save{width:100%;height:48px;background:var(--accent);color:white;font-size:15px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;margin-bottom:32px}.settings-save:hover{background:#231c18}.settings-save:disabled{opacity:.5;cursor:not-allowed}.macro-charts{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:24px;margin-top:16px}.macro-donut-container{position:relative;width:140px;height:140px;margin:0 auto 20px}.macro-donut-svg{width:100%;height:100%;transform:rotate(0deg)}.macro-donut-svg circle{transition:stroke-dasharray .6s ease,stroke-dashoffset .6s ease}.macro-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.macro-donut-kcal{font-family:var(--font-mono);font-size:20px;font-weight:500;color:var(--ink)}.macro-donut-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em}.macro-donut-legend{display:flex;justify-content:center;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--rule)}.macro-legend-item{display:flex;align-items:center;gap:6px}.macro-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.macro-legend-label{font-size:12px;color:var(--ink-muted)}.macro-legend-value{font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);font-weight:500}.macro-goals-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin-bottom:14px}.goal-bar{margin-bottom:14px}.goal-bar:last-child{margin-bottom:0}.goal-bar-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.goal-bar-label{font-size:13px;color:var(--ink-soft)}.goal-bar-values{font-family:var(--font-mono);font-size:12px}.goal-bar-current{font-weight:500;color:var(--ink)}.goal-bar-current--over{color:var(--danger)}.goal-bar-separator{color:var(--ink-ghost);margin:0 2px}.goal-bar-target{color:var(--ink-faint)}.goal-bar-track{width:100%;height:6px;background:var(--paper-warm);border-radius:3px;overflow:hidden}.goal-bar-fill{height:100%;border-radius:3px;transition:width .4s cubic-bezier(.4,0,.2,1)}.goal-bar-fill--over{background:var(--danger)!important}.macro-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--rule)}.macro-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.macro-stat-value{font-family:var(--font-mono);font-size:16px;font-weight:500;color:var(--ink)}.macro-stat-label{font-size:10px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.chat-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;margin-top:16px;background:white;border:1px solid var(--rule);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--ink-muted);cursor:pointer;transition:border-color .15s,color .15s}.chat-toggle:hover{border-color:var(--ink-faint);color:var(--ink-soft)}.chat-panel{margin-top:16px;background:white;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;max-height:400px}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--rule)}.chat-header-title{font-size:13px;font-weight:600;color:var(--ink-soft)}.chat-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink-faint);cursor:pointer;border-radius:50%;transition:background .15s}.chat-close:hover{background:var(--paper-warm)}.chat-messages{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:150px}.chat-empty{font-size:13px;color:var(--ink-faint);text-align:center;padding:24px 16px;line-height:1.6}.chat-msg p{font-size:14px;line-height:1.5;padding:10px 14px;border-radius:var(--radius-sm);max-width:85%}.chat-msg--user p{background:var(--accent);color:white;margin-left:auto;border-bottom-right-radius:var(--radius-xs)}.chat-msg--assistant p{background:var(--paper-warm);color:var(--ink-soft);border-bottom-left-radius:var(--radius-xs)}.chat-cursor{animation:blink 1s steps(1) infinite;color:var(--ink-faint)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--rule)}.chat-input{flex:1 1;height:40px;padding:0 12px;background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--radius-sm);font-size:14px;transition:border-color .15s}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-input:disabled{opacity:.5}.chat-send{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:white;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.chat-send:hover{background:#231c18}.chat-send:disabled{opacity:.4;cursor:not-allowed}.suggestion-container{margin-top:16px}.suggestion-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;background:var(--paper-warm);border:1px solid var(--rule);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--ink-muted);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.suggestion-trigger:hover{border-color:var(--ink-faint);color:var(--ink-soft);background:white}.suggestion-loading{font-size:13px;color:var(--ink-faint);text-align:center;padding:16px}.suggestion-error{font-size:13px;color:var(--danger);text-align:center;padding:8px}.suggestion-card{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:20px;margin-top:8px}.suggestion-name{font-family:var(--font-display);font-size:18px;color:var(--ink);margin-bottom:6px}.suggestion-desc{font-size:14px;color:var(--ink-soft);line-height:1.5;margin-bottom:12px}.suggestion-meta{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}.suggestion-kcal{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--ink)}.suggestion-why{font-size:12px}.suggestion-refresh{font-size:12px;color:var(--ink-faint);cursor:pointer;transition:color .15s}.suggestion-refresh:hover{color:var(--ink-soft)}.ledger-nav-row{display:flex;align-items:center;justify-content:space-between;width:100%}.ledger-date-group{position:relative;display:flex;align-items:center;cursor:pointer}.ledger-date-picker{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.ledger-date-center{display:flex;flex-direction:column;align-items:center;gap:4px}.ledger-today-btn{padding:3px 12px;font-size:11px;font-weight:500;color:var(--ink-muted);background:var(--paper-warm);border:1px solid var(--rule);border-radius:10px;cursor:pointer;transition:all .15s}.ledger-today-btn:hover{color:var(--ink);border-color:var(--ink-faint)}.ledger-today-btn--hidden{visibility:hidden}.scan-input-wrapper{position:relative}.scan-input-wrapper .voice-btn{position:absolute;bottom:10px;right:10px}.voice-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-faint);cursor:pointer;transition:all .15s;background:var(--paper);border:1px solid var(--rule)}.voice-btn:hover{color:var(--ink-muted);border-color:var(--ink-faint)}.voice-btn--active{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.voice-btn-recording{display:flex;align-items:center;gap:4px;font-size:11px;font-family:var(--font-mono);font-weight:500}.voice-dot{width:6px;height:6px;border-radius:50%;background:var(--danger);animation:pulse-dot 1s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.suggestion-macros{display:flex;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--ink-soft);margin-bottom:8px}.suggestion-projected{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);background:var(--paper-warm);padding:6px 10px;border-radius:var(--radius-xs);margin-bottom:10px}.suggestion-why{font-size:13px;color:var(--ink-faint);font-style:italic;margin-bottom:12px}.suggestion-actions{display:flex;gap:8px}.recipe-form{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:20px;margin-top:12px}.recipe-form-title{font-family:var(--font-display);font-size:16px;margin-bottom:12px}.recipe-form-field{margin-bottom:12px}.recipe-form-field label{display:block;font-size:12px;color:var(--ink-muted);margin-bottom:4px}.recipe-form-field input{width:100%;height:36px;padding:0 10px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-xs);font-size:14px}.recipe-form-field input:focus{outline:none;border-color:var(--accent)}.recipe-form-actions{display:flex;gap:8px;justify-content:flex-end}.recipe-form-cancel{color:var(--ink-muted)}.recipe-form-cancel,.recipe-form-submit{padding:8px 16px;font-size:13px;cursor:pointer}.recipe-form-submit{background:var(--accent);color:white;font-weight:600;border-radius:var(--radius-xs)}.recipe-form-submit:disabled{opacity:.5}.recipe-card{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:24px;margin-top:12px}.recipe-card-title{font-family:var(--font-display);font-size:20px;margin-bottom:12px}.recipe-card-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-muted);padding-bottom:12px;border-bottom:1px solid var(--rule)}.recipe-card-meta,.recipe-card-section{margin-bottom:16px}.recipe-card-section h4{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:8px}.recipe-card-section ol,.recipe-card-section ul{padding-left:20px;font-size:14px;color:var(--ink-soft);line-height:1.8}.recipe-card-macros{font-family:var(--font-mono);font-size:12px;color:var(--ink-faint);margin-bottom:12px;padding:8px;background:var(--paper-warm);border-radius:var(--radius-xs)}.suggestion-recipe-btn{font-size:12px;color:var(--accent);cursor:pointer;font-weight:500;transition:opacity .15s}.suggestion-recipe-btn:hover{opacity:.7}.ledger-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--rule)}.ledger-section-title{font-family:var(--font-display);font-size:18px;color:var(--ink-muted);margin-bottom:16px}.tab-more-container{position:relative;flex:1 1;display:flex;justify-content:center}.tab-more-menu{position:absolute;bottom:100%;right:0;margin-bottom:8px;background:white;border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-elevated);min-width:140px;overflow:hidden}.tab-more-item{display:block;padding:12px 16px;font-size:14px;color:var(--ink-soft);transition:background .15s}.tab-more-item:hover{background:var(--paper-warm)}.onboard{min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.onboard-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--rule);z-index:10}.onboard-progress-fill{height:100%;background:var(--accent);transition:width .5s cubic-bezier(.4,0,.2,1)}.onboard-content{flex:1 1;display:flex;align-items:center;justify-content:center;padding:60px 24px}.onboard-step{max-width:440px;width:100%;text-align:center}.onboard-fade{animation:onboardFade .4s ease-out}@keyframes onboardFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.onboard-emoji{font-size:56px;margin-bottom:24px;animation:onboardBounce .6s ease-out .2s both}@keyframes onboardBounce{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.onboard-celebrate{animation:onboardCelebrate .8s ease-out}@keyframes onboardCelebrate{0%{transform:scale(0) rotate(-20deg)}50%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0)}}.onboard-title{font-size:32px;margin-bottom:12px}.onboard-question,.onboard-title{font-family:var(--font-display);color:var(--ink)}.onboard-question{font-size:26px;margin-bottom:8px}.onboard-hint,.onboard-subtitle{font-size:15px;color:var(--ink-muted);margin-bottom:32px;line-height:1.6}.onboard-btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 36px;background:var(--accent);color:white;font-size:15px;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,transform .1s;margin-top:16px}.onboard-btn:hover{background:#231c18}.onboard-btn:active{transform:scale(.97)}.onboard-btn:disabled{opacity:.5;cursor:not-allowed}.onboard-cards{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.onboard-cards--vertical{flex-direction:column;align-items:stretch}.onboard-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 24px;background:white;border:2px solid var(--rule);border-radius:var(--radius);cursor:pointer;transition:all .2s;min-width:120px}.onboard-card:hover{border-color:var(--ink-faint);transform:translateY(-2px)}.onboard-card--selected{border-color:var(--accent);background:var(--accent-bg)}.onboard-card-emoji{font-size:28px}.onboard-card-label{font-size:14px;font-weight:600;color:var(--ink-soft)}.onboard-card-wide{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;background:white;border:2px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;text-align:left}.onboard-card-wide:hover{border-color:var(--ink-faint)}.onboard-card-wide.onboard-card--selected{border-color:var(--accent);background:var(--accent-bg)}.onboard-card-wide-label{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px}.onboard-card-wide-desc{font-size:13px;color:var(--ink-muted)}.onboard-inputs{display:flex;flex-direction:column;gap:16px;text-align:left;margin-bottom:16px}.onboard-input-group label{display:block;font-size:13px;font-weight:500;color:var(--ink-muted);margin-bottom:6px}.onboard-input-group input{width:100%;height:48px;padding:0 16px;background:white;border:2px solid var(--rule);border-radius:var(--radius-sm);font-size:18px;font-family:var(--font-mono);text-align:center;transition:border-color .15s}.onboard-input-group input:focus{outline:none;border-color:var(--accent)}.onboard-targets{margin-bottom:16px}.onboard-target-big{display:flex;flex-direction:column;align-items:center;margin-bottom:24px;animation:onboardReveal .6s ease-out .2s both}@keyframes onboardReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.onboard-target-value{font-family:var(--font-mono);font-size:48px;font-weight:500;color:var(--ink)}.onboard-target-unit{font-size:14px;color:var(--ink-muted);margin-top:4px}.onboard-target-row{display:flex;justify-content:center;gap:24px;animation:onboardReveal .6s ease-out .4s both}.onboard-target-item{display:flex;flex-direction:column;align-items:center;gap:4px}.onboard-target-num{font-family:var(--font-mono);font-size:20px;font-weight:500;color:var(--ink)}.onboard-target-label{font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.suggest{margin-top:16px}.suggest-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;background:var(--paper-warm);border:1px solid var(--rule);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--ink-muted);cursor:pointer;transition:all .15s}.suggest-trigger:hover{border-color:var(--ink-faint);color:var(--ink-soft)}.suggest-loading{padding:20px;color:var(--ink-faint)}.suggest-error,.suggest-loading{text-align:center;font-size:13px}.suggest-error{padding:8px;color:var(--danger)}.suggest-card{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:20px;animation:onboardFade .3s ease-out}.suggest-card--recipe{border-color:var(--accent-bg)}.suggest-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.suggest-card-name{font-family:var(--font-display);font-size:18px;color:var(--ink)}.suggest-card-dismiss{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ink-faint);cursor:pointer;border-radius:50%}.suggest-card-dismiss:hover{background:var(--paper-warm)}.suggest-card-desc{font-size:14px;color:var(--ink-soft);line-height:1.5;margin-bottom:14px}.suggest-card-macros{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:12px}.suggest-macro{display:flex;flex-direction:column;align-items:center;gap:2px}.suggest-macro-val{font-family:var(--font-mono);font-size:15px;font-weight:500;color:var(--ink)}.suggest-macro-label{font-size:10px;color:var(--ink-faint);text-transform:uppercase}.suggest-card-projected{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);margin-bottom:10px}.suggest-card-why{font-size:13px;color:var(--ink-muted);font-style:italic;margin-bottom:16px}.suggest-card-actions{display:flex;gap:8px}.suggest-action{flex:1 1;height:40px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.suggest-action--primary{background:var(--accent);color:white}.suggest-action--primary:hover{background:#231c18}.suggest-action--secondary{border:1.5px solid var(--rule);color:var(--ink-muted)}.suggest-action--secondary:hover{border-color:var(--ink-faint);color:var(--ink)}.suggest-recipe-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--rule)}.suggest-recipe-fields{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.suggest-recipe-field label{display:block;font-size:11px;color:var(--ink-faint);margin-bottom:4px;text-transform:uppercase}.suggest-recipe-field input{height:36px;padding:0 10px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-xs);font-size:14px;width:80px}.suggest-recipe-field--wide{flex:1 1;min-width:160px}.suggest-recipe-field--wide input{width:100%}.suggest-recipe-field input:focus{outline:none;border-color:var(--accent)}.suggest-recipe-meta{display:flex;gap:16px;font-size:12px;color:var(--ink-muted);margin-bottom:16px}.suggest-recipe-section{margin-bottom:16px}.suggest-recipe-section h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:8px}.suggest-recipe-section ol,.suggest-recipe-section ul{padding-left:20px;font-size:14px;color:var(--ink-soft);line-height:1.8}.suggest-card,.suggest-card-macros,.suggest-recipe-fields,.suggest-recipe-meta{overflow-x:hidden}.suggest-card-macros,.suggest-recipe-meta{flex-wrap:wrap}.suggest-recipe-section ol,.suggest-recipe-section ul{word-break:break-word}.suggest-streaming{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);white-space:pre-wrap;word-break:break-all;max-height:80px;overflow:hidden;margin-top:8px;opacity:.6}.export-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;color:var(--ink-muted);border:1px solid var(--rule);border-radius:var(--radius-xs);cursor:pointer;transition:all .15s;margin-top:12px;background:var(--paper)}.export-btn:hover{border-color:var(--ink-faint);color:var(--ink-soft)}.insights-export-actions{display:flex;gap:8px;margin-bottom:24px}.insights-export-actions button{padding:8px 14px;font-size:12px;font-weight:500;color:var(--ink-muted);border:1px solid var(--rule);border-radius:var(--radius-xs);cursor:pointer;transition:all .15s;background:var(--paper)}.insights-export-actions button:hover{border-color:var(--ink-faint);color:var(--ink-soft)}.recipes-page{max-width:700px;padding-top:24px}.recipes-back{font-size:14px;color:var(--ink-muted);margin-bottom:16px;display:inline-block}.recipes-back:hover{color:var(--ink)}.recipes-title{font-family:var(--font-display);font-size:28px;margin-bottom:4px}.recipes-subtitle{font-size:13px;color:var(--ink-faint);margin-bottom:24px}.recipes-empty,.recipes-loading{text-align:center;padding:48px;color:var(--ink-faint)}.recipes-list{display:flex;flex-direction:column;gap:12px}.recipe-list-card{background:white;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.recipe-list-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .15s}.recipe-list-header:hover{background:var(--paper-warm)}.recipe-list-name{font-family:var(--font-display);font-size:16px;color:var(--ink);margin-bottom:2px}.recipe-list-meta{font-size:12px;color:var(--ink-faint)}.recipe-list-expand{font-size:20px;color:var(--ink-faint)}.recipe-list-body{padding:0 20px 20px;border-top:1px solid var(--rule)}.recipe-list-macros{display:flex;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--ink-muted);padding:12px 0}.recipe-list-body h4{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:12px 0 8px}.recipe-list-body ol,.recipe-list-body ul{padding-left:20px;font-size:13px;color:var(--ink-soft);line-height:1.8}.land-nav-links{display:flex;gap:24px;align-items:center}.land-nav-link--cta{padding:6px 14px;border:1.5px solid var(--rule);border-radius:6px;font-weight:500;transition:border-color .15s}.land-nav-link--cta:hover{border-color:var(--ink-muted)}.land-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin-bottom:12px}.land-trust{font-size:12px;color:var(--ink-faint);margin-top:20px;letter-spacing:.02em}.land-features{max-width:1100px;margin:0 auto;padding:100px 32px 80px}.land-features-header{text-align:center;margin-bottom:56px}.land-features-title{font-family:var(--font-display);font-size:clamp(26px,4vw,38px);line-height:1.2;color:var(--ink);margin-top:8px}.land-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:2px;gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.land-feature-card{background:white;padding:32px}.land-feature-card:hover{background:var(--paper)}.land-feature-num{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);display:block;margin-bottom:12px}.land-feature-card h3{font-family:var(--font-display);font-size:19px;margin-bottom:10px;color:var(--ink)}.land-feature-card p{font-size:14px;color:var(--ink-muted);line-height:1.65}.land-how-header{text-align:center;margin-bottom:40px}.land-how-steps{max-width:560px;margin:0 auto}.land-pricing{max-width:480px;margin:0 auto;padding:100px 32px;text-align:center}.land-pricing-title{font-family:var(--font-display);font-size:clamp(28px,5vw,42px);margin-bottom:8px;color:var(--ink)}.land-pricing-sub{font-size:15px;color:var(--ink-muted);margin-bottom:32px}.land-pricing-card{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:28px;text-align:left}.land-pricing-features{list-style:none;padding:0}.land-pricing-features li{padding:10px 0;font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--paper-warm)}.land-pricing-features li:before{content:"— ";color:var(--ink-ghost)}.land-pricing-detail{display:inline-block;margin-top:16px;font-size:13px;color:var(--ink-muted);transition:color .15s}.land-pricing-detail:hover{color:var(--ink)}.land-cta{text-align:center;padding:100px 32px;border-top:1px solid var(--rule)}.land-cta h2{font-family:var(--font-display);font-size:clamp(26px,4vw,36px);margin-bottom:12px;color:var(--ink)}.land-cta p{font-size:15px;color:var(--ink-muted);margin-bottom:28px;max-width:400px;margin-left:auto;margin-right:auto}.land-footer-links{display:flex;gap:24px;justify-content:center;margin-bottom:12px;font-size:13px;color:var(--ink-muted)}.land-footer-links a:hover{color:var(--ink)}.mealprep-page{max-width:700px;padding-top:24px}.mealprep-form{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:24px}.mealprep-field{margin-bottom:12px}.mealprep-field label{display:block;font-size:12px;color:var(--ink-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.mealprep-field input{width:100%;height:40px;padding:0 12px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-xs);font-size:14px}.mealprep-field input:focus{outline:none;border-color:var(--accent)}.mealprep-targets{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.mealprep-plan{background:white;border:1px solid var(--rule);border-radius:var(--radius);padding:24px}.mealprep-day{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--rule)}.mealprep-day h3{font-family:var(--font-display);font-size:16px;margin-bottom:10px}.mealprep-meals{display:flex;flex-direction:column;gap:6px}.mealprep-meal{display:flex;align-items:center;gap:10px;padding:6px 0}.mealprep-meal-type{font-size:10px;text-transform:uppercase;color:var(--ink-faint);min-width:60px}.mealprep-meal-name{flex:1 1;font-size:14px;color:var(--ink-soft)}.mealprep-meal-macros{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint)}.mealprep-section{margin-top:20px}.mealprep-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:10px}.mealprep-section ul{padding-left:20px;font-size:13px;line-height:1.8;color:var(--ink-soft)}.mealprep-section p{font-size:13px;color:var(--ink-soft);line-height:1.6}