:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f2ea;--surface:#fffdf8;--surface-muted:#f0eadf;--field:#fbf7ef;--bar-track:#e5ded2;--ink:#17201b;--text:#53605a;--muted:#7b857f;--border:#ded6c8;--border-strong:#c8bdac;--green:#2d7d59;--green-soft:#dceee5;--green-border:#cde2d5;--green-ink:#1f6848;--green-ink-strong:#174f38;--coral:#d86a4a;--coral-soft:#f7ded4;--blue:#2f6f8f;--blue-soft:#dcebf2;--yellow:#e1aa3f;--body-glow:linear-gradient(180deg, #fffdf89e, #f6f2ea00 240px);--button-hover-border:#a79b89;--button-hover-shadow:0 8px 20px #2b221714;--primary-border:#1f6848;--primary-ink:#fff;--error-border:#e1aa95;--error-bg:#fff4ef;--success-border:#9ecdb3;--success-bg:#edf8f1;--brand-border:#b8d8c6;--brand-mark-a:#fdf8ed;--brand-mark-b:#dceee5;--brand-shadow:inset 0 -10px 0 #2d7d591f;--focus-border:#6aa786;--focus-ring:0 0 0 3px #2d7d5929;--shadow:0 14px 36px #2b221717;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111713;--surface:#18211c;--surface-muted:#202b25;--field:#1e2822;--bar-track:#303a33;--ink:#f4f0e8;--text:#c4cbbf;--muted:#8f9b92;--border:#344138;--border-strong:#526157;--green:#6fcf9b;--green-soft:#1f3a2e;--green-border:#315844;--green-ink:#a5e8c1;--green-ink-strong:#d8f7e4;--coral:#ff8a67;--coral-soft:#432920;--blue:#7bb9d4;--blue-soft:#203744;--yellow:#f2c15b;--body-glow:linear-gradient(180deg, #44594647, #11171300 260px);--button-hover-border:#718073;--button-hover-shadow:0 10px 26px #0000003d;--primary-border:#83dfad;--primary-ink:#0e1712;--error-border:#7c4333;--error-bg:#2a1916;--success-border:#396a4d;--success-bg:#182a20;--brand-border:#3c684f;--brand-mark-a:#243329;--brand-mark-b:#315844;--brand-shadow:inset 0 -10px 0 #6fcf9b26;--focus-border:#83dfad;--focus-ring:0 0 0 3px #6fcf9b2e;--shadow:0 16px 38px #00000052}*{box-sizing:border-box}#root{min-height:100svh}body{background:var(--body-glow), var(--bg);min-width:320px;margin:0}button,input{font:inherit}button{color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);font-weight:720}code{font-family:var(--mono);background:var(--surface-muted);border:1px solid var(--border);color:var(--ink);border-radius:6px;padding:3px 6px;font-size:13px}.page{min-height:100svh;padding:22px 16px 40px}.container{width:min(100%,980px);margin:0 auto}.muted{color:var(--muted)}.btn{border:1px solid var(--border-strong);background:var(--surface);min-height:42px;color:var(--ink);cursor:pointer;border-radius:8px;padding:10px 14px;font-weight:680;transition:transform 80ms,border-color .16s,background .16s,box-shadow .16s}.btn:hover{border-color:var(--button-hover-border);box-shadow:var(--button-hover-shadow)}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.btn.primary{border-color:var(--primary-border);background:var(--green);color:var(--primary-ink)}.btn.secondary{background:var(--surface-muted)}.alert{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;margin:0 0 14px;padding:12px 14px}.alert.error{border-color:var(--error-border);background:var(--error-bg)}.alert.ok{border-color:var(--success-border);background:var(--success-bg)}.sectionLabel{color:var(--green);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:760;display:block}.cardTitle{color:var(--ink);font-weight:720}@media (width<=700px){.page{padding:14px 12px 28px}.btn{min-height:40px;padding-inline:12px}}.stack{gap:14px;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;display:flex}.spacer{flex:auto}.manualSlot{margin-bottom:14px}.summaryPanel,.contentPanel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.summaryPanel{padding:18px}.summaryTop{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.kcalLine{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:2px 9px;display:flex}.kcalLine span{font-size:44px;font-weight:800;line-height:1}.kcalLine small{color:var(--muted);font-size:15px;font-weight:650}.remainingBadge,.countBadge{border:1px solid var(--green-border);background:var(--green-soft);color:var(--green-ink);border-radius:8px}.remainingBadge{text-align:right;min-width:92px;padding:9px 10px}.remainingBadge span{color:var(--green-ink-strong);font-size:20px;font-weight:780;line-height:1.05;display:block}.remainingBadge small{margin-top:2px;font-size:12px;font-weight:700;display:block}.calorieMeter{border:1px solid var(--border-strong);background:var(--surface-muted);border-radius:999px;height:12px;margin:18px 0 16px;overflow:hidden}.calorieMeterFill{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--yellow), var(--coral));height:100%}.macroTiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.nutrientDetails{border:1px solid var(--border);background:var(--field);border-radius:8px;margin-top:12px;overflow:hidden}.nutrientDetails summary{min-height:42px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:10px 12px;font-size:14px;font-weight:760;list-style:none;display:flex}.nutrientDetails summary::-webkit-details-marker{display:none}.nutrientDetails summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;margin-left:auto;transition:transform .16s;transform:rotate(45deg)translateY(-2px)}.nutrientDetails[open] summary:after{transform:rotate(225deg)translateY(-2px)}.nutrientList{border-top:1px solid var(--border);display:grid}.nutrientRow{justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:9px 12px;display:flex}.nutrientRow+.nutrientRow{border-top:1px solid var(--border)}.nutrientRow span{color:var(--text);font-size:13px;font-weight:700}.nutrientRow strong{color:var(--ink);text-align:right;font-size:13px;font-weight:760}.progressRow{border:1px solid var(--border);background:var(--field);border-radius:8px;align-content:space-between;gap:12px;min-height:112px;padding:12px;display:grid}.progressTop{gap:4px;display:grid}.progressLabel{color:var(--ink);font-size:14px;font-weight:740}.progressValue{color:var(--muted);font-size:12px;font-weight:620}.bar{background:var(--bar-track);border-radius:999px;height:7px;overflow:hidden}.barFill{border-radius:inherit;background:var(--green);height:100%}.contentPanel{padding:16px}.compactPanel{box-shadow:none}.debugPanel{margin-bottom:14px}.debugPanel summary{cursor:pointer}.panelHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panelHeader h2{font-size:19px;line-height:1.2}.countBadge{text-align:center;min-width:34px;padding:5px 8px;font-size:13px;font-weight:780}.emptyTitle{color:var(--ink);margin-bottom:5px;font-size:24px;font-weight:760;line-height:1.2}.meals{gap:16px;display:grid}.dayGroup{gap:9px;display:grid}.dayHeader{justify-content:space-between;align-items:flex-end;gap:12px;padding:0 2px;display:flex}.dayTitle{color:var(--ink);font-size:14px;font-weight:760}.dayTotal{text-align:right;gap:1px;display:grid}.dayKcal{color:var(--ink);font-size:13px;font-weight:760}.dayMacros{color:var(--muted);font-size:12px;font-weight:620}.dayMeals{gap:8px;display:grid}.mealRow{border:1px solid var(--border);background:var(--field);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:10px 12px;display:flex}.mealMain{min-width:0}.mealName{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:740;overflow:hidden}.mealMeta,.mealMacros{color:var(--muted);margin-top:2px;font-size:12px;font-weight:620}.mealNums{text-align:right;flex:none}.mealKcal{color:var(--ink);font-weight:760}.profileGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.profileGrid>div{border:1px solid var(--border);background:var(--field);border-radius:8px;min-height:64px;padding:10px}.profileLabel{color:var(--muted);font-size:12px;font-weight:680}.profileValue{color:var(--ink);margin-top:3px;font-weight:760}@media (width<=760px){.summaryPanel,.contentPanel{padding:14px}.macroTiles,.profileGrid{grid-template-columns:1fr 1fr}.kcalLine span{font-size:38px}}@media (width<=430px){.summaryTop{display:grid}.remainingBadge{text-align:left;width:100%}.macroTiles,.profileGrid{grid-template-columns:1fr}.toolbar{align-items:stretch}}.manualMealPanel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:16px}.manualForm{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.manualField{gap:8px;min-width:0;display:grid}.manualFieldWide{grid-column:1/-1}.manualMealPanel input{border:1px solid var(--border-strong);background:var(--field);width:100%;min-width:0;min-height:42px;color:var(--ink);border-radius:8px;outline:none;padding:9px 10px;transition:border-color .16s,box-shadow .16s,background .16s}.manualMealPanel input::placeholder{color:var(--muted)}.manualMealPanel input:focus{border-color:var(--focus-border);box-shadow:var(--focus-ring)}.manualLabel{color:var(--ink);font-size:13px;font-weight:740}.manualInputRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.manualUnit{min-width:34px;color:var(--muted);font-size:12px;font-weight:700}.manualDetails{border:1px solid var(--border);background:var(--field);border-radius:8px;overflow:hidden}.manualDetails summary{min-height:42px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:10px 12px;font-size:14px;font-weight:760;list-style:none;display:flex}.manualDetails summary::-webkit-details-marker{display:none}.manualDetails summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;margin-left:auto;transform:rotate(45deg)translateY(-2px)}.manualDetails[open] summary:after{transform:rotate(225deg)translateY(-2px)}.manualDetailsGrid{border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px;display:grid}.manualMeta{color:var(--muted);margin-top:10px;font-size:12px;font-weight:620}.manualActions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.manualMealPanel .alert{margin-top:12px}@media (width<=760px){.manualForm,.manualDetailsGrid{grid-template-columns:1fr}.manualActions{grid-template-columns:1fr 1fr;display:grid}}.topbar{justify-content:space-between;align-items:center;gap:12px;width:min(100%,980px);margin:0 auto 16px;display:flex}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brandMark{border:1px solid var(--brand-border);background:linear-gradient(135deg, var(--brand-mark-a) 0 42%, var(--brand-mark-b) 42% 100%);width:42px;height:42px;box-shadow:var(--brand-shadow);border-radius:8px;flex:none}.brandText{min-width:0}.brandTitle{color:var(--ink);font-size:17px;font-weight:760;line-height:1.2}.brandSubtitle{color:var(--muted);margin-top:1px;font-size:13px;line-height:1.25}.pill{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);background:var(--surface);max-width:100%;color:var(--text);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:690;overflow:hidden}.topbarActions{align-items:center;gap:8px;min-width:0;display:flex}.themeToggle{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 9px 6px 7px;font-size:12px;font-weight:720;display:inline-flex}.themeTrack{background:var(--surface-muted);border-radius:999px;align-items:center;width:28px;height:16px;padding:2px;display:inline-flex}.themeThumb{background:var(--green);border-radius:999px;width:12px;height:12px;transition:transform .16s;transform:translate(0)}html[data-theme=dark] .themeThumb{transform:translate(12px)}@media (width<=460px){.topbar{align-items:flex-start}.topbarActions{flex-direction:column;align-items:flex-end}}.patternsToolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;display:flex}.patternsToolbar .spacer{flex:auto}.patternsGrid{gap:12px;display:grid}.builderPanel{margin-bottom:14px}.patternsPanel,.builderPanel,.patternCard{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.patternsPanel{padding:16px}.patternCard{padding:14px}.builderPanel{padding:16px}.builderTop{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.builderTop h2{font-size:19px;line-height:1.2}.builderKcal{border:1px solid var(--green-border);background:var(--green-soft);min-width:86px;color:var(--green-ink);text-align:right;border-radius:8px;flex:none;padding:8px 10px}.builderKcal strong{color:var(--green-ink-strong);font-size:22px;line-height:1;display:block}.builderKcal span{font-size:12px;font-weight:760}.builderInputs{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.builderInputs label{gap:7px;min-width:0;display:grid}.builderInputs span{color:var(--ink);font-size:13px;font-weight:740}.builderInputs input{border:1px solid var(--border-strong);background:var(--field);width:100%;min-width:0;min-height:42px;color:var(--ink);border-radius:8px;outline:none;padding:9px 10px}.builderInputs input::placeholder{color:var(--muted)}.builderInputs input:focus{border-color:var(--focus-border);box-shadow:var(--focus-ring)}.builderLayout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:12px;display:grid}.menuColumn,.basketColumn{min-width:0}.builderColumnTitle{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:760}.itemMenu,.basketItems{gap:8px;display:grid}.itemMenu{max-height:520px;padding-right:2px;overflow:auto}.menuItemCard,.basketItem{border:1px solid var(--border);background:var(--field);border-radius:8px}.menuItemCard{justify-content:space-between;align-items:center;gap:10px;min-height:76px;padding:10px;display:flex}.menuItemMain,.basketItemMain{min-width:0}.menuItemName,.basketItemName{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:760;overflow:hidden}.menuItemMeta,.menuItemMacros,.basketItemMeta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:620;overflow:hidden}.menuItemMeta{margin-top:2px}.menuItemMacros{margin-top:1px}.compactBtn{min-height:34px;padding:7px 10px}.basketColumn{align-content:start;display:grid}.basketEmpty{border:1px solid var(--border);background:var(--field);min-height:68px;color:var(--muted);border-radius:8px;place-items:center;font-size:13px;font-weight:680;display:grid}.basketItem{gap:8px;padding:10px;display:grid}.basketActions{align-items:center;gap:8px;display:flex}.smallIconBtn,.smallRemoveBtn{border:1px solid var(--border-strong);background:var(--surface);min-height:32px;color:var(--ink);cursor:pointer;border-radius:8px;font-weight:760}.smallIconBtn{width:34px;padding:0}.smallRemoveBtn{padding:6px 10px}.builderTotals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.builderTotals>div{border:1px solid var(--border);background:var(--field);border-radius:8px;align-content:center;gap:2px;min-height:54px;padding:8px;display:grid}.builderTotals span{color:var(--muted);font-size:12px;font-weight:680}.builderTotals strong{color:var(--ink);font-size:14px;font-weight:780}.basketColumn .alert{margin:10px 0 0}.saveBuiltMealBtn{width:100%;margin-top:10px}.patternCardTop{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.patternTitleBlock{min-width:0}.patternTitleBlock h2{text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.22;overflow:hidden}.patternMeta,.patternItemMeta,.patternItemNums span{color:var(--muted);font-size:12px;font-weight:620}.patternMeta{margin-top:3px}.patternCalories{border:1px solid var(--green-border);background:var(--green-soft);min-width:76px;color:var(--green-ink);text-align:right;border-radius:8px;flex:none;padding:7px 9px}.patternCalories strong{color:var(--green-ink-strong);font-size:20px;line-height:1;display:block}.patternCalories span{font-size:12px;font-weight:760}.patternMacroGrid,.patternNutrients{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.patternMacroGrid{margin-top:12px}.patternMacroGrid>div,.patternNutrients>div{border:1px solid var(--border);background:var(--field);border-radius:8px;align-content:center;gap:2px;min-height:58px;padding:9px;display:grid}.patternMacroGrid span,.patternNutrients span{color:var(--muted);font-size:12px;font-weight:680}.patternMacroGrid strong,.patternNutrients strong{color:var(--ink);font-size:15px;font-weight:780}.patternDetails{border:1px solid var(--border);background:var(--field);border-radius:8px;margin-top:10px;overflow:hidden}.patternDetails summary{min-height:42px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:10px 12px;font-size:14px;font-weight:760;list-style:none;display:flex}.patternDetails summary::-webkit-details-marker{display:none}.patternDetails summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:8px;height:8px;margin-left:auto;transition:transform .16s;transform:rotate(45deg)translateY(-2px)}.patternDetails[open] summary:after{transform:rotate(225deg)translateY(-2px)}.patternItems{border-top:1px solid var(--border);gap:8px;padding:10px;display:grid}.patternItem{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:9px 10px;display:flex}.patternItemMain{min-width:0}.patternItemName{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:740;overflow:hidden}.patternItemNums{text-align:right;flex:none;gap:2px;display:grid}.patternItemNums strong{color:var(--ink);font-size:13px;font-weight:780}.patternNutrients{border-top:1px solid var(--border);padding:10px}@media (width<=520px){.builderTop,.patternCardTop{display:grid}.builderKcal,.patternCalories{text-align:left;width:100%}.builderInputs,.builderLayout,.builderTotals,.patternMacroGrid,.patternNutrients{grid-template-columns:1fr}.itemMenu{max-height:none;padding-right:0;overflow:visible}.menuItemCard{align-items:stretch}.patternItem{align-items:flex-start}}.page>div[style]{margin-top:12px}.goalForm{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;overflow:hidden}.cardHeader{padding:18px 18px 14px}.cardHeader h1{font-size:28px;line-height:1.12}.row{padding:0 18px 16px}.divider{background:var(--border);height:1px}.formSectionTitle{color:var(--ink);padding:16px 18px 0;font-size:14px;font-weight:780}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 18px 18px;display:grid}.grid.advanced{grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 0 0}.field{gap:8px;min-width:0;display:grid}.labelRow{justify-content:space-between;gap:12px;display:flex}.label{color:var(--ink);font-size:13px;font-weight:740}.hint{color:var(--muted);font-size:12px;font-weight:620}.inputRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}input{border:1px solid var(--border-strong);background:var(--field);width:100%;min-height:42px;color:var(--ink);border-radius:8px;outline:none;padding:10px 11px}input:focus{border-color:var(--focus-border);box-shadow:var(--focus-ring)}.unit{min-width:34px;color:var(--muted);font-size:12px;font-weight:700}.details{padding:0 18px 4px}.details summary{border:1px solid var(--border);background:var(--surface-muted);min-height:42px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;padding:10px 12px;font-weight:740;list-style:none;display:flex}.details summary::-webkit-details-marker{display:none}.actions{align-items:center;gap:10px;padding:16px 18px 18px;display:flex}.goalForm .alert{margin:0 18px 18px}@media (width<=760px){.grid,.grid.advanced{grid-template-columns:1fr}.labelRow{gap:2px;display:grid}}.card.simple{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:18px}.card.simple h1{margin-bottom:8px;font-size:28px;line-height:1.12}.divider{background:var(--border);height:1px;margin:16px 0}.helpTitle{color:var(--ink);margin-bottom:8px;font-weight:760}.help ol{margin:0;padding-left:18px}.help li{margin:6px 0}
