@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/084282eba306c257-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/1e377d93cbdd6b44-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/ec1d0aa2d2fbc083-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f1dd23950e6cd390-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/0c7826ffb3acea36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b6a6f0b43d027304-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Source Sans\ 3;font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/692df4da22e71021-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Source Sans\ 3 Fallback;src:local("Arial");ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.00%;size-adjust:93.76%}.__className_203c76{font-family:Source Sans\ 3,Source Sans\ 3 Fallback;font-style:normal}.__variable_203c76{--font-body:"Source Sans 3","Source Sans 3 Fallback"}:root{--bg:#f3ebe0;--bg-soft:#faf6f0;--card:#ffffff;--text:#2a2a2a;--text-muted:#6b6b6b;--green:#58a844;--green-dark:#458536;--green-soft:#e8f5e4;--orange:#ff7a22;--orange-dark:#e66812;--border:#eadfce;--shadow:0 8px 24px rgba(60,40,20,0.08);--radius:18px;--radius-sm:12px;--nav-h:68px;--font:var(--font-body),"Segoe UI",sans-serif}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--text);background:radial-gradient(ellipse 120% 80% at 10% -10%,#fff8ee 0,transparent 50%),radial-gradient(ellipse 80% 60% at 100% 0,#efe4d4 0,transparent 45%),var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45;min-height:100dvh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--green);outline-offset:2px}.app-shell{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-h) + 16px)}.app-main{width:min(560px,100%);margin:0 auto;padding:14px 14px 24px;flex:1 1;overflow-x:clip}.page-header{margin-bottom:14px}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.page-title{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin-bottom:2px;line-height:1.2;overflow-wrap:anywhere}.page-sub{color:var(--text-muted);font-size:.88rem;margin-bottom:0}.demo-banner{background:#fff3e0;border:1px solid #ffd8a8;color:#7a4a12;border-radius:var(--radius-sm);padding:7px 10px;font-size:.8rem;margin-bottom:10px;line-height:1.3}.portion-bar{margin-top:4px}.portion-block{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.portion-label{font-size:.9rem;font-weight:600;color:var(--text);margin:0}.actions-menu{position:relative;flex-shrink:0}.actions-menu-trigger{list-style:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;font-weight:700;line-height:1;color:var(--text-muted);box-shadow:var(--shadow)}.actions-menu-trigger::-webkit-details-marker{display:none}.actions-menu-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:30;display:flex;flex-direction:column;gap:2px}.actions-menu-panel button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;text-align:left;padding:10px 12px;border-radius:8px;min-height:44px;cursor:pointer;font-weight:600;color:var(--text)}.actions-menu-panel button:hover:not(:disabled){background:var(--green-soft)}.actions-menu-panel button:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7);overflow:hidden}.stack{display:flex;flex-direction:column;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:14px;border:none;cursor:pointer;font-weight:600;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 6px 16px rgba(255,122,34,.28)}.btn-primary:hover:not(:disabled){background:var(--orange-dark)}.btn-green{background:var(--green);color:#fff}.btn-green:hover:not(:disabled){background:var(--green-dark)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-block{width:100%}.chip{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:10px 14px;min-height:44px;box-shadow:var(--shadow)}.chip,.chip select{cursor:pointer;font-weight:600}.chip select{border:none;background:transparent;color:var(--text)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.save-toast{position:fixed;top:12px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:600;z-index:50;box-shadow:0 8px 20px rgba(88,168,68,.35);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:var(--nav-h);background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(4,1fr);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.field{display:block;width:100%;margin-top:6px;margin-bottom:10px;padding:12px;border-radius:12px;border:1px solid var(--border);background:#fff;min-height:48px}.radio-row{margin-bottom:10px;line-height:1.35}.radio-row,.snack-toggle{display:flex;gap:10px;align-items:flex-start}.snack-toggle{font-size:.88rem;margin-top:10px;color:var(--text)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-muted);min-height:44px}.bottom-nav a.active{color:var(--green)}.bottom-nav .icon{width:22px;height:22px}.meal-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.meal-card--text .body{padding-top:14px}.food-photo{width:100%;height:100%;object-fit:cover}.day-chips{display:flex;flex-wrap:wrap;gap:6px}.day-chip{min-width:40px;min-height:40px;border-radius:10px;border:2px solid var(--border);background:#fff;font-weight:700;font-size:.8rem;cursor:pointer}.day-chip.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.shop-item.recheck .name{text-decoration:none}.shop-item.recheck{background:#fff8e8}.meal-card .media,.modal .media{position:relative;height:72px;max-height:72px;background:#ddd}.meal-card .media .placeholder,.modal .media .placeholder{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:flex-end;padding:8px 10px}.media-stub-label{margin:0}.meal-card .body{padding:12px 14px 14px}.meal-slot{font-size:.78rem;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.meal-name{font-size:1.08rem;font-weight:700;margin-bottom:6px;line-height:1.3;overflow-wrap:anywhere}.meal-meta{color:var(--text-muted);font-size:.85rem;gap:6px 12px}.meal-actions,.meal-meta{display:flex;flex-wrap:wrap}.meal-actions{gap:8px;margin-top:12px}.meal-actions .btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px);min-width:min(100%,148px);padding:10px 12px;font-size:.9rem}.modal-backdrop{position:fixed;inset:0;background:rgba(40,30,20,.45);z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fadeIn .2s ease}.modal{width:min(520px,100%);max-height:min(90dvh,720px);overflow:auto;background:var(--bg-soft);border-radius:22px 22px 16px 16px;padding:18px 16px 20px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.modal h2{font-size:1.35rem;margin-bottom:6px}.modal .lead{color:var(--text-muted);margin-bottom:14px}.modal-close{float:right;background:transparent;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--text-muted);min-width:44px;min-height:44px}.option-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin:14px 0}.option-card{background:#fff;border:2px solid var(--border);border-radius:14px;padding:14px 10px;text-align:center;cursor:pointer;font-weight:600;min-height:72px;position:relative}.option-card.selected{border-color:var(--green);background:var(--green-soft)}.option-card .check{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:.75rem;justify-content:center}.option-card .check,.sub-flow{display:flex;align-items:center}.sub-flow{gap:12px;margin:12px 0}.sub-thumb{width:56px;height:56px;border-radius:50%;background:linear-gradient(145deg,#f0e0c8,#d4b896);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;text-align:center;padding:6px}.arrow{color:var(--green);font-size:1.4rem;font-weight:700}.shopping-group{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 14px 8px}.shopping-group h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin-bottom:8px}.cat-dot{width:10px;height:10px;border-radius:50%;background:var(--green)}.shop-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f0ebe3;min-height:48px}.shop-item:first-of-type{border-top:none}.checkbox{width:24px;height:24px;border-radius:7px;border:2px solid #cfc4b4;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;color:#fff;font-size:.85rem;cursor:pointer}.checkbox.checked{background:var(--green);border-color:var(--green)}.shop-item.done .name{text-decoration:line-through;color:var(--text-muted)}.shop-meta{margin-left:auto;color:var(--text-muted);font-size:.88rem;white-space:nowrap}.portion-row{display:inline-flex;gap:4px;flex-wrap:nowrap}.portion-btn{width:40px;height:40px;border-radius:10px;border:2px solid var(--border);background:#fff;font-weight:700;cursor:pointer;flex-shrink:0}.portion-btn.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.help-card{background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.help-card h3{margin-bottom:8px}.help-card li,.help-card p{color:var(--text-muted);font-size:.95rem}.help-card ul{padding-left:18px;gap:6px}.help-card ul,.recipe-list{display:flex;flex-direction:column}.recipe-list{list-style:none;gap:8px;margin:12px 0}.recipe-list li{background:#fff;border-radius:12px;padding:10px 12px;border:1px solid var(--border)}.muted{color:var(--text-muted);font-size:.85rem}.tag-demo{display:inline-block;background:#fff3e0;color:#8a4b10;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}.empty-state,.error-state,.loading-state{text-align:center;padding:40px 16px;color:var(--text-muted)}@media (max-width:390px){.app-main{padding:12px 12px 24px}.meal-actions .btn{flex:1 1 100%}.chip{max-width:100%}.chip select{max-width:min(220px,58vw)}}@media (min-width:768px){.app-main{width:min(720px,100%);padding:28px 24px 40px}.page-title{font-size:1.75rem}.meal-card .media,.modal .media{height:96px;max-height:96px}}@media (min-width:1440px){.app-main{width:min(800px,100%)}}@media print{.actions-menu,.bottom-nav,.btn,.demo-banner,.modal-backdrop,.no-print,.save-toast,.toolbar .no-print{display:none!important}.app-shell{padding:0}.app-main{width:100%;max-width:none;padding:0}.card,.meal-card,.shopping-group{box-shadow:none;page-break-inside:avoid;break-inside:avoid}body{background:#fff}}