:root{--paper:#f3ead9;--paper-2:#efe4ce;--ink:#1d1812;--muted:#6a5e4e;--tomato:#c23c22;--tomato-dark:#9b2d18;--herb:#2f5d42;--butter:#e7c56a;--line:#d8cbb4;--card:#fffaf1;--shadow:0 14px 40px #38200c1f;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Outfit,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;margin:0}body{background-image:radial-gradient(circle at 0 0,#c23c2214,#0000 28%),radial-gradient(circle at 90% 10%,#2f5d4214,#0000 24%)}button,input,select{font:inherit;color:inherit}a{color:var(--tomato-dark)}h1,h2,h3,strong{font-family:Fraunces,Georgia,serif;font-weight:650}h1{margin:.15rem 0 .75rem;font-size:clamp(1.8rem,6vw,2.5rem);line-height:1.05}h2{font-size:1.2rem}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{grid-template-rows:auto 1fr auto;max-width:760px;min-height:100dvh;margin:0 auto;display:grid}.page{padding:1rem 1.1rem 6rem}.topbar{justify-content:space-between;align-items:center;padding:.9rem 1.1rem .4rem;display:flex}.brand{color:inherit;align-items:center;gap:.7rem;text-decoration:none;display:flex}.brand small{color:var(--muted);font-size:.78rem;font-weight:400;display:block}.mark{background:var(--tomato);color:#fff7ee;letter-spacing:.04em;width:2.4rem;height:2.4rem;box-shadow:3px 3px 0 var(--ink);border-radius:.85rem;place-items:center;font-family:Fraunces,serif;font-weight:700;display:grid}.lede,.note,.kicker{color:var(--muted)}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--herb);margin:0 0 .35rem;font-size:.72rem}.add-row,.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.add-row input,label input,label select,.stack input{border:1.5px solid var(--line);background:var(--card);border-radius:.9rem;width:100%;padding:.8rem .9rem}.add-row{margin:1rem 0 .8rem}.add-row input{flex:1}.primary,.ghost,.btn-link{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.8rem 1.1rem;text-decoration:none;display:inline-flex}.primary{background:var(--tomato);color:#fff7ee;box-shadow:3px 3px 0 var(--ink)}.primary:disabled{opacity:.65;cursor:wait}.ghost{border:1.5px solid var(--line);color:inherit;background:0 0}.raid{width:100%;margin-top:1.25rem;font-size:1.05rem}.chips{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.chip{border:1.5px dashed var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .75rem}.chip.on{background:var(--butter);border-style:solid;border-color:var(--ink)}.pantry-list{margin:0 0 1rem;padding:0;list-style:none}.pantry-list li,.stat,.upgrade-card,.auth-card,.card,.empty{background:var(--card);border:1.5px solid var(--line);box-shadow:var(--shadow);border-radius:1.1rem}.pantry-list li{justify-content:space-between;margin-bottom:.5rem;padding:.75rem .9rem;display:flex}.text-btn{color:var(--tomato-dark);cursor:pointer;background:0 0;border:0;padding:0}.filters{border:0;grid-template-columns:1fr;gap:.7rem;padding:0;display:grid}.filters legend{margin-bottom:.4rem;font-family:Fraunces,serif}label{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.empty,.auth-card,.upgrade-card,.stat{margin:.8rem 0;padding:1.2rem}.card-grid{gap:.8rem;display:grid}.recipe-card{color:inherit;padding:1rem 1.1rem;text-decoration:none;display:block}.recipe-card h3{margin:.2rem 0 .45rem}.card-meta{color:var(--herb);text-transform:uppercase;letter-spacing:.08em;gap:.7rem;font-size:.82rem;display:flex}.missing{color:var(--tomato-dark);margin:0}.have{color:var(--herb);margin:0}.error{color:var(--tomato-dark)}.block{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:.4rem}.bottom-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:.55rem .4rem calc(.55rem + env(safe-area-inset-bottom));background:#f3ead9f0;grid-template-columns:repeat(3,1fr);display:grid;position:sticky;bottom:0}.bottom-nav a{text-align:center;color:var(--muted);border-radius:.8rem;padding:.45rem;text-decoration:none}.bottom-nav a.on{color:var(--ink);background:var(--butter)}.overlay{background:#1d181273;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}.sheet{background:var(--card);width:min(520px,100%);box-shadow:var(--shadow);border-radius:1.4rem 1.4rem 1rem 1rem;padding:1.3rem}.perks{padding-left:1.1rem}.stack{gap:.8rem;display:grid}.stat span{color:var(--tomato);font-family:Fraunces,serif;font-size:2rem;display:block}.share-card{background:var(--card);border:1.5px solid var(--line);box-shadow:var(--shadow);border-left:10px solid var(--tomato);border-radius:1.2rem;margin:1.2rem 0 .8rem;padding:1.2rem 1.2rem 1rem}.share-card h2{margin:.15rem 0 .4rem;font-size:1.55rem}.share-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--tomato);margin:0;font-size:.72rem;font-weight:600}.share-meta{color:var(--herb);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .55rem;font-size:.82rem}.share-ings{color:var(--ink);margin:0 0 .8rem}.share-footer{color:var(--herb);margin:0 0 .75rem;font-size:.9rem}.share-url{border:1.5px solid var(--line);background:var(--paper);width:100%;color:var(--muted);border-radius:.75rem;padding:.55rem .7rem;font-size:.82rem}.share-actions{margin-bottom:.4rem}@media (width>=720px){.filters{grid-template-columns:repeat(3,1fr)}.card-grid{grid-template-columns:1fr 1fr}.overlay{place-items:center}.sheet{border-radius:1.4rem}}
