:root{--bg:#f3ecdf;--bg-raise:#fffdf8;--ink:#1f1a16;--muted:#5e554c;--line:#e3d6c4;--accent:#9d3518;--accent-ink:#fffaf6;--herb:#2c5b48;--herb-soft:#e3f0ea;--danger:#8d2c2c;--shadow:0 1px 0 #5030140a, 0 12px 32px #5030140f;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Iowan Old Style,Palatino,Georgia,serif}@media (prefers-color-scheme:dark){:root{--bg:#171310;--bg-raise:#241e19;--ink:#f6f0e6;--muted:#c4b6a6;--line:#3c322b;--accent:#e4845a;--accent-ink:#1a100c;--herb:#8fceb4;--herb-soft:#1d332b;--danger:#f0a0a0;--shadow:0 1px 0 #0003, 0 12px 32px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{font-size:18px}body{background:var(--bg);min-height:100vh;color:var(--ink);-webkit-text-size-adjust:100%;margin:0}body,button,input,select{font:inherit}a{color:inherit}.wrap{width:min(920px,100%);padding:calc(18px + env(safe-area-inset-top)) 22px calc(48px + env(safe-area-inset-bottom));margin:0 auto}.wrap.narrow{width:min(520px,100%)}.top,.actions{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.top{justify-content:space-between;margin-bottom:18px}.top>div:first-child{flex:16rem;min-width:0}.wordmark{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.05rem;font-weight:650}h1{letter-spacing:-.03em;margin:0;font-size:clamp(2.15rem,5vw,3.35rem);font-weight:600;line-height:1.02}h1.page-title{font-size:clamp(2rem,4vw,2.8rem)}.lede,.meta,.error,label span,.button,.chip,.pill,select,input{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lede{max-width:38rem;color:var(--muted);margin:8px 0 0;font-size:.95rem;line-height:1.4}.back{min-height:44px;color:var(--accent);align-items:center;margin-bottom:8px;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-flex}.button{background:var(--accent);min-height:48px;color:var(--accent-ink);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:.95rem;font-weight:650;text-decoration:none;display:inline-flex}.button.secondary{border-color:var(--line);color:var(--ink);background:0 0}.button:focus-visible,.chip:focus-visible,.recipe-card:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.search{flex-wrap:wrap;gap:8px;margin:18px 0 12px;display:flex}.search input,.search select,.form input{border:1px solid var(--line);background:var(--bg-raise);min-height:52px;color:inherit;border-radius:14px;padding:0 14px}.search input{flex:14rem;min-width:0}.search select{flex:12rem}.chips{gap:8px;margin:0 0 18px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);min-height:40px;color:var(--muted);border-radius:999px;flex:none;align-items:center;padding:0 14px;font-size:.86rem;font-weight:650;text-decoration:none;display:inline-flex}.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.recipe-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.recipe-card{border-radius:var(--radius);background:var(--bg-raise);min-height:92px;box-shadow:var(--shadow);align-items:center;gap:14px;padding:14px;text-decoration:none;display:flex}.mark{border-radius:16px;flex:0 0 64px;place-items:center;width:64px;height:64px;font-size:1.6rem;font-weight:600;display:grid}.recipe-card-body{gap:4px;min-width:0;display:grid}.recipe-card-title{letter-spacing:-.02em;font-size:1.28rem;font-weight:600;line-height:1.15}.meta{color:var(--muted);font-size:.86rem;line-height:1.35}.dek{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.star{color:var(--accent);margin-left:.3rem}.empty p,.error{color:var(--muted);margin:0 0 16px}.error{border:1px solid var(--danger);color:var(--danger);background:var(--bg-raise);border-radius:14px;padding:12px 14px}.summary{flex-wrap:wrap;gap:8px;margin:18px 0 8px;display:flex}.pill{background:var(--bg-raise);border:1px solid var(--line);border-radius:999px;min-height:36px;padding:6px 12px;font-size:.86rem;font-weight:650}.description{margin:14px 0 0;font-size:1.2rem;line-height:1.35}.cook{gap:28px;margin-top:28px;display:grid}@media (min-width:980px){.cook{grid-template-columns:minmax(260px,.82fr) 1.25fr;align-items:start}}section h2{letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.82rem;font-weight:700}.ingredients,.steps{margin:0;padding:0;list-style:none}.ingredients li{border-top:1px solid var(--line);padding:11px 4px;font-size:1.18rem;line-height:1.35}.ingredients li:last-child{border-bottom:1px solid var(--line)}.steps{counter-reset:step;gap:14px;display:grid}.steps li{grid-template-columns:auto 1fr;align-items:start;gap:14px;font-size:1.22rem;line-height:1.4;display:grid}.steps li:before{counter-increment:step;content:counter(step);background:var(--herb-soft);width:2rem;height:2rem;color:var(--herb);border-radius:50%;place-items:center;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.95rem;font-weight:700;display:grid}.hero{object-fit:cover;border-radius:22px;width:100%;max-height:420px;margin-bottom:16px}.notes{margin-top:28px}.notes p{margin:0 0 8px;font-size:1.05rem;line-height:1.4}.form{gap:16px;margin-top:18px;display:grid}label{gap:6px;display:grid}label span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.82rem;font-weight:700}.form input{width:100%;font-size:1.05rem}.switch{color:var(--muted);margin:18px 0 0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.95rem}.switch a{color:var(--accent);font-weight:650}.switch.forgot{margin:0}.notice{background:var(--herb-soft);color:var(--herb);border-radius:14px;margin:16px 0 0;padding:12px 14px;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.95rem;line-height:1.4}.panel{border-radius:var(--radius);background:var(--bg-raise);box-shadow:var(--shadow);margin-top:14px;padding:18px}.panel .meta{margin:0 0 12px}.member-list{margin:12px 0 0;padding:0;list-style:none}.member-list li{border-top:1px solid var(--line);padding:10px 0}.invite-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.invite-row a{font-family:ui-monospace,SFMono-Regular,monospace;font-weight:650}.choice{gap:14px;margin-top:12px;display:grid}.choice .button{width:100%}.choice .meta{margin:8px 0 0}
