/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--radius-sm:.25rem}}@layer base,components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.grid{display:grid}.hidden{display:none}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--surface:#fff;--paper:#fdfcf9;--fg:#2a2620;--muted:#857b6d;--faint:#b2a999;--line:#eae3d6;--line2:#dcd3c2;--soft-mix:15%;--accent:#bf5b3e;--sat:#c24e2e;--ok:#5e7a47;--amber:#b9831f;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px #2a26200a,0 8px 24px #2a26200f;--bar:var(--paper)}@supports (color:color-mix(in lab,red,red)){:root{--bar:color-mix(in srgb, var(--paper) 88%, transparent)}}:root{--accent-soft:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--accent-soft:color-mix(in srgb, var(--accent) var(--soft-mix), var(--surface))}}:root{--accent-ink:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--accent-ink:color-mix(in srgb, var(--accent) 82%, var(--fg))}}:root{--accent-line:var(--accent)}@supports (color:color-mix(in lab,red,red)){:root{--accent-line:color-mix(in srgb, var(--accent) 38%, var(--line2))}}:root{--sat-soft:var(--sat)}@supports (color:color-mix(in lab,red,red)){:root{--sat-soft:color-mix(in srgb, var(--sat) var(--soft-mix), var(--surface))}}:root{--sat-ink:var(--sat)}@supports (color:color-mix(in lab,red,red)){:root{--sat-ink:color-mix(in srgb, var(--sat) 84%, var(--fg))}}:root{--ok-soft:var(--ok)}@supports (color:color-mix(in lab,red,red)){:root{--ok-soft:color-mix(in srgb, var(--ok) var(--soft-mix), var(--surface))}}:root{--ok-ink:var(--ok)}@supports (color:color-mix(in lab,red,red)){:root{--ok-ink:color-mix(in srgb, var(--ok) 84%, var(--fg))}}:root{--amber-soft:var(--amber)}@supports (color:color-mix(in lab,red,red)){:root{--amber-soft:color-mix(in srgb, var(--amber) var(--soft-mix), var(--surface))}}:root{--amber-ink:var(--amber)}@supports (color:color-mix(in lab,red,red)){:root{--amber-ink:color-mix(in srgb, var(--amber) 88%, var(--fg))}}[data-theme=dark]{--surface:#221e19;--paper:#1a1714;--fg:#ece6db;--muted:#a39a8c;--faint:#6f675b;--line:#332d26;--line2:#41392f;--soft-mix:24%;--sat:#dc6e50;--ok:#86a267;--amber:#d7a442;--shadow:0 1px 2px #0006,0 10px 30px #00000080}[data-scheme=sage]{--accent:#6e8757}[data-scheme=indigo]{--accent:#5667c4}[data-scheme=plum]{--accent:#8a4e7c}[data-scheme=graphite]{--accent:#5c5750}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--fg);-webkit-font-smoothing:antialiased;padding-bottom:112px;font-family:Hanken Grotesk,system-ui,sans-serif;font-size:16px;line-height:1.5;transition:background .2s,color .2s}h1,h2,h3{margin:0;font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.12}.wrap{max-width:1120px;margin:0 auto;padding:0 22px}header{padding:34px 0 16px}.htop{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.brand h1{letter-spacing:-.5px;font-size:42px}.brand .sub{color:var(--muted);letter-spacing:.2px;margin-top:3px;font-size:13.5px;font-weight:500}.settings{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.seg{background:var(--surface);border:1px solid var(--line2);border-radius:999px;padding:3px;display:inline-flex}.seg button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .12s;display:flex}.seg button.on{background:var(--accent);color:#fff}.swatches{align-items:center;gap:7px;display:inline-flex}.sw{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;transition:all .12s;position:relative}.sw.on{border-color:var(--fg);box-shadow:0 0 0 2px var(--paper) inset}.sw:hover{transform:scale(1.1)}.intro{color:var(--muted);max-width:680px;margin-top:16px;font-size:14px}.intro b{color:var(--accent-ink);font-weight:600}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:16px 0;padding:22px 24px}.panel h2{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:16px;font-family:Hanken Grotesk,sans-serif;font-size:12.5px;font-weight:700}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 22px;display:grid}.field label{color:var(--muted);letter-spacing:.02em;margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input[type=number],.field select{border:1px solid var(--line2);border-radius:var(--radius-sm);background:var(--paper);width:100%;font:inherit;color:var(--fg);padding:10px 12px}.field input:focus,.field select:focus{border-color:var(--accent);outline:none}.ht{gap:8px;display:flex}.ht .u{flex:1;align-items:center;gap:6px;display:flex}.ht .u span{color:var(--faint);font-size:12px}.slider-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.slider-row .val{font-family:Fraunces,serif;font-size:18px}input[type=range]{width:100%;accent-color:var(--accent);margin-top:2px}.hint{color:var(--faint);margin-top:5px;font-size:11.5px}.budget{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:12px;margin-top:6px;display:grid}.tile{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);padding:13px 14px}.tile .k{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:700}.tile .v{margin-top:3px;font-family:Fraunces,serif;font-size:24px}.tile .v small{color:var(--muted);font-size:13px;font-weight:400}.tile.kcal{background:var(--accent);border-color:var(--accent)}.tile.kcal .k{color:#fff}@supports (color:color-mix(in lab,red,red)){.tile.kcal .k{color:color-mix(in srgb,#fff 78%,var(--accent))}}.tile.kcal .v,.tile.kcal .v small{color:#fff}@supports (color:color-mix(in lab,red,red)){.tile.kcal .v small{color:color-mix(in srgb,#fff 68%,var(--accent))}}.tile.sat{background:var(--sat-soft);border-color:var(--sat-soft)}.tile.sat .k,.tile.sat .v{color:var(--sat-ink)}.tile.fib{background:var(--ok-soft);border-color:var(--ok-soft)}.tile.fib .k,.tile.fib .v{color:var(--ok-ink)}.warn{color:var(--sat-ink);background:var(--sat-soft);border:1px solid var(--sat-soft);border-radius:var(--radius-sm);margin-top:12px;padding:9px 12px;font-size:12.5px;display:none}.controls{z-index:40;background:var(--bar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin:18px 0 6px;padding:14px 0;position:sticky;top:0}.controls .row1{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search{flex:1;min-width:180px;position:relative}.search input{border:1px solid var(--line2);background:var(--surface);width:100%;font:inherit;color:var(--fg);border-radius:999px;padding:11px 14px 11px 38px}.search input:focus{border-color:var(--accent);outline:none}.search svg{color:var(--faint);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.selwrap{position:relative}.sortsel{border:1px solid var(--line2);background:var(--surface);font:inherit;color:var(--fg);cursor:pointer;border-radius:999px;padding:11px 14px}.toggle-wrap{background:var(--surface);border:1px solid var(--line2);border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 15px;display:flex}.toggle-wrap.on{border-color:var(--ok);background:var(--ok-soft)}.toggle-label{white-space:nowrap;font-size:13.5px;font-weight:600}.toggle-label .x{color:var(--muted);font-size:11px;font-weight:500;display:block}.toggle-wrap.on .toggle-label,.toggle-wrap.on .toggle-label .x{color:var(--ok-ink)}.switch{flex:none;width:46px;height:26px;position:relative}.switch input{opacity:0;width:0;height:0}.slide{background:var(--line2);cursor:pointer;border-radius:999px;transition:all .18s;position:absolute;top:0;right:0;bottom:0;left:0}.slide:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked+.slide{background:var(--ok)}.switch input:checked+.slide:before{transform:translate(20px)}.chips{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.chip{border:1px solid var(--line2);background:var(--surface);cursor:pointer;color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--fg);color:var(--surface);border-color:var(--fg)}.chip .mk{border-radius:50%;width:6px;height:6px;display:none}.controls.ldl .chip.smart .mk{background:var(--ok);display:inline-block}.controls.ldl .chip.hisat .mk{background:var(--amber);display:inline-block}.controls.ldl .chip.hisat{color:var(--amber-ink);border-style:dashed}.controls.ldl .chip.hisat.active{background:var(--amber-ink);color:var(--surface);border-style:solid}.meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:14px 0 2px;display:flex}.count{color:var(--muted);font-size:13.5px}.count b{color:var(--fg);font-weight:600}.howlink{color:var(--accent-ink);cursor:pointer;border-bottom:1px dotted var(--accent);font-size:12.5px;font-weight:600}.howbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);margin:10px 0;padding:16px 18px;font-size:13.5px;display:none}.howbox.show{display:block}.howbox p{margin:0 0 9px}.howbox p:last-child{margin:0}.howbox b{font-weight:600}.howbox .s{color:var(--muted);font-size:12px}.grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:8px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;flex-direction:column;padding:18px 18px 16px;transition:all .14s;display:flex}.card:hover{border-color:var(--line2);transform:translateY(-2px)}.card .top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card h3{letter-spacing:-.2px;flex:1;font-size:20px}.badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.b-smart{background:var(--ok-soft);color:var(--ok-ink)}.b-mod{background:var(--amber-soft);color:var(--amber-ink)}.b-high{background:var(--faint)}@supports (color:color-mix(in lab,red,red)){.b-high{background:color-mix(in srgb,var(--faint) 22%,var(--surface))}}.b-high{color:var(--muted)}.card .tags{color:var(--faint);text-transform:capitalize;margin:7px 0 13px;font-size:12px}.macros{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;display:grid}.m{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 4px}.m .mv{font-family:Fraunces,serif;font-size:18px;line-height:1}.m .ml{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;font-size:10px}.subm{gap:8px;margin-top:8px;display:flex}.sm{text-align:center;border-radius:9px;flex:1;padding:7px 4px}.sm.sat{background:var(--sat-soft)}.sm.sat .mv,.sm.sat .ml{color:var(--sat-ink)}.sm.fib{background:var(--ok-soft)}.sm.fib .mv,.sm.fib .ml{color:var(--ok-ink)}.sm .mv{font-family:Fraunces,serif;font-size:16px;line-height:1}.sm .ml{text-transform:uppercase;letter-spacing:.04em;opacity:.9;margin-top:2px;font-size:9.5px}.card .foot{justify-content:space-between;align-items:center;gap:8px;margin-top:13px;display:flex}.kc{color:var(--muted);font-size:12.5px}.kc b{color:var(--fg);font-family:Fraunces,serif;font-size:15px;font-weight:500}.addbtn{border:1px solid var(--accent);color:var(--accent-ink);background:var(--accent-soft);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .12s}.addbtn:hover{background:var(--accent);color:#fff}.swapline{color:var(--ok-ink);background:var(--ok-soft);border-radius:9px;align-items:flex-start;gap:6px;margin-top:11px;padding:7px 10px;font-size:11.5px;display:flex}.swapline svg{flex:none;margin-top:1px}.showmore{border:1px solid var(--line2);background:var(--surface);font:inherit;cursor:pointer;color:var(--fg);border-radius:999px;margin:26px auto 8px;padding:11px 26px;font-weight:600;display:block}.showmore:hover{border-color:var(--accent);color:var(--accent-ink)}.empty{text-align:center;color:var(--muted);padding:50px 20px}.empty h3{color:var(--fg);margin-bottom:10px;font-size:24px}.empty p{max-width:460px;margin:0 auto;font-size:14.5px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;background:#14110e80;justify-content:center;align-items:flex-start;padding:40px 18px;display:none;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.overlay.show{display:flex}.modal{background:var(--surface);border-radius:20px;width:100%;max-width:680px;padding:32px 34px;position:relative;box-shadow:0 30px 80px #0006}.modal .close{background:var(--paper);cursor:pointer;width:34px;height:34px;color:var(--muted);border:none;border-radius:50%;font-size:18px;line-height:1;position:absolute;top:18px;right:18px}.modal .close:hover{background:var(--line);color:var(--fg)}.modal h2{letter-spacing:-.3px;padding-right:36px;font-size:30px;font-weight:500}.modal .mtags{color:var(--faint);text-transform:capitalize;margin:8px 0 18px;font-size:13px}.mstat{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.mstat .x{border:1px solid var(--line);border-radius:10px;min-width:62px;padding:9px 13px}.mstat .x .k{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:700}.mstat .x .v{margin-top:2px;font-family:Fraunces,serif;font-size:19px}.mstat .x.sat{background:var(--sat-soft);border-color:var(--sat-soft)}.mstat .x.sat .k,.mstat .x.sat .v{color:var(--sat-ink)}.mstat .x.fib{background:var(--ok-soft);border-color:var(--ok-soft)}.mstat .x.fib .k,.mstat .x.fib .v{color:var(--ok-ink)}.modal h4{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);justify-content:space-between;align-items:center;margin:22px 0 10px;font-family:Hanken Grotesk,sans-serif;font-size:12px;font-weight:700;display:flex}.unit-mini{background:var(--paper);border:1px solid var(--line2);border-radius:999px;padding:2px;display:inline-flex}.unit-mini button{font:inherit;letter-spacing:.02em;text-transform:none;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:600}.unit-mini button.on{background:var(--accent);color:#fff}.ings{grid-template-columns:1fr 1fr;gap:6px 18px;margin:0;padding:0;display:grid}.ings li{border-bottom:1px solid var(--line);padding:5px 0;font-size:14px;list-style:none}.ings li.det{color:var(--muted)}.approx{color:var(--faint);margin-top:8px;font-size:11.5px;font-style:italic}.steps{counter-reset:s;margin:0;padding:0}.steps li{padding:0 0 16px 40px;font-size:14.5px;line-height:1.55;list-style:none;position:relative}.steps li:before{counter-increment:s;content:counter(s);background:var(--accent-soft);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-family:Fraunces,serif;font-size:14px;font-weight:600;display:flex;position:absolute;top:-1px;left:0}.mswaps{background:var(--ok-soft);color:var(--ok-ink);border-radius:12px;margin:4px 0 6px;padding:13px 16px;font-size:13.5px}.mswaps b{text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.mswaps ul{margin:0;padding-left:18px}.mswaps li{margin:2px 0}.modaladd{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:none;border-radius:12px;margin-top:24px;padding:13px;font-size:15px;font-weight:600}.modaladd:hover{filter:brightness(.94)}.tracker{z-index:60;background:var(--surface);border-top:1px solid var(--line2);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000001f}.tracker .bar{cursor:pointer;align-items:center;gap:18px;max-width:1120px;margin:0 auto;padding:12px 22px;display:flex}.tracker .lead{flex:none;align-items:baseline;gap:9px;display:flex}.tracker .lead .t{font-family:Fraunces,serif;font-size:17px}.tracker .lead .n{color:var(--muted);font-size:12px}.meters{flex-wrap:wrap;flex:1;gap:14px;display:flex}.meter{flex:1;min-width:92px}.meter .mtop{justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.meter .mtop .lab{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.meter .mtop .num{color:var(--fg);font-weight:600}.track{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.fill{background:var(--accent);border-radius:999px;width:0;height:100%;transition:width .25s}.meter.protein .fill{background:var(--fg)}.meter.fat .fill{background:var(--amber)}.meter.carb .fill{background:var(--accent)}.meter.sat .fill{background:var(--ok)}.meter.sat.over .fill{background:var(--sat)}.meter.sat.over .num{color:var(--sat-ink)}.meter.fiber .fill{background:var(--faint)}.meter.fiber.met .fill{background:var(--ok)}.meter.fiber.met .num{color:var(--ok-ink)}.chev{color:var(--muted);flex:none;transition:all .2s}.tracker.open .chev{transform:rotate(180deg)}.tray{max-width:1120px;max-height:0;margin:0 auto;padding:0 22px;transition:max-height .25s;overflow:hidden}.tracker.open .tray{max-height:340px;padding-bottom:16px;overflow-y:auto}.tray .items{border-top:1px solid var(--line);padding-top:12px}.pitem{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;font-size:13.5px;display:flex}.pitem .nm{font-weight:500}.pitem .px{color:var(--muted);margin-top:1px;font-size:11.5px}.pitem .rm{color:var(--faint);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px}.pitem .rm:hover{color:var(--sat-ink)}.tray .empty2{color:var(--faint);text-align:center;padding:16px 0;font-size:13.5px}.tray .clear{border:1px solid var(--line2);background:var(--paper);font:inherit;cursor:pointer;color:var(--muted);border-radius:999px;margin:14px 0 4px;padding:8px 16px;font-size:12.5px}.tray .clear:hover{color:var(--sat-ink);border-color:var(--sat)}footer{color:var(--faint);padding:30px 0 18px;font-size:12px;line-height:1.6}footer b{color:var(--muted);font-weight:600}@media(max-width:640px){.brand h1{font-size:34px}.modal{padding:26px 22px}.ings{grid-template-columns:1fr}.tracker .bar{flex-wrap:wrap;gap:10px}.meters{order:3;width:100%}.settings{width:100%}}.mealtabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.mealtab{border:1px solid var(--line2);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .12s}.mealtab:hover{border-color:var(--accent);color:var(--accent-ink)}.mealtab.on{background:var(--accent);color:#fff;border-color:var(--accent)}.filterlab{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin:13px 0 8px;font-size:11px;font-weight:700}.dietchips{flex-wrap:wrap;gap:8px;display:flex}.chip.diet.active{background:var(--accent);border-color:var(--accent);color:#fff}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
