:root{--hunter:#0f6b4f;--fern:#148a66;--evergreen:#0b4f3a;--palm:#9ecfb6;--lime:#eaf6ef;--on-brand:#fff;--amber:#c2410c;--amber-ink:#9d3608;--amber-soft:#fbe9df;--paper:#f7f5f0;--card:#fff;--sunken:#efece4;--sunken-2:#e8e3d9;--line:#e4ded2;--line-strong:#d8d0c0;--ink:#1c1917;--ink-soft:#332f2a;--muted:#6d6760;--muted-soft:#7a746c;--danger:#b91c1c;--danger-soft:#fdeaea;--warn:var(--amber-ink);--warn-soft:#fdf1e4;--ok:#0f6b4f;--ok-soft:#e3f1ea;--arc-protein:#0f6b4f;--arc-carbs:#c2410c;--arc-fat:#b45309;--arc-fiber:#4d7c0f;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--shadow-xs:0 1px 2px #3c32230d;--shadow-sm:0 2px 10px #3c32230f;--shadow-md:0 10px 26px #3c322317;--shadow-lg:0 18px 44px #1c191729;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.13s;--t-base:.22s;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--shell:470px;--nav-h:68px;--emerald:#0f6b4f;--emerald-2:#148a66;--emerald-soft:#e3f1ea;--bg:#f7f5f0;--bg-2:#fff;--bg-3:#efece4;--text:#1c1917;--card-border:#e4ded2;--radius:18px;--shadow:0 8px 24px #3c322314;--shadow-soft:0 2px 10px #3c32230d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{color:var(--ink);background:radial-gradient(900px 420px at 12% -8%, #f3f8f4 0%, #f4f9dd00 62%), radial-gradient(700px 380px at 96% 4%, #eaf4ee 0%, #eef5d800 60%), var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Variable Display,Segoe UI,Inter,system-ui,Helvetica Neue,Arial,Noto Sans Devanagari,Nirmala UI,sans-serif;overflow-x:hidden}.app-shell{height:100%;max-width:var(--shell);flex-direction:column;margin:0 auto;display:flex;position:relative}.app-main{padding:var(--s-3) var(--s-4) calc(var(--nav-h) + 28px);overscroll-behavior-y:contain;scrollbar-width:none;flex:1;overflow:hidden auto}.app-main::-webkit-scrollbar{display:none}.stack{gap:var(--s-4);flex-direction:column;display:flex}.stack-tight{gap:var(--s-2);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-2);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.row-wrap{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.grow{flex:1;min-width:0}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-header{z-index:30;justify-content:space-between;align-items:center;gap:var(--s-3);padding:calc(env(safe-area-inset-top,0px) + 14px) var(--s-4) 12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#fbfdf1f7 62%,#fbfdf1d1);border-bottom:1px solid #e2e9cdd9;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand-mark{width:40px;height:40px;color:var(--on-brand);background:linear-gradient(148deg, var(--fern) 0%, var(--evergreen) 82%);border-radius:13px;flex:none;place-items:center;display:grid;box-shadow:0 8px 18px #0f6b4f33,inset 0 1px #ffffff42}.brand-logo{border-radius:10px;flex:none;width:34px;height:34px;display:block;box-shadow:0 4px 12px #0b4f3a38}.loading-logo{border-radius:18px;width:64px;height:64px;margin-bottom:4px;box-shadow:0 8px 22px #0b4f3a2e}.brand-name{letter-spacing:-.03em;font-size:17px;font-weight:800;line-height:1.1}.brand-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:9.5px;font-weight:700}.header-actions{align-items:center;gap:6px;display:flex}h1,h2,h3,p{margin:0}.screen-title{letter-spacing:-.025em;font-size:20px;font-weight:800;line-height:1.2}.section-title{letter-spacing:-.015em;font-size:14.5px;font-weight:800}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.muted{color:var(--muted);font-size:12.5px;line-height:1.5}.tiny{color:var(--muted);font-size:11.5px;line-height:1.45}.num{font-variant-numeric:tabular-nums}.btn{border-radius:var(--r-md);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;min-height:44px;transition:transform var(--t-fast) var(--ease), background var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast), color var(--t-fast);-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-family:inherit;font-size:13.5px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.975)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn:focus-visible{outline:2px solid var(--fern);outline-offset:2px}.btn-primary{background:linear-gradient(140deg, #12795a 0%, var(--hunter) 55%, var(--evergreen) 100%);color:var(--on-brand);box-shadow:0 8px 20px #0f6b4f33,inset 0 1px #ffffff3d}.btn-primary:hover{box-shadow:0 10px 24px #0f6b4f42,inset 0 1px #ffffff4d}.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.btn-ghost:hover{background:var(--sunken);border-color:var(--palm)}.btn-soft{background:var(--sunken);color:var(--hunter);border-color:#0000}.btn-soft:hover{background:var(--sunken-2)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#f6d4d4}.btn-danger:hover{background:#f7ddd6}.btn-block{width:100%}.btn-sm{border-radius:var(--r-sm);min-height:36px;padding:0 12px;font-size:12.5px}.btn-lg{border-radius:var(--r-lg);min-height:52px;font-size:14.5px}.icon-btn{border-radius:var(--r-md);background:var(--card);width:42px;height:42px;min-height:42px;color:var(--ink-soft);border:1px solid var(--line-strong);box-shadow:var(--shadow-xs);cursor:pointer;transition:background var(--t-fast), border-color var(--t-fast), transform var(--t-fast) var(--ease);place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--sunken);border-color:var(--palm)}.icon-btn:active{transform:scale(.95)}.icon-btn[data-active=true]{background:var(--hunter);border-color:var(--hunter);color:var(--on-brand)}.icon-btn--sm{border-radius:var(--r-sm);width:36px;height:36px;min-height:36px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s-4);box-shadow:var(--shadow-sm)}.card--flush{padding:0;overflow:hidden}.card--sunken{background:var(--sunken);border-color:var(--sunken-2);box-shadow:none}.card--accent{background:linear-gradient(158deg,#fff 0%,#f2f9f5 58%,#eaf4ee 100%);border-color:#dcebe1}.card-head{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);display:flex}.hero{text-align:center;border-radius:var(--r-xl);background:radial-gradient(120% 90% at 50% -30%,#e3f1eae6 0%,#e3f1ea00 62%),linear-gradient(168deg,#fff 0%,#f4faf6 70%,#e8f4ed 100%);border:1px solid #d9e9df;padding:20px 18px 18px;position:relative;overflow:hidden;box-shadow:0 12px 30px #0f6b4f17}.hero-label{letter-spacing:.16em;text-transform:uppercase;color:var(--hunter);align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.hero-value{letter-spacing:-.045em;color:var(--evergreen);font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:4px;margin:6px 0 2px;font-size:46px;font-weight:800;line-height:1.05;display:flex}.hero-value .dash{color:var(--palm);padding:0 2px;font-weight:700}.hero-value.is-empty{color:var(--line-strong);letter-spacing:0;font-size:40px}.hero-unit{color:var(--hunter);letter-spacing:.02em;font-size:12px;font-weight:700}.hero-sub{border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--hunter);box-shadow:var(--shadow-xs);background:#ffffffd1;align-items:center;gap:6px;margin-top:12px;padding:6px 12px 6px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.hero-empty-note{color:var(--muted);max-width:300px;margin-top:6px;margin-left:auto;margin-right:auto;font-size:12.5px;line-height:1.5}.hero--empty{padding:18px 18px 22px}.conf{white-space:nowrap;align-items:center;gap:5px;font-size:11.5px;font-weight:800;display:inline-flex}.conf[data-level=high]{color:var(--hunter)}.conf[data-level=medium]{color:var(--warn)}.conf[data-level=low]{color:var(--danger)}.conf-dot{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #0f6b4f1f}.breadth{border-top:1px dashed var(--line-strong);justify-content:center;gap:18px;margin-top:14px;padding-top:12px;display:flex}.breadth-item{text-align:center}.breadth-item strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800;display:block}.breadth-item span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.preset-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.preset-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast), border-color var(--t-fast);flex-direction:column;align-items:flex-start;gap:3px;padding:12px 13px 12px 15px;font-family:inherit;display:flex;position:relative}.preset-card:before{content:"";background:linear-gradient(180deg, var(--palm), var(--fern));border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.preset-card:nth-child(2n):before{background:linear-gradient(180deg, #e8a37c, var(--amber))}.preset-card:hover{border-color:var(--palm);box-shadow:var(--shadow-sm)}.preset-card:active{transform:scale(.98)}.preset-card strong{letter-spacing:-.015em;font-size:13px;font-weight:800}.preset-card span{color:var(--muted);font-size:11px;line-height:1.35}.mode-switch{background:var(--sunken);border:1px solid var(--sunken-2);border-radius:var(--r-lg);grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;display:grid}.mode-tab{border-radius:var(--r-md);min-height:62px;color:var(--muted);text-align:center;cursor:pointer;transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 6px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.2;display:flex}.mode-tab svg{transition:transform var(--t-fast) var(--ease)}.mode-tab[aria-selected=true]{background:var(--card);color:var(--hunter);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.mode-tab[aria-selected=true] svg{transform:scale(1.06)}.mode-tab:active{transform:scale(.98)}.scan-stage{aspect-ratio:4/3;border-radius:var(--r-xl);border:1px solid var(--line-strong);background:radial-gradient(120% 100% at 50% 0,#f5f2ec 0%,#efece4 55%,#e7e2d8 100%);place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff}.scan-stage[data-dark=true]{background:linear-gradient(160deg,#16302a,#0c1d19);border-color:#1d3a31}.scan-frame{border-radius:var(--r-lg);border:1.5px dashed #0f6b4f59;position:absolute;inset:18px}.scan-stage[data-dark=true] .scan-frame{border-color:#9ecfb673}.scan-hint{text-align:center;color:var(--muted);padding:0 24px;font-size:12.5px;font-weight:600}.scan-stage[data-dark=true] .scan-hint{color:#cfe7da}.scan-icon{width:56px;height:56px;color:var(--fern);place-items:center;margin:0 auto 10px;display:grid}.scan-stage[data-dark=true] .scan-icon{color:var(--lime)}.scan-laser{background:linear-gradient(90deg, transparent, var(--fern), transparent);height:2px;animation:laser 1.9s var(--ease) infinite;border-radius:2px;position:absolute;left:12%;right:12%;box-shadow:0 0 12px #0f6b4f80}@keyframes laser{0%,to{opacity:.4;top:14%}50%{opacity:1;top:86%}}.scan-preview{object-fit:cover;width:100%;height:100%;display:block}.scan-actions{grid-template-columns:1.15fr 1fr;gap:10px;display:grid}.engine-badge{border-radius:var(--r-pill);background:var(--ok-soft);color:var(--hunter);border:1px solid #d3e8dc;align-items:center;gap:6px;padding:6px 11px;font-size:11px;font-weight:800;display:inline-flex}.engine-badge[data-engine=cloud]{color:#14535f;background:#eef5f7;border-color:#cfe3e9}.engine-badge[data-engine=pool]{background:var(--warn-soft);color:var(--warn);border-color:#f2ddc6}.engine-badge[data-engine=local]{background:var(--sunken);color:var(--muted);border-color:var(--sunken-2)}.attempt-row{color:var(--muted);justify-content:space-between;gap:10px;padding:3px 0;font-size:11.5px;display:flex}.memory-badge{border-radius:var(--r-pill);background:var(--warn-soft);color:var(--warn);border:1px solid #f2ddc6;align-items:center;gap:6px;padding:7px 11px;font-size:11.5px;font-weight:700;display:inline-flex}.plate-list{flex-direction:column;display:flex}.plate-item{border-bottom:1px solid var(--line);padding:14px 0}.plate-item:first-child{padding-top:4px}.plate-item:last-child{border-bottom:none;padding-bottom:2px}.plate-item-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.plate-item-name{letter-spacing:-.015em;font-size:14px;font-weight:800;line-height:1.25}.plate-item-sub{color:var(--muted);margin-top:2px;font-size:11px}.plate-item-tools{flex:none;gap:6px;display:flex}.plate-item-body{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;display:flex}.plate-item-controls{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.plate-item-controls .label{color:var(--muted);letter-spacing:.02em;font-size:11px;font-weight:700}.plate-item-kcal{text-align:right;min-width:76px}.plate-item-kcal strong{letter-spacing:-.03em;color:var(--evergreen);font-variant-numeric:tabular-nums;font-size:19px;font-weight:800;display:block}.plate-item-kcal span{color:var(--muted);font-size:10.5px;font-weight:600}.plate-item-macros{flex-wrap:wrap;gap:6px;width:100%;margin-top:10px;display:flex}.macro-pill{border-radius:var(--r-pill);background:var(--sunken);color:var(--hunter);font-variant-numeric:tabular-nums;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.stepper{background:var(--sunken);border:1px solid var(--sunken-2);border-radius:var(--r-pill);align-items:center;gap:2px;padding:3px;display:inline-flex}.stepper button{background:var(--card);width:34px;height:34px;color:var(--hunter);box-shadow:var(--shadow-xs);cursor:pointer;border:none;border-radius:50%;place-items:center;font-family:inherit;display:grid}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:30px;font-size:12.5px;font-weight:800}.receipt-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.receipt-toggle{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--card);min-height:36px;color:var(--hunter);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:700;display:inline-flex}.receipt-body{flex-direction:column;gap:4px;margin-top:12px;display:flex}.receipt-line{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:12.5px;display:flex}.receipt-line:last-child{border-bottom:none}.receipt-line .k{color:var(--muted)}.receipt-line .v{font-variant-numeric:tabular-nums;font-weight:700}.receipt-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:12.5px;display:flex}.receipt-item strong{font-weight:700}.receipt-note{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.5}.rings{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.ring{text-align:center}.ring svg{margin:0 auto;display:block}.ring-value{fill:var(--evergreen);font-size:11.5px;font-weight:800}.ring-label{color:var(--muted);letter-spacing:.01em;margin-top:2px;font-size:10.5px;font-weight:700}.control-group{flex-direction:column;gap:7px;display:flex}.control-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.control-hint{color:var(--muted-soft);font-size:10.5px}.seg{background:var(--sunken);border:1px solid var(--sunken-2);border-radius:var(--r-md);gap:4px;padding:4px;display:grid}.seg[data-cols="2"]{grid-template-columns:1fr 1fr}.seg[data-cols="3"]{grid-template-columns:repeat(3,1fr)}.seg[data-cols="4"]{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;row-gap:4px}.seg-opt{border-radius:var(--r-sm);min-height:40px;color:var(--muted);cursor:pointer;transition:background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:700;display:flex}.seg-opt small{opacity:.75;font-size:9.5px;font-weight:600}.seg-opt[aria-checked=true]{background:linear-gradient(150deg, var(--fern), var(--hunter));color:var(--on-brand);box-shadow:0 4px 12px #0f6b4f33}.seg-opt[aria-checked=true] small{opacity:.9}.seg-opt:active{transform:scale(.98)}.chip{border-radius:var(--r-pill);background:var(--sunken);color:var(--hunter);letter-spacing:.02em;border:1px solid #0000;align-items:center;gap:5px;padding:4px 9px;font-size:10.5px;font-weight:800;display:inline-flex}.chip[data-tone=verified]{background:var(--ok-soft);color:var(--hunter);border-color:#d3e8dc}.chip[data-tone=calculated]{color:var(--fern);background:#f2f9f5;border-color:#dceae3}.chip[data-tone=estimated]{background:var(--warn-soft);color:var(--warn);border-color:#f2ddc6}.chip[data-tone=user]{background:var(--sunken);color:var(--muted);border-color:var(--sunken-2)}.chip[data-tone=unresolved]{color:var(--muted);border-color:var(--line-strong);background:#fff;border-style:dashed}.chip svg{flex:none}.chip-btn{cursor:pointer;border-color:var(--line-strong);color:var(--hunter);min-height:30px;transition:transform .18s var(--ease), box-shadow .18s var(--ease);background:#fff;font-family:inherit}.chip-btn:hover{box-shadow:var(--shadow-sm);border-color:var(--palm)}.chip-btn:active{transform:scale(.97)}.notice{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--sunken);animation:rise .32s var(--ease) both;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.notice-ok{background:var(--ok-soft);border-color:#cfe6da}.notice-warn{background:var(--warn-soft);border-color:#f2ddc6}.notice-text{color:var(--hunter);font-size:12px;font-weight:650;line-height:1.45}.notice-warn .notice-text{color:var(--warn)}.field{flex-direction:column;gap:6px;display:flex}.field label,.field-label{color:var(--ink-soft);letter-spacing:.01em;font-size:11.5px;font-weight:800}.input,input[type=text],input[type=number],input[type=password],input[type=search],textarea{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);width:100%;min-height:44px;color:var(--ink);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:10px 12px;font-family:inherit;font-size:13.5px}.input::placeholder,input::placeholder,textarea::placeholder{color:var(--muted-soft)}.input:focus,input:focus,textarea:focus{border-color:var(--fern);outline:none;box-shadow:0 0 0 3px #0f6b4f29}textarea{resize:vertical;min-height:84px;line-height:1.5}.search-field{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-xs);align-items:center;gap:9px;min-height:46px;padding:0 13px;display:flex}.search-field svg{color:var(--muted-soft);flex:none}.search-field input{background:0 0;border:none;flex:1;min-width:0;min-height:44px;padding:0;font-size:13.5px}.search-field input:focus{box-shadow:none;outline:none}.search-field:focus-within{border-color:var(--fern);box-shadow:0 0 0 3px #0f6b4f24}.select{width:100%;position:relative}.select-trigger{border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--card);width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-xs);transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:700;display:flex}.select-trigger:hover{border-color:var(--palm);background:var(--card)}.select-trigger[aria-expanded=true]{border-color:var(--fern);box-shadow:0 0 0 3px #0f6b4f24}.select-trigger .label{align-items:center;gap:8px;min-width:0;display:flex}.select-trigger .value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-trigger .meta{color:var(--muted);font-size:11px;font-weight:600}.select-chevron{color:var(--muted);transition:transform var(--t-fast) var(--ease);flex:none}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.select-pop{z-index:200;border-radius:var(--r-lg);border:1px solid var(--line-strong);background:var(--card);max-height:290px;box-shadow:var(--shadow-lg);animation:popIn .16s var(--ease);scrollbar-width:thin;padding:6px;overflow-y:auto}.select-pop[data-placement=up]{top:auto;bottom:calc(100% + 6px)}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:none}}.select-opt{border-radius:var(--r-sm);width:100%;min-height:40px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.select-opt small{color:var(--muted);font-size:11px;font-weight:600}.select-opt:hover,.select-opt[data-active=true]{background:var(--sunken)}.select-opt[aria-selected=true]{background:var(--ok-soft);color:var(--hunter);font-weight:800}.select-opt[aria-selected=true] small{color:var(--hunter)}.source-tabs{background:var(--sunken);border:1px solid var(--sunken-2);border-radius:var(--r-md);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.source-tabs button{border-radius:var(--r-sm);min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;font-family:inherit;font-size:12px;font-weight:700}.source-tabs button[aria-pressed=true]{background:var(--card);color:var(--hunter);border-color:var(--line-strong);box-shadow:var(--shadow-xs)}.food-list{flex-direction:column;gap:8px;display:flex}.food-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);width:100%;box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;transition:border-color var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast) var(--ease);align-items:center;gap:12px;padding:12px 13px;font-family:inherit;display:flex}.food-card:hover{border-color:var(--palm);box-shadow:var(--shadow-sm)}.food-card:active{transform:scale(.99)}.food-card--tile .food-meta{white-space:normal;line-height:1.3}.food-thumb{width:42px;height:42px;color:var(--fern);background:linear-gradient(150deg,#eef7f2,#e2f0e8);border:1px solid #dceae3;border-radius:13px;flex:none;place-items:center;display:grid}.food-main{flex:1;min-width:0}.food-name{letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:800;line-height:1.25;display:block;overflow:hidden}.food-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.food-kcal{text-align:right;flex:none}.food-kcal strong{color:var(--evergreen);font-variant-numeric:tabular-nums;font-size:14px;font-weight:800;display:block}.food-kcal span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9.5px;font-weight:700}.sheet{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .18s var(--ease);background:#1c191766;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet-inner{width:100%;max-width:var(--shell);background:var(--paper);border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:90vh;animation:sheetUp .26s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:flex;box-shadow:0 -12px 44px #0f3c2d38}@keyframes sheetUp{0%{opacity:.6;transform:translateY(28px)}to{opacity:1;transform:none}}.sheet-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:18px 18px 12px;display:flex;position:relative}.sheet-grab{background:var(--line-strong);border-radius:4px;width:38px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.sheet-title{letter-spacing:-.025em;font-size:17px;font-weight:800}.sheet-sub{color:var(--muted);margin-top:2px;font-size:11.5px}.sheet-body{-webkit-overflow-scrolling:touch;flex:auto;padding:16px 18px 20px;overflow-y:auto}.sheet-inner--plain{-webkit-overflow-scrolling:touch;padding:18px;display:block;overflow-y:auto}.sheet-footer{padding:12px 18px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--paper);flex:none;gap:10px;display:flex}.sheet-footer .btn{flex:1}.bottom-nav{width:100%;max-width:var(--shell);padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:40;background:#fffffff2;grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{border-radius:var(--r-md);min-height:52px;color:var(--muted);cursor:pointer;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:7px 4px;font-family:inherit;font-size:10.5px;font-weight:700;display:flex;position:relative}.bottom-nav button[aria-current=page]{color:var(--hunter);background:var(--sunken)}.bottom-nav button[aria-current=page]:after{content:"";background:var(--palm);border-radius:2px;width:16px;height:2.5px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(170deg,#fff,#faf8f3);flex-direction:column;align-items:center;gap:8px;padding:26px 20px;display:flex}.empty-icon{background:var(--sunken);width:46px;height:46px;color:var(--fern);border:1px solid var(--sunken-2);border-radius:15px;place-items:center;display:grid}.empty-title{letter-spacing:-.015em;font-size:14px;font-weight:800}.empty-text{color:var(--muted);max-width:280px;font-size:12px;line-height:1.5}.loading{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.spinner{border:2.5px solid var(--line-strong);border-top-color:var(--fern);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.banner{border-radius:var(--r-md);background:var(--warn-soft);color:#8a3a09;border:1px solid #f2ddc6;align-items:flex-start;gap:9px;padding:11px 13px;font-size:12px;line-height:1.45;display:flex}.banner[data-tone=error]{background:var(--danger-soft);color:#8f1d14;border-color:#f6d4d4}.banner[data-tone=ok]{background:var(--ok-soft);color:var(--hunter);border-color:#d3e8dc}.banner svg{flex:none;margin-top:1px}.switch-row{justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.switch-row+.switch-row{border-top:1px solid var(--line)}.switch-copy{min-width:0}.switch-copy strong{font-size:13px;font-weight:700;display:block}.switch-copy span{color:var(--muted);margin-top:1px;font-size:11px;line-height:1.4;display:block}.switch{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--sunken);cursor:pointer;width:46px;height:27px;transition:background var(--t-fast), border-color var(--t-fast);flex:none;position:relative}.switch:after{content:"";width:21px;height:21px;box-shadow:var(--shadow-xs);transition:transform var(--t-base) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch[aria-checked=true]{background:var(--hunter);border-color:var(--hunter)}.switch[aria-checked=true]:after{transform:translate(19px)}.divider{background:var(--line);height:1px;margin:4px 0}.settings-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin-bottom:2px;font-size:10.5px;font-weight:800;display:flex}.stagger>*{animation:rise .3s var(--ease) both}.stagger>:nth-child(2){animation-delay:30ms}.stagger>:nth-child(3){animation-delay:60ms}.stagger>:nth-child(4){animation-delay:90ms}.stagger>:nth-child(5){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.voice-orb{background:radial-gradient(circle at 34% 26%, var(--fern), var(--evergreen));width:92px;height:92px;color:var(--on-brand);cursor:pointer;transition:transform var(--t-fast) var(--ease);border:none;border-radius:50%;place-items:center;margin:6px auto;display:grid;position:relative;box-shadow:0 16px 32px #0f6b4f42}.voice-orb:active{transform:scale(.95)}.voice-orb[data-listening=true]:before,.voice-orb[data-listening=true]:after{content:"";border:2px solid #0f6b4f52;border-radius:50%;animation:1.8s ease-out infinite voicePulse;position:absolute;inset:-8px}.voice-orb[data-listening=true]:after{animation-delay:.75s}@keyframes voicePulse{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.45)}}.waveform{justify-content:center;align-items:center;gap:3px;height:24px;display:flex}.waveform span{background:var(--fern);border-radius:3px;width:3px;animation:1.1s ease-in-out infinite waveBar}.waveform span:nth-child(2n){animation-delay:.12s}.waveform span:nth-child(3n){animation-delay:.24s}.waveform span:nth-child(4n){animation-delay:.36s}@keyframes waveBar{0%,to{opacity:.5;height:6px}50%{opacity:1;height:22px}}.demo-chip{border:1px solid var(--line);background:var(--card);border-radius:var(--r-md);color:var(--ink);cursor:pointer;text-align:left;box-shadow:var(--shadow-xs);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:9px 12px;font-family:inherit;font-size:11.5px}.demo-chip:hover{border-color:var(--palm);box-shadow:var(--shadow-sm)}.demo-chip:active{transform:scale(.98)}.barcode-frame{border-radius:var(--r-xl);aspect-ratio:4/3;color:#cfe7da;background:linear-gradient(160deg,#16302a,#0c1d19);border:1px solid #1d3a31;place-items:center;display:grid;position:relative;overflow:hidden}.barcode-frame .scan-line{background:linear-gradient(90deg, transparent, var(--palm), transparent);height:2px;animation:laser 1.7s var(--ease) infinite;border-radius:2px;position:absolute;left:8%;right:8%}.pol-badges{flex-wrap:wrap;gap:6px;display:flex}.pol-badge{border-radius:var(--r-pill);align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.pol-badge[data-tone=alert]{background:var(--danger-soft);color:var(--danger)}.pol-badge[data-tone=warn]{background:var(--warn-soft);color:var(--warn)}.pol-badge[data-tone=ok]{background:var(--ok-soft);color:var(--hunter)}.sugar-spoons{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.sugar-spoon{background:linear-gradient(#f0b48c,#c2410c);border:1px solid #c2a75a;border-radius:5px 5px 3px 3px;width:9px;height:17px}.sugar-spoon.half{align-self:flex-end;height:9px}.oil-share{border-radius:var(--r-pill);background:var(--sunken);height:9px;margin-top:6px;display:flex;overflow:hidden}.oil-share>span{height:100%;display:block}.ingredient-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 0;display:grid}.ingredient-row:last-child{border-bottom:none}.ingredient-row input{border-radius:var(--r-sm);width:84px;min-height:38px;padding:7px 9px;font-size:13px}.recipe-step{align-items:flex-start;gap:10px;padding:6px 0;font-size:12.5px;display:flex}.recipe-step .index{background:var(--sunken);width:20px;height:20px;color:var(--hunter);border-radius:7px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.recipe-row{justify-content:space-between;gap:10px;font-size:12px;display:flex}.recipe-list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid2>*,.grid3>*,.grid-2>*,.rings>*{min-width:0}.grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.food-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.food-row:last-child{border-bottom:none}.search-input{width:100%}.chip.verified{background:var(--ok-soft);color:var(--hunter)}.chip.calculated{color:var(--fern);background:#f2f9f5}.chip.estimated{background:var(--amber-soft);color:var(--amber-ink)}.chip.user{background:var(--sunken);color:var(--muted)}.engine-badge.cache{background:var(--ok-soft);color:var(--hunter);border-color:#d3e8dc}.engine-badge.cloud{color:#14535f;background:#eef4f7;border-color:#cfe3e9}.engine-badge.pool{background:var(--amber-soft);color:var(--amber-ink);border-color:#f2ddc6}.engine-badge.local{background:var(--sunken);color:var(--muted);border-color:var(--sunken-2)}.pol-badge.ok{background:var(--ok-soft);color:var(--hunter)}.pol-badge.warn{background:var(--amber-soft);color:var(--amber-ink)}.receipt-row{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:6px 0;font-size:12.5px;display:flex}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap .select-chevron{pointer-events:none;position:absolute;right:12px}.custom-grams{align-items:center;gap:6px;margin-top:8px;display:flex}.custom-grams input{max-width:96px}.serving-field{flex-direction:column;gap:8px;min-width:0;display:flex}.serving-hint{font-size:11px}.laser{background:linear-gradient(90deg, transparent, var(--hunter), transparent);height:2px;animation:1.5s ease-in-out infinite laserSweep;position:absolute;left:0;right:0}@keyframes laserSweep{0%{top:8%}50%{top:92%}to{top:8%}}.scanner-box{border-radius:var(--r-xl);aspect-ratio:4/3;border:1px solid var(--line-strong);background:linear-gradient(160deg,#f5f2ec,#e7e2d8);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.scan-line{background:linear-gradient(90deg, transparent, var(--palm), transparent);height:2px;animation:laser 1.7s var(--ease) infinite;border-radius:2px;position:absolute;left:8%;right:8%}.barcode-corner{border:2.5px solid var(--palm);opacity:.9;width:22px;height:22px;position:absolute}.barcode-corner.tl{border-bottom:none;border-right:none;border-radius:8px 0 0;top:14px;left:14px}.barcode-corner.tr{border-bottom:none;border-left:none;border-radius:0 8px 0 0;top:14px;right:14px}.barcode-corner.bl{border-top:none;border-right:none;border-radius:0 0 0 8px;bottom:14px;left:14px}.barcode-corner.br{border-top:none;border-left:none;border-radius:0 0 8px;bottom:14px;right:14px}.voice-orb.listening:before,.voice-orb.listening:after{content:"";border:2px solid #0f6b4f52;border-radius:50%;animation:1.8s ease-out infinite voicePulse;position:absolute;inset:-8px}.voice-orb.listening:after{animation-delay:.75s}@media (max-width:360px){.hero-value{font-size:40px}.preset-grid{grid-template-columns:1fr}.rings{grid-template-columns:repeat(4,1fr);gap:0}.ring-label{font-size:9.5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.scan-laser,.barcode-frame .scan-line{display:none}}.growth-toast{left:50%;bottom:calc(var(--nav-h) + 16px);z-index:60;max-width:min(calc(var(--shell) - 32px), 360px);background:linear-gradient(140deg, #12795a 0%, var(--hunter) 100%);color:var(--on-brand);letter-spacing:.01em;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:12.5px;font-weight:700;animation:.32s cubic-bezier(.22,1,.36,1) growth-in;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 24px #0b4f3a47}@keyframes growth-in{0%{opacity:0;transform:translate(-50%,10px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.learned-badge{background:var(--ok-soft);color:var(--hunter);letter-spacing:.02em;vertical-align:1px;border:1px solid #d3e8dc;border-radius:999px;align-items:center;gap:3px;margin-left:6px;padding:1px 7px;font-size:10.5px;font-weight:800;display:inline-flex}@media (prefers-reduced-motion:reduce){.growth-toast{animation:none}}.goal-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.goal-card{text-align:left;border:1px solid var(--sunken-2);border-radius:var(--r-md);background:var(--surface);min-height:52px;color:var(--ink);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast) var(--ease);flex-direction:column;gap:2px;padding:9px 11px;font-family:inherit;display:flex}.goal-card strong{letter-spacing:-.01em;font-size:12.5px;font-weight:800}.goal-card span{color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.3}.goal-card[aria-checked=true]{border-color:var(--fern);background:linear-gradient(150deg,#f3faf6,#e9f4ee);box-shadow:0 0 0 2px #0f6b4f1f}.goal-card[aria-checked=true] strong{color:var(--hunter)}.goal-card:active{transform:scale(.985)}.goal-number{font-family:var(--font-display);letter-spacing:-.04em;color:var(--hunter);margin-top:4px;font-size:40px;font-weight:800;line-height:1.05}.goal-number span{letter-spacing:0;color:var(--muted);font-size:13px;font-weight:700}.goal-macros{color:var(--ink-soft);flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:11.5px;display:flex}.goal-macros strong{color:var(--hunter);font-weight:800}@media (prefers-reduced-motion:reduce){.goal-card{transition:none}.goal-card:active{transform:none}}.target-row{flex-direction:column;gap:6px;display:flex}.target-main{align-items:baseline;gap:6px;display:flex}.target-number{font-family:var(--font-display);letter-spacing:-.035em;color:var(--hunter);font-size:30px;font-weight:800}.target-of{color:var(--muted);font-size:12px;font-weight:700}.target-bar{border-radius:var(--r-pill);background:var(--sunken);height:7px;display:block;overflow:hidden}.target-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--fern), var(--hunter));height:100%;transition:width var(--t-med) var(--ease);display:block}.target-bar.is-thin{height:4px;margin-top:4px}.target-macros{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.target-macro{flex-direction:column;gap:1px;display:flex}.target-macro strong{letter-spacing:-.02em;font-size:13px;font-weight:800}.target-macro strong span{color:var(--muted);font-size:10.5px;font-weight:700}.link-btn{min-height:28px;color:var(--fern);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0 2px;font-family:inherit;font-size:11.5px;font-weight:800;display:inline-flex}.link-btn:focus-visible{outline:2px solid var(--fern);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){.target-bar>span{transition:none}}.install-chip{border-radius:var(--r-pill);min-height:36px;color:var(--hunter);letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast);background:linear-gradient(150deg,#f2faf5,#e6f2ec);border:1px solid #cfe4d8;align-items:center;gap:6px;padding:0 11px;font-family:inherit;font-size:11.5px;font-weight:800;display:inline-flex}.install-chip:active{transform:scale(.97)}.install-chip:focus-visible,.store-dot:focus-visible{outline:2px solid var(--fern);outline-offset:2px}@media (max-width:380px){.install-chip span{display:none}.install-chip{padding:0 9px}}.store-head{align-items:center;gap:14px;display:flex}.store-icon{border-radius:18px;box-shadow:0 10px 22px #09403038}.store-title{font-family:var(--font-display);letter-spacing:-.03em;font-size:21px;font-weight:800}.store-sub{color:var(--muted);margin-top:1px;font-size:11px;font-weight:600}.store-stats{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.store-stats span{border-radius:var(--r-pill);background:var(--sunken);color:var(--hunter);align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-flex}.btn-install{letter-spacing:-.01em;min-height:48px;font-size:15px}.btn-install:disabled{opacity:1;color:var(--hunter);box-shadow:none;background:#e6f2ec}.store-note{color:var(--ink-soft);margin-top:-6px;font-size:11.5px;font-weight:700}.install-steps{background:var(--sunken);border-radius:var(--r-md);color:var(--ink-soft);flex-direction:column;gap:7px;margin:0;padding:12px 14px 12px 30px;font-size:11.5px;line-height:1.45;display:flex}.install-steps li::marker{color:var(--fern);font-weight:800}.store-shots-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.store-dots{gap:5px;display:flex}.store-dot{background:var(--sunken-2);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0}.store-dot:hover{background:var(--fern)}.store-shots{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.store-shots::-webkit-scrollbar{display:none}.store-shot{scroll-snap-align:center;flex:0 0 66%;margin:0}.store-shot img{aspect-ratio:9/19.5;object-fit:cover;object-position:top;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--sunken);width:100%;box-shadow:0 10px 24px #0940301a}.store-shot figcaption{flex-direction:column;gap:1px;margin-top:7px;display:flex}.store-shot figcaption strong{color:var(--hunter);letter-spacing:-.01em;font-size:12px;font-weight:800}.store-shot figcaption span{color:var(--muted);font-size:10.5px;font-weight:600;line-height:1.35}.store-trust{flex-direction:column;gap:6px;display:flex}.store-trust p{color:var(--muted);align-items:flex-start;gap:6px;font-size:11px;font-weight:600;line-height:1.4;display:flex}.store-trust svg{color:var(--fern);flex:none;margin-top:1px}@media (prefers-reduced-motion:reduce){.install-chip,.install-chip:active{transition:none;transform:none}}.curtain{z-index:90;pointer-events:none;will-change:transform;animation:curtain-in .26s var(--ease) both;background:radial-gradient(120% 90% at 50% 0,#fff 0%,#f4faf6 45%,#e9f3ec 100%);place-items:center;display:grid;position:fixed;inset:0}.curtain-inner{flex-direction:column;align-items:center;gap:4px;animation:.64s cubic-bezier(.22,1,.36,1) both mark-rise;display:flex}.curtain-mark{border-radius:24px;margin-bottom:10px;box-shadow:0 18px 44px #09403042}.curtain-word{font-family:var(--font-display);letter-spacing:-.03em;color:#0b4f3a;font-size:26px;font-weight:800}.curtain-tag{letter-spacing:.16em;text-transform:uppercase;color:#5d7a6c;font-size:10.5px;font-weight:800}.curtain[data-phase=lifting]{animation:.7s cubic-bezier(.6,0,.34,1) forwards curtain-lift}@keyframes curtain-in{0%{opacity:0}to{opacity:1}}@keyframes mark-rise{0%{opacity:0;transform:translateY(64px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes curtain-lift{0%{opacity:1;transform:translateY(0)}to{opacity:.9;transform:translateY(-102%)}}@media (prefers-reduced-motion:reduce){.curtain,.curtain-inner{animation:none}.curtain[data-phase=lifting]{animation:.24s forwards curtain-fade}@keyframes curtain-fade{to{opacity:0}}}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable=true],.selectable,.khula-receipt{-webkit-user-select:text;user-select:text}button,a,.chip,.seg-opt,.goal-card,.nav-item{-webkit-tap-highlight-color:transparent}
