:root{--bg:#fbf8f3;--card:#fff;--field:#fff;--text:#2b2520;--muted:#8a7f74;--line:#ebe3d7;--chip:#f1ebe2;--accent:#b94f28;--accent-ink:#fff;--accent-soft:#f6e3d9;--warn:#c0291b;--star:#d99a00;--tint-pink:#f8e1e4;--tint-yellow:#faefc9;--tint-green:#e2efd9;--tint-orange:#f9e0cc;--tint-sand:#efe8dc;--radius:12px;--serif:ui-serif, "Iowan Old Style", "New York", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#161311;--card:#211d1a;--field:#2a2521;--text:#f3ede5;--muted:#a39789;--line:#322c27;--chip:#2c2622;--accent:#ec8a5e;--accent-ink:#1a0f0a;--accent-soft:#3d261c;--warn:#ff7a6b;--star:#ffc93c;--tint-pink:#3a2529;--tint-yellow:#3a3220;--tint-green:#25321f;--tint-orange:#3b2a1e;--tint-sand:#2e2924;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{font-size:17px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{opacity:.4;cursor:default}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.muted{color:var(--muted)}.small{font-size:.85rem}.warn{color:var(--warn)}.center{text-align:center;justify-items:center;gap:12px;padding:30vh 16px 0;display:grid}.link{color:var(--accent)}.link.strong{font-weight:600}.primary{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);text-align:center;padding:12px 20px;font-weight:600}.secondary{background:var(--chip);border-radius:var(--radius);padding:12px 18px;font-weight:500}.danger{color:var(--warn);text-align:center;width:100%;padding:14px 0}.login{text-align:center;gap:14px;max-width:300px;margin:25vh auto 0;padding:0 16px;display:grid}.login h1{font-family:var(--serif);font-size:2.2rem}.login input{text-align:center;letter-spacing:.3em;font-size:1.4rem}input,textarea,select{background:var(--field);border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:10px 12px}input:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;line-height:1.4}main{max-width:880px;padding:env(safe-area-inset-top) 16px calc(40px + env(safe-area-inset-bottom));margin:0 auto}.top{justify-content:space-between;align-items:center;padding:18px 0 10px;display:flex}.top h1{font-family:var(--serif);letter-spacing:-.01em;font-size:2.1rem}.round{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:1.6rem;line-height:1;display:grid}.searchbar{z-index:5;background:var(--bg);padding:6px 0 8px;position:sticky;top:0}.searchbar input{background:var(--chip);border-color:#0000;border-radius:12px;padding:11px 14px}.searchbar input:focus{background:var(--field);border-color:var(--accent)}.chips{gap:8px;display:flex}.chips.scroll{scrollbar-width:none;margin:0 -16px;padding:4px 16px 8px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chips.wrap{flex-wrap:wrap;padding:4px 0}.chip{background:var(--chip);white-space:nowrap;border-radius:999px;flex:none;padding:6px 13px;font-size:.92rem}.chip.small{padding:4px 10px;font-size:.82rem}.chip.on{background:var(--accent);color:var(--accent-ink)}.chip .n{opacity:.55;margin-left:2px;font-size:.8em}.filter-btn{border:1px solid var(--line);background:0 0}.filter-btn.on{border-color:var(--accent)}.resultbar{align-items:center;gap:12px;padding:10px 0 4px;display:flex}.resultbar span{flex:1}.resultbar select{width:auto;color:var(--muted);background:0 0;border-color:#0000;border-radius:8px;padding:4px 8px;font-size:.85rem}.recipes{gap:2px;display:grid}@media (width>=700px){.recipes{grid-template-columns:1fr 1fr;column-gap:20px}}.row{border-bottom:1px solid var(--line);align-items:center;gap:14px;width:100%;padding:10px 0;display:flex}.thumb{object-fit:cover;border-radius:12px;flex:none;place-items:center;width:66px;height:66px;font-size:2rem;display:grid}.tint-pink{background:var(--tint-pink)}.tint-yellow{background:var(--tint-yellow)}.tint-green{background:var(--tint-green)}.tint-orange{background:var(--tint-orange)}.tint-sand{background:var(--tint-sand)}.row-text{gap:1px;min-width:0;display:grid}.row-title{font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.25}.row-meta{color:var(--muted);font-size:.86rem}.row-tags{color:var(--muted);opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.star,.starred{color:var(--star)}.empty{text-align:center;gap:8px;padding:60px 20px;display:grid}.empty .big{font-size:3rem}.backdrop{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:88vh;animation:.2s ease-out up;display:flex}@media (width>=700px){.backdrop{align-items:center}.sheet{border-radius:16px}}@keyframes up{0%{opacity:0;transform:translateY(40px)}}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sheet-head h2{font-size:1.05rem}.sheet-body{padding:8px 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.sheet-body section,.tags section{padding:10px 0 4px}.sheet-body h3,.tags h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.78rem;font-weight:600}.bar{z-index:5;background:var(--bg);padding:calc(10px + env(safe-area-inset-top)) 0 10px;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.recipe .bar{margin-top:calc(-1 * env(safe-area-inset-top))}.bar-actions{align-items:center;gap:18px;display:flex}.icon{color:var(--muted);font-size:1.45rem;line-height:1}.hero{object-fit:cover;border-radius:16px;width:100%;max-height:420px;margin-bottom:18px;display:block}article h1{font-family:var(--serif);letter-spacing:-.01em;margin:6px 0 10px;font-size:2rem;line-height:1.15}.meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-bottom:12px;font-size:.92rem;display:flex}.intro{font-family:var(--serif);color:var(--muted);margin-bottom:12px;font-size:1.05rem;font-style:italic}article h2{font-family:var(--serif);margin:26px 0 10px;font-size:1.35rem}article h3{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:14px 0 4px;font-size:.8rem}.cols{display:grid}@media (width>=760px){.cols{grid-template-columns:2fr 3fr;gap:40px}}.ingredients li button{border-bottom:1px solid var(--line);width:100%;padding:8px 0;display:block}.ingredients li button.got{color:var(--muted);text-decoration:line-through}.steps ol{gap:4px;display:grid}.steps button{border-radius:12px;align-items:flex-start;gap:12px;width:calc(100% + 20px);margin:0 -10px;padding:10px;display:flex}.steps .num{background:var(--chip);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;font-size:.85rem;font-weight:600;display:grid}.steps button.current{background:var(--accent-soft)}.steps button.current .num{background:var(--accent);color:var(--accent-ink)}.steps button.done{color:var(--muted)}.note p{white-space:pre-wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.photo-actions{flex-wrap:wrap;align-items:center;gap:16px;padding:32px 0 0;display:flex}.editor{max-width:720px;padding:0 16px calc(60px + env(safe-area-inset-bottom));gap:14px;margin:0 auto;display:grid}.editor label{gap:4px;font-size:.9rem;font-weight:500;display:grid}.editor label input,.editor label textarea{font-size:1rem;font-weight:400}.row3{gap:12px;display:flex}.row3>label{flex:1}.row3>label.grow{flex:3}.tags{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:6px 14px 12px}.tags legend{padding:0 4px;font-size:.9rem;font-weight:500}.tag-input{border-radius:999px;width:160px;padding:4px 10px;font-size:.85rem}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);z-index:30;border-radius:12px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:.92rem;position:fixed;transform:translate(-50%)}
