:root{color:#1c2d25;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f8f3;font-family:Plus Jakarta Sans,Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 95% 0,#dbeee0 0%,#dbeee000 35%),radial-gradient(circle at 0 100%,#f6ecd9 0%,#f6ecd900 40%),#f4f8f3;min-width:320px;margin:0}#root{min-height:100svh}.app-shell{max-width:1200px;margin:0 auto;padding:28px 18px 40px}@media (width>=768px) and (width<=1180px){.app-shell{padding-left:12px;padding-right:12px}}.hero{background:linear-gradient(135deg,#eff8ef 0%,#f7e8cf 100%);border:1px solid #d4e4d1;border-radius:22px;padding:22px;box-shadow:0 16px 36px #102c2314}.hero-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:#2e6b52;margin:0;font-size:.78rem;font-weight:700}h1{margin:8px 0 10px;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:clamp(2rem,4.6vw,3rem);line-height:1.08}.lead{color:#42594e;margin:12px 0 14px}.open-info{color:#24523f;background:#ecf6ee;border:1px solid #cfe3d4;border-radius:999px;margin:10px 0 0;padding:6px 10px;font-size:.9rem;font-weight:700;display:inline-block}.mode-switch{gap:6px;display:flex}.api-badge{color:#3f5a4f;margin-top:10px;font-size:.86rem}.picker{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:18px;display:grid}.picker .pill,.mode-switch .pill{width:100%;display:block}.mode-switch .pill{white-space:nowrap;border-radius:10px;min-height:34px;padding:0 10px;font-size:.82rem}.header-picker{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.header-picker .pill{min-height:42px;padding:0 8px;font-size:.9rem}.pill{color:#244638;cursor:pointer;background:#fff;border:1px solid #c5dbc9;border-radius:14px;min-height:52px;font-size:1rem;font-weight:700}.pill.active{color:#fff;background:#205f45;border-color:#205f45}.recipe-card{background:#fff;border:1px solid #d6e2d8;border-radius:20px;margin-top:16px;scroll-margin-top:22px;overflow:hidden;box-shadow:0 20px 40px #172f271a}.recipe-image-wrap{position:relative}.recipe-image{object-fit:cover;border-bottom:1px solid #dbe8df;width:100%;height:250px}.image-note{color:#fff;letter-spacing:.01em;background:#0000009e;border-radius:8px;padding:5px 8px;font-size:.76rem;font-weight:700;position:absolute;bottom:10px;right:10px}.recipe-content{padding:18px}.recipe-title-row{justify-content:space-between;align-items:start;gap:10px;display:flex}h2{margin:0;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:clamp(1.4rem,3.5vw,2rem)}.favorite{color:#2b4b3d;cursor:pointer;background:#fff;border:1px solid #c9dcca;border-radius:10px;min-height:38px;padding:0 12px;font-weight:700}.favorite.active{color:#fff;background:#2f8865;border-color:#2f8865}.time{color:#4a5f55;margin:8px 0 0}.macro-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.macro-row span{color:#294a3b;background:#edf5ef;border:1px solid #d4e3d7;border-radius:999px;padding:6px 10px;font-size:.86rem}h3{margin:16px 0 8px;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:1.05rem}ul,ol{margin:0;padding-left:20px}.recipe-columns{grid-template-columns:1fr 1fr;gap:16px;display:grid}.recipe-columns h3{margin-top:14px}li{color:#314d40;margin-bottom:6px}.primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#205f45 0%,#2f8865 100%);border:none;border-radius:12px;width:100%;min-height:52px;margin-top:14px;font-size:1rem;font-weight:700}.planner,.favorites{background:#fff;border:1px solid #d6e2d8;border-radius:16px;margin-top:16px;padding:14px}.planner-copy{color:#50655a;margin:0 0 10px}.plan-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.planner-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.planner-actions-top{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-actions .primary,.planner-actions .secondary{margin-top:0}.planner-load{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.planner-load input{border:1px solid #c5dbc9;border-radius:10px;min-height:44px;padding:0 10px;font-size:1rem}.secondary{color:#1f4f3a;cursor:pointer;background:#f3f9f4;border:1px solid #c5dbc9;border-radius:12px;min-height:52px;font-size:1rem;font-weight:700}.secondary.small{width:auto;min-height:34px;padding:0 10px}.week-list,.favorite-list{margin-top:10px;padding-left:20px}.week-view{background:#f9fcfa;border:1px solid #dce7de;border-radius:12px;margin-top:14px;padding:10px}.week-cards{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;display:grid}.week-menu-card{background:#fff;border:1px solid #d6e2d8;border-radius:10px;padding:10px}.week-menu-card.today{border-color:#2f8865;box-shadow:inset 0 0 0 1px #2f8865}.week-image-wrap{margin-top:6px}.week-recipe-image{border:1px solid #dbe8df;border-radius:10px;height:180px}.week-day{color:#1f4f3a;justify-content:space-between;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.today-badge{color:#fff;background:#2f8865;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:700}.week-title{color:#2f473d;margin:4px 0 0}.week-meta{color:#5c6f66;margin:4px 0 8px;font-size:.85rem}.recent-item{justify-content:space-between;align-items:center;gap:10px;display:flex}.recent-pagination{gap:8px;margin-top:10px;display:flex}.recent-pagination button:disabled{opacity:.5;cursor:not-allowed}.favorite-item{justify-content:space-between;align-items:center;gap:10px;display:flex}.footer-note{color:#50655a;margin-top:14px;font-size:.9rem}@media (width<=720px){.app-shell{padding:14px 12px 30px}.picker{grid-template-columns:1fr}.header-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.header-picker .pill{min-height:46px;font-size:.95rem}.plan-filters,.planner-actions,.planner-load{grid-template-columns:1fr}.hero-top{flex-direction:column;align-items:stretch}.mode-switch{width:100%}.mode-switch .pill{flex:1}.week-cards{grid-template-columns:1fr}.recipe-title-row{flex-direction:column}.recipe-image{height:210px}.recipe-columns{grid-template-columns:1fr;gap:4px}}
