@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/heebo-hebrew-400-normal-CVTJgQVK.woff2) format("woff2"),url(/assets/heebo-hebrew-400-normal-DoqplqF9.woff) format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/heebo-hebrew-500-normal-TEhwuRN-.woff2) format("woff2"),url(/assets/heebo-hebrew-500-normal-B1vvQVzc.woff) format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/heebo-hebrew-600-normal-CGRgQ0cj.woff2) format("woff2"),url(/assets/heebo-hebrew-600-normal-OHUSVRAa.woff) format("woff")}@font-face{font-family:Heebo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/heebo-hebrew-700-normal-BmueYKsA.woff2) format("woff2"),url(/assets/heebo-hebrew-700-normal-C-m02vPD.woff) format("woff")}@font-face{font-family:Gveret Levin;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/gveret-levin-hebrew-400-normal-Bjzl9gCE.woff2) format("woff2"),url(/assets/gveret-levin-hebrew-400-normal-DUQqxgsR.woff) format("woff")}@font-face{font-family:Gveret Levin;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/gveret-levin-latin-400-normal-DS6BkEvN.woff2) format("woff2"),url(/assets/gveret-levin-latin-400-normal-U8442FXm.woff) format("woff")}:root{--gutter: 1.25rem;--bg: #f5f1ea;--card: #fffdf9;--ink: #231d19;--ink-2: #665c53;--ink-3: #9a8f85;--fill: rgba(100, 72, 44, .075);--fill-soft: rgba(100, 72, 44, .05);--fill-faint: rgba(100, 72, 44, .032);--sep: rgba(70, 48, 26, .1);--sep-strong: #e0d6c8;--accent: #b4462c;--accent-hover: #9c3a23;--accent-tint: rgba(180, 70, 44, .09);--accent-solid: #bc5b43;--accent-solid-hover: #a84d36;--accent-solid-edge: #9a432e;--danger: #b3261e;--danger-tint: rgba(179, 38, 30, .08);--star: #d4900f;--meat: #a8341f;--meat-bg: #f6e3dc;--dairy: #2f6690;--dairy-bg: #e3ecf2;--parve: #4d7a37;--parve-bg: #e6eedc;--pesach: #946414;--pesach-bg: #f3e8d2;--none: #9b9086;--none-bg: rgba(110, 80, 50, .09);--font: "Inter", "Heebo", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--font-display: "Inter", "Heebo", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--weight-display: 600;--weight-title: 700;--tracking-display: -.005em;--r-card: 16px;--r-group: 14px;--r-field: 10px;--shadow-card: 0 0 0 1px rgba(60, 40, 20, .025), 0 1px 2px rgba(60, 40, 20, .05), 0 8px 22px -14px rgba(60, 40, 20, .22);--shadow-lift: 0 0 0 1px rgba(60, 40, 20, .03), 0 2px 4px rgba(60, 40, 20, .06), 0 16px 34px -16px rgba(60, 40, 20, .32);--tag-fixed-bg: rgba(110, 80, 50, .05);--tag-free-ring: inset 0 0 0 1px var(--sep-strong);--shadow-float: 0 0 0 1px rgba(60, 40, 20, .04), 0 4px 10px rgba(60, 40, 20, .08), 0 28px 60px -22px rgba(60, 40, 20, .42);--ring: 0 0 0 1px rgba(180, 70, 44, .55), 0 0 0 4px rgba(180, 70, 44, .14);--shadow-btn: 0 1px 2px rgba(60, 40, 20, .07), 0 2px 5px -3px rgba(60, 40, 20, .14);--shadow-btn-hover: 0 1px 2px rgba(60, 40, 20, .08), 0 6px 14px -6px rgba(60, 40, 20, .26);--ease: cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}html{font-size:15px}html,body,#root{margin:0;padding:0;min-height:100%}body{background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .15 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-wrap:break-word}:where(textarea.title-input,textarea.ing-name,textarea.ing-qty,textarea.part-name,textarea.group-control){display:block;resize:none;overflow:hidden;font:inherit;color:inherit;line-height:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);line-height:1.15;margin:0}::selection{background:#bc5b4333}html{scrollbar-color:#d6cab9 transparent;scrollbar-width:thin}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,select,input[type=search],input[type=submit]{touch-action:manipulation}:focus-visible{outline:none;box-shadow:var(--ring)}::placeholder{color:var(--ink-3);opacity:1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.loader{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:4rem 1rem;color:var(--ink-3);animation:loader-in .3s var(--ease) .15s both}.loader-pot{overflow:visible}.loader-body,.loader-lid{fill:var(--accent)}.loader-shine{stroke:#ffffff73}.loader-lid{transform-origin:32px 30px;animation:lid-rattle .9s ease-in-out infinite}.loader-steam path{opacity:0;animation:steam-rise 1.8s ease-out infinite}.loader-steam path:nth-child(2){animation-delay:.6s}.loader-steam path:nth-child(3){animation-delay:1.2s}.loader-label{font-family:var(--font-display);font-weight:var(--weight-display);font-size:1rem;color:var(--ink-2)}@keyframes lid-rattle{0%,60%,to{transform:translateY(0) rotate(0)}70%{transform:translateY(-2.5px) rotate(-4deg)}80%{transform:translateY(-1px) rotate(3deg)}90%{transform:translateY(-2px) rotate(-2deg)}}@keyframes steam-rise{0%{opacity:0;transform:translateY(6px) scaleY(.7)}30%{opacity:.8}to{opacity:0;transform:translateY(-8px) scaleY(1.1)}}@keyframes loader-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.loader-lid,.loader-steam path{animation:none}.loader-steam path{opacity:.6}}.empty-state{padding:3.5rem 1rem;text-align:center;color:var(--ink-2);font-family:var(--font-display);font-weight:var(--weight-display);font-size:1.15rem}.empty-book{display:flex;justify-content:center;padding:3rem 1rem;color:#cbc2b9;animation:empty-book-in .4s var(--ease)}.empty-book-art{width:160px;height:auto}.empty-book-art .leaf{fill:var(--bg)}@keyframes empty-book-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion: reduce){.empty-book{animation:none}}.form-error{margin:0;color:var(--danger);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:36px;padding:.4rem 1.1rem;border:1px solid var(--sep-strong);border-radius:999px;background:var(--card);color:var(--ink);font-size:.93rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-btn);transition:background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .1s var(--ease)}.btn:hover{border-color:var(--ink-3);box-shadow:var(--shadow-btn-hover);text-decoration:none}.btn:active{transform:translateY(1px);box-shadow:var(--shadow-btn)}.btn-primary{border-color:var(--accent-solid-edge);background:linear-gradient(180deg,#c5664d,var(--accent-solid) 55%,#b4533b);color:#fff;text-shadow:0 1px 0 rgba(90,30,15,.25);box-shadow:inset 0 1px #ffffff38,0 1px 2px #5a281433,0 4px 10px -4px #96321973}.btn-primary:hover{border-color:#8a3b28;background:linear-gradient(180deg,#b95a42,var(--accent-solid-hover) 55%,#9f4630);box-shadow:inset 0 1px #fff3,0 1px 2px #5a281438,0 8px 18px -6px #96321980}.btn-plain{border-color:transparent;background:none;box-shadow:none;color:var(--accent)}.btn-plain:hover{background:var(--fill-soft);box-shadow:none}.btn-danger{color:var(--danger)}.btn-small{min-height:32px;padding:.3rem .9rem;font-size:.9rem}.btn-block{width:100%;min-height:46px;font-size:1.05rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:999px;background:none;color:var(--ink-3);transition:background-color .2s var(--ease),color .2s var(--ease)}.icon-btn:hover{background:var(--fill);color:var(--ink);text-decoration:none}.round-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--sep);border-radius:999px;background:var(--card);color:var(--ink-2);box-shadow:var(--shadow-btn);transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.round-btn:hover{color:var(--ink);border-color:var(--sep-strong);box-shadow:var(--shadow-btn-hover);text-decoration:none}.round-btn.is-danger{color:var(--danger)}.round-btn.is-danger:hover{background:var(--danger-tint)}.spinner{display:inline-block;width:.9em;height:.9em;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--sep);box-shadow:0 1px #fff9 inset,0 10px 28px -20px #3c281473;padding-top:env(safe-area-inset-top,0px)}.site-header-inner{position:relative;display:flex;align-items:center;gap:.75rem;max-width:72rem;height:56px;margin:0 auto;padding:0 max(var(--gutter),env(safe-area-inset-right,0px)) 0 max(var(--gutter),env(safe-area-inset-left,0px))}.site-title{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);font-family:var(--font-display);font-size:1.25rem;font-weight:var(--weight-display);letter-spacing:var(--tracking-display);white-space:nowrap;min-width:0;flex:0 1 auto}.site-name{flex:none}.site-owner{min-width:0;overflow:hidden;text-overflow:ellipsis;padding-block:.15em;margin-inline-start:.15rem;color:color-mix(in srgb,var(--accent) 75%,var(--bg));font-family:"Gveret Levin",var(--font-display);font-size:.88em;line-height:1;transform:rotate(-3deg) translateY(1px)}.site-owner-name{margin-inline-start:.2em}.logo{flex:none}.header-icon{color:var(--ink-2)}.site-title:hover{text-decoration:none}.page{max-width:72rem;margin:0 auto;padding:1rem max(var(--gutter),env(safe-area-inset-right,0px)) calc(3rem + env(safe-area-inset-bottom,0px)) max(var(--gutter),env(safe-area-inset-left,0px))}.back-link{display:inline-flex;align-items:center;gap:.15rem;margin:0 -.2rem .75rem;padding:.2rem;color:var(--accent);font-size:1.05rem}.back-link:hover{text-decoration:none;opacity:.75}.login-page{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;padding:max(1.25rem,12vh) 1.25rem 1.25rem;background:radial-gradient(60rem 28rem at 50% -6rem,rgba(188,91,67,.12),transparent 70%)}.login-card{width:100%;max-width:22rem;text-align:center}.login-card .logo{display:block;margin:0 auto .5rem}.login-card h1{margin-bottom:2rem;font-size:2.8rem;font-weight:var(--weight-title);letter-spacing:-.01em}.login-card h1:after{content:"";display:block;width:2.5rem;height:2px;margin:.9rem auto 0;background:var(--accent)}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-fields{overflow:hidden;border:1px solid var(--sep-strong);border-radius:var(--r-group);background:var(--card);box-shadow:var(--shadow-card)}.login-fields input{display:block;width:100%;height:50px;padding:0 1rem;border:none;background:none;font-size:1.05rem}.login-fields input+input{border-top:1px solid var(--sep)}.login-fields input:nth-child(3){animation:login-field-in .22s var(--ease)}@keyframes login-field-in{0%{height:0;opacity:0}}@media (prefers-reduced-motion: reduce){.login-fields input:nth-child(3){animation:none}}.login-fields input:focus{outline:none;background:var(--fill-soft);box-shadow:none}.login-fields input[aria-invalid=true]{background:var(--danger-tint);box-shadow:inset -3px 0 0 var(--danger)}.login-error{display:flex;align-items:center;gap:.55rem;margin:0;padding:.6rem .85rem;border-radius:var(--r-group);background:var(--danger-tint);color:var(--danger);font-size:.92rem;line-height:1.35;text-align:start;animation:login-error-in .2s var(--ease)}.login-error:before{content:"!";display:inline-grid;place-items:center;flex:none;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.8rem;font-weight:700}@keyframes login-error-in{0%{opacity:0;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){.login-error{animation:none}}.login-switch{margin:1.4rem 0 0;color:var(--ink-3);font-size:.95rem}.login-switch button{padding:0;border:none;background:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.login-switch button:hover{color:var(--accent-hover);text-decoration:underline}.list-head{display:flex;align-items:baseline;gap:.6rem;margin:.6rem 0 .9rem}.recipes-page{max-width:54rem;margin:0 auto}.page-title{font-size:2.2rem;font-weight:var(--weight-title);line-height:1.05;letter-spacing:-.01em}.result-count{align-self:center;padding:.05rem .55rem;border-radius:980px;background:var(--fill);color:var(--ink-2);font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums}.clear-filters{align-self:center;display:inline-flex;align-items:center;gap:.2rem;padding:.1rem 0;border:none;background:none;color:var(--ink-2);font-size:.85rem;animation:menu-in .18s var(--ease);transition:color .2s var(--ease)}.clear-filters:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.toolbar{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.9rem}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.search-box{display:flex;align-items:center;gap:.5rem;height:38px;padding:0 .95rem;border:1px solid var(--sep-strong);border-radius:999px;background:var(--card);color:var(--ink-3);transition:background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.search-box input{flex:1;min-width:0;height:100%;border:none;background:none;color:var(--ink);font-size:1rem}.search-box input:focus{outline:none;box-shadow:none}.search-box:focus-within{box-shadow:var(--ring)}.header-search{flex:0 1 24rem;min-width:6rem;height:36px;margin-inline:auto;border-color:transparent;background:var(--fill);box-shadow:inset 0 1px 2px #3c28140d}.header-search:hover{background:#64482c1a}.header-search:focus-within{border-color:transparent;background:var(--card);box-shadow:var(--ring)}.header-search{position:relative}.search-box input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.search-clear{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;padding:0;border:none;border-radius:999px;background:var(--fill);color:var(--ink-2);transition:background-color .15s var(--ease),color .15s var(--ease)}.search-clear:hover{background:var(--accent-tint);color:var(--accent)}.search-pop{position:absolute;top:calc(100% + 6px);inset-inline:0;z-index:40;min-width:16rem;padding:.35rem;border:1px solid var(--sep);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-float);animation:menu-in .16s var(--ease)}.search-pop ul{margin:0;padding:0;list-style:none}.search-option{display:flex;align-items:baseline;gap:.5rem;padding:.4rem .6rem;border-radius:8px;cursor:pointer}.search-option.is-active{background:var(--accent-tint)}.search-option-name{flex:1;min-width:0;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.search-option-tag{flex:none;color:var(--ink-3);font-size:.8rem}.search-empty{margin:0;padding:.5rem .6rem;color:var(--ink-3)}.search-all{display:block;width:100%;margin-top:.2rem;padding:.4rem .6rem;border:none;border-top:1px solid var(--sep);border-radius:0 0 8px 8px;background:none;color:var(--accent);font-size:.9rem;text-align:start}.search-all:hover{background:var(--accent-tint)}.header-search input{font-size:.95rem}.sort-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border:1px solid var(--sep-strong);border-radius:var(--r-field);background:var(--card);color:var(--ink-2);box-shadow:var(--shadow-btn);cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.sort-btn:hover{border-color:var(--ink-3);color:var(--accent);box-shadow:var(--shadow-btn-hover)}.sort-btn:focus-visible{outline:none;box-shadow:var(--ring)}.sort-btn.is-on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.sort-menu{position:relative;flex:none}.sort-pop{position:absolute;top:calc(100% + 6px);inset-inline-start:0;z-index:30;min-width:11rem;padding:.35rem;border:1px solid var(--sep);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-float);animation:menu-in .16s var(--ease)}.sort-pop-title{padding:.15rem .6rem .3rem;color:var(--ink-3);font-size:.75rem}.sort-option{display:flex;align-items:center;gap:.4rem;width:100%;padding:.4rem .6rem;border:none;border-radius:8px;background:none;color:var(--ink);font-size:.92rem;text-align:start;transition:background-color .15s var(--ease)}.sort-option:hover,.sort-option:focus-visible{outline:none;background:var(--accent-tint)}.sort-option[aria-checked=true]{color:var(--accent);font-weight:600}.sort-check{display:inline-flex;width:15px;flex:none}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.chips-scroll{position:relative;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin-inline:-1.25rem;padding-inline:1.25rem}.chips-scroll::-webkit-scrollbar{display:none}.chip{position:relative;display:inline-flex;align-items:center;flex:none;min-height:30px;padding:0 .8rem;border:1px solid color-mix(in srgb,var(--sep-strong) 75%,transparent);border-radius:980px;background:color-mix(in srgb,var(--card) 45%,transparent);color:var(--ink-2);font-size:.8rem;font-weight:500;box-shadow:0 1px 2px #3c28140a;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.chip:hover{border-color:#cfc2b0;color:var(--ink);box-shadow:var(--shadow-btn-hover)}.chip.active{border-color:currentColor;color:var(--ink);font-weight:600;box-shadow:inset 0 0 0 .5px currentColor,var(--shadow-btn)}.chip-check{flex:none;margin-inline-end:.25rem;stroke-width:2.4;animation:check-in .25s var(--ease)}@keyframes check-in{0%{opacity:0;transform:scale(.4)}}.recipe-list{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none}.recipe-row{position:relative;display:flex;align-items:center;gap:.85rem;min-height:62px;padding:.55rem .9rem;border:1px solid var(--sep);border-radius:12px;background:var(--card);box-shadow:0 1px 2px #3c28140a;cursor:pointer;transition:box-shadow .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}.recipe-row:hover{z-index:1;border-color:var(--sep-strong);box-shadow:var(--shadow-lift);transform:translateY(-1px)}.recipe-row:active{transform:none;box-shadow:var(--shadow-btn)}.thumb-btn,.thumb-monogram{position:relative;flex:none;width:48px;height:48px;border-radius:11px}.thumb-btn{padding:0;overflow:hidden;border:none;background:var(--fill);cursor:zoom-in}.thumb-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #28190a14;pointer-events:none}.thumb-btn img{display:block;width:100%;height:100%;object-fit:cover}.thumb-monogram{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(160deg,color-mix(in srgb,var(--k-bg, #ede6dc) 55%,#fff),var(--k-bg, #ede6dc));color:var(--k, var(--ink-2));font-family:var(--font-display);font-size:1.2rem;font-weight:var(--weight-display);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--k, var(--ink-3)) 12%,transparent)}.row-stars{flex:none;display:flex;justify-content:flex-start;width:2.75rem;direction:ltr}.row-kind{flex:none;display:flex;justify-content:center;width:5.6rem}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.recipe-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ink);font-family:var(--font-display);font-size:1.08rem;font-weight:var(--weight-display);line-height:1.3;letter-spacing:-.01em}.recipe-name:hover{text-decoration:none}.kind-chip{display:inline-flex;align-items:center;flex:none;padding:.05rem .55rem;border-radius:980px;font-size:.74rem;font-weight:500}.kind-meat{--k: var(--meat);--k-bg: var(--meat-bg)}.kind-dairy{--k: var(--dairy);--k-bg: var(--dairy-bg)}.kind-parve{--k: var(--parve);--k-bg: var(--parve-bg)}.kind-pesach{--k: var(--pesach);--k-bg: var(--pesach-bg)}.kind-none{--k: var(--none);--k-bg: var(--none-bg)}.kind-chip{background:var(--k-bg);color:var(--k)}.chip[class*=kind-]{background:color-mix(in srgb,var(--k-bg) 55%,transparent);color:var(--k)}.chip[class*=kind-].active{color:var(--k)}.view-switch,.albums-by-opts{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:var(--fill)}.view-switch{align-self:center;margin-inline-start:auto}.view-switch button,.albums-by-opt{display:inline-flex;align-items:center;justify-content:center;height:30px;border:none;border-radius:999px;background:none;color:var(--ink-3);transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.view-switch button{width:36px}.view-switch button:hover,.albums-by-opt:hover{color:var(--ink)}.view-switch button.is-on,.albums-by-opt.is-on{background:var(--card);color:var(--ink);box-shadow:var(--shadow-btn)}.view-switch button:focus-visible,.albums-by-opt:focus-visible{outline:none;box-shadow:var(--ring)}.albums-by{flex:none;display:inline-flex;align-items:center;gap:.4rem}.albums-by-label{color:var(--ink-3);font-size:.82rem}.albums-by-opt{height:26px;padding-inline:.8rem;font-size:.82rem;font-weight:500}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:1.6rem 1.1rem;margin:0;padding:12px 0 0;list-style:none}.album-card{display:flex;flex-direction:column;width:100%;padding:0;border:none;background:none;color:inherit;text-align:start;cursor:pointer}.album-cover{--pages: 0 -6px 0 -3px #e7ddcf, 0 -11px 0 -6px #efe8de;position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-card);background:var(--fill);box-shadow:var(--pages),var(--shadow-card);transition:box-shadow .3s var(--ease),transform .3s var(--ease)}.album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.album-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #28190a14;pointer-events:none}.album-card:hover .album-cover{box-shadow:var(--pages),var(--shadow-lift);transform:translateY(-2px)}.album-card:hover .album-cover img{transform:scale(1.04)}.album-card:focus-visible{outline:none}.album-card:focus-visible .album-cover{box-shadow:var(--pages),var(--ring)}.album-cover.is-blank{font-family:var(--font-display);font-size:3.4rem;font-weight:var(--weight-title);line-height:1}.album-cover.tint-0{background:linear-gradient(150deg,#f6e4d9,#ecc9b6);color:#a4512f}.album-cover.tint-1{background:linear-gradient(150deg,#e6ecda,#cfdbb9);color:#5a7a3a}.album-cover.tint-2{background:linear-gradient(150deg,#f6ebcf,#ead7a3);color:#94701d}.album-cover.tint-3{background:linear-gradient(150deg,#efe0e6,#dfc1cd);color:#8c3f5c}.album-cover.tint-4{background:linear-gradient(150deg,#e2e7ef,#c6d1e1);color:#44618c}.album-card[class*=kind-] .album-cover.is-blank{background:linear-gradient(150deg,color-mix(in srgb,var(--k-bg) 50%,#fff),var(--k-bg));color:var(--k)}.album-caption{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .2rem 0}.album-name{color:var(--ink);font-size:1.05rem;font-weight:600;line-height:1.3}.album-count{color:var(--ink-3);font-size:.8rem}.album-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem}.album-back{display:inline-flex;align-items:center;gap:.3rem;height:32px;padding:0 .85rem;border:none;border-radius:999px;background:var(--fill);color:var(--ink-2);font-size:.88rem;transition:background-color .2s var(--ease),color .2s var(--ease)}.album-back:hover{background:var(--fill-strong, rgba(100, 72, 44, .12));color:var(--ink)}.album-title{font-size:1.55rem;font-weight:var(--weight-title);letter-spacing:-.01em}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.9rem .8rem;margin:0;padding:0;list-style:none}.recipe-tile{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--sep);border-radius:14px;background:var(--card);box-shadow:0 1px 2px #3c28140a;transition:box-shadow .25s var(--ease),transform .25s var(--ease),border-color .25s var(--ease)}.recipe-tile:hover{border-color:var(--sep-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.tile-link{display:flex;flex:1;flex-direction:column;color:inherit}.tile-link:hover{text-decoration:none}.tile-link:focus-visible{outline:none;box-shadow:inset var(--ring)}.tile-picture{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;background:var(--fill)}.tile-picture img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.recipe-tile:hover .tile-picture img{transform:scale(1.04)}.tile-picture.is-blank{background:linear-gradient(160deg,color-mix(in srgb,var(--k-bg, #ede6dc) 55%,#fff),var(--k-bg, #ede6dc));color:var(--k, var(--ink-2));font-family:var(--font-display);font-size:2.4rem;font-weight:var(--weight-display)}.tile-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;padding:.55rem .7rem 0;color:var(--ink);font-family:var(--font-display);font-size:.95rem;font-weight:var(--weight-display);line-height:1.3}.tile-meta{display:flex;align-items:center;justify-content:space-between;padding:.1rem .7rem .3rem .3rem}.tile-meta .stars{direction:ltr}.tile-meta .heart-btn{margin-inline-start:auto}.toolbar-row.is-filters{flex-wrap:nowrap}.toolbar-row.is-filters .chips-scroll{flex:1;min-width:0;margin-inline:0;padding-inline:0;cursor:grab;--fade-start: 0px;--fade-end: 0px;-webkit-mask-image:linear-gradient(to left,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent);mask-image:linear-gradient(to left,transparent,#000 var(--fade-start),#000 calc(100% - var(--fade-end)),transparent)}.chips-scroll.more-start{--fade-start: 2rem}.chips-scroll.more-end{--fade-end: 2rem}.chips-scroll.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.chips-scroll.is-dragging .chip{pointer-events:none}.stars{display:inline-flex;align-items:center;flex:none;color:var(--star);direction:ltr}.stars.is-input{gap:.1rem}.star{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:8px;background:none;transition:transform .12s var(--ease)}.star-line,.star-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.star-line{color:var(--sep-strong);transition:color .2s var(--ease),opacity .2s var(--ease) calc(var(--i) * 70ms)}.star-fill{color:var(--star);opacity:0;transform:scale(.3) rotate(-35deg);filter:drop-shadow(0 1px 1px rgba(150,100,10,.25));transition:opacity .22s var(--ease) calc(var(--i) * 70ms),transform .5s cubic-bezier(.34,1.56,.64,1) calc(var(--i) * 70ms)}.star.is-on .star-fill{opacity:1;transform:none}.star.is-on .star-line{opacity:0}.star:hover .star-line,.star:has(~.star:hover) .star-line{color:var(--star)}.star:active{transform:scale(.86)}@media (prefers-reduced-motion: reduce){.star-fill,.star-line{transition:opacity .15s linear}.star-fill{transform:none}}.heart-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;padding:0;border:none;border-radius:999px;background:none;color:#cdbfad;transition:color .2s var(--ease),background-color .2s var(--ease),transform .15s var(--ease)}.heart-btn:hover{background:var(--accent-tint);color:var(--accent)}.heart-btn.is-on{color:var(--accent);animation:heart-beat .35s var(--ease)}@keyframes heart-beat{40%{transform:scale(1.25)}}.chip-fav{display:inline-flex;align-items:center;gap:.3rem}.chip-fav svg{color:var(--accent)}.chip-fav.active .chip-check{margin-inline-end:0;color:var(--ink)}.chip-count{color:var(--ink-3);font-variant-numeric:tabular-nums}.chip.active .chip-count{color:inherit;opacity:.7}.recipe-sheet,.recipe-form{display:flex;flex-direction:column;gap:.7rem;max-width:60rem;margin:0 auto}.recipe-sheet{animation:sheet-in .3s var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(6px)}}.recipe-hero{position:relative;display:flex;flex-direction:column;gap:.75rem;isolation:isolate}.hero-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-back{display:inline-flex;align-items:center;gap:.15rem;color:var(--accent);font-size:1.02rem;font-weight:600}.hero-back:hover{text-decoration:none;opacity:.75}.hero-actions{display:flex;align-items:center;gap:.45rem}.hero-actions .heart-btn{width:32px;height:32px;border:1px solid var(--sep);background:var(--card)}.hero-actions .round-btn{width:32px;height:32px}.hero-edit{min-height:32px;border-radius:999px}.hero-delete{margin-inline-start:.5rem}.hero-body{display:flex;flex-direction:column;gap:.4rem}.recipe-hero h1{font-size:2.3rem;font-weight:var(--weight-title);line-height:1.1;letter-spacing:-.01em}.byline{margin:0;color:var(--ink-2);font-family:var(--font-display);font-weight:500;font-size:1.02rem}.hero-tags{display:flex;flex-wrap:wrap;gap:.4rem}.hero-line{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1rem}.hero-line>:where(:last-child:not(:first-child)){margin-inline-start:auto}.hero-line>.stars{margin-inline-start:0;margin-right:auto}.hero-line .stars.is-input{margin-left:calc(-.3rem - 1px)}.recipe-hero.has-image{min-height:8.5rem;gap:1rem;justify-content:space-between;padding:.65rem 1rem .9rem;overflow:hidden;border-radius:var(--r-card);background:#2b2420;color:#fff;box-shadow:inset 0 0 0 1px #ffffff14,var(--shadow-lift)}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;width:100%;height:100%;object-fit:cover}.recipe-hero.has-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(to top,#19110ae0,#19110a8c 38%,#19110a00 68%),linear-gradient(to bottom,#19110a73,#19110a00 22%)}.has-image h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.35)}.has-image .byline,.has-image .yield{border-color:#ffffff59;color:#ffffffd9}.has-image .hero-back{color:#fff}.has-image .round-btn,.has-image .heart-btn,.has-image .hero-edit{border-color:#ffffff47;background:#ffffff29;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.has-image .round-btn:hover,.has-image .heart-btn:hover,.has-image .hero-edit:hover{background:#ffffff42}.has-image .heart-btn.is-on{color:#ff8a6b}.has-image .tag{background:#ffffff1f;color:#fff;box-shadow:inset 0 0 0 1px #fff6}.has-image .tag:not(.is-free){background:#ffffffc7;color:var(--ink);box-shadow:0 1px 3px #00000029}.has-image .tag[class*=kind-]{background:var(--k-bg);color:var(--k)}.has-image .star-line{color:#ffffff8c}.has-image .star-fill,.has-image .star:hover .star-line,.has-image .star:has(~.star:hover) .star-line{color:#ffc24d}.recipe-added{margin:.75rem 0 0;color:var(--ink-3);font-family:var(--font);font-weight:400;font-size:.85rem;letter-spacing:.02em;text-align:center}.recipe-added:before{content:"";display:block;width:2rem;height:1px;margin:0 auto .75rem;background:var(--sep-strong)}.title-fields{display:flex;flex-direction:column;gap:.6rem}.tag-hash{margin-inline-end:.15em;opacity:.5}.title-input,.byline-input{width:100%;padding:.15rem .35rem;margin-inline:-.35rem;border:none;border-radius:8px;background:none;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}.title-input{font-family:var(--font-display);font-size:2.3rem;font-weight:var(--weight-title);line-height:1.12;letter-spacing:-.01em}.byline-input{color:var(--ink-2);font-family:var(--font-display);font-weight:500;font-size:1.02rem}.title-input:hover,.byline-input:hover{background:var(--fill-soft)}.title-input:focus,.byline-input:focus{outline:none;background:var(--card);box-shadow:var(--ring)}.title-input[aria-invalid]{box-shadow:0 0 0 2px var(--danger)}.tag{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:0 .65rem;border-radius:980px;background:transparent;color:var(--ink-2);font-size:.8rem;font-weight:500;box-shadow:var(--tag-free-ring)}.tag:not(.is-free){background:var(--tag-fixed-bg);color:var(--ink);box-shadow:none}.tag[class*=kind-]{background:color-mix(in srgb,var(--k-bg) 55%,transparent);color:var(--k)}.yield{color:var(--ink-2);font-family:var(--font-display);font-weight:var(--weight-display);font-size:1rem}.stepper{display:inline-flex;align-items:center;margin:0 .3rem;padding:1px;border:1px solid var(--sep-strong);border-radius:999px;background:var(--card);box-shadow:var(--shadow-btn);vertical-align:middle;font-family:var(--font)}.stepper:first-child{margin-inline-start:0}.stepper:last-child{margin-inline-end:0}.stepper output{min-width:1.8em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border:none;border-radius:999px;background:none;color:var(--ink-2);transition:background-color .2s var(--ease),color .2s var(--ease)}.stepper-btn:hover:not([aria-disabled=true]){background:var(--accent-tint);color:var(--accent)}.stepper-btn[aria-disabled=true]{opacity:.35;cursor:default}.stepper{transition:background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.stepper.is-changed{border-color:var(--accent-solid);background:var(--accent-solid);box-shadow:0 2px 8px -2px #96321973}.stepper.is-changed output,.stepper.is-changed .stepper-btn{color:#fff}.stepper.is-changed .stepper-btn:hover:not([aria-disabled=true]){background:#ffffff2e;color:#fff}.stepper-reset{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;margin-inline:.1rem .3rem;border:1px solid var(--sep-strong);border-radius:999px;background:var(--card);color:var(--accent);box-shadow:var(--shadow-btn);vertical-align:middle;animation:pop-in .25s cubic-bezier(.34,1.56,.64,1)}.stepper-reset:hover{box-shadow:var(--shadow-btn-hover)}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}.has-image .stepper{border-color:#fff6;background:#ffffff24;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.has-image .stepper output,.has-image .stepper-btn{color:#fff}.has-image .stepper-btn:hover:not([aria-disabled=true]){background:#fff3;color:#fff}.has-image .stepper.is-changed{border-color:var(--accent-solid);background:var(--accent-solid)}.ing-field>span.ing-qty.is-scaled{color:var(--accent)}.tags-field{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.hero-line>.byline-input{flex:1 1 12rem;width:auto}.hero-line>.tags-field{flex:0 1 auto}.yield-field{display:inline-flex;align-items:center;gap:.45rem;flex:0 1 auto;max-width:100%;color:var(--ink-3);font-size:.9rem}.yield-field textarea{display:block;width:6.5rem;max-width:100%;min-height:32px;padding:.3rem .75rem;border:1.5px dashed var(--sep-strong);border-radius:16px;background:none;color:var(--ink);font:inherit;font-size:.95rem;line-height:1.4;resize:none;overflow:hidden;transition:border-color .2s var(--ease),background-color .2s var(--ease)}@supports (field-sizing: content){.yield-field textarea{field-sizing:content;width:auto;min-width:6.5rem;max-width:min(20rem,100%)}}.yield-field textarea:not(:placeholder-shown){border-style:solid;border-color:transparent;background:var(--card);box-shadow:0 0 0 1px var(--sep)}.yield-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.tag-input,.tag-chip{display:inline-flex;align-items:center;min-height:26px;padding:0 .6rem;border-radius:980px;font-size:.82rem}.tag-input{gap:.1rem;border:1.5px dashed var(--sep-strong);color:var(--ink-3);cursor:text;transition:border-color .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease)}.tag-sizer{display:inline-grid;align-self:stretch;align-items:center}.tag-sizer:after{content:attr(data-value) " ";visibility:hidden;white-space:pre}.tag-sizer:after,.tag-sizer input{grid-area:1 / 1;font:inherit}.tag-input input{width:100%;min-width:1.5rem;padding:0;border:none;background:none;color:var(--ink)}.tag-input input::-webkit-calendar-picker-indicator,.tag-input input::-webkit-list-button{display:none!important}.tag-input input:focus{outline:none;box-shadow:none}.tag-input.is-filled{border-style:solid;border-color:transparent;background:var(--tag-fixed-bg);color:var(--ink);font-weight:500}.tag-input.is-filled[class*=kind-]{background:color-mix(in srgb,var(--k-bg) 55%,transparent)}.tag-input.is-filled[class*=kind-],.tag-input.is-filled[class*=kind-] input{color:var(--k)}.tag-input:focus-within{border-style:solid;border-color:var(--accent);background:var(--card);box-shadow:var(--ring)}.tag-input.is-new{color:var(--accent)}.tag-add{display:inline-flex;align-items:center;gap:.25rem;min-height:26px;padding:0 .8rem;border:none;border-radius:980px;background:var(--card);color:var(--ink-2);font-size:.82rem;box-shadow:0 0 0 1px var(--sep),var(--shadow-btn);transition:color .2s var(--ease),box-shadow .2s var(--ease)}.tag-add:hover{color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-btn-hover)}.tag-chip{gap:.2rem;padding-inline-end:.3rem;background:transparent;color:var(--ink-2);font-weight:500;box-shadow:var(--tag-free-ring)}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:999px;background:none;color:var(--ink-3)}.tag-remove:hover{background:var(--danger-tint);color:var(--danger)}.group{margin:0;overflow:hidden;border:1px solid var(--sep);border-radius:var(--r-group);background:var(--card);box-shadow:var(--shadow-card)}.group-row{position:relative;display:flex;align-items:center;gap:1rem;min-height:36px;margin:0;padding:.25rem .9rem}.group-row+.group-row:before{content:"";position:absolute;top:0;inset-inline:1rem 0;border-top:1px solid var(--sep)}.group-row.is-stacked{flex-direction:column;align-items:stretch;gap:.2rem;padding-block:.6rem}.group-label{flex:none;color:var(--ink)}.group-value{flex:1;min-width:0;margin:0;color:var(--ink-2);text-align:end;white-space:pre-wrap;word-break:break-word}.recipe-notes{padding-block:.7rem;padding-inline-start:calc(1.65rem + 3px);color:var(--ink-2);line-height:1.65;text-align:start}.recipe-notes:before{content:"";position:absolute;inset-block:.75rem;inset-inline-start:.9rem;width:3px;border-radius:3px;background:color-mix(in srgb,var(--accent) 32%,transparent)}.is-stacked .group-value{text-align:start;color:var(--ink)}.group-value.is-line,.link-list .is-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.is-stacked textarea.group-control{field-sizing:content;min-height:3em;max-height:70vh}.link-list{display:flex;flex-direction:column;gap:.2rem;min-width:0}.link-list .is-line{display:block;text-align:start}.link-row .group-label{flex:0 0 4.5rem}.link-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:none;border-radius:999px;background:none;color:var(--ink-3);transition:opacity .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease),box-shadow .2s var(--ease)}button.link-btn:hover{background:var(--danger-tint);color:var(--danger)}.link-add{border:1px solid var(--sep-strong);background:var(--card);color:var(--accent);box-shadow:var(--shadow-btn);opacity:0}.link-add:hover{background:var(--accent-tint);color:var(--accent)}.link-row:hover .link-add,.link-row:focus-within .link-add,.link-add:focus-visible{opacity:1}.group-control{flex:1;min-width:0;min-height:34px;padding:.2rem 0;border:none;background:none;color:var(--ink-2);text-align:end}.group-control:focus{outline:none;box-shadow:none;color:var(--ink)}.group-row:focus-within{background:var(--fill-soft)}.is-stacked .group-control{text-align:start;color:var(--ink);resize:vertical;line-height:1.5}.form-actions{position:sticky;bottom:calc(var(--float-gap, 1rem) + env(safe-area-inset-bottom,0px));z-index:10;display:flex;align-items:center;gap:.5rem;padding:.55rem .6rem;padding-inline-start:1.1rem;border-radius:999px;background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:0 0 0 1px var(--sep),inset 0 1px #ffffffb3,var(--shadow-float)}.form-status{flex:1;color:var(--ink-3);font-size:.9rem}.form-status.is-error{color:var(--danger);font-weight:500}.steps-editor{--cols: minmax(0, .8fr) 14px minmax(0, 1.2fr);display:flex;flex-direction:column;gap:.7rem}.steps-editor.is-dragging,.steps-editor.is-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.part-tone-0{--tone: #bc5b43}.part-tone-1{--tone: #a87012}.part-tone-2{--tone: #5c7a33}.part-tone-3{--tone: #7a4562}.part-card{display:flex;flex-direction:column;padding:.55rem .9rem .6rem;border:1px solid var(--sep);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-card)}.steps-editor.is-readonly{gap:0;border:1px solid var(--sep);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-card)}.is-readonly .part-card{padding:.85rem 1rem .9rem;border:none;border-radius:0;background:none;box-shadow:none}.is-readonly .part-card+.part-card{border-top:1px solid var(--sep)}.part-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem}.part-name,.part-title{flex:1;min-width:0;padding:.2rem .4rem;margin-inline-start:-.4rem;font-family:var(--font-display);font-size:1.05rem;font-weight:var(--weight-display);letter-spacing:var(--tracking-display);color:var(--ink)}.part-title{display:flex;align-items:center;gap:.5rem}.part-title:before{content:"";flex:none;width:7px;height:7px;border-radius:999px;background:var(--tone)}.part-name{border:none;border-radius:8px;background:none;transition:background-color .2s var(--ease)}.ing-row:not(:hover,:focus-within) .ing-qty::placeholder,.ins-row:not(:hover,:focus-within) .ins-time::placeholder{color:transparent}.part-name::placeholder{font-family:var(--font);font-size:1rem;font-weight:400;color:var(--ink-3)}.part-name:hover{background:var(--fill-soft)}.part-name:focus{outline:none;background:var(--fill-soft);box-shadow:none}.part-remove,.step-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:8px;background:none;color:var(--ink-3);transition:opacity .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease)}.part-remove:hover,.step-remove:hover{color:var(--danger);background:var(--danger-tint)}.step-remove{margin-inline-start:auto;opacity:0}.step:hover .step-remove,.step:focus-within .step-remove,.step-remove:focus-visible{opacity:1}.step{display:grid;grid-template-columns:var(--cols);column-gap:.75rem;align-items:start;padding:.2rem 0}.step.is-text .step-instructions-edit,.is-readonly .step.is-list .step-ings-edit{grid-column:1 / -1}.part-card{counter-reset:step}.is-readonly .part-card{display:grid;grid-template-columns:fit-content(52%) 14px minmax(0,1fr);column-gap:.75rem}.is-readonly .part-card>*,.is-readonly .step-slot>*{grid-column:1 / -1}.is-readonly .step-slot,.is-readonly .step{display:grid;grid-template-columns:subgrid}.step{counter-increment:step}.step-brace:after{content:counter(step);position:absolute;top:50%;left:50%;display:grid;place-items:center;width:24px;height:24px;border:1px solid color-mix(in srgb,var(--tone) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--tone) 9%,var(--card));color:var(--tone);font-family:var(--font-display);font-size:.85rem;font-weight:var(--weight-display);font-variant-numeric:tabular-nums;line-height:1;transform:translate(-50%,-50%)}.is-readonly .ing-qty{color:var(--accent);font-weight:600}.ing-field,.ins-field,.ins-box{border-radius:var(--r-field);background:transparent;transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}.ins-field,.ins-box{background:var(--fill-faint)}.ing-field:focus-within,.ins-field:focus-within{outline:none;background:var(--card);box-shadow:var(--ring)}.step-ings-edit,.step-ings-edit ul,.step-instructions-edit ul{margin:0;padding:0;list-style:none}.step-ings-edit ul,.step-instructions-edit ul,ul.step-ings-edit{display:flex;flex-direction:column;gap:.2rem}.ing-row,.ins-row{position:relative;display:flex;align-items:center;gap:.2rem}.ing-row.is-dragged,.ins-row.is-dragged{display:none}.ing-row.is-lifted,.ins-row.is-lifted{opacity:0}.ing-field{flex:1;display:flex;min-width:0;overflow:hidden}.ing-field input,.ing-field textarea,.ing-field>span{min-width:0;padding:.15rem .5rem;border:none;background:none;font-size:1.03rem;word-break:break-word}.ing-field input:focus,.ing-field textarea:focus{outline:none;box-shadow:none}.ing-qty{flex:0 0 6.5rem;border-inline-start:1px solid var(--sep)!important;color:var(--ink-2);text-align:center}.ing-name{flex:1}.is-readonly .ing-field{flex:0 1 auto}.is-readonly ul.step-ings-edit{display:grid;grid-template-columns:auto minmax(0,max-content) auto;justify-content:start;row-gap:.2rem}.is-readonly .step-ings-edit .ing-row,.is-readonly .step-ings-edit .ing-label{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.is-readonly .step-ings-edit .ing-field{display:grid;grid-column:2 / -1;grid-template-columns:subgrid;align-items:center}.is-readonly .step-ings-edit .ing-qty{grid-column:2;text-align:start}.is-readonly .ing-name{flex:0 1 auto}.ing-field>span.ing-qty{flex:0 1 auto;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;text-align:center}.row-placeholder{box-sizing:border-box;height:2.6rem;border:1.5px dashed var(--accent);border-radius:var(--r-field);background:var(--accent-tint);animation:placeholder-in .15s var(--ease)}@keyframes placeholder-in{0%{opacity:0}}.drag-handle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:30px;border:none;border-radius:6px;background:none;color:var(--sep-strong);cursor:grab;touch-action:none;transition:color .2s var(--ease)}.ing-row:hover .drag-handle,.drag-handle:focus-visible{color:var(--ink-3)}.row-remove{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:999px;background:none;color:var(--ink-3);opacity:0;transition:opacity .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease)}.ing-row:hover .row-remove,.ins-row:hover .row-remove,.ing-row:focus-within .row-remove,.ins-row:focus-within .row-remove{opacity:1}.row-remove:hover{color:var(--danger);background:var(--danger-tint)}.step-brace{position:relative;align-self:stretch;color:var(--sep-strong)}.step-brace svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.step-instructions-edit{display:flex;flex-direction:column;gap:.2rem}.ins-field{flex:1;display:flex;align-items:stretch;min-width:0;overflow:hidden}.ins-field textarea{flex:1;min-width:0;padding:.25rem .55rem;border:none;background:none;line-height:1.5;resize:none;overflow:hidden;font-size:1.03rem}.ins-field textarea:focus,.ins-time:focus{outline:none;box-shadow:none}.ins-time{flex:0 0 5.5rem;min-width:0;padding:.5rem .6rem;border:none;border-inline-start:1px solid var(--sep);background:none;color:var(--ink-2);text-align:center}.step-foot{display:flex;align-items:center}.add-row{align-self:flex-start;display:inline-flex;align-items:center;gap:.25rem;margin-top:.15rem;padding:.15rem .45rem;border:none;border-radius:980px;background:none;color:var(--accent);font-size:.85rem}.step-ings-edit .add-row,.step-instructions-edit .add-row{margin-inline-start:24px}.add-row:hover{background:var(--accent-tint)}.step-divider{display:flex;align-items:center;gap:.5rem;min-height:1rem;margin:.1rem 0}.step-divider:before{content:"";flex:1;border-top:1px solid var(--sep)}.step-divider-hint{display:none}.step-divider-add{order:1;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:999px;background:var(--fill-soft);color:var(--ink-3);transition:background-color .2s var(--ease),color .2s var(--ease)}.step-divider-add:hover,.step-divider-add:focus-visible{background:var(--accent-tint);color:var(--accent)}.steps-editor.is-dragging .step-divider{min-height:2.6rem}.step-divider.is-target{justify-content:center;border:1.5px dashed var(--accent);border-radius:var(--r-field);background:var(--accent-tint)}.step-divider.is-target:before,.step-divider.is-target .step-divider-add{display:none}.step-divider.is-target .step-divider-hint{display:inline;color:var(--accent);font-size:.9rem;font-weight:500}.step-new{align-self:flex-start;display:inline-flex;align-items:center;gap:.25rem;margin-top:.25rem;padding:.2rem .5rem;border:none;border-radius:980px;background:none;color:var(--accent);font-size:.85rem;font-weight:500}.step-new:hover{background:var(--accent-tint)}.steps-editor.is-dragging .step-new{align-self:stretch;justify-content:center;min-height:2.6rem;border:1.5px dashed var(--sep-strong);border-radius:var(--r-field)}.step-new.is-target{border-color:var(--accent)!important;background:var(--accent-tint)}.part-new{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:40px;border:1.5px dashed var(--sep-strong);border-radius:var(--r-card);background:none;color:var(--accent);font-size:.92rem;font-weight:600;transition:background-color .2s var(--ease),border-color .2s var(--ease)}.part-new:hover{border-color:var(--accent);background:var(--accent-tint)}.drag-float{position:fixed;z-index:70;box-sizing:border-box;padding:.15rem .3rem;border-radius:var(--r-field);background:var(--card);box-shadow:0 0 0 1px var(--sep-strong),0 16px 34px -8px #3c230f52,0 4px 10px #3c230f1a;transform:scale(1.02);transform-origin:center;pointer-events:none;animation:float-in .14s var(--ease)}.drag-float .drag-handle{color:var(--accent)}.drag-float .ing-field>span,.drag-float .ins-field>span{display:block;min-width:0;padding:.15rem .5rem;overflow:hidden;font-size:1.03rem;white-space:nowrap;text-overflow:ellipsis}.drag-float .ins-float-text{flex:1}.drag-float .ins-time{flex:none;border-inline-start:1px solid var(--sep);color:var(--ink-2)}@keyframes float-in{0%{transform:none;box-shadow:0 0 0 1px var(--sep)}}.ing-label{flex:1;display:flex;align-items:center;gap:.2rem;min-width:0;cursor:pointer}.ing-check{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:20px;height:20px;margin:0 2px;border:1.5px solid var(--sep-strong);border-radius:999px;background:var(--card);cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease)}.ing-check:checked{border-color:var(--accent-solid);background:var(--accent-solid) center / 70% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.ing-row.is-done .ing-field>span{color:var(--ink-3)}.ing-row.is-done .ing-name{text-decoration:line-through}.ins-box{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.2rem .55rem;padding-inline-end:.4rem;line-height:1.5;word-break:break-word;font-size:1.03rem}.ins-text{flex:1 1 9em;min-width:0;padding-block:.15rem}.ins-note{display:block;margin-top:.1rem;color:var(--ink-3);font-size:.82rem;line-height:1.45}.ins-note:first-child{margin-top:0}.time-chip{display:inline-flex;align-items:center;flex:none;border-radius:980px;background:var(--card);color:var(--tone, var(--accent));font-size:.85rem;font-variant-numeric:tabular-nums;box-shadow:0 0 0 1px var(--sep);transition:background-color .2s var(--ease),color .2s var(--ease)}.time-chip.is-static{padding:.2rem .65rem;color:var(--ink-2)}.time-chip-main{display:inline-flex;align-items:center;gap:.3rem;min-height:28px;padding:0 .65rem;border:none;border-radius:980px;background:none;color:inherit;font-size:inherit;white-space:nowrap}.time-chip.is-running,.time-chip.is-paused{background:var(--tone, var(--accent-solid));color:#fff;box-shadow:none}.time-chip.is-paused{opacity:.7}.time-chip.is-done{background:var(--danger);color:#fff;box-shadow:none;animation:timer-done 1s var(--ease) infinite}@keyframes timer-done{50%{transform:scale(1.06)}}.time-chip-reset{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-inline-end:.2rem;padding:0;border:none;border-radius:999px;background:#ffffff38;color:inherit}.is-readonly .step-divider{min-height:1rem}.image-field{display:grid;grid-template-columns:4.5rem minmax(0,13rem) minmax(0,1fr);align-items:center;align-content:start;gap:.5rem .8rem;padding:.7rem;border-radius:var(--r-group);background:var(--card);box-shadow:var(--shadow-card)}.image-field>label{grid-column:1;grid-row:1;color:var(--ink)}.image-field>.drop-zone{grid-column:2;grid-row:1;align-self:stretch}.image-field>.drop-zone:has(.image-preview){grid-row:1 / span 2}.image-field>.image-url-row{grid-column:3;grid-row:1}.image-field>.image-field-actions{grid-column:3;grid-row:2}.image-field>*:not(label,.drop-zone,.image-url-row,.image-field-actions){grid-column:1 / -1}.drop-zone{display:flex;align-items:center;justify-content:center;min-height:0;padding:.2rem .6rem;border:1.5px dashed var(--sep-strong);border-radius:var(--r-field);color:var(--ink-3);cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-tint)}.drop-zone-hint{font-size:.85rem;text-align:center}.image-preview{max-height:calc(72px + .5rem - .4rem);border-radius:var(--r-field)}.image-url-row,.image-field-actions{display:flex;gap:.5rem}.image-url-row input{flex:1;min-width:0;min-height:36px;font-size:.92rem;padding:0 .8rem;border:none;border-radius:var(--r-field);background:var(--fill-soft)}.image-url-row input:placeholder-shown{direction:rtl}.image-url-row input:focus{outline:none;background:var(--card);box-shadow:var(--ring)}.image-field-actions:empty{display:none}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:#281c1247;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade-in .2s var(--ease)}@keyframes fade-in{0%{opacity:0}}.dialog{width:100%;max-width:17.5rem;overflow:hidden;border-radius:18px;background:var(--card);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:0 0 0 1px var(--sep),var(--shadow-float);text-align:center;animation:alert-in .2s var(--ease)}@keyframes alert-in{0%{opacity:0;transform:scale(1.08)}}.dialog-body{padding:1.1rem 1rem 1rem}.dialog h2{font-size:1.2rem}.dialog p{margin:.25rem 0 0;color:var(--ink-2);font-size:.85rem}.dialog-actions{display:flex;border-top:1px solid var(--sep)}.dialog-btn{flex:1;min-height:44px;border:none;background:none;color:var(--accent);font-size:1.05rem}.dialog-btn+.dialog-btn{border-inline-start:1px solid var(--sep)}.dialog-btn:hover{background:var(--fill-soft)}.dialog-btn.is-destructive{color:var(--danger);font-weight:600}.image-modal-backdrop{z-index:60;background:#19120cdb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.image-modal-img{max-width:92vw;max-height:86vh;border-radius:var(--r-group)}.image-modal-close{position:fixed;top:1rem;inset-inline-end:1rem;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:999px;background:#ffffff29;color:#fff}.image-modal-close:hover{background:#ffffff42}@media (max-width: 640px){html{zoom:.94}:root{--gutter: 1rem;--float-gap: .75rem}.chips-scroll{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}}@media (max-width: 560px){html{zoom:.86}.header-search{flex:0 0 36px;min-width:0;padding:0;justify-content:center;position:relative}.header-search svg{pointer-events:none}.header-search input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;color:transparent;cursor:pointer}.header-search input::placeholder{color:transparent}.header-search:focus-within{position:absolute;inset-inline:1rem;top:50%;z-index:2;height:38px;padding:0 .85rem;justify-content:flex-start;transform:translateY(-50%);box-shadow:var(--shadow-float)}.header-search:focus-within input{position:static;color:var(--ink);cursor:text}.header-search:focus-within input::placeholder{color:var(--ink-3)}.ing-qty{flex-basis:3.8rem}.steps-editor:not(.is-readonly){--cols: minmax(0, 1.4fr) 14px minmax(0, 1fr)}.steps-editor:not(.is-readonly) .ing-qty{flex-basis:2.9rem;padding-inline:.3rem}.steps-editor:not(.is-readonly) .ing-field textarea{word-break:normal;overflow-wrap:break-word}.ins-field{flex-wrap:wrap}.ins-field textarea{flex-basis:100%}.ins-time{flex:1 1 100%;padding-block:.25rem;border-inline-start:none;border-top:1px solid var(--sep);text-align:start}.ins-row:not(:focus-within) .ins-time:placeholder-shown{display:none}.image-field{grid-template-columns:4rem minmax(0,7.5rem) minmax(0,1fr)}.is-readonly .part-card{grid-template-columns:fit-content(44%) 14px minmax(0,1fr)}.site-header-inner{gap:.4rem}.site-title{font-size:1.15rem}.site-title .logo{width:28px;height:28px}.header-new{width:36px;height:36px;min-height:36px;padding:0;justify-content:center}.header-new .btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.recipe-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"thumb name name heart" "thumb stars kind heart";align-content:center;gap:0}.recipe-row>.thumb-btn,.recipe-row>.thumb-monogram{grid-area:thumb;align-self:center;margin-inline-end:.8rem}.recipe-row>.row-main{grid-area:name;align-self:end}.recipe-row>.row-stars{grid-area:stars;width:auto}.recipe-row>.row-kind{grid-area:kind;width:auto;justify-content:flex-start}.recipe-row>.row-stars:not(:empty),.recipe-row>.row-kind:not(:empty){align-self:start;margin-top:.25rem}.recipe-row>.row-stars:not(:empty){margin-inline-end:.5rem}.recipe-row>.heart-btn{grid-area:heart;align-self:center;margin-inline-start:.5rem}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .9rem}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.tile-name{padding-inline:.55rem;font-size:.9rem}}@media (max-width: 460px){html{zoom:.8}}@media (max-width: 360px){html{zoom:.74}}@media (pointer: coarse){.btn,.icon-btn,.round-btn,.add-row,.step-new,.part-name,.title-input,.byline-input,.search-box,.group-control,.image-url-row input,.tag-input,.tag-chip,.tag-add,.time-chip-main{min-height:44px}.stepper-btn{width:40px;height:40px}.chip{min-height:38px;padding-inline:.9rem;font-size:.86rem}.sort-btn{width:38px;height:38px}.view-switch button{width:42px;height:34px}.albums-by-opt{height:32px}.site-header .icon-btn,.site-header .header-new{min-width:40px;min-height:40px}.site-header .header-search{min-height:40px;height:40px}@media (max-width: 560px){.site-header .header-search:not(:focus-within){flex-basis:40px}.steps-editor .drag-handle{width:26px}.steps-editor .row-remove{width:30px}}.ing-label{min-height:32px}.link-add{opacity:1}.link-btn{width:40px;height:40px}.star,.heart-btn,.hero-actions .heart-btn,.hero-actions .round-btn{width:44px;height:44px}.hero-edit{min-height:44px}.search-box{min-height:46px}.tag-remove,.time-chip-reset{width:32px;height:32px}.ins-time{min-height:44px}.icon-btn,.round-btn{min-width:44px}.ing-field input,.ing-field textarea{min-height:44px}.drag-handle{width:34px;height:44px;color:var(--ink-3)}.row-remove,.step-remove,.part-remove{width:40px;height:44px;opacity:1}.step-ings-edit .add-row,.step-instructions-edit .add-row{margin-inline-start:34px}.step-divider{min-height:2.75rem}.step-divider-add{width:36px;height:36px}.ing-check{width:24px;height:24px;margin:0 5px}}@media print{@page{margin:1.6cm 1.4cm}body{background:#fff;font-size:11.5pt}.site-header,.back-link,.hero-bar,.heart-btn,.stars.is-input .star:not(.is-on),.time-chip-reset,.ing-check,.stepper-btn,.stepper-reset{display:none!important}.stepper{border:none;margin:0}.page{max-width:none;padding:0}.recipe-sheet{animation:none;gap:.9rem}.recipe-hero h1{font-size:24pt}.recipe-hero.has-image{min-height:0;padding:0;background:none;color:var(--ink);box-shadow:none}.recipe-hero.has-image:before{display:none}.hero-image{position:static;z-index:auto;height:auto;max-height:8cm;border-radius:8px}.has-image h1,.has-image .byline,.has-image .yield{color:var(--ink);text-shadow:none}.has-image .tag{background:none;color:var(--ink-2);box-shadow:inset 0 0 0 1px #ccc}.part-card,.group{border-color:#ddd;box-shadow:none;background:#fff}.step,.group-row{break-inside:avoid}.ing-field,.ins-box{background:none}.time-chip{box-shadow:none;border:1px solid #ccc}.link-list a:after{content:" (" attr(href) ")"}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
