:root{--brand: #7b9b86;--brand-dark:#5f7f6c;--accent: #caa46a;--bg:#fbf7f0;--card:#ffffff;--text:#2b2a28;--muted:#7a746b;--border:#e8e1d7;--input-border:#bfe6cf;--shadow: 0 14px 36px rgba(60, 55, 45, .1);--shadow-sm: 0 8px 18px rgba(60, 55, 45, .08);--r-xl:22px;--r-lg:16px;--r-md:14px;--r-sm:12px;--ring: 0 0 0 4px rgba(123,155,134,.22);--danger:#8c2f2f;--warn:#7a5a1f;--ok:#355f4a}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:radial-gradient(900px 520px at 18% 0%,#7b9b8624,#7b9b8600 55%),radial-gradient(800px 500px at 100% 10%,#caa46a24,#caa46a00 58%),var(--bg);position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background:repeating-linear-gradient(0deg,#000c 0px 1px,#fff0 2px 5px),repeating-linear-gradient(90deg,#0009 0px 1px,#fff0 2px 7px);mix-blend-mode:soft-light}body[data-theme=dark]{--bg:#15120f;--card:#1d1814;--text:#f3eee7;--muted:#b9aa9b;--border:#2b241e;--input-border:#2f5a43;--shadow: 0 14px 36px rgba(0,0,0,.35);--shadow-sm: 0 8px 18px rgba(0,0,0,.3);--ring: 0 0 0 4px rgba(123,155,134,.25)}body[data-theme=dark]{background:radial-gradient(900px 520px at 18% 0%,#7b9b862e,#7b9b8600 55%),radial-gradient(800px 500px at 100% 10%,#caa46a1a,#caa46a00 58%),var(--bg)}.page{max-width:900px;margin:0 auto;padding:18px 16px 44px;animation:fadeIn .4s ease}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 6px 18px;position:relative}#headerTitle{font-size:50px;color:#5e7566}.headerTitle{font-size:100px;display:flex;align-items:center;gap:12px}.appIcon{width:42px}.header:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:linear-gradient(to right,transparent,rgba(150,140,120,.45),transparent)}.header h1{margin:0;font-size:22px;font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.titleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.valueSearchWrap{display:flex;align-items:center}.valueSearch{width:220px;max-width:100%;padding:10px 12px;border-radius:999px;border:1px solid var(--input-border);background:#fff;color:var(--text);font-weight:800;font-size:13px;box-shadow:var(--shadow-sm)}.valueSearch:focus{outline:none;border-color:#7b9b86bf;box-shadow:var(--ring)}body[data-theme=dark] .valueSearch{background:#1b1612;color:var(--text)}.sub{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.4}.themeBtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid rgba(150,140,120,.35);background:var(--card);color:var(--muted);font-weight:900;font-size:12px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.themeBtn:hover{transform:translateY(-1px);box-shadow:0 16px 28px #3c372d24}.themeBtn:active{transform:translateY(0)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;margin:14px 0;box-shadow:var(--shadow);position:relative}h2{margin:0 0 10px;font-size:18px;font-weight:900;padding-left:8px;display:flex;align-items:center;gap:10px}.stepNumber{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,#7b9b86bf,#7b9b868c);color:#2a291f;font-weight:900;font-size:14px;flex-shrink:0}h3{margin:14px 0 10px;font-size:14px;font-weight:900}.hint{margin:8px 0 0;color:var(--muted);font-size:13px}.error{margin:10px 0 0;color:var(--danger);background:#fbefef;border:1px solid #f1d7d7;padding:12px 14px;border-radius:var(--r-sm);display:flex;align-items:center;gap:8px;animation:shake .4s ease}.error:before{content:"⚠️";font-size:18px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}body[data-theme=dark] .error{background:#8c2f2f26;border-color:#8c2f2f4d}.values{display:flex;flex-wrap:wrap;gap:10px}.toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 90%,#fff 10%)}.toggle input{width:16px;height:16px;accent-color:var(--brand)}.toggleLabel{font-weight:800;font-size:13px;text-transform:capitalize}.toggle.active{background:color-mix(in srgb,var(--brand) 12%,var(--card) 88%);border-color:#7b9b8673;box-shadow:0 0 0 2px #7b9b8626}.rowBetween{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--card) 70%,#f5f1ea 30%);overflow:hidden}.segBtn{border:0;background:transparent;padding:10px 14px;font-weight:900;font-size:13px;cursor:pointer;color:var(--text)}.segBtn.active{background:#7b9b862e;color:var(--brand-dark)}.segBtn:disabled{opacity:.6;cursor:not-allowed}.textarea{width:100%;padding:14px;border-radius:var(--r-lg);border:1px solid var(--input-border);background:#fff;color:var(--text);font-size:14px;line-height:1.45;resize:vertical;min-height:160px}.textarea::placeholder{color:#9b948a}.textarea:focus{outline:none;border-color:#7b9b86bf;box-shadow:var(--ring)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);padding:12px 14px;border-radius:var(--r-lg);font-weight:900;font-size:14px;cursor:pointer;min-width:180px;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 16px 28px #3c372d24}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(180deg,#7b9b86bf,#7b9b868c);border-color:#7b9b8673;color:#1f2a24}.btn.primary:hover{filter:brightness(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.previewWrap{display:grid;gap:12px;margin-top:12px}.preview{width:100%;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm)}.meta{display:grid;gap:8px;color:var(--muted);font-size:13px}.metaRow{display:flex;gap:10px}.metaKey{width:48px;opacity:.75}.metaVal{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.grid{grid-template-columns:1.2fr .8fr;gap:20px}}.panel{background:color-mix(in srgb,var(--card) 86%,#fdfbf7 14%);border:1px solid var(--border);border-radius:var(--r-xl);padding:14px;box-shadow:var(--shadow-sm);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:#caa46a38;color:var(--warn);font-size:12px;font-weight:900}.textbox{background:#fff;border:1px solid var(--input-border);border-radius:var(--r-lg);padding:12px;min-height:140px;white-space:pre-wrap;line-height:1.5;color:var(--text)}body[data-theme=dark] .textarea,body[data-theme=dark] .textbox{background:#1b1612;border-color:var(--input-border);color:var(--text)}.mark{background:#caa46a38;border-radius:6px;padding:0 3px}.flags,.alts{list-style:none;padding:0;margin:0;display:grid;gap:10px}.flag,.alt{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px;transition:transform .15s ease,box-shadow .15s ease}.flag:hover,.alt:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.alt{background:linear-gradient(135deg,color-mix(in srgb,var(--card) 95%,rgba(123,155,134,.08) 5%),var(--card));border:1px solid rgba(123,155,134,.25);border-left:3px solid var(--brand)}.altName{font-weight:700;color:var(--text);margin-bottom:4px}.flagTop{display:flex;justify-content:space-between;gap:10px}.sev{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:900;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--card) 70%,#f5f1ea 30%);border:1px solid var(--border)}.flag.high .sev{background:#f4dede;color:var(--danger);border-color:#f1d7d7}.flag.med .sev{background:#f6ebd8;color:var(--warn);border-color:#f0e0c0}.flag.low .sev{background:#e6efe9;color:var(--ok);border-color:#d0e4d8}.flagReason,.altNote,.altSku{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.alternativesTitle{margin-top:20px;margin-bottom:12px}.emptyState,.successState{text-align:center;padding:40px 20px}.emptyIcon,.successIcon{font-size:48px;margin-bottom:12px;display:block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.successState .hint{color:var(--ok);font-weight:600}.footer{text-align:center;color:var(--muted);margin-top:18px;font-size:13px}.toggle{position:relative}.infoDot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:8px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 80%,#e6efe9 20%);color:var(--muted);font-size:12px;font-weight:900;line-height:1}.toggle:after{content:attr(title);position:absolute;left:10px;top:calc(100% + 10px);width:min(280px,80vw);padding:10px 12px;border-radius:12px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--text);font-size:12.5px;line-height:1.35;opacity:0;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none;z-index:50}.toggle:before{content:"";position:absolute;left:22px;top:calc(100% + 4px);width:10px;height:10px;background:var(--card);border-left:1px solid var(--border);border-top:1px solid var(--border);transform:rotate(45deg);opacity:0;transition:opacity .12s ease,transform .12s ease;pointer-events:none;z-index:51}.toggle:hover:after,.toggle:hover:before,.toggle:focus-within:after,.toggle:focus-within:before{opacity:1;transform:translateY(0)}.toggle[title=""]:after,.toggle[title=""]:before{display:none}.resultsTabs{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px}.tabBtn{border:1px solid var(--border);background:var(--card);color:var(--text);padding:10px 12px;border-radius:999px;font-weight:900;font-size:13px;cursor:pointer;box-shadow:var(--shadow-sm)}.tabBtn.active{border-color:#7b9b868c;background:#7b9b862e;color:var(--brand-dark)}.macroInputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 14px}@media(max-width:720px){.macroInputs{grid-template-columns:1fr}}.macroField label{display:block;font-size:12px;font-weight:900;color:var(--muted);margin-bottom:6px}.macroInput{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--input-border);background:#fff;color:var(--text)}body[data-theme=dark] .macroInput{background:#1b1612;color:var(--text)}.macroChart{display:grid;gap:12px;margin-top:8px}.macroRow{display:grid;gap:8px}.macroLabel{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.macroVal{color:var(--muted);font-weight:900;font-size:12px}.macroTrack{width:100%;height:12px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 75%,#f5f1ea 25%);overflow:hidden}.macroFill{height:100%;border-radius:999px;background:linear-gradient(180deg,#7b9b86d9,#7b9b868c)}.macroAnim .macroFill{width:0;animation:growBar .7s cubic-bezier(.2,.8,.2,1) forwards}.macroAnim .macroRow:nth-child(1) .macroFill{animation-delay:0ms}.macroAnim .macroRow:nth-child(2) .macroFill{animation-delay:.12s}.macroAnim .macroRow:nth-child(3) .macroFill{animation-delay:.24s}.macroFill{width:var(--w, 0%)}@keyframes growBar{0%{width:0%}to{width:var(--w)}}@media(prefers-reduced-motion:reduce){.macroAnim .macroFill{animation:none}}.calorieBox{margin-top:16px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--card) 80%,#f3efe8 20%);box-shadow:var(--shadow-sm)}.calorieTotal{font-size:20px;font-weight:900;margin-bottom:6px}.calorieBreakdown{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;font-weight:700;color:var(--muted)}.icon{width:18px;height:18px;margin-right:8px;margin-bottom:3px;vertical-align:middle}.iconTitle{display:flex;align-items:center;gap:8px}
