:root{--ink:#20251f;--paper:#f4f0e6;--card:#fffdf7;--sage:#76866c;--tomato:#d55a3a;--line:#d9d3c5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,sans-serif}main{width:min(920px,calc(100% - 32px));margin:0 auto;padding:64px 0 100px}header{max-width:680px;margin-bottom:42px}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:var(--tomato)}h1{font-family:Georgia,serif;font-size:clamp(3rem,8vw,6.5rem);line-height:.88;letter-spacing:-.05em;margin:14px 0 20px}h1 em{color:var(--sage);font-weight:400}header p{color:#64685f;font-size:1.05rem}h2{font-family:Georgia,serif;font-size:1.7rem}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 10px 35px #433b2810}.import{margin-bottom:56px}.import form{display:flex;gap:10px}input[type=url]{flex:1;border:1px solid var(--line);border-radius:10px;padding:14px;font-size:1rem;background:white}button{border:0;border-radius:10px;padding:14px 20px;background:var(--ink);color:white;font-weight:700;cursor:pointer}.import small{display:block;margin-top:12px;color:#777}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title span{color:#777}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.recipe{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);padding:20px;border-radius:14px;cursor:pointer}.recipe input{position:absolute;opacity:0}.check{width:25px;height:25px;border:2px solid var(--line);border-radius:7px;color:transparent;display:grid;place-items:center}.recipe:has(input:checked){border-color:var(--sage);background:#edf0e8}.recipe input:checked+.check{background:var(--sage);border-color:var(--sage);color:white}.recipe h3{margin:0 0 5px;font-family:Georgia,serif}.recipe p{margin:0;color:#777;font-size:.85rem}.primary{margin-top:22px;background:var(--tomato)}.alert{background:#fff0eb;color:#8d321c;padding:15px;border-radius:10px;margin-bottom:20px}.empty{padding:30px;color:#777}.back{color:var(--ink);text-decoration:none}.shopping{list-style:none;padding:0;margin:0}.shopping li{padding:15px 0;border-bottom:1px solid var(--line)}.shopping li:last-child{border:0}.shopping label{display:flex;gap:14px}.shopping input{width:20px;height:20px}.shopping strong{font-size:1.05rem}.shopping small{display:block;color:#777;margin-top:4px}.shopping .swap{color:var(--sage)}@media(max-width:650px){main{padding-top:38px}.grid{grid-template-columns:1fr}.import form{display:block}.import button,.import input{width:100%}.import button{margin-top:8px}}

