:root{--ink:#2a231f;--muted:#766b64;--paper:#fffaf5;--soft:#f5ede5;--line:#e8dcd3;--accent:#a6422c;--gold:#e69b36}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{max-width:750px;margin:auto;padding:calc(24px + env(safe-area-inset-top)) 18px 106px}header{margin-bottom:22px}h1{font-size:clamp(1.8rem,7vw,2.7rem);letter-spacing:-.055em;margin:0}h2{font-size:1.1rem;margin:0 0 12px}.eyebrow{font-size:.73rem;font-weight:800;letter-spacing:.12em;color:var(--accent);margin:0 0 5px}.muted,small{color:var(--muted)}small{display:block;font-size:.8rem}.hero,.panel,.cook-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin:14px 0;box-shadow:0 4px 15px #531c0710}.hero{display:flex;align-items:center;gap:14px;background:#f8e3d0}.hero span{font-size:2.4rem}.hero p{margin:3px 0 0;color:#715d51}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid button,.card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:14px;text-align:left}.grid button{min-height:94px;font-size:1.4rem}.grid b{display:block;font-size:.9rem;margin-top:6px}.cards{display:grid;gap:11px}.cards.compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.card h3{margin:7px 0 2px;font-size:1.02rem}.card p{font-size:.81rem;color:var(--muted);margin:0 0 12px}.card-top{display:flex;justify-content:space-between}.emoji{font-size:2rem}.bottom-nav{position:fixed;z-index:2;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:min(7vw,45px);padding:10px 16px calc(8px + env(safe-area-inset-bottom));background:#fffdfb;border-top:1px solid var(--line)}.bottom-nav button{border:0;background:transparent;color:var(--muted);font-size:1.16rem;min-width:40px}.bottom-nav span{display:block;font-size:.68rem}.bottom-nav .active{color:var(--accent);font-weight:800}.primary,.secondary,.text,.icon{border:0;border-radius:10px;padding:9px 12px;font:inherit;font-weight:750;cursor:pointer}.primary{background:var(--accent);color:#fff}.secondary{background:var(--soft);color:var(--ink)}.text{background:transparent;color:var(--accent);padding:6px}.icon{background:var(--soft);padding:5px 10px}.action-row{display:flex;gap:9px;margin:16px 0}.action-row>*{flex:1}.search,.add-form input{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;font:inherit}.filters{display:flex;gap:7px;overflow:auto;padding:12px 0}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-bottom:12px}.servings{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.servings div{display:flex;align-items:center;gap:12px}.side{border-top:1px solid var(--line);padding:12px 0}.side small{margin:3px 0 8px}.side div{display:flex;gap:7px;flex-wrap:wrap}li{margin:0 0 13px}li p{margin:4px 0}li em{color:var(--muted);font-size:.85rem}.row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.row:first-of-type{border-top:0}.add-form{display:flex;gap:8px}.add-form input{flex:1}.notice{font-size:.86rem;background:#f8e3d0;border-radius:12px;padding:10px}.market-row{display:grid;grid-template-columns:24px 1fr 92px;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.market-row:first-of-type{border-top:0}.market-row input[type=checkbox]{width:18px;height:18px}.qty{min-width:0;border:1px solid var(--line);border-radius:8px;padding:6px;font:inherit;font-size:.78rem}.progress{height:8px;background:var(--soft);border-radius:99px;overflow:hidden;margin:20px 0}.progress i{display:block;height:100%;background:var(--gold)}.cook-card{min-height:230px;font-size:1.1rem}.cue{background:#f8e3d0;border-radius:12px;padding:13px;margin-top:25px;font-size:.95rem}@media(min-width:620px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(4,1fr)}}
