:root{color-scheme:dark;--bg: #3d3d3d;--bg-soft: #4e4e4e;--card: rgba(30, 30, 30, .82);--border: rgba(121, 85, 42, .22);--text: #d4d4d4;--muted: #a0a0a0;--accent: #d97706;--accent-2: #3f7d20;--shadow: 0 18px 44px rgba(84, 58, 24, .16);--sub-card: rgba(106, 105, 105, .6) }*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(180deg,var(--bg),var(--bg-soft))}a{color:inherit;text-decoration:none}.shell{width:min(1100px,calc(100vw - 12px));margin:0 auto;padding:28px 0 48px}.card{background:var(--card);border:none;border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero{padding:32px}.eyebrow{margin:0 0 12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);font-size:.75rem}h1,h2,p{margin-top:0}h1{font-size:clamp(2.2rem,6vw,4.5rem);line-height:1;max-width:14ch;margin-bottom:16px}.lede{max-width:56ch;color:var(--muted);font-size:1.05rem;line-height:1.7;margin-bottom:24px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.cal-panel{overflow:hidden}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-header h2{margin:0}.cal-nav{display:flex;align-items:center;gap:6px}.cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:#79552a0f;color:var(--text);font-size:.88rem;cursor:pointer;transition:background .12s ease}.cal-nav-btn:nth-child(2){min-width:98px;padding:0 18px;font-size:1.02rem}.cal-nav-btn:hover{background:#d977061f;border-color:#d9770675;transform:translateY(-1px)}.cal-nav-btn:active{transform:translateY(0)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid var(--border);background:var(--sub-card);color:var(--text);transition:transform .16s ease,border-color .16s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,var(--accent),#f59e0b);color:#2a1f10;border-color:transparent;font-weight:700}.button.secondary{background:#79552a14}.button.danger{border-color:#dc262659;color:#fecaca}.button.danger:hover{background:#dc26262e;border-color:#f871718c}.button.small{min-height:34px;padding:0 10px;font-size:.82rem}.plan-layout{margin-bottom:20px}.meal-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.meal-panel-header h2{margin:0}.meal-select{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--border);background:var(--sub-card);padding:0 12px;color:var(--text);font-size:1rem;margin-bottom:14px;cursor:pointer}.meal-detail{display:flex;flex-direction:column}.meal-generate-controls{display:grid;gap:6px;margin-bottom:12px}.meal-label{font-size:.82rem;color:var(--muted)}.meal-count-input,.meal-prompt-input{border-radius:10px;border:1px solid var(--border);background:var(--sub-card);color:var(--text);padding:8px 10px}.meal-count-input.input-error{border-color:#f87171b3}.meal-input-error{font-size:.78rem;color:#fca5a5;margin-top:-2px}.meal-prompt-input{resize:vertical;min-height:64px}.meal-meta-row,.meal-assign-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px}.panel{padding:22px;min-height:240px}.panel-subtitle{color:var(--muted);margin-bottom:14px}.recipe-list{display:grid;gap:10px}.recipe-item{text-align:left;border-radius:14px;border:1px solid rgba(121,85,42,.2);background:var(--sub-card);color:var(--text);padding:12px 13px;cursor:pointer;display:grid;gap:4px}.recipe-item strong{font-size:.98rem}.recipe-item small{color:var(--muted)}.recipe-item.is-active{border-color:#d97706b3;box-shadow:inset 0 0 0 1px #d9770673}.recipe-page{min-height:520px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.chip{border-radius:999px;padding:7px 10px;font-size:.84rem;border:1px solid rgba(121,85,42,.25);background:var(--sub-card)}.day-select{min-height:38px;border-radius:10px;border:1px solid rgba(121,85,42,.25);background:var(--sub-card);padding:0 10px;color:var(--text)}.meal-panel-header{margin-bottom:10px}.meal-select{border-radius:10px;border:none;background:var(--sub-card);color:var(--text);min-height:40px}.meal-detail{border-top:1px solid #e2e8f0;padding-top:10px}.meal-panel .chip{background:var(--sub-card);border:none;border-radius:999px;padding:4px 9px;font-size:.82rem;color:var(--text)}.meal-panel .day-select{border:none;border-radius:10px;background:var(--sub-card);color:var(--text);padding:8px 10px;min-height:36px}.meal-panel .button.secondary.small{border-radius:10px;border:none;background:var(--sub-card);color:var(--text)}.meal-panel .button.secondary.small:hover{background:var(--sub-card)}.meal-panel .recipe-section{border:none;border-radius:12px;background:var(--sub-card);padding:2px 10px 8px;margin-top:8px}.meal-panel .recipe-section summary{cursor:pointer;font-weight:600;color:var(--text);padding:8px 0}.meal-panel .recipe-section ul,.meal-panel .recipe-section ol{margin:0;padding-left:18px;color:var(--text)}.shopping-panel{border-color:none;box-shadow:none}.shopping-panel .panel-subtitle{color:var(--muted);font-size:.9rem;margin-bottom:8px}.shopping-panel .recipe-section{border:none;border-radius:12px;background:var(--sub-card);padding:2px 10px 8px}.shopping-panel .recipe-section summary{cursor:pointer;font-weight:600;color:#334155;padding:8px 0}.shopping-list-items{list-style:none;margin:0;padding:0}.shopping-list-item{padding:9px 0;border-top:1px solid #eef2f7;color:var(--text);line-height:1.4}.shopping-list-item:first-child{border-top:0}.shopping-item-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.shopping-item-label input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:#1f9d55;flex-shrink:0}.shopping-item-text{flex:1}.shopping-list-item.is-checked .shopping-item-text{color:#1f7a45}.flyer-panel{border-color:none;box-shadow:none}.flyer-list{list-style:none;margin:0;padding:0}.flyer-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #eef2f7}.flyer-item:first-child{border-top:0}.flyer-item-main{min-width:0}.flyer-store{margin:0;font-weight:600;text-transform:capitalize}.flyer-meta{margin:2px 0 0;color:var(--muted);font-size:.84rem}.flyer-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 720px){.flyer-item{align-items:flex-start;flex-direction:column}.flyer-actions{width:100%}.flyer-actions .button{flex:1}}.cal-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:2px}.cal-day-pill{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;min-width:0;position:relative;transition:background .12s ease,border-color .12s ease}.cal-day-pill:hover{background:#79552a0f}.cal-day-pill.is-open{background:#d977061a;border-color:var(--accent)}.cal-day-pill.is-today .cal-day-num{color:var(--accent-2);font-weight:700}.cal-day-dow{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.cal-day-num{font-size:1rem;font-weight:600;line-height:1}.cal-day-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.cal-expanded{margin-top:14px;border-top:1px solid var(--border);padding-top:14px}.cal-expanded-header{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.cal-expanded-count{font-size:.82rem;color:var(--muted)}.cal-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}.cal-carousel::-webkit-scrollbar{display:none}.cal-carousel.is-single{overflow-x:visible}.cal-slide{flex:0 0 min(280px,80vw);scroll-snap-align:start;border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--sub-card);display:flex;flex-direction:column;gap:8px}.cal-carousel.is-single .cal-slide{flex:1 1 100%;width:100%;max-width:100%}.cal-slide-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.cal-slide-name{margin:0 0 4px;font-weight:600;font-size:.95rem;line-height:1.3}.cal-slide-meta{margin:0;font-size:.82rem;color:var(--muted)}.cal-remove-btn{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease}.cal-remove-btn:hover{background:#c828281a;color:#c02020;border-color:#c828284d}.cal-slide-details{font-size:.85rem;border-top:1px solid var(--border);padding-top:6px}.cal-slide-details summary{cursor:pointer;color:var(--muted);font-size:.8rem;padding:2px 0;list-style:none}.cal-slide-details summary::marker,.cal-slide-details summary::-webkit-details-marker{display:none}.cal-slide-details summary:before{content:"▸ ";font-size:.65rem}details[open] .cal-slide-details summary:before{content:"▾ "}.cal-slide-details ul,.cal-slide-details ol{margin:6px 0 0;padding-left:18px;line-height:1.6;color:var(--text)}.recipe-section{border:1px solid rgba(121,85,42,.2);border-radius:14px;margin-bottom:12px;background:#fff8ebe6}.recipe-section summary{cursor:pointer;font-weight:700;padding:11px 13px}.recipe-section ul,.recipe-section ol{margin:0;padding:0 22px 14px 34px;line-height:1.6}.empty-state{color:var(--muted)}.suggestion-card{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--sub-card);display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.suggestion-name{margin:0 0 4px;font-weight:600;font-size:.95rem;line-height:1.3}.suggestion-meta{margin:0;font-size:.82rem;color:var(--muted)}.suggestion-delete-btn{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease;padding:0}.suggestion-delete-btn:hover:not(:disabled){background:#c828281a;color:#c02020;border-color:#c828284d}.suggestion-delete-btn:disabled{opacity:.6;cursor:not-allowed}.suggestion-controls{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.control-group{display:flex;flex-direction:column;gap:4px}.control-label{font-size:.78rem;color:var(--muted);margin:0}.control-row{display:flex;gap:8px;align-items:center}.control-row .day-select{flex:1;min-width:0}.suggestion-details{font-size:.85rem;border-top:1px solid var(--border);padding-top:6px}.suggestion-details summary{cursor:pointer;color:var(--muted);font-size:.8rem;padding:2px 0;list-style:none}.suggestion-details summary::marker,.suggestion-details summary::-webkit-details-marker{display:none}.suggestion-details summary:before{content:"▸ ";font-size:.65rem}details[open] .suggestion-details summary:before{content:"▾ "}.suggestion-details ul,.suggestion-details ol{margin:6px 0 0;padding-left:18px;line-height:1.6;color:var(--text)}@media (max-width: 1024px){.plan-layout-bottom{grid-template-columns:1fr}}@media (max-width: 720px){.shell{width:min(100vw - 20px,1100px);padding-top:12px}.hero{padding:22px}}.capitalize{text-transform:capitalize}
