@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAn4ABMAAAAAEwQAAAmOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGjQbgnQcLj9IVkFSgQEGYD9TVEFUgQIAgQovahEICok0h0ULIAAwhzoBNgIkAzwEIAWHJgeBDgwHG6QQUdRKTmoBFD8K42bniObKrG3LZFcMWZzFmrjTFhQ6TVTqPJcInrfrvzq3b2PGn1wwMiNYGTy9ViREYARlL1zAGcPdPqBt3gNWrfKthv4xnM+b9caw+wmjgEUVRjHXhS6jgCK6zf5HiWQacJpGdAgdrbV6g/Rf1BfxRqZVQnrxRVWSJb6RLFnyu0elilmjeoSQCKnxsmwLaddUMjnksriSYuuPl06EAl7KfAiWQjCUETz0zNZ3EII94CDQtzkMfZ/9IkkY8tZRZTDky5ZVwBAM+GYpdd4ZVAWYImnLkiTg48l79gGx3D+VBtLeyg8u7bJAd4uo0pFuQBFysE9C95l0W4Fkiao6GfrDbu77lVU7wk9cV3uqOsXmQiMkhVKl1ugjzUAJBSIkkVWHijkpkVSyUFsgVBuJMA0N+ZnXtyUv5yMigGdfQRmwL1AAjQ3YXG6iIFNSUdPQo8+AISPGAltBMDQRAtyf4ZspLlZkpyOVoMZPvFGWzvk8p5SUC/NWPMj6T2/Yas2EdlON5GkfdkeFwVGjta825H89NIenlLWAPAp5h1KDtRhCaAQWMsFKtEvOKpIhgLHlXPARokkgEGEOAkqxJRQpKYq4ezahIiLHP6hZpqMbV0pUF2vdvEimLEQ/iIUYLgYWs0VXGVlLTOPdaPmFfCC/XrtzqVo1ez7vz6+Kd2+7o11ZJ+4MreLbB5BKVGxobAq4jZYalZ5aX2CKJiwUuc9GNJyi4M8bGyKcdjSRrG4JohdF8buJfmQefbYYREnMFsOoiNliFDVxmRgL0XUmUMLqzW0A4gCQAhWGYCQpFNukwXhIkPMsbRI19ewtw8Cp2Wj/Ro5cM2OTAbJAvZ/L4opBXb9+UHscYuOKM/W8isgwN26Exexjizmfnlp9dE3hOSqdZ/F5QqbckIlPb+oKfXxd6hftJ7Sm/uyPYpONza84CRlMNk/uhOrLpyf53982++zRkXNu3g3VF8qFbx1+7fbHZ9DrB3VXWNSmhnT2vrwS1+1Z+kHGBaZIhnnvuLBTNDeA340D1DWu5/jEa9pVfl6+Jij+yo3EELNixXCLjr173Q5eDP7Y7/L4iQFHbjpaJLFoP4cCsYP6sAPL7gMHNg53yYjqxqTDrYqLDl5DzW/eTLjYxCvucprjI3yl2ykKowKUC2Ox2FJLFo6Fa1HBWLC2jMCIIBEmklkYhmkpmBhTm/LCvJAH5oGcMKcgFEP1xUdho8ANPa6RFD99/PN60fjj9eXy2Eex4B5MpmRapXidzFk1p4uLk3+hn6jAP9ovJcXPPwk8o/0ltizbdbnTprvx4PSxT0VZ3Xc772aN7RflgbXRYwc3hLNO+k878nxGwfuVM8m8Gs7WEoVGWLHwSpx4vNSHBCMNqJ4m15Kp/TfHHVkQd++eY7PGN4W5byTs+6Ft8Ozvb/D60btv37de8ER0mS3P/0sLW84qGjEVkwztPzz06eGUWwKLwPb0D/WFd3vltl2aP276KpM0JNz6AfnAnZ5ADlF2zVyZ2OkxHSMxWPMnSZLbbDR3F1UjPVqp4d68da13F1YZujdWw7271iecO2l9+/4p47Oztjck355/75wFOI+VdGDqbNGs+ISgxg3iB2jb2r+b0CWsNLHIM4sdv8SDSFBP/Oromz6FNCWw2iMTxV0R8QLyBTkpe0j5+pSSJOOTB5Mck/gh3IopuNQnhKj02t3FL80gGbEh89SZcwTxcYt5cZT/nMnB3uXfPy8BSpVMBuRx+ZhACGzDBmwHsJRAjhotOnzuj2wDz3ug2wOUAY2NgZln9/TK/enG/oE4rO1wxvGUFMAxsZ0qNjRC7hl9d17e7imbgDt6uJXhUobDg7v3RX/yRCKxgMhfyiKcZfbpk0wmCcdQlIAOHeakXLvCNt++WfKiozNqSZxxJotn+c0a7DdPsx7DPYgKIDxwwYUZDg9aJbxocTjcwovr9WAsVV32mQoiiIOCHc60Oltst9qCQYuCqN1yHo0Kj60OgI2OqmiuBUWrNA0NDhYCDcdpmMrs1fZZ0xdTzMr1HdPtIHstYhqaPDDA5YxUDx7J4fJiisBSDI/L6G/bn34GNy8Q2g044ZTulAdFLb0tI6NNxfj3DzLjWiNGxje1pz7aXOcNV68lDPEd2SXl6VfBuwmHzdf1gxFy1HvA7pD8I2BnnmyGw852Cg5XbgIdEEGE5UCzen5jTlG6JCU5iajlxVcsXvbcS0SAcg1dcesWJLVK8+hYHOYQ+Pjy+EyVGXP0aPTFagrV9E03hCQvYx+g47KGq+1GsLj8uBIyihNw33YUe8PNC4BOJ3Lm1AglLV3nCuvUdIP+v15tVGbWIwgxLVpPkfpthCGpTKG+oA/DQfsKKvxhScqaN6FuElAUtTKv2UYgOmQegsN/n7njHUju8wM4VTcm+Q8xfX9SFwjTzdVqu95UOWSIGOabH8OGBEba//8Yxl3GcPdP/dMBOoSX/0z5SZmBoLbaPs+9asaMpb36yknKaw6FqWZa6A5vDa02mhkOba1q6KtLV208xrkwmW5C4VD6n2fvRjADy2qDYYnNy+H10Fq0LMbNzS863gkO7iQ8eC48/Ny5m59tOcEso3u7Qg3yrqDL6eKXwJAuWnhylfbWrRObe66rzX59+XDtzusnL66dI/86ArmtLlzED860Ef3bFPV78OX/zFTA11fcBn2Vntb7qiGBSgLBHyuv/uEaqqoTgSpOyjlzh86me1Vriv7i9rLPLvtghWmSnblRbAsBJL/4dScSQTBxOivHMO5QvBBY0iheJvfwWLxLOGzYKZyM4zVc2Cll46zEpeUV4MqGEWZj22SdOxhGAjgs9AEnfT+RoiMfcDb0GS5NncKVxju4Nt/mRk13O9Gz3FLct5oCD6wkwUNrCfHIUg6SMf8LwQGyVaBUqpLPW5BaMpRshEpl8nS1qw5dgnzlik8QBXmdy5UrIH74heTKZKMSilQso4hsRiGraQZRzxpNGqlEJMsXuAU7GlcR8mWSykUpVkWGyIf0a8v4qEQp5CtGsMiZa+4ESYQy+WilCiguHzxMXO54ogShooTV2bj2z1zL6DYSoImoQ8lFUWxMLBNQQgLkV2tHYgUoIbkuREz+fJHKxxWBcnvu3KQppFCxLkguB1NyVSp/TknRvNwYlCdbblWu3ze6owHdWluhE5tgQ6ej2SV65CijijoaRfSiH4Nqz1OpfEW+WeI/oU0ly60zkV9YzOQSYtZVEGYmrysTZAJkY4qZtIBD9/LYTIK7Nww3vMiYBwA=)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@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")}:is(.library-page .recipe-card-image.has-photo,.detail-photo-print .detail-hero-viewport){width:100%;-webkit-mask-image:var(--photo-cut);mask-image:var(--photo-cut);clip-path:polygon(max(var(--photo-tl), var(--photo-fold-clearance,0px)) 0, calc(100% - var(--photo-tr)) 0, 100% var(--photo-tr), 100% calc(100% - var(--photo-br)), calc(100% - var(--photo-br)) 100%, var(--photo-bl) 100%, 0 calc(100% - var(--photo-bl)), 0 max(var(--photo-tl), var(--photo-fold-clearance,0px)), calc(max(var(--photo-tl), var(--photo-fold-clearance,0px)) * .45) calc(max(var(--photo-tl), var(--photo-fold-clearance,0px)) * .5));border-radius:0;margin:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="0"]{--photo-tl:2%;--photo-tr:0.5%;--photo-br:5%;--photo-bl:1%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="1"]{--photo-tl:0.5%;--photo-tr:6%;--photo-br:1%;--photo-bl:4%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="2"]{--photo-tl:5%;--photo-tr:1.5%;--photo-br:2.5%;--photo-bl:0.5%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="3"]{--photo-tl:1%;--photo-tr:3%;--photo-br:0.5%;--photo-bl:6.5%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="4"]{--photo-tl:3%;--photo-tr:0.5%;--photo-br:6.5%;--photo-bl:2%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="5"]{--photo-tl:0.5%;--photo-tr:7%;--photo-br:3.5%;--photo-bl:0.5%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="6"]{--photo-tl:6%;--photo-tr:2.5%;--photo-br:0.5%;--photo-bl:4.5%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-corners="7"]{--photo-tl:2%;--photo-tr:4.5%;--photo-br:4%;--photo-bl:1.5%}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-cut="0"]{--photo-cut:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20300'%20preserveAspectRatio='none'%3e%3cpath%20fill='white'%20d='M3%203%20L79%201%20L118%204%20L171%202%20L213%205%20L290%201%20L397%203%20L397%207%20L399%2079%20L396%20117%20L399%20174%20L396%20229%20L398%20293%20L398%20299%20L316%20296%20L271%20299%20L195%20295%20L121%20299%20L3%20296%20L2%20292%20L4%20208%20L1%20161%20L4%2094%20L1%2051%20L3%209%20Z'/%3e%3c/svg%3e")}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-cut="1"]{--photo-cut:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20300'%20preserveAspectRatio='none'%3e%3cpath%20fill='white'%20d='M2%2012%20L61%208%20L139%206%20L205%207%20L284%203%20L398%201%20L398%206%20L395%2068%20L399%20119%20L396%20186%20L399%20270%20L398%20297%20L291%20294%20L219%20299%20L154%20296%20L83%20299%20L2%20295%20L1%20288%20L3%20219%20L1%20162%20L5%20109%20L2%2062%20Z'/%3e%3c/svg%3e")}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-cut="2"]{--photo-cut:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20300'%20preserveAspectRatio='none'%3e%3cpath%20fill='white'%20d='M4%201%20L87%204%20L128%201%20L173%205%20L251%202%20L306%206%20L399%203%20L399%2012%20L395%2088%20L398%20145%20L394%20205%20L397%20279%20L397%20297%20L312%20299%20L238%20295%20L181%20298%20L110%20294%20L1%20298%20L1%20287%20L5%20235%20L2%20192%20L4%20126%20L1%2074%20L4%2013%20Z'/%3e%3c/svg%3e")}:is(.library-page .recipe-card,.detail-photo-print)[data-photo-cut="3"]{--photo-cut:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20300'%20preserveAspectRatio='none'%3e%3cpath%20fill='white'%20d='M3%207%20L64%202%20L116%205%20L186%201%20L241%204%20L311%202%20L395%205%20L395%2015%20L398%2079%20L394%20129%20L399%20198%20L396%20253%20L399%20292%20L399%20297%20L321%20293%20L265%20295%20L204%20292%20L143%20297%20L3%20299%20L3%20276%20L1%20217%20L5%20158%20L2%20105%20L4%2049%20Z'/%3e%3c/svg%3e")}.sign-in-page{width:min(100% - 3rem,70rem);margin:0 auto;padding:clamp(2rem,8vh,6rem) 0}.auth-brand{font-family:var(--font-heading);align-items:center;gap:.9rem;font-size:1.5rem;font-weight:700;display:flex}.auth-content{width:min(100%,28rem);margin:clamp(3rem,10vh,7rem) auto 0}.auth-content h1{letter-spacing:-.04em;margin-bottom:1rem;font-size:clamp(2rem,4vw,2.75rem)}.auth-content>p,.account-section>p{color:var(--ink-muted);overflow-wrap:anywhere;line-height:1.65}.auth-form{gap:1.25rem;max-width:28rem;margin:1.5rem 0;display:grid}.auth-form label{gap:.6rem;font-weight:500;display:grid}.auth-form input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-bg);width:100%;min-height:3rem;color:var(--ink);padding:.8rem 1rem;font-size:1rem}.auth-code{letter-spacing:.25em;font-variant-numeric:tabular-nums}.auth-secondary,.account-sign-out{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.auth-secondary button,.account-sign-out>button:not(.secondary-button),.device-list button{min-height:2.75rem;color:var(--accent-dark);text-underline-offset:.2rem;cursor:pointer;background:0 0;border:0;text-decoration:underline}.auth-footnote{color:var(--ink-muted);font-size:.85rem}.auth-error{color:var(--danger)}.auth-loading{padding:3rem}.account-page{max-width:48rem;padding-bottom:3rem}.account-page-header{margin-bottom:2rem}.account-page-header .eyebrow{color:var(--ink-muted);margin-bottom:.5rem}.account-section{border-top:1px solid var(--line-strong);padding:1.5rem 0}.account-section h2{margin:0 0 .75rem;font-size:1.2rem}.device-list{padding:0;list-style:none}.device-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.device-list li div{overflow-wrap:anywhere;min-width:0}.device-list p{color:var(--ink-muted);margin:.4rem 0 0;font-size:.85rem}.account-without-household{padding:1.5rem}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;font-kerning:normal;--font-heading:"Manrope", "Inter", "Segoe UI", sans-serif;--font-ui:"Inter", "Segoe UI", sans-serif;--ground:#f7f1e5;--font-brand:Lora, Georgia, serif;--paper-texture:url(/assets/paper-texture-B6u0Dec4.webp);--paper-opacity:.4;--surface:#fffaf0;--surface-quiet:#efe7d8;--chip:#f1ebe0;--field-bg:#fffdf8;--field-border:#d9cebb;--ink:#29261f;--ink-muted:#746e63;--ink-faint:#7a726a;--line:#5b49302e;--line-strong:#d9cebb;--accent:#bd4f2f;--accent-dark:#a84930;--accent-soft:#f7efd0;--butter:#f2d36b;--pasta-gold:#e7b24a;--tomato-clay:#c96b57;--sage:#85925f;--olive:#5e6e44;--soft-blush:#efc8bc;--gold:#e9a928;--star-empty:#d4cfc4;--green:#85925f;--green-dark:#5e6e44;--green-soft:#e8edd8;--warning:#805822;--warning-soft:#f5ead6;--danger:#973a33;--danger-soft:#f8e5e2;--remix-changed:var(--warning);--remix-changed-soft:var(--warning-soft);--remix-changed-border:#d4b04a;--remix-changed-surface:#fff8eb;--remix-conflict-border:#c98f88;--focus:#66754a;--radius-sm:.5rem;--radius-md:.75rem;--radius-pill:999px;--shadow:0 6px 16px #2f2a2614;--shadow-card:0 4px 14px #2f2a2617;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--app-chrome-min-height:4rem;--safe-area-top:env(safe-area-inset-top,0px);--app-chrome-padding-top:.75rem;--app-chrome-padding-bottom:.75rem;--app-chrome-gap-after:1.25rem;--job-tray-clearance:0px;--app-tab-clearance:0px;background:var(--ground);color:var(--ink);caret-color:var(--ink);text-rendering:optimizelegibility;font-family:Inter,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}html{background:var(--ground);scrollbar-color:var(--line-strong) var(--ground);scrollbar-width:thin;min-width:320px;min-height:100%}body{background:var(--ground);isolation:isolate;min-width:320px;min-height:100vh;margin:0}body:before{content:"";z-index:-1;background:var(--paper-texture) repeat;opacity:var(--paper-opacity);pointer-events:none;background-size:680px 680px;position:fixed;inset:0}::selection{color:var(--ink);background:#e6ca8e}input,textarea{caret-color:var(--accent)}body,button,input,textarea,select{font-family:var(--font-ui)}button,input,textarea,select{color:inherit;font-size:1rem}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-underline-offset:.18em}::selection{background:color-mix(in srgb, var(--soft-blush) 70%, var(--butter));color:var(--ink)}::placeholder{color:var(--ink-faint);opacity:1}:focus{outline:none}:focus-visible{outline:.16rem solid var(--focus);outline-offset:.18rem}::-webkit-scrollbar{width:.7rem;height:.7rem}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{border:.18rem solid var(--ground);background:var(--line-strong);border-radius:1rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:var(--font-heading);letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.08}h1{margin-bottom:var(--space-2);letter-spacing:-.03em;font-size:2.15rem}h2{margin-bottom:var(--space-4);font-size:clamp(1.45rem,2.4vw,2rem)}h3{font-size:1.12rem}pre{white-space:pre-wrap;overflow-wrap:anywhere}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:500;top:var(--space-3);left:var(--space-3);clip-path:inset(50%);white-space:nowrap;border-radius:var(--radius-sm);background:var(--ink);width:1px;height:1px;color:var(--surface);text-decoration:none;position:fixed;overflow:hidden}.skip-link:focus-visible{width:auto;height:auto;padding:var(--space-3) var(--space-4);clip-path:none;overflow:visible}.app-shell{min-height:100dvh;padding-top:var(--safe-area-top);position:relative}.app-shell:before{content:"";z-index:20;height:var(--safe-area-top);background:var(--ground);pointer-events:none;position:fixed;top:0;left:0;right:0}.app-shell--immersive-hero:before{display:none}.app-shell__body{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.inner-chrome__account{z-index:1;position:absolute;right:0}.inner-chrome{min-height:var(--app-chrome-min-height);justify-content:space-between;align-items:center;gap:var(--space-4);width:min(100% - 4rem,80rem);margin-inline:auto;margin-bottom:var(--app-chrome-gap-after);padding-top:var(--app-chrome-padding-top);padding-bottom:var(--app-chrome-padding-bottom);display:flex;position:relative}.back-link{align-items:center;gap:var(--space-2);min-height:2.75rem;color:var(--ink);font-weight:600;text-decoration:none;display:inline-flex}.back-link svg{stroke-width:2px;width:1.1rem;height:1.1rem}.local-user{gap:.2rem;display:grid}.local-user>span{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}main{min-height:100vh}.page-frame{width:min(100% - 4rem,80rem);margin-inline:auto;padding-block:2.6rem 4rem}.page-description{margin:var(--space-2) 0 0;color:var(--ink-muted);font-size:.95rem}.primary-button,.secondary-button,.text-button,.icon-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:2.75rem;font-weight:600;line-height:1.1;text-decoration:none;display:inline-flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:var(--surface);padding:.75rem 1.15rem}.primary-button:hover{border-color:var(--accent-dark);background:var(--accent-dark)}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:.75rem 1.15rem}.text-button{color:var(--accent-dark);background:0 0;border:0;padding:.65rem .2rem}.icon-button{width:2.65rem;height:2.65rem;color:var(--ink-muted);background:0 0;border:0;flex:none;padding:0}.primary-button svg,.secondary-button svg,.text-button svg,.icon-button svg{stroke-width:2px;width:1rem;height:1rem}.library-page.page-frame{width:min(100% - 2rem,86rem);padding-block:1.35rem 3.5rem}.add-link{white-space:nowrap;border-radius:.7rem;flex-shrink:0;min-height:2.75rem;margin-left:auto;padding-inline:1.05rem;font-weight:600}.search-form{align-items:center;gap:var(--space-3);border:1px solid var(--field-border);border-radius:var(--radius-pill);background:var(--field-bg);min-height:3.15rem;margin-bottom:.9rem;padding:.2rem .35rem .2rem 1rem;display:flex}.search-form>svg{width:1.15rem;height:1.15rem;color:var(--ink-muted);stroke-width:1.8px;flex:none}.search-form input{background:0 0;border:0;flex:1;min-width:0;min-height:2.7rem;font-size:1rem}.search-form:focus-within{outline:.16rem solid var(--focus);outline-offset:.18rem}.search-form:focus-within input{outline:none}.search-clear{border-radius:var(--radius-pill);width:2.5rem;height:2.5rem;color:var(--ink-muted);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.search-clear svg{stroke-width:2px;width:1.05rem;height:1.05rem}.library-toolbar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.15rem;display:flex}.sort-menu{display:inline-flex;position:relative}.sort-menu--disabled>summary{cursor:not-allowed;opacity:.5;pointer-events:none}.sort-menu--disabled>summary:focus-visible{outline:none}.sort-menu>summary{border:1px solid var(--field-border);background:var(--field-bg);min-height:2.5rem;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.7rem;align-items:center;gap:.35rem;padding:.15rem .7rem;list-style:none;display:inline-flex}.sort-menu>summary::-webkit-details-marker{display:none}.sort-menu>summary:focus{outline:none}.sort-menu>summary:focus-visible{outline:.16rem solid var(--focus);outline-offset:.18rem}.sort-menu>summary svg{width:.95rem;height:.95rem;color:var(--ink-muted);stroke-width:1.8px;flex:none}.sort-menu .sort-menu-chevron{width:.9rem;height:.9rem}.sort-menu[open]>summary .sort-menu-chevron{transform:rotate(180deg)}.sort-menu-label{white-space:nowrap;font-size:.92rem;font-weight:600}.sort-menu-panel{z-index:2;background:var(--surface);min-width:100%;max-height:min(50dvh,20rem);box-shadow:var(--shadow);border-radius:.85rem;gap:.2rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;overflow-y:auto}.sort-menu--above .sort-menu-panel{top:auto;bottom:calc(100% + .35rem)}.tag-row .sort-menu{min-width:0;display:block}.tag-row .sort-menu[open]{z-index:10}.tag-row .sort-menu>summary{justify-content:space-between;width:100%;min-height:2.85rem}.tag-row .sort-menu-label{text-overflow:ellipsis;overflow:hidden}.sort-menu-direction-icon{width:.9rem;height:.9rem;color:var(--ink-muted);stroke-width:2.1px;flex:none}.sort-menu-option{min-height:2.75rem;color:var(--ink);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:.55rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .7rem;font-size:.92rem;font-weight:600;display:flex}.sort-menu-option[aria-selected=true]{background:color-mix(in srgb, var(--butter) 28%, var(--surface))}.sort-menu-option:focus{outline:none}.sort-menu-option:focus-visible{outline:.16rem solid var(--focus);outline-offset:.12rem}.sort-menu-option svg{width:.95rem;height:.95rem;color:var(--olive);stroke-width:2.2px;flex:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}@media (width>=40rem){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}@media (width>=64rem){.recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}}@media (width>=90rem){.recipe-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.recipe-card{border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);border:0;overflow:hidden}.recipe-card>a{color:inherit;text-decoration:none;display:grid}.recipe-card-image{aspect-ratio:4/3;background:var(--surface-quiet);color:var(--tomato-clay);place-items:center;display:grid;position:relative;overflow:hidden}.recipe-card-draft-badge{background:var(--warning-soft);color:var(--warning);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700;position:absolute;top:.55rem;left:.55rem}.recipe-card--draft .recipe-card-image{background:linear-gradient(180deg, var(--surface) 0%, var(--surface-quiet) 100%)}.recipe-card-draft-copy{color:var(--warning);font-weight:600}.recipe-card-image.has-photo{place-items:stretch stretch}.recipe-card-image img{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.recipe-card-image svg{stroke-width:1.6px;width:1.85rem;height:1.85rem}.recipe-card-body{gap:.18rem;padding:.62rem .75rem .72rem;display:grid}.recipe-card h2{-webkit-line-clamp:2;letter-spacing:-.015em;-webkit-box-orient:vertical;margin:0;font-size:.98rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.recipe-card-stars{color:var(--star-empty);gap:.08rem;margin:0;display:flex}.recipe-card-stars svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:.86rem;height:.86rem}.recipe-card-stars svg.is-filled{color:var(--gold);fill:currentColor;stroke:none}.recipe-card-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.tag-list{flex-wrap:wrap;align-items:center;gap:.2rem .55rem;min-width:0;display:flex}.tag-list span{border:1px solid color-mix(in srgb, var(--sage) 32%, var(--line));border-radius:var(--radius-pill);background:var(--green-soft);color:var(--olive);padding:.12rem .55rem;font-size:.86rem;font-weight:500}.tag-list span:not(:last-child):after{content:none}.muted{color:var(--ink-faint)}.empty-library{justify-items:center;gap:var(--space-4);text-align:center;max-width:28rem;margin:3.5rem auto 0;display:grid}.empty-library-mark{box-shadow:var(--shadow-card);border-radius:1.1rem}.empty-library h2{margin-bottom:var(--space-2);font-family:var(--font-heading);font-size:1.65rem}.empty-library p{color:var(--ink-muted);margin:0}.library-skeleton span{aspect-ratio:3/4.15;border-radius:var(--radius-md);background:var(--surface-quiet);animation:1.3s ease-in-out infinite alternate breathe;display:block}.inline-error,.form-error{padding:var(--space-4);border:1px solid color-mix(in srgb, var(--danger) 35%, var(--line));border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger)}.inline-error{gap:.1rem;display:grid}.page-intro{max-width:46rem;margin-bottom:var(--space-10)}.page-intro h1{margin-bottom:var(--space-3)}.page-intro>p,.review-header>div>p{max-width:62ch;color:var(--ink-muted);margin-bottom:0;font-size:1.06rem;line-height:1.5}.add-picker-page.page-frame,.add-method-page.page-frame{width:min(100% - 2rem,32rem);padding-block:1.5rem 3rem}.add-method-panel{background:var(--surface);box-shadow:var(--shadow-card);border-radius:1rem;padding:1.5rem 1.25rem 1.35rem}.add-picker-intro{text-align:center;margin-bottom:1.35rem}.add-picker-intro h1{margin-bottom:.4rem}.add-picker-intro p{color:var(--ink-muted);margin:0}.add-method-list{gap:.75rem;display:grid}.add-method-card{background:var(--surface);min-height:4.5rem;box-shadow:var(--shadow-card);color:inherit;cursor:pointer;border-radius:1rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.95rem;padding:.95rem 1.05rem;text-decoration:none;display:grid}.add-method-card svg{width:1.35rem;height:1.35rem;color:var(--accent);stroke-width:1.9px}.add-method-card strong{font-size:1.02rem;font-weight:700;display:block}.add-method-card small{color:var(--ink-muted);margin-top:.12rem;font-size:.88rem;display:block}.add-method-page h1{text-align:center;margin-bottom:1.35rem}.add-method-copy{color:var(--ink-muted);text-align:center;margin:0 0 1.15rem}.add-method-input,.add-text-field textarea{border:1px solid var(--line);background:var(--surface);width:100%;caret-color:var(--ink);border-radius:.85rem}.add-method-input{min-height:3.15rem;padding:.75rem 1rem;font-size:1rem}.add-text-form{display:grid}.add-text-field{position:relative}.add-text-field textarea{resize:vertical;min-height:16rem;padding:1rem 1rem 2.1rem;font-size:1rem;line-height:1.55}.add-text-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin:0;font-size:.78rem;position:absolute;bottom:.55rem;right:.85rem}.add-continue{border-radius:.9rem;width:100%;min-height:3.15rem;margin-top:.35rem}.add-method-page .extraction-options{margin-top:1.2rem}.import-guidance{margin:1.2rem 0 0}.import-guidance summary{cursor:pointer;font-weight:650}.import-guidance p{color:var(--ink-muted);margin:.65rem 0 0;font-size:.92rem;line-height:1.45}.import-guidance textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:.85rem;margin-top:.7rem;padding:.7rem .8rem}.import-guidance small{color:var(--ink-faint);margin-top:.4rem;font-size:.82rem;line-height:1.4;display:block}.extraction-options{border:0;margin:0 0 .85rem;padding:0}.extraction-options-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;display:flex}.extraction-fast-toggle{border:1px solid var(--field-border);background:var(--field-bg);min-height:2.5rem;color:var(--ink);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.7rem;align-items:center;gap:.35rem;padding:.15rem .7rem;font-size:.92rem;font-weight:600;display:inline-flex}.extraction-fast-toggle-bolt{width:.95rem;height:.95rem;color:var(--ink-muted);stroke-width:1.8px;flex:none}.extraction-fast-toggle svg{stroke-width:1.8px;flex:none}.extraction-fast-toggle-icon{justify-content:center;align-items:center;width:.95rem;height:.95rem;display:inline-flex;position:relative}.extraction-fast-toggle-square{width:.95rem;height:.95rem;color:var(--ink-muted)}.extraction-fast-toggle-check{width:.72rem;height:.72rem;color:var(--olive);stroke-width:3px;position:absolute}.extraction-fast-toggle:focus{outline:none}.extraction-fast-toggle:focus-visible{outline:.16rem solid var(--focus);outline-offset:.18rem}.extraction-fast-toggle[aria-pressed=true]{background:color-mix(in srgb, var(--butter) 28%, var(--surface));border-color:color-mix(in srgb, var(--pasta-gold) 40%, var(--field-border))}.extraction-options-summary{color:var(--ink-muted);margin:.35rem 0 0;font-size:.9rem}.state-page .extraction-options{width:100%;max-width:28rem;margin-bottom:1rem}.state-page .extraction-options-summary{margin-bottom:1rem}.import-failure-page{gap:1.15rem;width:100%;max-width:32rem;margin:0 auto;padding-block:1.5rem 2rem;display:grid}.import-failure-intro{text-align:center;gap:.55rem;display:grid}.import-failure-mark{background:var(--warning-soft);width:4.25rem;height:4.25rem;color:var(--warning);border-radius:999px;place-items:center;margin:0 auto .35rem;display:grid}.import-failure-mark svg{stroke-width:1.8px;width:1.75rem;height:1.75rem}.import-failure-intro h1{font-family:var(--font-heading);letter-spacing:-.02em;margin:0;font-size:clamp(1.65rem,4vw,2.1rem);font-weight:700}.import-failure-lead{color:var(--ink-muted);margin:0;font-size:1rem;line-height:1.55}.import-failure-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:.95rem;gap:.85rem;padding:1rem 1.05rem;display:grid}.import-failure-panel h2{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0;font-size:.82rem;font-weight:700}.import-failure-meta,.import-failure-settings{color:var(--ink-muted);margin:0;font-size:.92rem}.import-failure-detail-group{gap:.45rem;display:grid}.import-failure-detail-group h3{color:var(--ink);margin:0;font-size:.88rem;font-weight:700}.import-failure-detail-group ul{color:var(--ink-muted);margin:0;padding-left:1.1rem;font-size:.92rem;line-height:1.5}.import-failure-retry .extraction-options{margin:0}.import-failure-retry-button{border-radius:.9rem;width:100%;min-height:3rem}.import-failure-url{gap:.45rem;display:grid}.import-failure-url a{color:var(--green-dark);overflow-wrap:anywhere;align-items:flex-start;gap:.4rem;font-weight:600;text-decoration:none;display:inline-flex}.import-failure-url a svg{flex:none;width:.95rem;height:.95rem;margin-top:.15rem}.import-failure-url-copy{color:var(--ink-muted);margin:0;font-size:.88rem}.import-failure-source-details summary{color:var(--green-dark);cursor:pointer;font-weight:600}.import-failure-source-details pre{background:var(--surface-quiet);color:var(--ink-muted);font-family:var(--font-ui);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:.75rem;margin:.75rem 0 0;padding:.85rem;font-size:.86rem;line-height:1.55}.import-failure-fallbacks{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.import-preview-status .extraction-options-summary{margin-top:.2rem}.photo-dropzone{border:1.5px dashed var(--line-strong);background:var(--surface);min-height:10.5rem;color:var(--ink-muted);cursor:pointer;text-align:center;border-radius:1rem;align-content:center;place-items:center;gap:.55rem;margin-bottom:1.15rem;padding:1.5rem 1rem;display:grid}.photo-dropzone svg{width:1.55rem;height:1.55rem;color:var(--accent);stroke-width:1.7px}.photo-thumbs{--photo-thumb-action-size:2.15rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1.15rem;padding:0;list-style:none;display:grid}.photo-thumbs li{min-width:0;position:relative}.photo-thumbs li>img{aspect-ratio:1;object-fit:cover;border-radius:.85rem;width:100%;height:auto;display:block}.photo-thumb-actions{justify-content:center;gap:.2rem;margin-top:.45rem;display:flex}.photo-thumb-actions .icon-button{width:auto;max-width:2.35rem;height:var(--photo-thumb-action-size);flex:1;min-height:0}.photo-thumb-actions .icon-button svg{width:1.05rem;height:1.05rem}.photo-add{aspect-ratio:1;border:1.5px dashed var(--line-strong);background:var(--surface);width:100%;color:var(--ink-muted);cursor:pointer;border-radius:.85rem;place-items:center;display:grid}.add-method-count{color:var(--ink-muted);margin:0 0 .75rem;font-size:.95rem}.source-image-thumbs{flex-wrap:wrap;gap:.65rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.source-image-thumbs img{object-fit:cover;border-radius:.75rem;width:4.25rem;height:4.25rem}.failed-image-source{margin-top:1rem}.photo-add svg{stroke-width:2px;width:1.45rem;height:1.45rem}.form-actions{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-5);display:flex}.form-actions p{color:var(--ink-faint);margin:0;font-size:.8rem}.field-error{margin-top:var(--space-2);color:var(--danger);font-size:.8rem;font-weight:600;display:block}.state-page{flex-direction:column;justify-content:center;align-items:flex-start;max-width:42rem;min-height:100vh;display:flex}.state-page>svg{width:1.8rem;height:1.8rem;margin-bottom:var(--space-5);color:var(--green);stroke-width:1.7px}.state-page h1{margin-bottom:var(--space-3);font-size:clamp(2rem,4.8vw,3.4rem)}.state-page>p{max-width:58ch;color:var(--ink-muted);font-size:1.04rem}.state-page .primary-button{margin-top:var(--space-5)}.state-page details{width:100%;margin-top:var(--space-10);padding-top:var(--space-4);border-top:1px solid var(--line)}.state-page summary,.provenance summary{color:var(--green-dark);cursor:pointer;font-weight:600}.spinner{animation:1s linear infinite spin}.reading-lines{gap:var(--space-3);width:100%;margin-top:var(--space-8);display:grid}.reading-lines span{background:var(--line-strong);transform-origin:0;height:1px;animation:1.8s cubic-bezier(.22,1,.36,1) infinite read-line;display:block}.reading-lines span:nth-child(2){width:72%;animation-delay:.14s}.reading-lines span:nth-child(3){width:44%;animation-delay:.28s}.review-header{justify-content:space-between;align-items:end;gap:var(--space-10);margin-bottom:var(--space-10);padding-bottom:var(--space-5);border-bottom:1px solid var(--line-strong);display:flex}.review-header h1{margin-bottom:var(--space-2)}.review-progress{gap:var(--space-5);color:var(--ink-faint);flex:none;align-items:center;font-size:.75rem;font-weight:600;display:flex}.review-progress span{align-items:center;gap:var(--space-2);display:inline-flex}.review-progress svg{width:.85rem;height:.85rem}.review-progress .complete{color:var(--green)}.review-progress .current{color:var(--ink)}.review-layout{grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(2.5rem,5vw,4.5rem);display:grid}.source-panel{border-block:1px solid var(--line-strong);background:var(--surface-quiet);min-width:0;max-height:calc(100vh - 4rem);position:sticky;top:2rem;overflow:auto}.section-heading-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);border-bottom:1px solid var(--line);padding:1rem 1.1rem;display:flex}.section-heading-row h2{margin:0;font-size:1.25rem}.section-heading-row>span{color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.source-panel pre{min-height:18rem;color:var(--ink-muted);font-family:var(--font-ui);margin:0;padding:1.2rem 1.1rem;font-size:.9rem;line-height:1.65}.source-credit{border-top:1px solid var(--line);color:var(--ink-faint);margin:0;padding:.85rem 1.1rem;font-size:.76rem}.source-url-details{gap:.65rem;padding:1.1rem;display:grid}.source-url-details>span,.failed-url-source>a{overflow-wrap:anywhere;color:var(--ink-muted)}.source-url-details .secondary-button{width:fit-content}.source-url-details .secondary-button svg{width:1rem;height:1rem}.failed-url-source{gap:1rem;width:min(100%,36rem);display:grid}.failed-url-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.draft-form{min-width:0}.review-notice{margin-bottom:var(--space-8);border-block:1px solid color-mix(in srgb, var(--pasta-gold) 55%, var(--line));background:var(--warning-soft);color:var(--warning);padding:1rem 1.1rem}.review-notice strong{font-size:1rem}.review-notice ul{color:var(--warning);margin-bottom:0;padding-left:1.15rem;font-size:.84rem}.form-section{padding:0 0 var(--space-10);margin-bottom:var(--space-10);border-bottom:1px solid var(--line-strong)}.section-kicker{margin-bottom:var(--space-5);align-items:baseline;display:flex}.section-kicker h2{margin:0;font-size:1.55rem}.field-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-wide{grid-column:1/-1}.field{gap:var(--space-2);min-width:0;display:grid}.field>span,.group-heading label>span{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:1.3rem;color:var(--ink-muted);font-size:.76rem;font-weight:600;display:flex}.field input,.field textarea,.group-heading input,.ingredient-row input,.step-editor-list textarea,.tag-row input,.tag-row select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;caret-color:var(--green)}.field input,.group-heading input,.ingredient-row input,.tag-row input,.tag-row select{min-height:2.85rem;padding:.55rem .7rem}.field textarea,.step-editor-list textarea{resize:vertical;padding:.65rem .7rem;line-height:1.5}.field input:focus,.field textarea:focus,.group-heading input:focus,.ingredient-row input:focus,.step-editor-list textarea:focus,.tag-row input:focus,.tag-row select:focus,.add-method-input:focus,.add-text-field textarea:focus{border-color:var(--accent)}.confidence-badge{border-radius:999px;flex:none;align-items:center;min-height:1.35rem;padding:.15rem .45rem;font-size:.67rem;font-weight:700;line-height:1;display:inline-flex}.confidence-missing{background:var(--danger-soft);color:var(--danger)}.confidence-uncertain{background:var(--warning-soft);color:var(--warning)}.repeat-stack{gap:var(--space-10);display:grid}.ingredient-group{gap:var(--space-4);display:grid}.group-heading{gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.group-heading label{gap:var(--space-2);display:grid}.group-heading small{color:var(--ink-faint);font-size:.68rem;font-weight:400}.reorder-buttons{align-items:center;display:inline-flex}.ingredient-editor-list{display:grid}.ingredient-row{gap:var(--space-2);min-width:0;padding-block:var(--space-2);border-bottom:1px solid var(--line);grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:center;display:grid}.ingredient-row>span:first-child,.step-number{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:.78rem}.step-editor-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.step-editor-list>li{gap:var(--space-2);padding-block:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:1.7rem minmax(0,1fr) auto;align-items:start;display:grid}.step-editor-list .confidence-badge{grid-column:2;justify-self:start}.step-editor-list .reorder-buttons{grid-area:1/3}.tag-editor{display:grid}.tag-row{gap:var(--space-2);padding-block:var(--space-2);border-bottom:1px solid var(--line);grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;display:grid}.review-actions{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);border-top:1px solid var(--line-strong);background:color-mix(in srgb, var(--ground) 94%, transparent);padding:1rem 0;display:flex;position:sticky;bottom:0}.detail-page{--detail-ink:var(--ink);--detail-muted:var(--ink-muted);--detail-line:var(--line);--detail-card:var(--surface);--detail-gold:var(--gold);--detail-radius:1.05rem;--detail-shadow:0 4px 14px #1c18141f;width:100%;max-width:42rem;color:var(--detail-ink);background:0 0;margin-inline:auto;padding-bottom:3.25rem}.detail-hero{aspect-ratio:3/2;background:var(--surface-quiet);width:100%;max-height:20rem;position:relative;overflow:hidden}.detail-hero-viewport{width:100%;height:100%;position:relative;overflow:hidden}.detail-hero-viewport--draggable{touch-action:pan-y;cursor:grab}.detail-hero-viewport--draggable:active{cursor:grabbing}.detail-hero-track{touch-action:pan-y pinch-zoom;height:100%;display:flex}.detail-hero-slide{flex:0 0 100%;width:100%;height:100%;position:relative}.detail-hero:after{content:"";z-index:1;height:calc(var(--safe-area-top) + 2.5rem);pointer-events:none;background:linear-gradient(#1412106b,#0000);position:absolute;top:0;left:0;right:0}.detail-hero-image,.detail-hero .private-photo-loading,.detail-hero .private-photo-error{object-fit:cover;object-position:center;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.detail-hero-placeholder{background:var(--surface-quiet);color:var(--tomato-clay);flex-direction:column;justify-content:center;align-items:center;gap:.85rem;display:flex;position:absolute;inset:0}.detail-hero-placeholder svg{stroke-width:1.6px;width:2.4rem;height:2.4rem}.detail-hero-add-photo{border:1px solid color-mix(in srgb, var(--detail-line) 70%, transparent);min-height:2.5rem;color:var(--detail-ink);background:#fffcf7eb;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .95rem;font-size:.92rem;font-weight:650;text-decoration:none;display:inline-flex}.private-photo-loading{background:var(--surface-quiet);place-items:center;display:grid}.private-photo-error{background:var(--surface-quiet);color:var(--ink-muted);text-align:center;place-items:center;padding:1rem;font-size:.8rem;display:grid}.detail-gallery-arrow{z-index:2;width:2.5rem;height:2.5rem;color:var(--surface);box-shadow:var(--detail-shadow);cursor:pointer;background:#2f2a266b;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.detail-gallery-arrow:disabled{cursor:default;opacity:.45}.detail-gallery-arrow--previous{left:.8rem}.detail-gallery-arrow--next{right:.8rem}.detail-gallery-arrow svg{width:1.15rem;height:1.15rem}.detail-gallery-count{color:var(--surface);font-variant-numeric:tabular-nums;background:#2f2a26c2;border-radius:999px;padding:.28rem .58rem;font-size:.82rem;line-height:1;position:absolute;bottom:.75rem;right:.8rem}.detail-hero-controls{z-index:25;pointer-events:none;align-items:flex-start;display:flex;position:absolute;inset:.85rem .85rem auto}.detail-overlay{background:var(--surface);width:2.75rem;height:2.75rem;color:var(--detail-ink);box-shadow:var(--detail-shadow);pointer-events:auto;cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.detail-overlay svg{stroke-width:2.15px;width:1.15rem;height:1.15rem}.detail-more{z-index:3;align-items:flex-start;display:flex;position:relative}.detail-more>summary{list-style:none}.detail-more>summary::-webkit-details-marker{display:none}.detail-more-menu{z-index:2;background:var(--surface);min-width:13.5rem;box-shadow:var(--detail-shadow);border-radius:.85rem;gap:.3rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .45rem);right:0}.detail-more-menu .secondary-button{width:100%;box-shadow:none;background:0 0;border:0;justify-content:flex-start}.detail-more-menu .secondary-button:hover:not(:disabled){background:var(--surface-quiet)}.detail-more-menu .danger-button{color:var(--danger)}.detail-more-menu .danger-button:hover:not(:disabled){background:var(--danger-soft)}.confirm-dialog{border-radius:var(--radius-md);background:0 0;border:none;width:min(100% - 2rem,24rem);padding:0}.confirm-dialog::backdrop{background:#1a181673}.confirm-dialog-panel{gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--detail-shadow);display:grid}.confirm-dialog-panel h2{color:var(--detail-ink);margin:0;font-size:1.25rem;font-weight:700;line-height:1.25}.confirm-dialog-panel p{color:var(--detail-muted);margin:0;line-height:1.5}.recipe-share-modal{width:min(100% - 2rem,56rem);max-height:calc(100dvh - 2rem);overflow:auto}.recipe-share-modal .confirm-dialog-panel,.recipe-share-dialog{min-width:0}.recipe-share-dialog{gap:var(--space-4);overflow-wrap:anywhere;display:grid}.recipe-share-modal .detail-page{background:0 0;width:100%;max-width:none;padding:0}.recipe-share-modal .detail-header,.recipe-share-modal .recipe-body,.recipe-share-modal .detail-extras,.recipe-share-modal .detail-mobile-tags{padding-inline:0}.recipe-share-modal .recipe-body{grid-template-columns:minmax(0,1fr)}.recipe-share-modal .detail-top{min-width:0;display:block}.recipe-share-modal .detail-hero{aspect-ratio:16/9;height:auto}.share-photo-picker{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));padding:0;list-style:none;display:grid}.share-photo-picker label{gap:var(--space-2);cursor:pointer;display:grid}.share-photo-picker img{object-fit:contain;border-radius:var(--radius-sm);width:100%;height:9rem}.share-confirm{align-items:flex-start;gap:var(--space-2);display:flex}.share-link-row{gap:var(--space-2);min-width:0;display:grid}.share-link-row input{width:100%;min-width:0}.share-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.confirm-dialog-actions{justify-content:flex-end;gap:var(--space-3);display:flex}.confirm-dialog-actions .danger-button{background:var(--danger);border-color:var(--danger)}.confirm-dialog-actions .danger-button:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.detail-header{padding:1.35rem 1.25rem .2rem}.detail-header-intro{margin-bottom:.5rem;position:relative}.detail-header-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.detail-header-title-row h1{flex:1;min-width:0;margin:0}.detail-header-actions{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.detail-header-toolbar{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.45rem;margin:0;display:flex}.detail-edit-link{white-space:nowrap;align-items:center;gap:.35rem;min-height:2.5rem;padding:.55rem .9rem;font-size:.92rem;font-weight:600;display:inline-flex}.detail-header h1{max-width:none;color:var(--detail-ink);letter-spacing:-.03em;margin:0 0 .5rem;font-size:2.15rem;font-weight:700;line-height:1.12}.detail-stars{color:var(--star-empty);gap:.16rem;margin:0 0 1rem;display:flex}.detail-stars svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:1.15rem;height:1.15rem}.detail-stars svg.is-filled{color:var(--gold);fill:currentColor;stroke:none}.star-rating-button{color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.star-rating-button:disabled{cursor:pointer}.star-rating-button:focus-visible{outline:.16rem solid var(--focus);outline-offset:.12rem;border-radius:.12rem}.recipe-edit-metadata-rating .detail-stars{margin:0}.detail-info{gap:.55rem;margin:0;padding:0 0 1.05rem;display:grid}.detail-info-times,.detail-info-secondary li{min-width:0;color:var(--detail-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:.92rem;font-weight:500;display:inline-flex}.detail-info-secondary{flex-wrap:wrap;align-items:center;gap:.7rem 1.15rem;margin:0;padding:0;list-style:none;display:flex}.detail-info svg{stroke-width:1.9px;flex:none;width:1.05rem;height:1.05rem}.detail-description{color:var(--detail-muted);margin:.15rem 0 0;font-size:.95rem;line-height:1.55}.detail-header-tags{margin-top:1rem}.recipe-remix{border-block:1px solid var(--line-strong);gap:.85rem;margin:.25rem 0 1rem;padding:1rem 0;display:grid}.recipe-remix-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;display:flex}.recipe-remix .recipe-remix-bar h2{min-height:3.05rem;color:var(--detail-ink);font-family:var(--font-ui);letter-spacing:-.01em;align-items:center;gap:.5rem;margin:0;font-size:1.2rem;font-weight:700;line-height:1;display:flex}.recipe-remix .recipe-remix-bar h2 svg{width:1.2rem;height:1.2rem;color:var(--accent);stroke-width:1.8px;flex:none}.recipe-remix-status p,.recipe-remix-conflict p{color:var(--detail-muted);margin:0;font-size:.9rem;line-height:1.45}.recipe-remix>label{color:var(--detail-ink);margin-bottom:-.55rem;font-size:.9rem;font-weight:700}.recipe-remix textarea{resize:vertical;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:7rem;padding:.75rem .8rem;line-height:1.5}.recipe-remix textarea:focus{border-color:var(--accent)}.recipe-remix-prompt-history{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-quiet);color:var(--detail-muted);padding:.55rem .65rem;font-size:.82rem;line-height:1.45}.recipe-remix-prompt-history ol{gap:.35rem;margin:0;padding:0;padding-inline-start:1.15rem;display:grid}.recipe-remix-prompt-history li{overflow-wrap:anywhere}.recipe-remix-input-meta{gap:.5rem;display:grid}.recipe-remix-input-meta .extraction-options{margin:0}.recipe-remix-input-meta .extraction-options-toolbar{justify-content:flex-start}.recipe-remix-count{color:var(--detail-muted);font-variant-numeric:tabular-nums;justify-self:end}.recipe-remix-toggle-wrap{justify-items:end;gap:.45rem;display:grid}.recipe-remix-toggle{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-quiet);grid-template-columns:1fr 1fr;padding:.15rem;display:inline-grid}.recipe-remix-toggle--floating{z-index:35;box-shadow:var(--detail-shadow);position:fixed}.recipe-remix-toggle button{border-radius:calc(var(--radius-sm) - .15rem);min-width:2.75rem;min-height:2.75rem;color:var(--detail-muted);background:0 0;border:0;padding:.35rem .85rem;font-size:.86rem;font-weight:700}.recipe-remix-toggle button[aria-pressed=true]{background:var(--surface);color:var(--detail-ink)}.recipe-remix-status{border:1px solid var(--line);background:var(--surface-quiet);align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}.recipe-remix-status strong{margin-bottom:.1rem;display:block}.recipe-remix-pulse{background:var(--accent);border-radius:50%;flex:none;width:.65rem;height:.65rem;margin-top:.35rem;animation:1.25s ease-in-out infinite alternate remix-pulse}@keyframes remix-pulse{0%{opacity:.35;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.recipe-remix-actions,.recipe-remix-start-actions{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;display:flex}.recipe-remix-discard-confirm{color:var(--detail-muted);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.recipe-remix-conflict{border:1px solid var(--remix-conflict-border);background:var(--danger-soft);gap:.65rem;padding:.85rem;display:grid}.recipe-remix-conflict p{color:var(--danger)}.recipe-remix-stalled{border:1px solid var(--remix-conflict-border);background:var(--danger-soft);gap:.65rem;padding:.85rem;display:grid}.recipe-remix-stalled p{color:var(--danger);margin:0;font-weight:700}.recipe-remix-limit{color:var(--warning);margin:0;font-size:.9rem;line-height:1.45}.remix-change-indicator{border:1px solid var(--remix-changed-border);border-radius:var(--radius-pill);background:var(--remix-changed-soft);color:var(--remix-changed);font-family:var(--font-ui);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;align-items:center;gap:.25rem;margin-inline-start:.35rem;padding:.08rem .4rem;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-flex}.remix-change-indicator__glyph{background:currentColor;border-radius:50%;width:.35rem;height:.35rem}.remix-changed{background:var(--remix-changed-soft);box-shadow:.18rem 0 0 var(--remix-changed-soft), -.18rem 0 0 var(--remix-changed-soft);border-radius:.2rem}.detail-group li.remix-changed-ingredient,.instructions-column ol>li.remix-changed-instruction{border-inline-start:1px solid var(--remix-changed-border);box-shadow:none;background:0 0;border-radius:0;padding-inline-start:.65rem}.remix-changed-section .detail-card{border:1px solid var(--remix-changed-border);background:var(--remix-changed-surface)}.remix-changed-group{padding-block:.2rem}.detail-mobile-tags{margin-top:1rem;padding:0 1.15rem;display:none}.detail-header-tags span,.detail-mobile-tags span{border:1px solid color-mix(in srgb, var(--sage) 32%, var(--line));border-radius:var(--radius-pill);background:var(--green-soft);color:var(--olive);padding:.32rem .7rem;font-size:.86rem;font-weight:600}.recipe-body,.detail-extras{gap:1rem;padding:0 1.15rem;display:grid}.detail-page>.recipe-body{margin-top:1.25rem}.ingredients-column,.instructions-column{min-width:0;display:flex}.ingredients-column .detail-card,.instructions-column .detail-card{flex:1;width:100%}.detail-card{border-radius:var(--detail-radius);background:var(--detail-card);padding:1.15rem 1.2rem 1.1rem}.detail-page h2{color:var(--detail-ink);font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.4rem;font-weight:700}.detail-section-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.detail-section-heading h2{margin:0}.import-preview-chrome{justify-content:center;position:relative}.import-preview-back{z-index:1;position:absolute;left:0}.import-preview-nav-title{color:var(--ink);font-family:var(--font-heading);letter-spacing:-.02em;text-align:center;margin:0;font-size:1.35rem;font-weight:700}.import-preview-chrome-spacer{width:2.75rem;position:absolute;right:0}.import-preview-shell{width:100%;max-width:42rem;padding:0 1.15rem calc(6rem + env(safe-area-inset-bottom,0px));gap:.75rem;margin-inline:auto;display:grid}.import-preview-shell .detail-page{z-index:0;position:relative}.import-preview-shell .detail-hero{border-radius:var(--detail-radius)}.import-preview-status{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--butter) 16%, var(--surface));grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;padding:1rem 1.05rem;display:grid}.import-preview-status svg{width:1.35rem;height:1.35rem;color:var(--accent);flex:none;margin-top:.1rem}.import-preview-status h2{color:var(--detail-ink);font-family:var(--font-heading);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700;line-height:1.35}.import-preview-status-subtitle{font-family:var(--font-ui);letter-spacing:normal;color:var(--detail-muted);font-size:.92rem;font-weight:500}.import-preview-status p{color:var(--detail-muted);margin:.35rem 0 0;font-size:.92rem;line-height:1.45}.import-preview-status .import-preview-notice{border-top:1px solid color-mix(in srgb, var(--detail-line) 55%, transparent);color:var(--detail-muted);background:0 0;border-radius:0;margin-top:.85rem;padding:.85rem 0 0}.import-preview-edit{white-space:nowrap;flex:none;min-height:2.5rem;padding:.55rem .9rem}.import-preview-shell .detail-header-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-bottom:.35rem;display:grid}.import-preview-shell .detail-header-actions .import-preview-edit{justify-content:center;gap:.3rem;width:100%;min-width:0;padding-inline:.4rem;font-size:.84rem}.import-preview-shell .detail-header-actions .import-preview-edit svg{flex-shrink:0;width:.95rem;height:.95rem}.import-preview-shell .detail-stars{margin-top:.9rem}@media (width<=63.99rem){.import-preview-shell .detail-header,.import-preview-shell .recipe-body,.import-preview-shell .detail-extras,.import-preview-shell .detail-mobile-tags{padding-inline:0}}.import-preview-notice{border-radius:var(--radius-md);background:var(--surface-quiet);color:var(--detail-muted);margin:0;padding:.85rem 1rem}.import-preview-notice strong{color:var(--detail-ink)}.import-preview-notice ul{margin:.45rem 0 0;padding-left:1.1rem}.import-preview-error{margin:0}.import-preview-actions{z-index:40;border-top:1px solid var(--detail-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf7f5;position:fixed;bottom:0;left:0;right:0}.import-preview-actions-inner{width:min(100% - 2.3rem,42rem);padding:.85rem 0 calc(.85rem + env(safe-area-inset-bottom,0px));grid-template-columns:1fr 1fr;gap:.75rem;margin-inline:auto;display:grid}.import-preview-actions .primary-button,.import-preview-actions .secondary-button{justify-content:center;width:100%}@media (width>=64rem){.import-preview-shell{width:min(100% - 3rem,72rem);max-width:72rem;padding-inline:0}.import-preview-chrome{width:min(100% - 3rem,72rem)}.import-preview-actions-inner{width:min(100% - 3rem,72rem);padding-inline:0}.import-preview-shell .detail-page{width:100%;max-width:none;padding-top:0}.import-preview-shell .detail-header-actions{width:fit-content;display:flex}.import-preview-shell .detail-header-actions .import-preview-edit{width:auto;font-size:inherit;gap:var(--space-2);padding-inline:.9rem}.import-preview-shell .detail-header-actions .import-preview-edit svg{width:1rem;height:1rem}}.recipe-edit-shell{width:100%;max-width:42rem;padding:0 1.15rem calc(6rem + env(safe-area-inset-bottom,0px));margin-inline:auto}.recipe-edit-form{gap:.5rem;display:grid}.recipe-edit-section{margin:0}.recipe-edit-photo-stub{margin-bottom:.5rem}.recipe-edit-photo-stub .secondary-button{justify-content:center;width:100%}.recipe-edit-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.recipe-edit-total-time{color:var(--detail-muted);grid-column:1/-1;margin:0;font-size:.92rem;font-weight:500}.recipe-edit-disabled{opacity:.72;cursor:not-allowed}.ingredient-edit-list{gap:.55rem;display:grid}.ingredient-edit-row{grid-template-columns:auto 4.5rem 4.5rem minmax(0,1fr) auto;align-items:center;gap:.45rem;display:grid}.ingredient-edit-delete{color:var(--detail-muted)}.ingredient-edit-amount,.ingredient-edit-unit,.ingredient-edit-name,.instruction-edit-title,.instruction-edit-body{border:1px solid var(--detail-line);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.75rem;color:var(--detail-ink);font:inherit;padding:.55rem .75rem}.instruction-edit-body{resize:vertical;min-height:5.5rem}.instruction-edit-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.instruction-edit-list>li{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;display:grid}.instruction-edit-fields{gap:.45rem;display:grid}.instruction-edit-title{font-weight:600}.recipe-edit-error{margin:0}.recipe-edit-actions{z-index:3;border-top:1px solid var(--detail-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf7f5;position:fixed;bottom:0;left:0;right:0}.recipe-edit-actions-inner{width:min(100% - 2.3rem,42rem);padding:.85rem 0 calc(.85rem + env(safe-area-inset-bottom,0px));grid-template-columns:1fr 1fr;gap:.75rem;margin-inline:auto;display:grid}.recipe-edit-actions .primary-button,.recipe-edit-actions .secondary-button{justify-content:center;width:100%}.manage-photos-page{width:min(100% - 2.3rem,56rem);padding:1rem 0 calc(2rem + env(safe-area-inset-bottom,0px))}.manage-photos-intro{border-bottom:1px solid var(--detail-line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}.manage-photos-intro p{max-width:36rem;color:var(--detail-muted);margin:0}.manage-photos-intro span{color:var(--detail-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.82rem}.manage-photos-error{margin:1rem 0 0}.manage-photos-added{color:var(--detail-ink);margin:1rem 0 0}.manage-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem;display:grid}.manage-photo{border:1px solid var(--detail-line);background:var(--surface);border-radius:.75rem;min-width:0;overflow:hidden}.manage-photo-image{background:var(--surface-quiet);position:relative}.manage-photo-image>img,.manage-photo-image>.private-photo-loading,.manage-photo-image>.private-photo-error{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.manage-photo-cover{border:1px solid var(--pasta-gold);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--ink) 82%, transparent);color:var(--surface);padding:.2rem .5rem;font-size:.75rem;font-weight:700;position:absolute;top:.55rem;left:.55rem}.manage-photo-provenance{color:var(--detail-muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .65rem .15rem;font-size:.75rem;display:flex}.manage-photo-actions{border-top:1px solid var(--detail-line);grid-template-columns:repeat(4,1fr);display:grid}.manage-photo-actions .icon-button{border-right:1px solid var(--detail-line);border-radius:0;width:100%;min-width:0}.manage-photo-actions .icon-button:last-child{border-right:0}.manage-photo-actions .icon-button:disabled{opacity:.3}.manage-photo-add{border:1px dashed var(--line-strong);background:var(--surface-quiet);min-height:10rem;color:var(--detail-ink);text-align:center;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;display:flex;overflow:hidden}.manage-photo-add-button,.manage-photo-candidate,.manage-photo-chooser{width:100%;min-height:10rem;color:inherit;text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.85rem;text-decoration:none;display:flex}.manage-photo-candidate{border:1px solid var(--detail-line);background:var(--surface);border-radius:.75rem;min-height:10rem}.manage-photo-chooser{gap:.45rem}.manage-photo-chooser button,.manage-photo-chooser a{border:1px solid var(--detail-line);background:var(--surface);width:100%;min-height:2.6rem;color:var(--detail-ink);border-radius:.65rem;justify-content:center;align-items:center;padding:.45rem .7rem;font-weight:650;text-decoration:none;display:flex}.manage-photo-add svg{width:1.8rem;height:1.8rem;color:var(--accent);margin-bottom:.25rem}.manage-photo-add span,.manage-photo-candidate span{color:var(--detail-muted);padding-inline:.65rem;font-size:.75rem}.manage-photo-add.is-disabled{cursor:wait;opacity:.65}.manage-photos-empty{color:var(--detail-muted);text-align:center;margin:1rem 0 0}.manage-photos-footer{padding:.85rem 0 calc(.85rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--detail-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf7f5;margin-top:1.25rem;position:sticky;bottom:0}.manage-photos-footer .primary-button{justify-content:center;width:100%}.generation-details{grid-template-columns:max-content 1fr;gap:.35rem .85rem;margin:0;display:grid}.generation-details dt{color:var(--detail-muted);font-weight:650}.generation-details dd{margin:0}.generate-photo-page{width:min(100% - 2.3rem,64rem);padding:1rem 0 calc(2rem + env(safe-area-inset-bottom,0px))}.generate-photo-layout{gap:1.4rem;display:grid}.generate-photo-context h1{margin:0 0 .55rem}.generate-photo-context p,.generate-guidance p{color:var(--detail-muted);margin:0 0 1rem}.generate-photo-usage{background:var(--surface-quiet);border-radius:.7rem;padding:.7rem .85rem}.generate-photo-actions{flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;display:flex}.generate-guidance{margin:0 0 1rem}.generate-guidance summary{cursor:pointer;font-weight:650}.generate-guidance textarea{border:1px solid var(--detail-line);background:var(--surface);width:100%;color:var(--detail-ink);font:inherit;resize:vertical;border-radius:.65rem;margin-top:.7rem;padding:.7rem .8rem}.generate-guidance small{color:var(--detail-muted);margin-top:.4rem;display:block}.generate-guidance-starters{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.chip-button{border:1px solid var(--detail-line);background:var(--surface);min-height:2.2rem;color:var(--detail-ink);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:600}.generate-photo-preview figure{margin:0}.generate-photo-image,.generate-photo-placeholder{aspect-ratio:1536/1024;object-fit:cover;background:var(--surface-quiet);border-radius:.85rem;width:100%;display:block}.generate-photo-placeholder{color:var(--detail-muted);place-items:center;font-weight:650;display:grid}.generate-photo-preview figcaption{color:var(--detail-muted);margin-top:.55rem;font-size:.82rem}@media (width>=48rem){.generate-photo-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.manage-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (pointer:coarse){.detail-gallery-arrow{display:none}}@media (width>=64rem){.recipe-edit-shell{width:min(100% - 3rem,72rem);max-width:72rem;padding-inline:0}.recipe-edit-actions-inner{width:min(100% - 3rem,72rem);padding-inline:0}.recipe-edit-metadata{grid-template-columns:repeat(4,minmax(0,1fr))}}.recipe-saved-shell{min-height:calc(100vh - var(--app-chrome-min-height,4rem));max-width:42rem;padding:2rem 1.15rem calc(2rem + env(safe-area-inset-bottom,0px));text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-inline:auto;display:flex}.recipe-saved-mark{box-shadow:var(--shadow-card);border-radius:1rem;margin-bottom:.5rem}.recipe-saved-icon{width:2.5rem;height:2.5rem;color:var(--sage);stroke-width:2px;margin-bottom:1rem}.recipe-saved-shell h1{color:var(--detail-ink);font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 .75rem;font-size:clamp(1.8rem,4.5vw,2.4rem);font-weight:700}.recipe-saved-copy{max-width:28rem;color:var(--detail-muted);margin:0;font-size:1.02rem;line-height:1.5}.recipe-saved-copy strong{color:var(--detail-ink);font-weight:600}.recipe-saved-actions{gap:.75rem;width:min(100%,20rem);margin-top:1.75rem;display:grid}.recipe-saved-actions .primary-button,.recipe-saved-actions .secondary-button{justify-content:center;width:100%}.detail-page--no-hero .detail-top{box-shadow:none;background:0 0;border-radius:0;display:block;overflow:visible}.detail-page--no-hero .detail-header{padding-top:0}.detail-group+.detail-group{margin-top:1rem}.detail-group h3{color:var(--detail-muted);font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .45rem;font-size:.82rem;font-weight:700}.detail-group ul,.instructions-column ol{margin:0;padding:0;list-style:none}.detail-group ul{grid-template-columns:max-content minmax(0,1fr) auto;column-gap:1rem;display:grid}.detail-group li{grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline;padding:.38rem 0;font-size:.98rem;line-height:1.45;display:grid}.detail-group li strong{color:var(--detail-ink);font-variant-numeric:tabular-nums;font-weight:700}.detail-group li>span{color:var(--detail-muted)}.instructions-column ol>li{border-bottom:1px solid var(--detail-line);grid-template-columns:2rem minmax(0,1fr);gap:.85rem;padding:.95rem 0;display:grid}.instructions-column ol>li:first-child{padding-top:.15rem}.instructions-column ol>li:last-child{border-bottom:0;padding-bottom:0}.step-badge{background:var(--accent);width:2rem;height:2rem;color:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;font-size:.88rem;font-weight:700;display:inline-flex}.step-copy h3{font-family:var(--font-ui);letter-spacing:-.015em;margin:.18rem 0 .28rem;font-size:1rem;font-weight:700}.step-copy p{max-width:62ch;color:var(--detail-muted);margin:0;font-size:.94rem;line-height:1.55}.step-copy .confidence-badge{margin-top:.45rem}.step-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:block}.step-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.35rem}.step-toggle-heading{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.step-toggle-heading h3{margin:.18rem 0 .28rem}.step-chevron{width:1.1rem;height:1.1rem;color:var(--detail-muted);flex-shrink:0;margin-top:.28rem;transition:transform .16s}.step-chevron--open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.step-chevron{transition:none}}.step-ingredients{border-top:1px solid var(--detail-line);grid-template-columns:max-content minmax(0,1fr);column-gap:1rem;margin:.55rem 0 0;padding:.55rem 0 0 .15rem;list-style:none;display:grid}.step-ingredients li{grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline;padding:.28rem 0;font-size:.92rem;line-height:1.45;display:grid}.step-ingredients li strong{color:var(--detail-ink);font-variant-numeric:tabular-nums;font-weight:700}.step-ingredients li>span,.missing-copy{color:var(--detail-muted)}.detail-tags .tag-list{gap:.45rem}.detail-tags .tag-list span{border:1px solid color-mix(in srgb, var(--sage) 32%, var(--line));border-radius:var(--radius-pill);background:var(--green-soft);color:var(--olive);padding:.32rem .7rem;font-size:.86rem;font-weight:600}.detail-source summary{color:var(--detail-ink);cursor:pointer;font-family:var(--font-ui);align-items:center;gap:.65rem;font-size:1rem;font-weight:700;list-style:none;display:flex}.detail-source summary::-webkit-details-marker{display:none}.detail-source summary svg{width:1.05rem;height:1.05rem;color:var(--detail-muted);stroke-width:1.9px;flex:none}.detail-source .source-chevron{margin-left:auto;transition:transform .18s}.detail-source details[open] .source-chevron{transform:rotate(180deg)}.detail-source p{color:var(--detail-muted);margin:.85rem 0 .55rem;font-size:.88rem}.detail-source pre{max-height:18rem;color:var(--detail-muted);font-family:var(--font-ui);margin:0;padding:.85rem 0 0;font-size:.92rem;line-height:1.6;overflow:auto}.detail-extras{margin-top:1rem}.detail-footer{color:var(--detail-muted);padding:.95rem 1.25rem 0;font-size:.78rem}@media (width<=63.99rem){.app-shell--immersive-hero{padding-top:0}.detail-top{position:relative}.app-shell--immersive-hero .detail-hero-controls{top:calc(.85rem + var(--safe-area-top));left:.85rem;right:.85rem}.detail-page:not(.detail-page--no-hero) .detail-header-intro{position:static}.app-shell--immersive-hero .detail-page:not(.detail-page--no-hero) .detail-header-toolbar{top:calc(.85rem + var(--safe-area-top))}.detail-page:not(.detail-page--no-hero) .detail-header-toolbar{z-index:25;position:absolute;top:.85rem;right:.85rem}.detail-header-tags-wrap,.detail-header-tags{display:none}.detail-mobile-tags{flex-wrap:wrap;gap:.45rem;display:flex}}@media (width>=64rem){.detail-page{width:min(100% - 3rem,72rem);max-width:72rem;padding-top:1.35rem}.detail-top{border-radius:var(--detail-radius);background:var(--detail-card);box-shadow:var(--detail-shadow);grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);align-items:start;gap:0;padding-inline:0;display:grid;overflow:hidden}.detail-hero{aspect-ratio:16/9;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none}.app-shell--immersive-hero .detail-hero:after{display:none}.import-preview-shell .detail-hero{aspect-ratio:16/9;align-self:stretch;width:100%;height:100%;min-height:0;max-height:none}.detail-header{flex-direction:column;padding:1.35rem 1.5rem 1.25rem;display:flex}.recipe-body{grid-template-columns:minmax(20rem,38%) minmax(0,1fr);gap:1.15rem;margin-top:1.35rem;padding-inline:0}.detail-extras,.detail-footer{padding-inline:0}.detail-page--no-hero .detail-top{box-shadow:none;background:0 0;border-radius:0;display:block;overflow:visible}.detail-page--no-hero .detail-header{background:0 0;padding-inline:0}}@media (hover:hover){.primary-button:hover{border-color:var(--accent-dark);background:var(--accent-dark)}.secondary-button:hover,.search-clear:hover,.icon-button:hover{border-color:var(--line-strong);background:var(--surface-quiet);color:var(--ink)}.text-button:hover,.back-link:hover{color:var(--accent);text-decoration:underline}.detail-overlay:hover{background:var(--surface);box-shadow:0 8px 18px #1416142e}.add-method-card:hover{box-shadow:0 8px 22px #1c18141f}.photo-dropzone:hover,.photo-add:hover{border-color:var(--accent);color:var(--ink)}.recipe-card:hover{box-shadow:0 8px 22px #1c18141f}}@media (width<=72rem){.page-frame,.inner-chrome{width:min(100% - 3rem,72rem)}.review-layout{grid-template-columns:minmax(15rem,.62fr) minmax(0,1.38fr)}}@media (width<=48rem){.inner-chrome,.page-frame{width:calc(100% - 2rem)}.page-frame{padding-block:1.15rem 3rem}h1{font-size:1.85rem}.library-page.page-frame{width:calc(100% - 1.5rem);padding-block:1rem 2.5rem}.add-link{min-width:0;padding-inline:.9rem}.empty-library{margin-top:var(--space-10)}.page-intro{margin-bottom:var(--space-8)}.page-intro>p,.review-header>div>p{font-size:1rem}.add-text-field textarea{min-height:16rem}.form-actions{flex-direction:column;align-items:stretch}.form-actions .primary-button{width:100%}.state-page{min-height:calc(100vh - 8rem)}.review-header{gap:var(--space-5);margin-bottom:var(--space-8);display:grid}.review-progress{justify-content:space-between;gap:var(--space-2);width:100%;padding-top:var(--space-3);border-top:1px solid var(--line)}.review-layout{gap:var(--space-8);grid-template-columns:1fr}.source-panel{max-height:22rem;position:static}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.group-heading{grid-template-columns:1fr}.group-heading .reorder-buttons{justify-self:start}.ingredient-row{grid-template-columns:1.5rem minmax(0,1fr)}.ingredient-row .reorder-buttons{grid-column:2}.step-editor-list>li{grid-template-columns:1.5rem minmax(0,1fr)}.step-editor-list .reorder-buttons{grid-area:auto/2}.tag-row{grid-template-columns:minmax(6.5rem,.7fr) minmax(0,1fr) auto}.review-actions{padding:.8rem 1rem max(.8rem, env(safe-area-inset-bottom));flex-direction:row;align-items:stretch;margin-inline:-1rem;bottom:0}.review-actions button{flex:1;min-width:0;padding-inline:.65rem}.review-form{padding-bottom:4.5rem}.detail-header h1{font-size:1.95rem}}@media (pointer:coarse){.icon-button{width:2.9rem;height:2.9rem}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes read-line{0%{opacity:.35;transform:scaleX(0)}58%,to{opacity:1;transform:scaleX(1)}}@keyframes breathe{0%{opacity:.4}to{opacity:.8}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.job-tray{right:0;bottom:var(--app-tab-clearance,0px);z-index:50;pointer-events:none;position:fixed;left:0}.job-tray-card{pointer-events:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md) var(--radius-md) 0 0;min-width:0;box-shadow:var(--shadow-card);border-bottom:0;display:grid}.job-tray-bar{align-items:center;gap:var(--space-2);min-height:3.25rem;padding:.55rem .9rem calc(.55rem + env(safe-area-inset-bottom,0px));display:flex}.job-tray-summary{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);min-width:0;min-height:2.75rem;color:inherit;text-align:left;background:0 0;border:0;flex:auto;padding:.15rem .4rem .15rem .3rem;display:flex;overflow:hidden}.job-tray-summary-text,.job-tray-copy{min-width:0;font-family:var(--font-ui)}.job-tray-summary-text{flex:auto}.job-tray-copy{gap:.05rem;display:grid}.job-tray-copy strong,.job-tray-summary-text{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.job-tray-copy small{color:var(--ink-muted);font-size:.8rem;font-weight:500}.job-tray-mark{stroke-width:2.25px;flex:none;width:1rem;height:1rem}.job-tray-mark--ready,.job-tray-mark--failed{border-radius:50%}.job-tray-mark--ready{background:var(--olive)}.job-tray-mark--failed{background:var(--danger)}.job-tray-chevron{width:1.1rem;height:1.1rem;color:var(--ink-muted);stroke-width:2.25px;flex:none;margin-left:.5rem;transition:transform .16s;transform:rotate(0)}.job-tray--expanded .job-tray-chevron{margin-left:auto}.job-tray-chevron--open{transform:rotate(180deg)}.job-tray-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:.55rem .85rem .2rem;display:flex}.job-tray-heading{color:var(--ink-muted);font-family:var(--font-ui);margin:0;font-size:.82rem;font-weight:650}.job-tray-header .text-button{padding:.35rem .45rem}.job-tray-list{border-bottom:1px solid var(--line);max-height:min(50vh,22rem);margin:0;padding:.45rem .5rem .55rem;list-style:none;display:grid;overflow:auto}.job-tray-item{align-items:center;gap:var(--space-1);padding:.1rem .15rem;display:flex}.job-tray-item-main{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);min-width:0;min-height:2.75rem;color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:.35rem .45rem;display:flex;overflow:hidden}button.job-tray-summary:hover,.job-tray-item-main:hover{background:var(--surface-quiet)}.job-tray-dismiss{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--ink-faint)}@media (width<=799px){.app-shell--tab-bar .app-shell__body{padding-bottom:var(--app-tab-clearance)}.app-shell--tab-bar .job-tray-bar{padding-bottom:.55rem}}@media (width<=39.999rem){.app-shell{padding-bottom:var(--job-tray-clearance)}.import-preview-actions,.recipe-edit-actions{bottom:calc(var(--job-tray-clearance) + var(--app-tab-clearance))}}@media (width>=40rem){.job-tray{right:auto;bottom:calc(1.15rem + var(--app-tab-clearance,0px));width:max-content;min-width:0;max-width:22.5rem;left:1.15rem}.job-tray--expanded{width:22.5rem}.job-tray-card{border-bottom:1px solid var(--line-strong);border-radius:var(--radius-md)}.job-tray-bar{padding-bottom:.55rem}}@font-face{font-family:Lora;src:url(/assets/lora-variable-C1B0tkav.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}.app-shell__body{min-height:0}.app-shell--tab-bar{--app-tab-clearance:0px}.app-shell:has(>.app-top-bar:not(.app-top-bar--desktop-only)){padding-top:0}.app-top-bar{z-index:30;width:min(1280px,100% - 48px);min-height:calc(70px + var(--safe-area-top));padding:var(--safe-area-top) 0 0;background:var(--ground);isolation:isolate;border-bottom:1px solid #4f3e291f;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-inline:auto;display:grid;position:sticky;top:0}.app-top-bar--desktop-only{display:none}.app-top-bar:before,.app-tab-bar:before{content:"";z-index:-1;background:var(--paper-texture) center / 680px;opacity:var(--paper-opacity);pointer-events:none;position:absolute;inset:0}.app-top-bar__home{border-radius:var(--radius-sm);min-height:44px;font-family:var(--font-brand);letter-spacing:-.65px;justify-self:start;align-items:center;gap:8px;font-size:27px;font-weight:600;text-decoration:none;display:inline-flex}.app-top-bar__mark{border-radius:0;width:30px;height:30px;display:block}.app-primary-nav{align-items:stretch;gap:34px;height:70px;display:flex}.app-primary-nav__link{color:var(--ink-muted);font-family:var(--font-brand);justify-content:center;align-items:center;padding:0 2px;font-size:19px;font-weight:400;text-decoration:none;display:inline-flex;position:relative}.app-primary-nav__link:hover,.app-primary-nav__link:focus-visible{color:var(--ink)}.app-primary-nav__link--current{color:#aa4329}.app-primary-nav__link--current:after{content:"";background:#c75632;height:2px;position:absolute;bottom:12px;left:0;right:0}.account-menu{justify-self:end;position:relative}.account-menu__button{border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:var(--ink);background:0 0;border:0;justify-content:center;align-items:center;gap:9px;padding:5px 10px 5px 5px;transition:background-color .14s;display:inline-flex}.account-menu__button:hover,.account-menu__button[aria-expanded=true]{background:var(--surface-quiet)}.account-menu__button:focus-visible,.account-menu__item:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.account-menu__avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-dark);font:600 12px/1 var(--font-ui);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.account-menu__avatar svg{stroke-width:2px;width:1.15rem;height:1.15rem}.account-menu__avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.account-menu__photo-link{border-radius:50%;flex-shrink:0;text-decoration:none;display:block}.account-menu__photo-link:hover{outline:2px solid var(--line-strong);outline-offset:3px}.account-menu__photo-link:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.account-menu__trigger-name{max-width:12ch;font:500 14px/1.4 var(--font-ui);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__chevron{width:14px;height:14px;color:var(--ink-muted);stroke-width:1.8px;flex-shrink:0;transition:transform .16s cubic-bezier(.16,1,.3,1)}.account-menu__button[aria-expanded=true] .account-menu__chevron{transform:rotate(180deg)}.account-menu__panel{z-index:40;border:1px solid var(--line);background:var(--surface);width:min(280px,100vw - 24px);color:var(--ink);font-family:var(--font-ui);transform-origin:100% 0;border-radius:14px;padding:6px;animation:.16s cubic-bezier(.16,1,.3,1) account-menu-enter;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #41301b21}.account-menu__identity{align-items:center;gap:12px;padding:14px 10px 17px;display:flex}.account-menu__avatar--large{width:42px;height:42px;font-size:14px}.account-menu__identity-text{min-width:0}.account-menu__name{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600;line-height:1.45}.account-menu__email{color:var(--ink-muted);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.5}.account-menu__actions{border-top:1px solid var(--line);padding-top:6px}.account-menu__item{width:100%;min-height:44px;color:var(--ink);font:500 14px/1.4 var(--font-ui);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:background-color .12s;display:flex}.account-menu__item svg{width:18px;height:18px;color:var(--ink-muted);stroke-width:1.7px;flex-shrink:0}.account-menu__item:hover,.account-menu__item:focus-visible{background:var(--accent-soft);color:var(--ink)}.account-menu__item:disabled{cursor:wait;opacity:.6}.account-menu__footer,.account-menu__local{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.account-menu__local{padding:12px}.account-menu__local .local-user{gap:6px;font-size:12px;display:grid}.account-menu__local .sort-menu{min-width:0;display:block}.account-menu__local .sort-menu>summary{border-color:var(--line);background:var(--surface);border-radius:11px;justify-content:space-between;gap:10px;width:100%;min-height:49px;padding:0 17px;box-shadow:0 1px 2px #3c28140a,inset 0 1px #ffffff73}.account-menu__local .sort-menu-label{font-size:15px;font-weight:400}.account-menu__local .sort-menu>summary svg{width:17px;height:17px}.account-menu__error{color:var(--danger);margin:4px 12px 10px;font-size:12px;line-height:1.5}@keyframes account-menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.account-menu__panel{animation:none}.account-menu__button,.account-menu__chevron,.account-menu__item{transition:none}}.app-tab-bar,.app-top-bar-surface{display:none}@media (width>=800px){.app-top-bar{background:0 0}.app-top-bar:before{display:none}.app-top-bar-surface{z-index:20;height:calc(70px + var(--safe-area-top));background:var(--ground);pointer-events:none;display:block;position:fixed;top:0;left:0;right:0}.app-top-bar-surface:before{content:"";background:var(--paper-texture) center / 680px;opacity:var(--paper-opacity);position:absolute;inset:0}.app-shell:has(>.app-top-bar) .app-margin-art{z-index:21}.app-top-bar--desktop-only{display:grid}.app-shell:has(>.app-top-bar){padding-top:0}.app-shell--immersive-hero:before{display:block}.inner-chrome__account{display:none}}@media (width>=800px) and (width<=1099px){.app-top-bar{width:calc(100% - 36px)}}@media (width<=799px){.app-shell--tab-bar{--app-tab-clearance:calc(65px + env(safe-area-inset-bottom,0px))}.app-top-bar{width:100%;min-height:calc(64px + var(--safe-area-top));border:0;justify-content:space-between;padding-inline:12px;display:flex}.app-top-bar--desktop-only{display:none}.app-top-bar__home{letter-spacing:-.5px;gap:6px;font-size:25px}.app-top-bar__mark{width:28px;height:28px}.app-primary-nav{display:none}.account-menu__button{padding:5px}.account-menu__trigger-name,.account-menu__chevron{display:none}.account-menu__avatar{width:33px;height:33px}.app-tab-bar{z-index:40;height:var(--app-tab-clearance);padding:0 0 env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);isolation:isolate;background:#fbf6ea;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 5px #594b3210}.app-tab-bar:before{opacity:.1;background-size:400px}.app-tab-bar:after{content:"";pointer-events:none;background:#fbf6ea;height:160px;position:absolute;top:100%;left:0;right:0}.app-tab-bar__link{min-width:72px;min-height:51px;color:var(--ink-muted);font-family:var(--font-brand);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:.3rem .4rem .4rem;font-size:13.5px;font-weight:400;line-height:1.1;text-decoration:none;display:flex;position:relative}.app-tab-bar__link svg{stroke-width:2px;width:20px;height:20px}.app-tab-bar__link--current{color:#a94127}.app-tab-bar__link--current:after{content:"";background:#c75632;height:2px;position:absolute;bottom:0;left:25%;right:25%}}.profile-photo-settings,.profile-photo-settings h2{scroll-margin-top:90px}.profile-photo-settings__row{align-items:center;gap:20px;display:flex}.account-menu__avatar--profile{width:80px;height:80px;font-size:24px}.profile-photo-settings__details{min-width:0}.profile-photo-settings__details p{color:var(--ink-muted);margin:0 0 8px;font-size:14px;line-height:1.5}.profile-photo-settings__actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.profile-photo-settings__actions button{min-height:44px}.profile-photo-dialog{border:1px solid var(--line-strong);background:var(--surface);width:min(400px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--ink);border-radius:16px;margin:auto;padding:24px;overflow:auto;box-shadow:0 16px 40px #2f2a262e}.profile-photo-dialog::backdrop{background:#29261f73}.profile-photo-dialog h2{font:600 22px/1.3 var(--font-heading);margin:0 0 10px}.profile-photo-dialog>p{color:var(--ink-muted);margin:0 0 20px;font-size:14px;line-height:1.6}.profile-photo-dialog>.auth-error{color:var(--danger)}.profile-photo-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.profile-photo-dialog__actions button{min-height:44px}.profile-photo-crop{aspect-ratio:1;background:var(--surface-quiet);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:min(100%,248px);margin:0 auto;position:relative;overflow:hidden}.profile-photo-crop:active{cursor:grabbing}.profile-photo-crop:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.profile-photo-crop img{pointer-events:none;max-width:none;position:absolute}.profile-photo-zoom{color:var(--ink);gap:8px;margin-top:24px;font-size:14px;font-weight:500;display:grid}.profile-photo-zoom input{width:100%;min-height:44px;accent-color:var(--accent-dark);margin:0;padding:0}@media (width<=479px){.profile-photo-settings__row{align-items:flex-start;gap:16px}.account-menu__avatar--profile{width:64px;height:64px;font-size:20px}.profile-photo-dialog{padding:20px}}.page-frame.account-page.settings-page{width:min(100% - 48px,880px);max-width:880px;padding-block:12px 48px}.app-shell--settings .inner-chrome{width:min(100% - 48px,880px);min-height:56px;margin-bottom:0;padding-block:6px}.settings-header{margin-bottom:24px}.settings-header h1{font:600 clamp(1.85rem, 3vw, 2.2rem)/1.2 var(--font-brand);letter-spacing:-.025em;margin:0 0 14px}.settings-nav{border-bottom:1px solid var(--line);gap:28px;display:flex}.settings-nav a{min-height:44px;color:var(--ink-muted);border-bottom:2px solid #0000;align-items:center;padding:0 2px 10px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.settings-nav a:hover{color:var(--ink)}.settings-nav a[aria-current=page]{border-bottom-color:var(--accent);color:var(--accent-dark)}.settings-nav a:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:3px}.settings-panel{border:1px solid var(--line);background:var(--surface);border-radius:16px}.settings-panel>.account-section{border-top:1px solid var(--line);margin:0;padding:28px 32px}.settings-panel>.account-section:first-child{border-top:0}.settings-section{grid-template-columns:150px minmax(0,1fr);gap:28px;display:grid}.settings-section>h2{color:var(--ink);font:600 14px/1.5 var(--font-ui);margin:3px 0 0}.settings-section__content{min-width:0}.settings-panel .profile-photo-settings__row{gap:16px}.settings-panel .profile-photo-settings__details p{max-width:35ch;margin:0 0 10px;font-size:13px;line-height:1.5}.settings-panel .account-menu__avatar--profile{width:72px;height:72px;font-size:22px}.settings-panel .profile-photo-settings__actions{gap:4px 12px}.settings-panel .auth-form.settings-form{gap:12px;max-width:none;margin:0}.settings-panel .auth-form.settings-name-form{margin-top:24px}.settings-panel .settings-form label{gap:8px;min-width:0;font-size:13px;font-weight:500}.settings-panel .settings-form input{border-radius:8px;min-height:44px;padding:10px 12px;font-size:14px}.settings-form__row{align-items:flex-end;gap:12px;display:flex}.settings-form__row>label{flex:1}.settings-panel :is(.primary-button,.secondary-button,.text-button){min-height:44px;font:500 14px/1.4 var(--font-ui);white-space:normal;flex-shrink:0;padding:9px 14px}.settings-panel .text-button{padding-inline:4px}.settings-value-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-current-value{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.settings-description{color:var(--ink-muted);overflow-wrap:anywhere;margin:0 0 16px;font-size:13px;line-height:1.6}.settings-expanded{margin-top:18px}.settings-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.settings-panel .settings-feedback{overflow-wrap:anywhere;margin:10px 0 0;font-size:13px;line-height:1.5}.settings-panel .settings-feedback--success{color:var(--olive)}.settings-devices{gap:0;margin:20px 0;display:grid}.settings-devices li{border-color:var(--line);grid-template-columns:20px minmax(0,1fr) auto;gap:12px;padding:14px 0;display:grid}.settings-devices li:first-child{padding-top:0}.settings-devices li:last-child{border-bottom:0;padding-bottom:0}.settings-device-icon{width:20px;height:20px;color:var(--ink-muted);stroke-width:1.6px}.settings-device-name{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.settings-device-name strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.settings-device-current{background:var(--green-soft);color:var(--olive);white-space:nowrap;border-radius:5px;padding:3px 7px;font-size:11px;font-weight:500}.settings-devices li p{margin:5px 0 0;font-size:12px}.settings-devices button.secondary-button{border:1px solid var(--line-strong);background:var(--surface);text-decoration:none}.settings-panel .account-sign-out>button{text-decoration:none}.settings-close .settings-danger-link{color:var(--danger);text-align:left}.settings-panel .settings-danger-button{border-color:var(--danger);color:var(--danger)}.settings-confirmation{color:var(--ink);align-items:center;gap:10px;margin:18px 0 12px;font-size:13px;line-height:1.5;display:flex}.settings-confirmation input{width:18px;height:18px;accent-color:var(--accent-dark);flex-shrink:0}.settings-progress{border-top:1px solid var(--line);padding:24px 32px}.settings-dev-footer{margin:18px 0 0;font-size:12px}.settings-dev-footer a{color:var(--ink-muted);text-underline-offset:3px}.settings-loading{color:var(--ink-muted);padding-block:24px;font-size:14px}.settings-panel--household .account-section h2{font-size:15px}.settings-panel--household .account-section>p{font-size:14px}.settings-panel--household .auth-form{gap:12px;margin-block:16px 0}.settings-panel--household .auth-form>button{justify-self:start}.settings-panel--household .auth-form label{font-size:14px}.settings-panel--household .auth-form .settings-confirmation{gap:10px;margin:0;display:flex}.settings-panel--household .auth-form .settings-confirmation input{width:18px;height:18px;min-height:18px;padding:0}.settings-panel--household>.auth-error,.settings-panel--household>[role=status]{margin:16px 32px}@media (width<=640px){.page-frame.account-page.settings-page,.app-shell--settings .inner-chrome{width:calc(100% - 32px)}.page-frame.account-page.settings-page{padding-top:8px}.settings-header{margin-bottom:20px}.settings-panel>.account-section{padding:24px 20px}.settings-section{grid-template-columns:minmax(0,1fr);gap:16px}.settings-section>h2{margin-top:0;font-size:15px}.settings-form__row{flex-direction:column;align-items:stretch;gap:12px}.settings-form__row>button{align-self:flex-start}.settings-value-row{flex-direction:column;align-items:flex-start;gap:12px}.settings-panel .account-menu__avatar--profile{width:64px;height:64px;font-size:20px}.settings-panel .profile-photo-settings__row{align-items:flex-start;gap:14px}.settings-panel .profile-photo-settings__actions{gap:2px 10px}.settings-panel .profile-photo-settings__actions .secondary-button{padding-inline:10px}.settings-devices li{gap:10px}.settings-devices li>button{grid-column:2/-1;justify-self:start}.settings-progress{padding:24px 20px}.settings-panel--household .device-list li{flex-direction:column;align-items:stretch;gap:8px}.settings-panel--household .device-list .auth-secondary{gap:8px 20px}}.library-page{--font-heading:var(--font-brand)}.library-page.page-frame{width:min(1280px,100% - 48px);margin-inline:auto;padding:0 0 45px}.library-controls{grid-template-columns:minmax(0,1fr) 190px 224px;gap:16px;padding:18px 0 22px;display:grid}.library-controls .library-toolbar{display:contents}.library-controls .search-form,.library-controls .sort-menu>summary,.library-controls .add-link{isolation:isolate;border:1px solid var(--line);background:var(--surface);border-radius:11px;height:49px;min-height:49px;position:relative;box-shadow:0 1px 2px #3c28140a,inset 0 1px #ffffff73}.library-controls .search-form:before,.library-controls .sort-menu>summary:before,.library-controls .add-link:before{content:"";z-index:-1;border-radius:inherit;background:var(--paper-texture) center / 420px;opacity:.075;pointer-events:none;position:absolute;inset:0}.library-controls .search-form{gap:12px;margin:0;padding:0 15px}.library-controls .search-form>svg{width:21px;height:21px}.library-controls .search-form input{width:100%;height:100%;min-height:0;padding:0;font-size:15px}.library-controls .search-form input::placeholder{color:#746e63;opacity:1}.library-controls .sort-menu{z-index:10;min-width:0}.library-controls .sort-menu>summary{justify-content:space-between;gap:10px;width:100%;padding:0 17px}.library-controls .sort-menu-label{text-overflow:ellipsis;font-size:15px;font-weight:400;overflow:hidden}.library-controls .sort-menu>summary svg{width:17px;height:17px}.library-controls .add-link{color:#fffaf0;background:#bd4f2f;border-color:#b64b2b;gap:12px;margin:0;padding:0 12px;font-size:16px;font-weight:500;box-shadow:0 2px 5px #72301a26}.library-controls .add-link:before{mix-blend-mode:multiply;opacity:.08}.library-controls .add-link svg{width:21px;height:21px}.library-controls .add-link:hover{background:#aa4329}.library-page .recipe-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 18px;padding-top:5px}.library-page .recipe-card{--card-sheet:url(/assets/paper-smooth-CPpFuOj4.webp);--card-slices:70 59 70 59;--card-outset:11px;--card-shadow:0 3px 5px #35241321;isolation:isolate;min-width:0;box-shadow:none;transform:rotate(var(--card-rotation));background:0 0;border-radius:0;padding:9px 11px 10px;transition:transform .16s ease-out;position:relative;overflow:visible}.library-page .recipe-card[data-paper=aged]{--card-sheet:url(/assets/paper-aged-Ditn_qwU.webp);--card-slices:79 62 79 62;--card-outset:12px}.library-page .recipe-card[data-paper=original]{--card-sheet:url(/assets/card-a-BI8EAQ3u.webp);--card-slices:107 59 107 59;--card-outset:19px}.recipe-card-surface,.recipe-card-backing{inset:calc(-1 * var(--card-outset)) -5px;pointer-events:none;border:28px solid #0000;border-image-source:var(--card-sheet);border-image-slice:var(--card-slices) fill;border-image-width:28px;position:absolute}.recipe-card-surface{z-index:-1;filter:drop-shadow(var(--card-shadow))}.recipe-card-backing{z-index:-3;filter:drop-shadow(0 2px 2px #35241312);opacity:.95;border-image-source:url(/assets/paper-aged-Ditn_qwU.webp);border-image-slice:79 62 fill}.recipe-card-backing--one{transform:translate(-3px,3px)rotate(-.7deg)}.recipe-card-backing--two{z-index:-2;transform:translate(3px,3px)rotate(.6deg)}.library-page .recipe-card>a{outline-offset:7px}.library-page .recipe-card-image{aspect-ratio:4/3;color:#776a53;background:0 0;border-radius:2px;width:100%}.library-page .recipe-card-image>span[role=img]{flex-direction:column;align-items:center;gap:10px;font-size:12px;display:flex}.library-page .recipe-card-image img,.library-page .recipe-card-image>span[role=img]{transition:filter .16s ease-out}.library-page .recipe-card-image img{display:block}.library-page .recipe-card-body{padding:0;display:block}.library-page .recipe-card h2{min-height:37.44px;font-family:var(--font-heading);letter-spacing:-.22px;margin:7px 0 6px;font-size:16px;font-weight:600;line-height:1.17}.recipe-card-metadata{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.library-page .recipe-card-stars{color:#a9997f;flex:none;gap:2px}.library-page .recipe-card-stars svg{stroke-width:1.15px;width:18px;height:18px}.library-page .recipe-card-stars svg.is-filled{color:#e9a928;stroke:currentColor;stroke-width:.8px}.library-page .recipe-card-meta{color:#625b50;white-space:nowrap;align-items:center;gap:5px;font-size:12.5px;display:flex}.library-page .recipe-card-meta svg{color:#746e63;stroke-width:1.8px;flex:none;width:18px;height:18px}.library-page .recipe-card-draft-copy{color:var(--warning)}.recipe-card-adornment{--attachment-angle:0deg;z-index:5;left:calc(12% + var(--attachment-shift));pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;transform:rotate(calc(var(--attachment-angle) + var(--attachment-turn))) scale(var(--attachment-scale));filter:drop-shadow(.5px 1px .7px #412b1733);position:absolute}.recipe-card-adornment--tape{opacity:.72;width:82px;height:29px;top:-3px}.recipe-card-adornment--tornTape{opacity:.82;width:108px;height:auto;top:-4px}.recipe-card-adornment--paperclip{--attachment-angle:17deg;width:32px;height:64px;top:-18px}.recipe-card-adornment--binderclip{width:41px;height:auto;top:-24px}.recipe-card-adornment--pin{width:32px;height:32px;top:-9px}.recipe-card-adornment[data-placement=top-center]{--attachment-angle:-5deg;left:calc(33% + var(--attachment-shift))}.recipe-card-adornment[data-placement=top-right]{left:auto;right:calc(18% + var(--attachment-shift))}.recipe-card-adornment[data-placement=corner-left]{--attachment-angle:-37deg;left:calc(0px + var(--attachment-shift));top:2px}.recipe-card-adornment[data-placement=corner-right]{--attachment-angle:34deg;left:auto;right:calc(-1px + var(--attachment-shift));top:3px}.recipe-card-adornment--tornTape[data-placement=corner-right]{width:72px}.recipe-card-adornment[data-placement=backing-edge]{top:-10px;left:0}.recipe-card-adornment--paperclip:not(.recipe-card-adornment--rear){clip-path:polygon(0 0,100% 0,100% 32%,60% 32%,60% 100%,0 100%)}.recipe-card-adornment--rear{z-index:-2;filter:none}.library-page .library-skeleton span{background:#fffaf0 url(/assets/paper-smooth-CPpFuOj4.webp) 50%/cover;border-radius:2px}@media (hover:hover){.library-page .recipe-card:hover{box-shadow:none}.library-page .recipe-card:hover .recipe-card-image img{filter:brightness(1.12)saturate(1.2)}.library-page .recipe-card:hover .recipe-card-image>span[role=img]{filter:brightness(.5)}}@media (width>=800px){.library-page .recipe-card{--card-edge-width:40px;--card-contact-shadow:0 1px 1px #412b172e;--card-shadow:1px 4px 5px #412b1724;padding:12px 12px 13px}.library-page .recipe-card[data-paper=aged],.library-page .recipe-card[data-paper=original]{--card-sheet:url(/assets/paper-deckled-DygLmg-s.webp);--card-slices:130 125 135 125;--card-edge-width:43px}.library-page .recipe-card[data-paper=original]{--card-edge-width:48px}.library-page .recipe-card:is([data-paper=aged],[data-paper=original]) .recipe-card-image.has-photo{--photo-fold-clearance:28px}.library-page .recipe-card-surface,.library-page .recipe-card-backing{border-width:var(--card-edge-width);border-image-width:var(--card-edge-width)}.library-page .recipe-card-surface{filter:drop-shadow(var(--card-contact-shadow)) drop-shadow(var(--card-shadow));inset:-4px -3px}.library-page .recipe-card[data-paper=smooth] .recipe-card-surface{inset:-14px -7px}.library-page .recipe-card-backing{opacity:1;filter:drop-shadow(0 1px 1px #412b171f);border-width:36px;border-image-source:url(/assets/card-a-BI8EAQ3u.webp);border-image-slice:107 59 fill;border-image-width:36px;inset:-22px -6px}.library-page .recipe-card-backing--one{transform:translate(-3px,3px)rotate(-1.3deg)}.library-page .recipe-card-backing--two{border-image-source:url(/assets/paper-aged-Ditn_qwU.webp);border-image-slice:79 62 fill;transform:translate(3px,4px)rotate(.9deg)}.library-page .recipe-card[data-paper-backing="1"] .recipe-card-backing--one{transform:translate(3px,2px)rotate(1.2deg)}.library-page .recipe-card[data-paper-backing="2"] .recipe-card-backing--one{transform:translate(-2px,-2px)rotate(-1deg)}}@media (width>=800px) and (width<=1099px){.library-page.page-frame{width:calc(100% - 36px)}.library-page .recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px}.library-controls{grid-template-columns:minmax(0,1fr) 165px 185px;gap:13px}}@media (width<=799px){.library-page.page-frame{width:calc(100% - 20px)}.library-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:7px 0 22px}.library-controls .search-form{grid-column:1/-1;gap:9px;height:47px;min-height:47px;padding-inline:12px}.library-controls .search-form input{font-size:13px}.library-controls .search-form>svg{width:18px;height:18px}.library-controls .sort-menu>summary,.library-controls .add-link{height:43px;min-height:43px;padding-inline:12px;font-size:13px}.library-controls .sort-menu-label{font-size:13px}.library-controls .add-link{gap:9px}.library-controls .add-link svg{width:18px;height:18px}.library-page .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;padding-top:6px}.library-page .recipe-card{--card-shadow:1px 3px 4px #35241324;padding:7px 9px 9px}.library-page .recipe-card:is([data-paper=aged],[data-paper=original]){--card-sheet:url(/assets/paper-deckled-DygLmg-s.webp);--card-slices:130 125 135 125}.library-page .recipe-card:is([data-paper=aged],[data-paper=original]) .recipe-card-image.has-photo{--photo-fold-clearance:18px}.library-page .recipe-card-surface,.library-page .recipe-card-backing{border-width:28px;border-image-width:28px;inset:-3px -2px}.library-page .recipe-card[data-paper=smooth] .recipe-card-surface{inset:-10px -5px}.library-page .recipe-card-backing{border-image-source:url(/assets/card-a-BI8EAQ3u.webp);border-image-slice:107 59 fill}.recipe-card-backing--one{transform:translate(-2px,2px)rotate(-.7deg)}.recipe-card-backing--two{transform:translate(2px,3px)rotate(.6deg)}.library-page .recipe-card h2{letter-spacing:-.2px;min-height:34.22px;margin:7px 0 5px;font-size:14.5px;line-height:1.18}.recipe-card-metadata{gap:5px;min-height:19px}.library-page .recipe-card-stars{gap:1.2px}.library-page .recipe-card-stars svg{width:12.5px;height:12.5px}.library-page .recipe-card-meta{gap:3px;font-size:10.5px}.library-page .recipe-card-meta svg{width:12.5px;height:12.5px}.library-page .recipe-card-image>span[role=img]{gap:8px;font-size:10px}.recipe-card-adornment--tape{width:52px;height:19px;top:-2px}.recipe-card-adornment--tornTape{width:64px;top:-1px}.recipe-card-adornment--paperclip{width:22px;height:44px;top:-11px}.recipe-card-adornment--pin{width:23px;height:23px;top:-6px}.recipe-card-adornment--binderclip{width:28px;top:-14px}.recipe-card-adornment--tornTape[data-placement=corner-right]{width:48px}.recipe-card-adornment[data-placement=corner-left]{top:2px;left:1px}.recipe-card-adornment[data-placement=corner-right]{top:2px;right:1px}.recipe-card-adornment[data-placement=backing-edge]{top:-6px;left:1px}.library-page .recipe-card:hover{transform:none}}@media (width<=359px){.library-page .recipe-grid{gap:12px 8px}.library-page .recipe-card{padding-inline:9px}.library-page .recipe-card-stars{gap:1px}.library-page .recipe-card-stars svg{width:10.5px;height:10.5px}.library-page .recipe-card-meta{gap:2px;font-size:9.5px}.library-page .recipe-card-meta svg{width:11px;height:11px}.recipe-card-metadata{gap:4px}.library-page .recipe-card h2{min-height:31.86px;font-size:13.5px}.library-controls .search-form input{font-size:12px}}@media (prefers-reduced-motion:reduce){.library-page .recipe-card,.library-page .recipe-card-image img,.library-page .recipe-card-image>span[role=img]{transition:none}.library-page .recipe-card:hover{transform:rotate(var(--card-rotation))}}.paper-decoration{display:contents}.paper-surface,.paper-backing{--sheet-image:url(/assets/reading-sheet-DGw3Y5-h.webp);--sheet-slice:100 90 100 90;--sheet-edge:30px;z-index:-1;border:var(--sheet-edge) solid transparent;border-image-source:var(--sheet-image);border-image-slice:var(--sheet-slice) fill;border-image-width:var(--sheet-edge);filter:drop-shadow(0 1px 1px #472c122b)drop-shadow(1px 5px 5px #472c1221);pointer-events:none;-webkit-user-select:none;user-select:none;border-image-repeat:round;position:absolute;inset:0}.paper-surface:before,.paper-backing:before{content:"";background:#fff9ed url(/assets/paper-grain-DG1gb_l7.webp) 50%/420px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000),linear-gradient(#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000),linear-gradient(#0000,#000 28px calc(100% - 28px),#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.paper-surface--summary,.paper-backing{--sheet-image:url(/assets/summary-sheet-Dkdby2Py.webp);--sheet-slice:115 110 120 110;--sheet-edge:35px}.paper-backing{z-index:-3;filter:drop-shadow(0 2px 2px #472c1226);transform:translate(-5px,6px)rotate(.65deg)}.paper-attachment,.paper-botanical{z-index:2;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;height:auto;position:absolute}.paper-attachment{filter:drop-shadow(.5px 1.5px 1px #472c1230)}.paper-attachment--tape{opacity:.76;width:112px;top:-13px;left:43%;transform:translate(-50%)rotate(-5deg)}.paper-attachment--clip,.paper-attachment--clip-back{width:34px;height:68px;top:-11px;right:7px;transform:rotate(16deg)}.paper-attachment--clip{clip-path:polygon(0 0,100% 0,100% 32%,60% 32%,60% 100%,0 100%)}.paper-attachment--clip-back{z-index:-2;filter:none}.paper-botanical{opacity:.83;width:62px}.paper-botanical--top{top:16px;right:20px;transform:rotate(-18deg)}.paper-botanical--bottom{bottom:20px;right:23px;transform:rotate(12deg)}@media (width<=63.99rem){.paper-surface,.paper-backing{--sheet-edge:24px}.paper-botanical{display:none}.paper-attachment--tape{width:83px;top:-9px}}.detail-page--paper{--font-heading:var(--font-brand);--detail-muted:#5f5546;width:calc(100% - 28px);max-width:688px;padding:calc(20px + var(--safe-area-top)) 0 44px;overflow-wrap:anywhere;position:relative}.detail-page--paper .detail-top{position:relative}.detail-photo-print{isolation:isolate;min-width:0;padding:9px;position:relative}.detail-photo-print>.paper-decoration>.paper-backing{display:none}.detail-page--paper .detail-hero,.import-preview-shell .detail-page--paper .detail-hero{aspect-ratio:16/9;background:var(--surface-quiet);border-radius:0;height:auto;min-height:0;max-height:none}.detail-page--paper .detail-hero:after{display:none}.detail-page--paper .detail-gallery-count{z-index:3}.detail-page--paper .detail-gallery-arrow{width:44px;height:44px}.detail-paper-navigation{top:calc(38px + var(--safe-area-top));z-index:26;position:absolute;left:18px}.detail-back-label{display:none}.detail-page--paper .detail-header{background:0 0;min-width:0;padding:22px 10px 0;position:static}.detail-page--paper .detail-header>.paper-decoration{display:none}.detail-page--paper .detail-header-intro{margin-bottom:4px;position:static}.detail-page--paper .detail-header-toolbar{z-index:27;position:absolute;top:18px;right:18px}.detail-page--paper .detail-header h1{color:var(--ink);font:600 clamp(1.9rem, 4.8vw, 2.55rem)/1.13 var(--font-brand);letter-spacing:-.035em;text-wrap:balance;margin:0}.detail-page--paper .detail-stars{color:#9f9077;align-items:center;gap:0;min-height:44px;margin:3px 0 8px}.detail-page--paper .star-rating-button{width:44px;height:44px}.detail-page--paper .detail-stars svg{stroke-width:1.3px;width:26px;height:26px}.detail-page--paper .detail-info{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr));align-items:center;gap:0;margin-bottom:14px;padding:0 0 16px;display:grid}.detail-page--paper .detail-info-secondary{display:contents}.detail-page--paper .detail-info-times,.detail-page--paper .detail-info-secondary li{min-height:38px;color:var(--detail-muted);font:400 .84rem/1.45 var(--font-ui);gap:7px;padding-inline:10px}.detail-page--paper .detail-info-times{padding-left:0}.detail-page--paper .detail-info-secondary li{border-left:1px solid var(--line-strong)}.detail-page--paper .detail-info-secondary li:last-child{padding-right:0}.detail-page--paper .detail-info svg{width:20px;height:20px;color:var(--olive);stroke-width:1.8px}.detail-page--paper .detail-description{max-width:65ch;color:var(--ink);font:400 1.08rem/1.55 var(--font-brand);margin:0}.detail-page--paper .detail-header-tags-wrap,.detail-page--paper .detail-header-tags{min-width:0;display:flex}.detail-page--paper .detail-header-tags{gap:7px;margin-top:17px}.detail-page--paper .detail-header-tags span{color:#4b5c36;max-width:100%;font:400 .84rem/1.4 var(--font-ui);background:#e4e9d3;padding:4px 12px}.detail-page--paper .recipe-body,.detail-page--paper .detail-extras{padding-inline:0}.detail-page--paper>.recipe-body{gap:14px;margin-top:22px}.detail-page--paper .detail-card{isolation:isolate;background:0 0;border:0;border-radius:0;min-width:0;padding:22px 21px 25px;position:relative}.detail-page--paper .detail-section-heading{flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:15px}.detail-page--paper .detail-section-heading h2{width:fit-content;max-width:100%;color:var(--ink);font:600 1.75rem/1.15 var(--font-brand);letter-spacing:-.035em;padding-bottom:8px;position:relative}.detail-page--paper .detail-section-heading h2:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%208'%3e%3cpath%20fill='%23bd4f2f'%20d='M1%204.3%2037%202.7%2091%202.9%20132%203.3%20178%203%20222%204.1%20239%205.2%20206%205.4%20163%204.8%20117%205.2%2072%204.7%2028%205.5%200%205.2Z'/%3e%3cpath%20fill='%23bd4f2f'%20opacity='.32'%20d='m8%206%2054-.4%2063.2.5%2055.8-.4%2038%20.9-73.5.1-70.5-.5-67%20.6Z'/%3e%3c/svg%3e") 0/100% 100% no-repeat;height:7px;position:absolute;bottom:0;left:0;right:-9px}.detail-page--paper .instructions-column h2:after{background-image:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20280%208'%3e%3cpath%20fill='%23bd4f2f'%20d='m0%203.8%2048-1.1%2040%20.5%2063-.6%2043%20.8%2063%20.7%2022%201.8-51-.5-50-.1-59-.7-58%20.9L1%205.5Z'/%3e%3cpath%20fill='%23bd4f2f'%20opacity='.3'%20d='m12%206.1%2084-.8%2075%20.7%2080-.1-51%201-67-.4-74%20.5Z'/%3e%3c/svg%3e")}.detail-page--paper .detail-group+.detail-group{margin-top:22px}.detail-page--paper .detail-group h3{color:var(--detail-muted);font-size:.75rem;line-height:1.5}.detail-page--paper .detail-group ul{grid-template-columns:fit-content(34%) minmax(0,1fr) auto;column-gap:13px}.detail-page--paper .detail-group li{font:400 1.05rem/1.45 var(--font-brand);padding-block:4px}.detail-page--paper .detail-group li strong{font-weight:600}.detail-page--paper .detail-group li>span:not(.confidence-badge){color:var(--ink)}.detail-page--paper .confidence-badge{font-family:var(--font-ui)}.detail-page--paper .instructions-column ol>li{grid-template-columns:max(36px,2rem) minmax(0,1fr);gap:12px;padding-block:14px}.detail-page--paper .instructions-column ol>li:first-child{padding-top:0}.detail-page--paper .instructions-column ol>li:last-child{padding-bottom:0}.detail-page--paper .step-badge{width:max(36px,2rem);height:max(36px,2rem);font:500 1.2rem/1 var(--font-brand);background:var(--accent)}.detail-page--paper .step-copy h3{font:600 1.08rem/1.35 var(--font-brand);letter-spacing:-.015em;margin:0 0 4px}.detail-page--paper .step-copy p{color:var(--ink);font:400 1.05rem/1.5 var(--font-brand)}.detail-page--paper .step-chevron{color:var(--olive)}.detail-page--paper .step-ingredients{grid-template-columns:fit-content(35%) minmax(0,1fr);column-gap:12px}.detail-page--paper .step-ingredients li{font:400 1rem/1.45 var(--font-brand)}.detail-page--paper .detail-extras{margin-top:18px}.detail-page--paper .detail-source{border-block:1px solid var(--line);background:0 0;padding:18px 10px}.detail-page--paper .detail-source pre{overflow-wrap:anywhere;white-space:pre-wrap}.detail-page--paper .detail-footer{padding:12px 10px 0}.detail-page--paper .remix-changed-section .detail-card{outline:1px solid var(--remix-changed-border);outline-offset:-7px}.detail-page--paper .remix-changed-section .paper-surface:before{background-color:var(--remix-changed-surface)}.detail-page--paper .recipe-remix,.detail-page--paper .recipe-remix h2{font-family:var(--font-ui)}.detail-page--paper :is(button,a,summary):focus-visible{outline:2px solid var(--focus);outline-offset:4px}.detail-page--paper ::selection{color:var(--ink);background:#ead5a2}@media (width<=479px){.detail-page--paper .detail-group .confidence-badge{grid-column:2;justify-self:start}}@media (width>=64rem){.detail-page--paper{padding-top:13px}.detail-paper-navigation{margin:0 0 23px;position:static}.detail-paper-navigation .detail-overlay{isolation:isolate;width:auto;height:auto;min-height:40px;box-shadow:none;font:400 .94rem/1.4 var(--font-ui);background:0 0;border-radius:0;gap:9px;padding:7px 15px;position:relative}.detail-paper-navigation .detail-overlay:before{content:"";z-index:-1;filter:drop-shadow(0 2px 2px #472c1229);pointer-events:none;border:15px solid #0000;border-image:url(/assets/reading-sheet-DGw3Y5-h.webp) 100 90 fill/15px;position:absolute;inset:0}.detail-back-label{display:inline}.detail-page--paper .detail-top{box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1.12fr) minmax(0,.94fr);align-items:start;gap:15px;padding:0;display:grid;overflow:visible}.detail-photo-print{margin-top:1px;padding:13px;transform:rotate(-1deg)}.detail-photo-print>.paper-decoration>.paper-backing{display:block}.detail-photo-print>.paper-decoration>.paper-surface{--sheet-edge:25px}.detail-page--paper .detail-hero,.import-preview-shell .detail-page--paper .detail-hero{aspect-ratio:16/9;align-self:auto;height:auto}.detail-page--paper .detail-header{isolation:isolate;margin-top:1px;padding:24px 28px 27px;position:relative}.detail-page--paper .detail-header:has(.recipe-remix-toggle--floating){z-index:1}.detail-page--paper .detail-header>.paper-decoration{display:contents}.detail-page--paper .detail-header>.paper-decoration>.paper-surface{transform:rotate(.35deg)}.detail-page--paper .detail-header>.paper-decoration>.paper-backing{transform:translate(3px,4px)rotate(-.45deg)}.detail-page--paper .detail-header-toolbar{z-index:28;padding-left:4px;position:relative;top:auto;right:auto}.detail-page--paper .detail-header-title-row{gap:8px}.detail-page--paper .detail-header h1{font-size:clamp(1.8rem,2.5vw,2.25rem)}.detail-page--paper .detail-stars{margin-block:4px 6px}.detail-page--paper .detail-description{font-size:1.02rem;line-height:1.5}.detail-page--paper .detail-header-tags{margin-top:15px}.detail-page--paper .recipe-body{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:18px;margin-top:23px}.detail-page--paper .detail-card{padding:25px 29px 30px}.detail-page--paper .ingredients-column .detail-card{padding-bottom:85px}.detail-page--paper .instructions-column .detail-section-heading{min-height:57px;margin-bottom:6px;padding-right:52px}.detail-page--paper .detail-section-heading h2{font-size:1.9rem}.detail-page--paper .step-badge{width:max(40px,2.5rem);height:max(40px,2.5rem);font-size:1.3rem}.detail-page--paper .instructions-column ol>li{grid-template-columns:max(40px,2.5rem) minmax(0,1fr);gap:14px}.detail-page--paper .detail-group li{padding-block:4px}.detail-page--paper.detail-page--no-hero .detail-top{display:block}.detail-page--paper.detail-page--no-hero .detail-header{padding:25px 30px 28px}}.import-preview-shell{--detail-ink:var(--ink);--detail-muted:#5f5546;--detail-line:var(--line);width:calc(100% - 28px);max-width:688px;padding:0 0 calc(6rem + env(safe-area-inset-bottom,0px));gap:16px}.import-preview-shell .detail-page--paper{width:100%;max-width:none;padding-top:12px}.import-preview-shell .detail-page--paper.detail-page--no-hero{padding-top:0}.import-preview-chrome:has(+#main-content .import-preview-shell) .import-preview-nav-title{overflow-wrap:anywhere;max-width:calc(100% - 112px)}.import-preview-status{border:0;border-bottom:1px solid var(--line);font-family:var(--font-ui);background:0 0;border-radius:0;gap:11px;padding:4px 6px 17px}.import-preview-status h2{font:500 1rem/1.45 var(--font-ui);letter-spacing:-.015em}.import-preview-status-subtitle{margin-top:2px;font-size:.86rem;display:block}.import-preview-status p{color:var(--detail-muted);font-size:.78rem}.import-preview-status>svg{width:20px;height:20px;margin-top:2px}.import-preview-status .import-preview-notice{background:var(--warning-soft);color:#69491d;border:1px solid #d6bc86;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:.85rem;line-height:1.5}.import-preview-status .import-preview-notice strong{color:#69491d;font-weight:500}.import-preview-shell .detail-page--paper .detail-header-actions{flex-wrap:wrap;gap:8px;margin:18px 0 0;display:flex}.import-preview-shell .detail-header-actions .import-preview-edit{width:auto;min-height:44px;font:500 .82rem/1.4 var(--font-ui);flex:auto;gap:6px;padding:8px 12px}.import-preview-shell .detail-header-actions .import-preview-edit svg{width:16px;height:16px}.import-preview-shell .detail-page--paper .detail-stars{margin-top:3px}.detail-page--paper .confidence-badge{font:500 .69rem/1.3 var(--font-ui);white-space:nowrap}.detail-page--paper .confidence-missing{color:var(--danger)}.detail-page--paper .confidence-uncertain{color:var(--warning)}.import-preview-error{background:var(--danger-soft);color:var(--danger);border:1px solid #c98f88;border-radius:6px;padding:12px 14px;font-size:.9rem}.import-preview-actions{isolation:isolate;background:var(--ground);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 -3px 12px #472c120d}.import-preview-actions:before{content:"";z-index:-1;background:var(--paper-texture) center / 680px;opacity:var(--paper-opacity);pointer-events:none;position:absolute;inset:0}.import-preview-actions-inner{gap:10px;width:min(688px,100% - 36px)}.import-preview-actions :is(.primary-button,.secondary-button){overflow-wrap:anywhere;min-width:0;min-height:46px;padding-inline:12px}.import-preview-remix{min-width:0;padding-inline:6px}.detail-page--paper .recipe-remix textarea{background:var(--field-bg);font-family:var(--font-ui)}.detail-page--paper .recipe-remix .recipe-remix-prompt-history{background:var(--surface)}@media (width>=64rem){.import-preview-shell .detail-page--paper{padding-top:12px}.import-preview-status{padding:3px 7px 17px}.import-preview-status-subtitle{margin-top:0;display:inline}.import-preview-actions-inner{justify-content:flex-end;display:flex}.import-preview-actions :is(.primary-button,.secondary-button){width:auto;min-width:160px}}@media (width>=800px){.detail-page--paper,.import-preview-shell,.import-preview-actions-inner,.import-preview-chrome:where(:has(+#main-content .import-preview-shell)){width:min(1280px, calc(100% - 2 * var(--page-gutter,24px)));max-width:1280px}}.app-shell{--page-gutter:24px;isolation:isolate}.app-margin-art{--content-gutter:max(var(--page-gutter), calc((100% - 1280px) / 2));z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0;overflow:hidden}.app-margin-art__side{--art-bleed:clamp(0px, calc(628px - 65cqh), 28px);width:max(14px, calc(var(--content-gutter) - 3px));position:absolute;top:0;bottom:0;overflow:hidden;container-type:size}.app-margin-art__side--left{left:0}.app-margin-art__side--right{right:0}.app-margin-art__side:before{content:"";opacity:.22;background-image:-webkit-image-set(url(/assets/desktop-wash-soft-uncropped-p_LfE1cb.webp) 1x,url(/assets/desktop-wash-soft-uncropped-native-BVoE6ura.webp) 2x);background-image:image-set("/assets/desktop-wash-soft-uncropped-p_LfE1cb.webp" 1x,"/assets/desktop-wash-soft-uncropped-native-BVoE6ura.webp" 2x);background-position:100%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.app-margin-art__side--right:before{transform:scaleX(-1)}.app-margin-art__fragment{--source-ratio:1;width:max(628px,100cqw - 9px);height:auto;aspect-ratio:var(--source-ratio);background-repeat:no-repeat;background-size:100% 100%;position:absolute}.app-margin-art__fragment--top{top:calc(-1 * var(--art-bleed))}.app-margin-art__fragment--bottom{bottom:calc(-1 * var(--art-bleed))}.app-margin-art__fragment--middle{--source-ratio:2;display:none;top:50%}.app-margin-art__side--left .app-margin-art__fragment{right:0}.app-margin-art__side--right .app-margin-art__fragment{left:0}.app-margin-art__side--left .app-margin-art__fragment--top{background-image:-webkit-image-set(url(/assets/desktop-left-top-editorial-uncropped-C_HPaJmj.webp) 1x,url(/assets/desktop-left-top-editorial-uncropped-native-hny99j7V.webp) 2x);background-image:image-set("/assets/desktop-left-top-editorial-uncropped-C_HPaJmj.webp" 1x,"/assets/desktop-left-top-editorial-uncropped-native-hny99j7V.webp" 2x)}.app-margin-art__side--left .app-margin-art__fragment--bottom{background-image:-webkit-image-set(url(/assets/desktop-left-bottom-editorial-uncropped-CaJKoU9-.webp) 1x,url(/assets/desktop-left-bottom-editorial-uncropped-native-B8itt69U.webp) 2x);background-image:image-set("/assets/desktop-left-bottom-editorial-uncropped-CaJKoU9-.webp" 1x,"/assets/desktop-left-bottom-editorial-uncropped-native-B8itt69U.webp" 2x)}.app-margin-art__side--right .app-margin-art__fragment--top{background-image:-webkit-image-set(url(/assets/desktop-right-top-editorial-uncropped-i2qbwBIl.webp) 1x,url(/assets/desktop-right-top-editorial-uncropped-native-DBFegQlz.webp) 2x);background-image:image-set("/assets/desktop-right-top-editorial-uncropped-i2qbwBIl.webp" 1x,"/assets/desktop-right-top-editorial-uncropped-native-DBFegQlz.webp" 2x)}.app-margin-art__side--right .app-margin-art__fragment--bottom{background-image:-webkit-image-set(url(/assets/desktop-right-bottom-editorial-uncropped-DRtFVnNK.webp) 1x,url(/assets/desktop-right-bottom-editorial-uncropped-native-BCOGGWTg.webp) 2x);background-image:image-set("/assets/desktop-right-bottom-editorial-uncropped-DRtFVnNK.webp" 1x,"/assets/desktop-right-bottom-editorial-uncropped-native-BCOGGWTg.webp" 2x)}.app-margin-art__side--left .app-margin-art__fragment--middle{background-image:-webkit-image-set(url(/assets/desktop-left-middle-spread-uncropped-DTTtgeRM.webp) 1x,url(/assets/desktop-left-middle-spread-uncropped-native-BKWansTw.webp) 2x);background-image:image-set("/assets/desktop-left-middle-spread-uncropped-DTTtgeRM.webp" 1x,"/assets/desktop-left-middle-spread-uncropped-native-BKWansTw.webp" 2x);top:48%;transform:translateY(-50%)rotate(-14deg)}.app-margin-art__side--right .app-margin-art__fragment--middle{background-image:-webkit-image-set(url(/assets/desktop-right-middle-spread-uncropped-FpWx1qH3.webp) 1x,url(/assets/desktop-right-middle-spread-uncropped-native-BAHlPlom.webp) 2x);background-image:image-set("/assets/desktop-right-middle-spread-uncropped-FpWx1qH3.webp" 1x,"/assets/desktop-right-middle-spread-uncropped-native-BAHlPlom.webp" 2x);top:52%;transform:translateY(-50%)rotate(16deg)}@media (width>=800px) and (height>=1300px){.app-margin-art__fragment--middle{display:block}}@container (width>=628px) and (aspect-ratio>=1/2){.app-margin-art__fragment--middle{display:none}}@media (width>=2600px){.app-margin-art__side:before{background-image:url(/assets/desktop-wash-soft-uncropped-native-BVoE6ura.webp)}.app-margin-art__side--left .app-margin-art__fragment--top{background-image:url(/assets/desktop-left-top-editorial-wide-uncropped-native-DxyO9CtE.webp)}.app-margin-art__side--left .app-margin-art__fragment--bottom{background-image:url(/assets/desktop-left-bottom-editorial-wide-uncropped-native-ChCEkTxa.webp)}.app-margin-art__side--right .app-margin-art__fragment--top{background-image:url(/assets/desktop-right-top-editorial-wide-uncropped-native-CohSkE6v.webp)}.app-margin-art__side--right .app-margin-art__fragment--bottom{background-image:url(/assets/desktop-right-bottom-editorial-wide-uncropped-native-BIn-d4Z4.webp)}.app-margin-art__side--left .app-margin-art__fragment--middle{background-image:url(/assets/desktop-left-middle-spread-uncropped-native-BKWansTw.webp)}.app-margin-art__side--right .app-margin-art__fragment--middle{background-image:url(/assets/desktop-right-middle-spread-uncropped-native-BAHlPlom.webp)}}@media (width>=1100px){.app-shell{--page-gutter:clamp(24px, calc(30vw - 306px), 196px)}.app-top-bar,.library-page.page-frame{width:min(1280px, calc(100% - 2 * var(--page-gutter)))}.app-shell .page-frame,.app-shell .inner-chrome{max-width:calc(100% - 2 * var(--page-gutter))}.app-shell .detail-page{max-width:min(72rem, calc(100% - 2 * var(--page-gutter)))}.app-shell .detail-page--paper,.app-shell .import-preview-shell,.app-shell .import-preview-actions-inner{max-width:min(1280px, calc(100% - 2 * var(--page-gutter)))}.app-shell .import-preview-shell .detail-page{width:100%;max-width:none}}@media (width>=800px) and (width<=1099px){.app-shell{--page-gutter:18px}}@media (width<=799px){.app-shell{--page-gutter:12px}.app-margin-art{display:none}.library-controls{margin-inline:12px}}@media print{.app-margin-art{display:none}}
