:root{--ink:#1d251f;--muted:#697264;--paper:#f4efe4;--card:#fffdf8;--line:#d9d0bf;--amber:#d87b36;--amber-deep:#a35522}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top right,#dbe7cf 0,transparent 28rem),var(--paper);color:var(--ink);font:16px/1.45 ui-sans-serif,system-ui,sans-serif}.shell{max-width:920px;margin:auto;padding:clamp(18px,4vw,48px)}header{display:flex;justify-content:space-between;gap:24px;align-items:end;border-bottom:3px solid var(--amber);padding-bottom:18px}h1,h2{font-family:Georgia,serif}h1{margin:0;font-size:clamp(2.4rem,8vw,4.6rem);letter-spacing:-.05em}.eyebrow{margin:0;color:var(--amber-deep);font-size:.72rem;letter-spacing:.15em;font-weight:900}.subtitle{margin:.4rem 0 0;color:var(--muted)}nav{display:flex;gap:12px;flex-wrap:wrap}nav a,.recipe a{color:var(--amber-deep);font-weight:800;text-decoration:none;border-bottom:2px solid transparent}nav a:hover,.recipe a:hover{border-color:var(--amber)}.panel,.recipe{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.panel{margin-top:20px}.panel h2{margin-top:0}.form{display:grid;gap:12px}label{display:grid;gap:6px;font-weight:800}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;font:inherit}.toolbar,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar{margin:18px 0}.toolbar input{max-width:360px}.grow{flex:1}button,.file{border:0;border-radius:12px;padding:11px 14px;background:#1d251f;color:#fff;font:inherit;font-weight:800;cursor:pointer}.secondary,.file{background:#e8eadf;color:var(--ink)}.danger{background:#fee2d6;color:#9d321d}.primary{background:var(--amber);color:var(--ink)}.file{position:relative}.file input{position:absolute;inset:0;opacity:0;cursor:pointer}.status{min-height:1.4em;color:var(--amber-deep);font-size:.9rem}.recipes{display:grid;gap:12px}.recipe{display:flex;justify-content:space-between;gap:16px}.recipe h2{margin:.15rem 0 .35rem;font-size:1.4rem}.recipe .notes{white-space:pre-wrap}.recipe small{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:30px;border:1px dashed var(--line);border-radius:16px}footer{margin-top:24px;color:var(--muted);font-size:.82rem;text-align:center}@media(max-width:650px){header,.recipe{align-items:start;flex-direction:column}.toolbar input{max-width:none;width:100%}.toolbar .grow{display:none}.recipe .actions{width:100%}.recipe .actions button{flex:1}}
