:root{--cream:#f3ece0;--cream-light:#fbf7f0;--cream-dark:#e8dfcf;--ink:#2b2523;--ink-soft:#6a5f58;--line:#d9cebc;--plum:#6b4a8f;--plum-light:#b59ad1;--carrot:#d5672c;--rose:#d77b8a;--mustard:#e2b33d;--leaf:#4f7f55;--leaf-light:#9cbf86;--tomato:#c8473a;--cobalt:#3e5f9e;--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",system-ui,-apple-system,sans-serif;--radius:18px;--radius-sm:10px;--shadow:0 1px 0 #2b25230f,0 10px 30px -12px #2b25232e}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;background:#f3ece0;background:var(--cream);color:#2b2523;color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:17px;line-height:1.6;margin:0}#root{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-variation-settings:"SOFT" 100,"WONK" 1;font-weight:700;letter-spacing:-.01em;line-height:1.1;margin:0}button{font:inherit}:focus-visible{outline:3px solid #6b4a8f;outline:3px solid var(--plum);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.print-only{display:none}.navbar{background:#f3ece0;background:var(--cream);border-bottom:1.5px solid #d9cebc;border-bottom:1.5px solid var(--line);padding:18px 32px}.logo{align-items:center;color:#2b2523;color:var(--ink);display:inline-flex;font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-size:1.45rem;font-variation-settings:"SOFT" 100,"WONK" 1;font-weight:700;gap:10px;text-decoration:none}.logo em{color:#d5672c;color:var(--carrot);font-style:italic;font-weight:400}.logo-mark{height:30px;transform:rotate(-20deg);width:30px}.hero{overflow:hidden;padding:72px 20px 64px;text-align:center}.hero,.hero-text{position:relative}.hero-text{margin:0 auto;max-width:640px;z-index:1}.eyebrow{color:#d77b8a;color:var(--rose);font-size:.8rem;font-weight:600;letter-spacing:.16em;margin:0 0 10px;text-transform:uppercase}.hero h1{font-size:clamp(3rem,9vw,5.6rem);font-weight:800;line-height:.95}.h-plum{color:#6b4a8f;color:var(--plum)}.h-carrot{color:#d5672c;color:var(--carrot)}.h-small{color:#2b2523;color:var(--ink);font-size:.5em;font-style:italic;font-weight:400;vertical-align:.35em}.hero-lead{color:#6a5f58;color:var(--ink-soft);font-size:1.08rem;margin:22px auto 0;max-width:520px}.hero-doodles .d{height:64px;opacity:.95;position:absolute;width:64px}.d1{left:6%;top:26px;transform:rotate(-25deg)}.d2{height:72px!important;right:8%;top:40px;width:72px!important}.d3{bottom:28px;left:13%;transform:rotate(10deg)}.d4{left:2%;top:46%;transform:rotate(18deg)}.d5{bottom:34px;right:15%;transform:rotate(-8deg)}.d6{height:48px!important;left:30%;top:22px;transform:rotate(-30deg);width:48px!important}.d7{right:3%;top:42%;transform:rotate(12deg)}.d8{bottom:18px;left:36%;transform:rotate(40deg)}.d8,.d9{height:50px!important;width:50px!important}.d9{right:30%;top:24px;transform:rotate(10deg)}.d10{bottom:22px;height:44px!important;right:36%;transform:rotate(60deg);width:44px!important}@media (max-width:900px){.d10,.d6,.d8,.d9{display:none}.d4,.d7{bottom:10px;top:auto}}@media (max-width:560px){.hero{padding:64px 16px 72px}.hero-doodles .d{height:44px;width:44px}.d2{height:48px!important;width:48px!important}.d1,.d2{top:14px}.d3,.d5{bottom:12px}.d4,.d7{display:none}}.container{margin:0 auto;max-width:1120px;padding:8px 20px 64px;width:100%}.filters{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.search{display:block;max-width:560px;position:relative;width:100%}.search-icon{color:#6a5f58;color:var(--ink-soft);height:20px;left:18px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:20px}.search-input{background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 #2b2523;box-shadow:4px 4px 0 var(--ink);color:#2b2523;color:var(--ink);font:inherit;font-size:1rem;padding:15px 20px 15px 50px;transition:box-shadow .15s ease,transform .15s ease;width:100%}.search-input::placeholder{color:#9a8f86}.search-input:focus{box-shadow:5px 5px 0 #6b4a8f;box-shadow:5px 5px 0 var(--plum);outline:none;transform:translate(-1px,-1px)}.tag-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{background:#0000;border:1.5px solid #d9cebc;border:1.5px solid var(--line);border-radius:999px;color:#2b2523;color:var(--ink);cursor:pointer;font-size:.88rem;font-weight:500;padding:6px 14px;transition:background .15s,border-color .15s}.chip.active,.chip:hover{border-color:#2b2523;border-color:var(--ink)}.chip.active{background:#2b2523;background:var(--ink);color:#fbf7f0;color:var(--cream-light)}.empty{color:#6a5f58;color:var(--ink-soft);text-align:center}.recipe-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.recipe-card{--accent:var(--plum);background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:18px;border-radius:var(--radius);box-shadow:5px 5px 0 var(--accent);color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.recipe-card:hover{box-shadow:8px 8px 0 var(--accent);transform:translate(-3px,-3px)}.accent-plum{--accent:var(--plum)}.accent-carrot{--accent:var(--carrot)}.accent-leaf{--accent:var(--leaf)}.accent-rose{--accent:var(--rose)}.accent-mustard{--accent:var(--mustard)}.accent-cobalt{--accent:var(--cobalt)}.recipe-card-image{aspect-ratio:4/3;background:#e8dfcf;background:var(--cream-dark);border-bottom:2px solid #2b2523;border-bottom:2px solid var(--ink);display:grid;place-items:center}.recipe-card-image img{display:block;height:100%;object-fit:cover;width:100%}.recipe-card-placeholder{height:auto;width:40%}.recipe-card-content{padding:18px 20px 20px}.recipe-card h3{font-size:1.45rem}.recipe-card-meta{color:#6a5f58;color:var(--ink-soft);font-size:.88rem;margin:6px 0 0}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}.tags li{background:#e8dfcf;background:var(--cream-dark);border-radius:999px;color:#2b2523;color:var(--ink);font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:3px 11px}.tags li:nth-child(4n+1){background:#e7dcf1;color:#4d3368}.tags li:nth-child(4n+2){background:#f6dccb;color:#8a3f15}.tags li:nth-child(4n+3){background:#dbe8d3;color:#2f5535}.tags li:nth-child(4n+4){background:#f4d9de;color:#8c3747}.recipe-page{margin:0 auto;max-width:1120px;padding:28px 20px 72px;width:100%}.back-link{color:#6a5f58;color:var(--ink-soft);display:inline-block;font-size:.92rem;font-weight:500;margin-bottom:24px;text-decoration:none}.back-link:hover{color:#2b2523;color:var(--ink)}.not-found{padding-top:64px;text-align:center}.not-found h1{margin-bottom:20px}.recipe-header{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin-bottom:56px}.recipe-header .tags{margin:0 0 16px}.recipe-header h1{font-size:clamp(2.4rem,6vw,4rem);font-weight:800}.recipe-meta{color:#6a5f58;color:var(--ink-soft);margin:14px 0 28px}.recipe-tools{align-items:center;display:flex;flex-wrap:wrap;gap:16px 24px}.recipe-image-wrap{position:relative}.recipe-image-wrap:before{background:#e2b33d;background:var(--mustard);border-radius:46% 54% 52% 48%/48% 46% 54% 52%;content:"";inset:0;position:absolute;transform:rotate(-4deg) translate(14px,10px)}.recipe-image{aspect-ratio:1/1;border:2px solid #2b2523;border:2px solid var(--ink);border-radius:46% 54% 52% 48%/48% 46% 54% 52%;display:block;object-fit:cover;position:relative;width:100%}.servings{align-items:center;background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:999px;display:inline-flex;gap:4px;padding:5px}.servings button{background:#6b4a8f;background:var(--plum);border:none;border-radius:50%;color:#fbf7f0;color:var(--cream-light);cursor:pointer;font-size:1.3rem;height:40px;line-height:1;transition:background .15s,transform .1s;width:40px}.servings button:hover:not(:disabled){background:#573a77}.servings button:active:not(:disabled){transform:scale(.92)}.servings button:disabled{background:#d9cebc;background:var(--line);cursor:default}.servings-count{font-size:.98rem;min-width:118px;text-align:center}.servings-count strong{font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-size:1.35rem;margin-right:2px}.print-tools{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px}.btn-print{align-items:center;background:#0000;border:2px solid #2b2523;border:2px solid var(--ink);border-radius:999px;color:#2b2523;color:var(--ink);cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:11px 18px;transition:background .15s,color .15s}.btn-print:hover{background:#2b2523;background:var(--ink);color:#fbf7f0;color:var(--cream-light)}.btn-print svg{height:20px;width:20px}.checkbox{align-items:center;color:#6a5f58;color:var(--ink-soft);cursor:pointer;display:inline-flex;font-size:.9rem;gap:8px}.checkbox input{accent-color:#6b4a8f;accent-color:var(--plum);height:18px;width:18px}.recipe-body{grid-gap:56px;align-items:start;display:grid;gap:56px;grid-template-columns:minmax(280px,380px) 1fr}.recipe-body h2{align-items:center;display:flex;font-size:1.9rem;gap:10px}.h2-icon{flex-shrink:0;height:34px;width:34px}.ingredients{background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:18px;border-radius:var(--radius);box-shadow:6px 6px 0 #9cbf86;box-shadow:6px 6px 0 var(--leaf-light);padding:28px 28px 20px;position:-webkit-sticky;position:sticky;top:24px}.ingredients-for{color:#6a5f58;color:var(--ink-soft);font-size:.9rem;margin:4px 0 14px 44px}.ingredients ul{list-style:none;margin:0;padding:0}.ingredients li{grid-gap:12px;border-top:1.5px dashed #d9cebc;border-top:1.5px dashed var(--line);display:grid;gap:12px;grid-template-columns:6.2em 1fr;line-height:1.4;padding:10px 0}.qty{font-feature-settings:"tnum";color:#d5672c;color:var(--carrot);font-variant-numeric:tabular-nums;font-weight:700}.ing-note{color:#6a5f58;color:var(--ink-soft)}.steps ol{list-style:none;margin:24px 0 0;padding:0}.steps li{grid-gap:18px;display:grid;gap:18px;grid-template-columns:44px 1fr;padding:0 0 26px}.step-number{background:#6b4a8f;background:var(--plum);border-radius:50%;color:#fbf7f0;color:var(--cream-light);display:grid;font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-size:1.25rem;font-weight:700;height:44px;place-items:center;width:44px}.steps li:nth-child(4n+2) .step-number{background:#d5672c;background:var(--carrot)}.steps li:nth-child(4n+3) .step-number{background:#4f7f55;background:var(--leaf)}.steps li:nth-child(4n+4) .step-number{background:#d77b8a;background:var(--rose)}.steps p{font-size:1.05rem;margin:8px 0 0}.ing-ref{background:linear-gradient(#0000 62%,#e2b33d73 0);font-weight:600;padding:0 1px}.footer{border-top:1.5px solid #d9cebc;border-top:1.5px solid var(--line);color:#6a5f58;color:var(--ink-soft);font-size:.85rem;padding:28px 20px;text-align:center}.footer p{margin:0}@media (max-width:860px){.recipe-header{gap:36px;grid-template-columns:1fr}.recipe-image-wrap{margin:0 auto;max-width:420px;order:-1;width:88%}.recipe-body{gap:44px;grid-template-columns:1fr}.ingredients{position:static}}@media (max-width:560px){body{font-size:16px}.navbar{padding:14px 16px}.container,.recipe-page{padding-left:16px;padding-right:16px}.recipe-grid{gap:22px}.ingredients{padding:22px 18px 14px}.steps li{gap:14px;grid-template-columns:36px 1fr}.step-number{font-size:1.05rem;height:36px;width:36px}.steps p{margin-top:5px}}.btn-primary,.btn-secondary{align-items:center;border:2px solid #2b2523;border:2px solid var(--ink);border-radius:999px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:6px;justify-content:center;padding:10px 18px;text-decoration:none;transition:background .15s,color .15s,transform .1s;white-space:nowrap}.btn-primary{background:#6b4a8f;background:var(--plum);border-color:#6b4a8f;border-color:var(--plum);color:#fbf7f0;color:var(--cream-light)}.btn-primary:hover:not(:disabled){background:#573a77;border-color:#573a77}.btn-primary:disabled{cursor:default;opacity:.55}.btn-secondary{background:#fbf7f0;background:var(--cream-light);color:#2b2523;color:var(--ink)}.btn-secondary:hover{background:#e8dfcf;background:var(--cream-dark)}.btn-link{background:none;border:none;color:#6a5f58;color:var(--ink-soft);cursor:pointer;font-size:.92rem;font-weight:500;padding:6px 4px;text-decoration:underline;text-underline-offset:3px}.btn-link:hover{color:#2b2523;color:var(--ink)}.btn-link.danger:hover{color:#c8473a;color:var(--tomato)}.notice{border:1.5px solid;border-radius:10px;border-radius:var(--radius-sm);font-size:.95rem;margin:0 0 20px;padding:14px 18px}.notice ul{margin:6px 0 0;padding-left:20px}.notice-ok{background:#e6efe0;border-color:#9cbf86;border-color:var(--leaf-light)}.notice-warn{background:#faf0d4;border-color:#e2b33d;border-color:var(--mustard)}.notice-error{background:#f8e1dd;border-color:#e3a399}.form-error{color:#c8473a;color:var(--tomato);font-size:.92rem;font-weight:500;margin:10px 0 0}.hint{color:#6a5f58;color:var(--ink-soft);font-size:.86rem;margin:8px 0 0}.footer-admin{color:inherit}.source-note{color:#6a5f58;color:var(--ink-soft);font-size:.98rem;margin:14px 0 0}.source-label{color:#d77b8a;color:var(--rose);display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.source-note cite{color:#2b2523;color:var(--ink);font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-size:1.1rem;font-style:italic}.source-note a{color:inherit}.recipe-card-image{position:relative}.card-badge{align-items:center;background:#e2b33d;background:var(--mustard);border:1.5px solid #2b2523;border:1.5px solid var(--ink);border-radius:999px;color:#2b2523;color:var(--ink);display:inline-flex;font-size:.75rem;font-weight:700;gap:5px;left:12px;padding:4px 10px 4px 8px;position:absolute;top:12px}.card-badge svg{height:13px;width:13px}.recipe-card-category{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.14em;margin:0 0 4px;text-transform:uppercase}.recipe-card cite{font-style:italic}.locked{position:relative}.locked-blur{filter:blur(6px);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.locked-blur .ing-name,.locked-blur .qty,.locked-blur p{color:#6a5f58;color:var(--ink-soft);letter-spacing:-.12em;overflow:hidden;white-space:nowrap}.unlock-card{background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:18px;border-radius:var(--radius);box-shadow:6px 6px 0 #e2b33d;box-shadow:6px 6px 0 var(--mustard);left:50%;padding:28px 28px 24px;position:absolute;top:40px;transform:translateX(-50%);width:min(460px,calc(100% - 8px))}.lock-icon{height:40px;width:40px}.unlock-card h2{font-size:1.6rem;margin:8px 0 10px}.unlock-card p{color:#6a5f58;color:var(--ink-soft);font-size:.95rem;margin:0 0 18px}.unlock-card cite{color:#2b2523;color:var(--ink);font-style:italic}.unlock-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.unlock-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.field input,.field textarea,.ing-row input,.step-fields textarea,.unlock-row input{background:#fff;border:1.5px solid #d9cebc;border:1.5px solid var(--line);border-radius:10px;border-radius:var(--radius-sm);color:#2b2523;color:var(--ink);flex:1 1;font:inherit;font-size:.95rem;min-width:0;padding:10px 14px}.field input:focus,.field textarea:focus,.ing-row input:focus,.step-fields textarea:focus,.unlock-row input:focus{border-color:#6b4a8f;border-color:var(--plum);box-shadow:0 0 0 3px #6b4a8f26;outline:none}.admin{margin:0 auto;max-width:1120px;padding:36px 20px 72px;width:100%}.admin h1{font-size:clamp(2rem,5vw,2.8rem)}.admin-narrow{margin:0 auto;max-width:640px}.admin .lead{color:#6a5f58;color:var(--ink-soft);margin:10px 0 28px}.panel{background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:18px;border-radius:var(--radius);margin:0 0 24px;min-width:0;padding:22px 24px}.panel h2{font-size:1.35rem;margin-bottom:4px}.panel legend{font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-size:1.35rem;font-variation-settings:"SOFT" 100,"WONK" 1;font-weight:700;padding:0 8px}.panel legend small{color:#6a5f58;color:var(--ink-soft);font-family:Inter,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.85rem;font-weight:400}.panel-compact{padding:16px 20px}.panel-compact .unlock-row{margin:12px 0 0}.panel-ok{border-color:#9cbf86;border-color:var(--leaf-light);font-size:.92rem}.setup-steps{margin:12px 0 18px;padding-left:22px}.setup-steps li{margin-bottom:6px}.setup-steps a{color:#6b4a8f;color:var(--plum);font-weight:600}code{background:#e8dfcf;background:var(--cream-dark);border-radius:5px;font-size:.86em;padding:1px 6px}.admin-head,.editor-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.editor-actions,.editor-foot,.panel-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.editor-foot{justify-content:flex-end}.panel-actions{margin-top:16px}.deploy-status{align-items:center;color:#6a5f58;color:var(--ink-soft);display:inline-flex;font-size:.88rem;gap:8px;margin-top:8px;text-decoration:none}.deploy-status .dot{background:#4f7f55;background:var(--leaf);border-radius:50%;height:9px;width:9px}.status-busy .dot{animation:pulse 1.2s infinite;background:#e2b33d;background:var(--mustard)}.status-error .dot{background:#c8473a;background:var(--tomato)}@keyframes pulse{50%{opacity:.3}}.admin-list{background:#fbf7f0;background:var(--cream-light);border:2px solid #2b2523;border:2px solid var(--ink);border-radius:18px;border-radius:var(--radius);list-style:none;margin:0;overflow:hidden;padding:0}.admin-list li{align-items:center;border-top:1.5px solid #d9cebc;border-top:1.5px solid var(--line);display:flex;gap:16px;padding:12px 18px}.admin-list li:first-child{border-top:none}.admin-list img,.admin-thumb{background:#e8dfcf;background:var(--cream-dark);border-radius:12px;flex-shrink:0;height:52px;object-fit:cover;width:52px}.admin-list-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.admin-list-text small{color:#6a5f58;color:var(--ink-soft)}.admin-list-actions{align-items:center;display:flex;gap:8px}.field-grid{grid-gap:14px 18px;display:grid;gap:14px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:.85rem;font-weight:600}.field small{color:#6a5f58;color:var(--ink-soft);font-weight:400}.field-wide{grid-column:1/-1}.checkbox-strong{color:#2b2523;color:var(--ink);font-size:.98rem;font-weight:600;margin-bottom:14px}.image-field{align-items:center;display:flex;gap:18px;margin-top:18px}.image-preview{border:2px solid #2b2523;border:2px solid var(--ink);border-radius:50%;flex-shrink:0;height:120px;object-fit:cover;width:120px}.image-empty{background:#e8dfcf;background:var(--cream-dark);border-style:dashed;color:#6a5f58;color:var(--ink-soft);display:grid;font-size:.8rem;place-items:center}.file-button{margin-right:8px}.ing-table{margin-top:14px}.ing-row{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-columns:90px 110px minmax(140px,1.4fr) minmax(110px,1fr) minmax(150px,1.1fr) auto;padding:6px 0}.ing-row input{padding:8px 10px;width:100%}.ing-row input.invalid{border-color:#c8473a;border-color:var(--tomato)}.ing-row-head{color:#6a5f58;color:var(--ink-soft);font-size:.78rem;font-weight:600;padding-bottom:0}.ing-preview{font-size:.85rem;line-height:1.35;padding-top:4px}.ing-more summary,.ing-preview>span{color:#6a5f58;color:var(--ink-soft)}.ing-more summary{cursor:pointer;font-size:.78rem}.ing-more[open]{background:#f3ece0;background:var(--cream);border-radius:8px;margin-top:6px;padding:8px}.ing-id,.ing-more .field{margin-top:6px}.ing-id{display:inline-block}.row-tools{display:flex;gap:2px;padding-top:4px}.row-tools button{background:none;border:1.5px solid #0000;border-radius:8px;color:#6a5f58;color:var(--ink-soft);cursor:pointer;font-size:.95rem;height:30px;width:30px}.row-tools button:hover{border-color:#d9cebc;border-color:var(--line);color:#2b2523;color:var(--ink)}.paste-box{background:#f3ece0;background:var(--cream);border-radius:10px;border-radius:var(--radius-sm);margin-top:14px;padding:14px}.paste-box textarea{font-family:ui-monospace,monospace;font-size:.88rem}.paste-box .btn-primary{margin-top:10px}.chip-bar{align-items:center;background:#fbf7f0;background:var(--cream-light);border-bottom:1.5px dashed #d9cebc;border-bottom:1.5px dashed var(--line);display:flex;flex-wrap:wrap;gap:6px;margin:14px -8px 10px;padding:10px 8px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.chip-bar .chip{font-size:.82rem;padding:4px 11px}.chip:disabled{cursor:default;opacity:.45}.chip-bar .checkbox{margin-right:8px}.step-editor{list-style:none;margin:0;padding:0}.step-editor li{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:34px 1fr auto;margin-bottom:12px}.step-editor .step-number{font-size:1rem;height:34px;margin-top:4px;width:34px}.step-fields textarea{line-height:1.5;resize:vertical;width:100%}.step-preview{color:#6a5f58;color:var(--ink-soft);font-size:.88rem;margin:6px 2px 0}.preview-panel .servings{margin-bottom:28px}.preview-panel .ingredients{position:static}@media (max-width:860px){.ing-row{border-top:1.5px dashed #d9cebc;border-top:1.5px dashed var(--line);grid-template-columns:1fr 1fr auto;padding:12px 0}.ing-preview,.ing-row>input:nth-child(3),.ing-row>input:nth-child(4){grid-column:1/3}.ing-row .row-tools{grid-column:3;grid-row:1}.ing-row-head{display:none}}@media (max-width:560px){.admin{padding:24px 16px 56px}.panel{padding:18px 16px}.field-grid{grid-template-columns:1fr}.locked{display:flex;flex-direction:column}.unlock-card{left:auto;margin-bottom:28px;order:-1;position:relative;top:auto;transform:none;width:100%}.locked-blur{max-height:420px;overflow:hidden}.admin-list li{flex-wrap:wrap}.admin-list-actions{justify-content:flex-end;width:100%}}@page{size:A4;margin:16mm 16mm 18mm}@media print{body{background:#fff;color:#000;font-size:10.5pt;line-height:1.45}.admin,.footer,.hero-doodles,.locked,.navbar,.no-print{display:none!important}.print-only{display:inline;display:initial}.recipe-page{max-width:none;padding:0}.recipe-header{align-items:flex-start;border-bottom:1.5pt solid #000;display:flex;gap:8mm;margin-bottom:7mm;padding-bottom:5mm}.recipe-header-text{flex:1 1}.recipe-header h1{color:#000;font-size:26pt}.recipe-header .tags{margin-bottom:3mm}.tags li{background:none!important;color:#555!important;font-size:8pt;letter-spacing:.1em;padding:0;text-transform:uppercase}.tags li+li:before{content:"· "}.recipe-meta,.source-note{color:#444;margin:2mm 0 0}.source-label,.source-note{font-size:9.5pt}.source-label{color:#444;display:inline;font-weight:400;letter-spacing:0;text-transform:none}.source-note cite{color:#000;font-size:10.5pt}.recipe-image-wrap{display:none}.print-photo .recipe-image-wrap{display:block;flex-shrink:0;width:45mm}.recipe-image-wrap:before{display:none}.recipe-image{aspect-ratio:1/1;border:none;border-radius:4mm}.recipe-body{display:block}.recipe-body h2{color:#000;font-size:15pt}.h2-icon{height:18pt;width:18pt}.ingredients{background:none;border:none;border-radius:0;box-shadow:none;break-inside:avoid;margin-bottom:7mm;padding:0;page-break-inside:avoid;position:static}.ingredients-for{color:#444;margin:0 0 2mm 26pt}.ingredients ul{column-count:2;column-gap:10mm}.ingredients li{border-top:none;break-inside:avoid;gap:6pt;grid-template-columns:11pt 6.4em 1fr;padding:1.2mm 0;page-break-inside:avoid}.ingredients li:before{border:1pt solid #000;border-radius:2pt;content:"";height:9pt;margin-top:2pt;width:9pt}.qty{color:#000}.ing-note{color:#444}.steps ol{margin-top:3mm}.steps li{break-inside:avoid;gap:8pt;grid-template-columns:20pt 1fr;padding:0 0 3.5mm;page-break-inside:avoid}.step-number,.steps li:nth-child(n) .step-number{background:none;border:1.2pt solid #000;color:#000;font-size:10pt;height:18pt;width:18pt}.steps p{font-size:10.5pt;margin-top:1.5pt}.ing-ref{background:none;font-weight:700}.print-footer{border-top:.75pt solid #999;color:#666;display:block;font-family:Fraunces,Georgia,serif;font-family:var(--font-display);font-size:9pt;margin-top:8mm;padding-top:3mm;text-align:right}}
/*# sourceMappingURL=main.19606d37.css.map*/