.planner{--bg:#f7f5ef;--card:#fff;--fg:#1f2a24;--muted:#5d6b64;--line:#e1ddd2;--accent:#2e5d4f;--accent-soft:#e3eee9;font-family:system-ui,-apple-system,PingFang HK,Noto Sans HK,Segoe UI,sans-serif}.planner button{font:inherit;border:1px solid var(--line);background:var(--card);min-height:44px;color:var(--fg);cursor:pointer;border-radius:10px;padding:0 14px}.planner button:disabled{opacity:.4;cursor:default}.planner{background:var(--bg);color:var(--fg);max-width:560px;margin:0 auto;padding:16px 16px 40px;overflow-x:clip}.planner-header{justify-content:space-between;align-items:center;display:flex}.planner-header h1{color:var(--accent);margin:8px 0}.link-button{color:var(--accent);background:0 0;border:none;text-decoration:underline}.notice{color:var(--muted);background:var(--accent-soft);border-radius:10px;padding:10px 12px;font-size:.85rem}.servings{justify-content:space-between;align-items:center;margin:16px 0;display:flex}.stepper{align-items:center;gap:12px;display:flex}.stepper button{width:44px;padding:0;font-size:1.25rem}.stepper output{text-align:center;min-width:2ch;font-size:1.25rem;font-weight:600}.tabs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}.meals{gap:12px;margin:0;padding:0;list-style:none;display:grid}.meal{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.meal h2{margin:0 0 4px;font-size:1.1rem}.meal.cooked h2{color:var(--muted)}.meta{color:var(--muted);align-items:center;gap:8px;margin:0;font-size:.9rem;display:flex}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:.8rem}.meal-actions{gap:8px;margin-top:12px;display:flex}.meal-actions button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.alternates{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.alternates button{text-align:left;width:100%}.shopping section{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:4px 14px}.shopping h2{color:var(--muted);margin:10px 0 4px;font-size:.9rem}.shopping ul{margin:0;padding:0;list-style:none}.shopping label{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:48px;display:flex}.shopping li:first-child label{border-top:none}.shopping input{width:22px;height:22px;accent-color:var(--accent)}.item-name{overflow-wrap:anywhere;flex:1}.item-qty{color:var(--muted)}.bought .item-name,.bought .item-qty{color:var(--muted);text-decoration:line-through}.saved{text-align:center;color:var(--muted);font-size:.8rem}.planner *{box-sizing:border-box}.save-list{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;margin-top:12px}
