:root { --ink:#21342b; --muted:#66766d; --paper:#fbfaf5; --card:#fff; --accent:#50725d; --accent2:#d9aa59; --line:#e6e7df; } *{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif} .topbar{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.brand{font-family:Georgia,serif;font-size:27px;text-decoration:none;color:var(--ink);font-weight:bold}.brand span{color:var(--accent)}nav{display:flex;gap:8px}button{border:0;background:#edf0e9;color:var(--ink);font:inherit;padding:10px 16px;border-radius:10px;cursor:pointer}button:hover{filter:brightness(.96)}nav button{background:transparent}nav button.active{color:var(--accent);font-weight:700}main{max-width:1120px;margin:auto;padding:42px 24px 72px}.page{display:none}.page.active{display:block}.hero{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}.hero h1,.settings-card h1{font:700 clamp(34px,5vw,56px)/1.05 Georgia,serif;margin:4px 0 12px}.hero p:not(.eyebrow),.settings-card>p{max-width:570px;color:var(--muted);margin:0}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--accent);margin:0}.primary{background:var(--accent);color:#fff;font-weight:700;white-space:nowrap}.toolbar{display:flex;gap:12px;margin-bottom:26px}.toolbar input{flex:1}.toolbar button{background:#fff;border:1px solid var(--line)}input,textarea{width:100%;border:1px solid #d9ddd5;border-radius:9px;padding:11px 12px;font:inherit;color:var(--ink);background:#fff}textarea{resize:vertical}label{display:block;font-weight:650;margin:16px 0}label span{font-weight:400;color:var(--muted);font-size:13px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.recipe-card{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #24342613}.recipe-card img,.image-placeholder{display:block;width:100%;height:160px;object-fit:cover;background:linear-gradient(135deg,#dce6d7,#f0e4c9)}.image-placeholder{font:48px Georgia,serif;color:#fff;text-align:center;padding-top:48px}.recipe-card div{padding:15px}.recipe-card h2{font:700 22px/1.2 Georgia,serif;margin:0 0 7px}.recipe-card p{color:var(--muted);font-size:14px;margin:0}.empty{color:var(--muted);text-align:center;padding:55px}.settings-card,#shopping-content .list-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;max-width:720px}.settings-card h2{font-family:Georgia,serif}.theme-picker{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.theme-swatch{color:#fff;font-weight:700}.sage{background:#50725d}.berry{background:#954d65}.sun{background:#b97018}.night{background:#24324d}.settings-card hr{border:0;border-top:1px solid var(--line);margin:32px 0}.list-card{margin-bottom:18px}.list-card h2{font:700 27px Georgia,serif;margin:0}.list-card ul{padding-left:0;list-style:none}.list-card li{padding:9px 0;border-bottom:1px solid var(--line)}.list-card li label{margin:0;font-weight:400}.list-card input[type=checkbox]{width:auto;margin-right:10px;accent-color:var(--accent)}.card-actions{display:flex;gap:8px;margin-top:16px}.card-actions button{font-size:14px}.danger{color:#9a3645;background:#faecee}dialog{border:0;border-radius:18px;padding:0;box-shadow:0 15px 60px #15221744;width:min(680px,calc(100vw - 24px));background:#fff}dialog::backdrop{background:#1d292355}.modal{padding:28px}.modal.small{max-width:510px}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal-heading h2{font:700 30px Georgia,serif;margin:0}.icon{font-size:28px;padding:0;background:transparent;line-height:1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.photo-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.photo-row img{width:90px;height:70px;object-fit:cover;border-radius:8px}.upload-label{display:inline-flex;width:max-content;margin:0;background:#edf0e9;padding:10px 12px;border-radius:9px;cursor:pointer}.url-label{margin:0}.url-label input{margin-top:6px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#21342b;color:#fff;padding:11px 18px;border-radius:9px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1}@media(max-width:620px){.topbar{height:auto;align-items:flex-start;padding:15px 18px;gap:12px}.brand{font-size:23px}nav button{padding:7px;font-size:13px}.hero{align-items:flex-start;flex-direction:column}.hero.compact{margin-bottom:24px}main{padding:28px 17px}.toolbar{flex-direction:column}.settings-card,#shopping-content .list-card{padding:22px}.photo-row{display:block}.url-label{margin-top:12px}.modal{padding:21px}}
