@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.flex{display:flex}.hidden{display:none}.h-full{height:100%}.min-h-full{min-height:100%}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--bg:#f7f1e8;--paper:#fffaf3;--ink:#251f24;--muted:#776d73;--aubergine:#2d2336;--aubergine-soft:#45344f;--gold:#d5a44d;--gold-soft:#f3dfb5;--sage:#9dbb9f;--sage-dark:#55715a;--border:#43333a24;--shadow:0 18px 45px #48353c1f}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at top right, #d5a44d1c, transparent 30%), var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.page-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 64px}.site-header{justify-content:space-between;align-items:center;padding:8px 0 32px;display:flex}.brand-kicker{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.brand-title{color:var(--aubergine);margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,6vw,4.8rem);line-height:.95}.add-button{background:var(--aubergine);color:#fff;border:0;border-radius:999px;padding:13px 18px;font-weight:700;box-shadow:0 10px 24px #2d23362e}.add-button:hover{background:var(--aubergine-soft)}.hero{color:#fff;background:linear-gradient(135deg, var(--aubergine), #3f3049);box-shadow:var(--shadow);border-radius:30px;grid-template-columns:1.2fr 1fr;align-items:end;gap:42px;padding:52px;display:grid}.hero-eyebrow,.section-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;font-weight:700;display:block}.hero h2{max-width:700px;margin:10px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1}.hero p{color:#ffffffbd;max-width:540px;margin:0;font-size:1.05rem;line-height:1.6}.search-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff1c;border-radius:22px;padding:18px}.search-panel input{width:100%;color:var(--ink);box-shadow:inset 0 0 0 1px var(--border);background:#fff;border:0;border-radius:14px;outline:0;padding:15px 16px}.filter-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.filter{color:#ffffffc7;background:#ffffff12;border:1px solid #ffffff26;border-radius:999px;padding:8px 12px}.filter.active{background:var(--gold);border-color:var(--gold);color:#2f2414;font-weight:700}.recipes-section{padding-top:54px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:22px;display:flex}.section-heading h2{color:var(--aubergine);margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:2.3rem}.recipe-count{color:var(--muted);font-size:.9rem}.recipe-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;display:grid}.recipe-card{background:var(--paper);border:1px solid var(--border);border-radius:22px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 8px 28px #392b3214}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #392b3221}.recipe-visual{min-height:180px;color:var(--gold);background:radial-gradient(circle at 30% 20%,#d5a44d47,#0000 30%),linear-gradient(140deg,#34273c,#5b455e);place-items:center;font-size:3rem;display:grid}.recipe-content{padding:20px}.recipe-tags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.pill{background:var(--gold-soft);color:#674b18;border-radius:999px;padding:5px 9px;font-size:.73rem;font-weight:700}.pill-green{color:var(--sage-dark);background:#dfe9df}.recipe-content h3{color:var(--aubergine);margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.recipe-description{min-height:48px;color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.recipe-meta{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;font-size:.86rem;font-weight:700;display:flex}@media (max-width:760px){.page-shell{width:min(100% - 20px,1180px);padding-top:18px}.site-header{align-items:flex-end;gap:12px}.add-button{padding:10px 12px;font-size:.8rem}.hero{border-radius:22px;grid-template-columns:1fr;gap:28px;padding:28px 22px}.hero h2{font-size:2.4rem}.section-heading h2{font-size:1.9rem}.recipe-grid{grid-template-columns:1fr}}.recipe-card-link{color:inherit;text-decoration:none;display:block}.recipe-page{max-width:1180px}.recipe-nav{justify-content:space-between;align-items:center;padding:8px 0 28px;display:flex}.back-link{color:var(--aubergine);font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}.mini-brand{color:var(--aubergine);font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:700}.recipe-hero{background:var(--aubergine);color:#fff;min-height:440px;box-shadow:var(--shadow);border-radius:30px;grid-template-columns:1.15fr .85fr;display:grid;overflow:hidden}.recipe-hero-content{flex-direction:column;justify-content:center;padding:54px;display:flex}.recipe-hero h1{max-width:680px;margin:18px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,6vw,5.4rem);font-weight:700;line-height:.95}.recipe-lead{color:#ffffffc2;max-width:620px;margin:0;font-size:1.05rem;line-height:1.65}.recipe-author{color:#ffffffad;align-items:center;gap:8px;margin-top:18px;font-size:.9rem;display:flex}.recipe-author strong{color:var(--gold)}.recipe-hero-art{min-height:360px;color:var(--gold);background:radial-gradient(circle,#d5a44d40,#0000 35%),linear-gradient(145deg,#5b455e,#35283e);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.recipe-hero-art span{font-size:5rem}.recipe-hero-art small{color:#ffffff80}.recipe-stats{z-index:2;background:var(--paper);border:1px solid var(--border);width:calc(100% - 70px);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:repeat(5,1fr);margin:-34px auto 0;display:grid;position:relative;overflow:hidden}.recipe-stats>div{text-align:center;border-right:1px solid var(--border);flex-direction:column;gap:6px;padding:20px;display:flex}.recipe-stats>div:last-child{border-right:0}.recipe-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.recipe-stats strong{color:var(--aubergine)}.recipe-body{grid-template-columns:.8fr 1.2fr;gap:60px;padding:72px 24px;display:grid}.ingredients-panel,.steps-panel{min-width:0}.ingredients-panel h2,.steps-panel h2{color:var(--aubergine);margin:5px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:2.4rem}.servings-label{color:var(--muted);margin:0 0 24px}.ingredient-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:15px 2px;display:flex}.ingredient-name{color:var(--ink);flex-direction:column;gap:3px;display:flex}.ingredient-name small{color:var(--muted)}.ingredient-list strong{white-space:nowrap;color:var(--aubergine)}.steps-list{flex-direction:column;gap:24px;margin:30px 0 0;padding:0;list-style:none;display:flex}.steps-list li{grid-template-columns:48px 1fr;align-items:start;gap:18px;display:grid}.step-number{background:var(--aubergine);width:48px;height:48px;color:var(--gold);border-radius:50%;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:700;display:grid}.steps-list p{color:var(--ink);margin:4px 0 0;line-height:1.7}.recipe-footer{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:14px;margin:0 24px;padding:24px 0;display:flex}@media (max-width:760px){.recipe-hero{grid-template-columns:1fr}.recipe-hero-content{padding:32px 24px}.recipe-hero h1{font-size:3rem}.recipe-hero-art{min-height:220px}.recipe-stats{grid-template-columns:repeat(2,1fr);width:calc(100% - 24px)}.recipe-stats>div{border-bottom:1px solid var(--border)}.recipe-body{grid-template-columns:1fr;gap:52px;padding:56px 12px}.recipe-footer{flex-direction:column;align-items:flex-start;margin:0 12px}}.add-button{text-decoration:none}.form-page{max-width:1000px}.form-header{justify-content:space-between;align-items:center;margin-bottom:52px;display:flex}.form-intro{max-width:700px;margin-bottom:36px}.form-intro h1{color:var(--aubergine);margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,5rem)}.form-intro p{color:var(--muted);font-size:1.05rem}.recipe-form{flex-direction:column;gap:24px;display:flex}.form-card{background:var(--paper);border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:0 8px 28px #392b320f}.form-card h2{color:var(--aubergine);margin:6px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:2rem}.form-card h3{color:var(--aubergine);margin:24px 0 10px}.form-card label{color:var(--aubergine);flex-direction:column;gap:7px;margin-bottom:18px;font-weight:700;display:flex}.form-card input,.form-card textarea,.form-card select{border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:12px 14px}.form-card input:focus,.form-card textarea:focus,.form-card select:focus{border-color:var(--gold)}.form-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.dynamic-list{flex-direction:column;gap:12px;margin-bottom:18px;display:flex}.ingredient-editor{grid-template-columns:1.5fr .7fr .7fr 1.2fr 40px;gap:8px;display:grid}.step-editor{grid-template-columns:44px 1fr 40px;align-items:start;gap:12px;display:grid}.step-editor>span{background:var(--aubergine);width:40px;height:40px;color:var(--gold);border-radius:50%;place-items:center;font-weight:700;display:grid}.remove-button{color:#8c4747;background:#f0e4e4;border:0;border-radius:50%;width:40px;height:40px;font-size:1.3rem}.secondary-button{border:1px solid var(--border);width:fit-content;color:var(--aubergine);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.checkbox-grid{flex-wrap:wrap;gap:8px;display:flex}.form-card .checkbox-pill{cursor:pointer;background:#f0e9df;border-radius:999px;flex-direction:row;align-items:center;width:fit-content;margin:0;padding:9px 12px;display:inline-flex}.checkbox-pill input{width:auto;margin:0}.form-actions{justify-content:flex-end;gap:12px;padding:10px 0 40px;display:flex}.publish-button{background:var(--aubergine);color:#fff;border:0;border-radius:999px;padding:13px 20px;font-weight:700}.publish-button:disabled{opacity:.6;cursor:wait}.form-error{color:#7f2929;background:#f6dddd;border-radius:12px;padding:14px 16px;font-weight:700}@media (max-width:760px){.form-grid,.ingredient-editor{grid-template-columns:1fr 1fr}.ingredient-editor .remove-button{grid-column:span 2}.form-card{padding:22px 16px}.form-actions{flex-direction:column-reverse}.form-actions>*{width:100%}}.recipe-actions{justify-content:flex-end;margin-bottom:18px;display:flex}.delete-recipe-button{color:#8b3030;background:#fff4f4;border:1px solid #d8b9b9;border-radius:999px;padding:10px 14px;font-weight:700}.delete-recipe-button:hover{background:#f7dddd}.delete-recipe-button:disabled{opacity:.6;cursor:wait}.login-page{background:radial-gradient(circle at 70% 20%, #d5a44d29, transparent 28%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);background:var(--paper);width:min(100%,470px);box-shadow:var(--shadow);border-radius:28px;padding:38px}.login-card>.mini-brand{margin-bottom:52px;text-decoration:none;display:inline-block}.login-intro h1{color:var(--aubergine);margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:3rem;line-height:1}.login-intro p{color:var(--muted);margin-bottom:30px}.login-form{flex-direction:column;gap:18px;display:flex}.login-form label{color:var(--aubergine);flex-direction:column;gap:7px;font-weight:700;display:flex}.login-form input{border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:13px 14px}.login-form input:focus{border-color:var(--gold)}.login-button{width:100%;margin-top:8px}.header-actions{align-items:center;gap:12px;display:flex}.current-user{flex-direction:column;align-items:flex-end;margin-right:4px;display:flex}.current-user span{color:var(--aubergine);font-weight:700}.current-user small{color:var(--muted)}.logout-button{border:1px solid var(--border);color:var(--aubergine);background:0 0;border-radius:999px;padding:10px 13px;font-weight:700}.logout-button:hover{background:var(--paper)}@media (max-width:760px){.header-actions{flex-wrap:wrap;justify-content:flex-end}.current-user{width:100%}}.admin-page{max-width:1050px}.admin-button{border:1px solid var(--border);color:var(--aubergine);border-radius:999px;padding:10px 13px;font-weight:700;text-decoration:none}.admin-button:hover{background:var(--paper)}.admin-create{margin-bottom:56px}.admin-user-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;display:grid}.admin-user-form .publish-button{align-self:end;min-height:44px;margin-bottom:18px}.admin-users{padding-bottom:60px}.user-list{flex-direction:column;gap:12px;display:flex}.user-card{border:1px solid var(--border);background:var(--paper);border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:18px 20px;transition:opacity .2s,transform .2s;display:flex}.user-disabled{opacity:.55}.user-identity{align-items:center;gap:14px;display:flex}.user-avatar{background:var(--aubergine);width:46px;height:46px;color:var(--gold);border-radius:50%;flex:0 0 46px;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700;display:grid}.user-identity>div:last-child{flex-direction:column;gap:2px;display:flex}.user-identity strong{color:var(--aubergine)}.user-identity span,.user-identity small{color:var(--muted)}.user-controls{align-items:center;gap:10px;display:flex}.user-controls select{border:1px solid var(--border);background:#fff;border-radius:999px;padding:9px 12px}.disable-user-button,.enable-user-button{border-radius:999px;padding:9px 12px;font-weight:700}.disable-user-button{color:#8b3030;background:#fff4f4;border:1px solid #d8b9b9}.enable-user-button{border:1px solid var(--border);background:var(--aubergine);color:#fff}@media (max-width:760px){.admin-user-form{grid-template-columns:1fr}.user-card{flex-direction:column;align-items:flex-start}.user-controls{flex-wrap:wrap;width:100%}}.account-profile{margin-bottom:24px}.account-details{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.account-details>div{background:#f4eee6;border-radius:14px;flex-direction:column;gap:5px;padding:16px;display:flex}.account-details span{color:var(--muted);font-size:.8rem;font-weight:700}.account-details strong{color:var(--aubergine)}.account-password-form{flex-direction:column;gap:18px;display:flex}.account-password-form label{color:var(--aubergine);flex-direction:column;gap:7px;font-weight:700;display:flex}.account-password-form input{border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:12px;outline:none;padding:13px 14px}.account-password-form input:focus{border-color:var(--gold)}.account-password-form .publish-button{width:fit-content}@media (max-width:760px){.account-details{grid-template-columns:1fr}.account-password-form .publish-button{width:100%}}.reset-password-button{border:1px solid var(--border);color:var(--aubergine);background:#fff;border-radius:999px;padding:9px 12px;font-weight:700}.reset-password-button:hover{background:#f4eee6}.form-success{color:#416246;background:#e2eee2;border-radius:12px;padding:14px 16px;font-weight:700}.edit-recipe-button{border:1px solid var(--border);background:var(--paper);color:var(--aubergine);border-radius:999px;padding:10px 14px;font-weight:700;text-decoration:none}.edit-recipe-button:hover{background:#f4eee6}.account-recipes{margin-top:56px;padding-bottom:60px}.account-recipe-list{flex-direction:column;gap:10px;display:flex}.account-recipe{border:1px solid var(--border);background:var(--paper);color:var(--aubergine);border-radius:16px;justify-content:space-between;align-items:center;padding:17px 20px;text-decoration:none;transition:transform .15s,background .15s;display:flex}.account-recipe:hover{background:#f4eee6;transform:translateY(-2px)}.account-recipe>div{flex-direction:column;gap:3px;display:flex}.account-recipe strong{font-size:1rem}.account-recipe span{color:var(--muted);font-size:.82rem}.account-recipe-arrow{color:var(--aubergine)!important;font-size:1.3rem!important}.empty-recipes{border:1px dashed var(--border);text-align:center;color:var(--muted);border-radius:18px;padding:28px}.empty-recipes .add-button{margin-top:12px;display:inline-block}.favorite-button{border:1px solid var(--border);background:var(--paper);color:var(--aubergine);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-weight:700;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.favorite-button:hover{background:#f4eee6;transform:translateY(-1px)}.favorite-button span{font-size:1.25rem;line-height:1}.favorite-button.is-favorite{color:#963f48;background:#fff0ef;border-color:#d8aaaa}.favorite-button:disabled{cursor:wait;opacity:.65}.recipe-image-upload{margin-bottom:28px}.recipe-image-preview{border:1px solid var(--border);background:#eee7df;border-radius:20px;margin:20px 0;overflow:hidden}.recipe-image-preview img{object-fit:cover;width:100%;max-height:480px;display:block}.recipe-image-empty{border:1px dashed var(--border);min-height:220px;color:var(--muted);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:20px 0;display:flex}.recipe-image-empty span{color:var(--aubergine);font-size:3rem}.recipe-image-empty p{margin:0}.form-hint{color:var(--muted);margin-top:6px;font-size:.82rem}.recipe-visual{position:relative;overflow:hidden}.recipe-card-image{object-fit:cover;width:100%;height:100%;transition:transform .35s;position:absolute;inset:0}.recipe-card:hover .recipe-card-image{transform:scale(1.04)}.recipe-hero-art.has-image{background:#34273c;padding:0;position:relative;overflow:hidden}.recipe-hero-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.recipe-top-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.recipe-top-actions .recipe-actions{margin-bottom:0}@media (max-width:760px){.recipe-top-actions{flex-direction:column;align-items:stretch}.recipe-top-actions .recipe-actions{flex-wrap:wrap;justify-content:flex-start}}.fridge-section{margin-top:26px}.fridge-open-button{border:1px solid var(--border);background:var(--paper);color:var(--aubergine);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font-weight:700;text-decoration:none;display:flex;box-shadow:0 6px 20px #392b320d}.fridge-open-button:hover{background:#f4eee6}.fridge-open-button>span{color:var(--muted);font-size:.85rem;font-weight:400}.fridge-panel{border:1px solid var(--border);background:var(--paper);border-radius:24px;padding:26px;box-shadow:0 8px 28px #392b320f}.fridge-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.fridge-heading h2{color:var(--aubergine);margin:5px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:2rem}.fridge-heading p{max-width:650px;color:var(--muted);margin:0;line-height:1.5}.fridge-reset{border:1px solid var(--border);color:var(--aubergine);border-radius:999px;flex:none;padding:9px 12px;font-size:.85rem;font-weight:700;text-decoration:none}.fridge-ingredients{flex-wrap:wrap;gap:8px;display:flex}.fridge-ingredient{border:1px solid var(--border);color:var(--aubergine);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.fridge-ingredient span{background:#eee7df;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.fridge-ingredient.selected{color:var(--sage-dark);background:#e3eee3;border-color:#aac3aa}.fridge-ingredient.selected span{background:var(--sage-dark);color:#fff}.fridge-summary{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}.fridge-summary strong{color:var(--aubergine)}.fridge-summary span{color:var(--muted);font-size:.85rem}.fridge-result{flex-direction:column;display:flex}.fridge-match{border:1px solid var(--border);background:#f3ede5;border-top:0;border-radius:0 0 16px 16px;margin:-9px 12px 0;padding:18px 14px 12px}.fridge-match-title{color:var(--aubergine);justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}.fridge-match-title>span{color:var(--muted)}.fridge-match-title .fridge-perfect{color:var(--sage-dark);font-weight:700}.fridge-match-title .fridge-close{color:#8d671f;font-weight:700}.fridge-match p{color:var(--muted);margin:8px 0 0;font-size:.78rem;line-height:1.45}@media (max-width:760px){.fridge-open-button{flex-direction:column;align-items:flex-start;gap:4px}.fridge-heading{flex-direction:column}.fridge-summary{flex-direction:column;align-items:flex-start}}.filter-row{flex-wrap:wrap;gap:10px;display:flex}.servings-selector{color:var(--muted);align-items:center;gap:10px;margin:16px 0 24px;display:flex}.servings-selector button{border:1px solid var(--border);background:var(--paper);width:34px;height:34px;color:var(--aubergine);cursor:pointer;border-radius:50%;place-items:center;font-size:1.2rem;font-weight:700;display:grid}.servings-selector button:hover:not(:disabled){background:#f4eee6}.servings-selector button:disabled{opacity:.4;cursor:not-allowed}.servings-selector strong{min-width:28px;color:var(--aubergine);text-align:center;font-size:1.15rem}.shopping-list-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.shopping-list-button{border:1px solid var(--border);background:var(--aubergine);color:#fff;cursor:pointer;width:100%;font:inherit;border-radius:14px;padding:12px 16px;font-weight:700}.shopping-list-button:hover:not(:disabled){opacity:.92}.shopping-list-button:disabled{opacity:.6;cursor:wait}.shopping-success{color:var(--sage-dark);margin:0;font-size:.9rem;font-weight:700}.shopping-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;font-size:.9rem;display:flex}.shopping-clear-button{border:1px solid var(--border);color:var(--aubergine);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-weight:700}.shopping-clear-button:hover{background:#f4eee6}.shopping-items{flex-direction:column;display:flex}.shopping-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 130px 36px;align-items:center;gap:16px;min-height:64px;transition:opacity .15s;display:grid}.shopping-item:last-child{border-bottom:0}.form-card .shopping-item .shopping-item-check{cursor:pointer;flex-direction:row;align-items:center;gap:14px;min-width:0;margin:0;display:flex}.form-card .shopping-item .shopping-item-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--aubergine);flex:none;margin:0;padding:0}.shopping-item-name{color:var(--aubergine);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.shopping-item-quantity{color:var(--muted);text-align:right;white-space:nowrap;font-weight:700}.shopping-delete-button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;font-size:1.3rem;line-height:1;display:grid}.shopping-delete-button:hover{color:var(--aubergine);background:#f4eee6}.shopping-item.checked{opacity:.42}.shopping-item.checked .shopping-item-name,.shopping-item.checked .shopping-item-quantity{text-decoration:line-through}@media (max-width:600px){.shopping-item{grid-template-columns:minmax(0,1fr) auto 32px;gap:8px;min-height:58px}.form-card .shopping-item .shopping-item-check{gap:9px}.shopping-item-quantity{font-size:.88rem}}.register-login-link{border-top:1px solid var(--border);color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:22px;padding-top:18px;font-size:.9rem;display:flex}.register-login-link a{color:var(--aubergine);font-weight:700;text-decoration:none}.register-login-link a:hover{text-decoration:underline}.shopping-toolbar-actions{align-items:center;gap:10px;display:flex}.shopping-email-button{border:1px solid var(--border);background:var(--aubergine);color:#fff;cursor:pointer;border-radius:999px;padding:8px 12px;font-weight:700}.shopping-email-button:hover:not(:disabled){opacity:.92}.shopping-email-button:disabled{opacity:.45;cursor:not-allowed}.shopping-success{color:var(--sage-dark);background:#e3eee3;border-radius:12px;margin-bottom:18px;padding:12px 14px;font-size:.9rem;font-weight:700}@media (max-width:700px){.shopping-toolbar{flex-direction:column;align-items:flex-start}.shopping-toolbar-actions{flex-wrap:wrap;width:100%}}.recipe-filter-panel{flex-direction:column;gap:16px;width:100%;display:flex;position:relative;overflow:visible}.recipe-search-form{width:100%}.recipe-search-form input{width:100%;min-height:54px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--border);background:#fff;border:0;border-radius:14px;outline:none;padding:0 16px;font-size:1rem}.recipe-search-form input:focus{box-shadow:inset 0 0 0 2px #d5a44db3}.recipe-filter-selectors{flex-direction:column;gap:8px;display:flex}.recipe-filter-label{color:#ffffff94;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.72rem;font-weight:700;display:block}.recipe-filter-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.recipe-filter-dropdown{min-width:0;position:relative}.recipe-filter-trigger{color:#fff;cursor:pointer;width:100%;min-width:0;min-height:46px;font:inherit;text-align:left;background:#ffffff12;border:1px solid #ffffff29;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:0 13px;font-size:.9rem;transition:background .15s,border-color .15s,transform .15s;display:flex}.recipe-filter-trigger:hover{background:#ffffff1c;border-color:#ffffff3d}.recipe-filter-trigger[aria-expanded=true]{background:#ffffff21;border-color:#d5a44dcc}.recipe-filter-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.recipe-filter-trigger strong{min-width:0;color:var(--gold);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.76rem;font-weight:700;overflow:hidden}.recipe-filter-menu{z-index:100;background:#2d2336;border:1px solid #ffffff21;border-radius:14px;flex-direction:column;gap:3px;width:max-content;min-width:100%;max-width:250px;max-height:300px;padding:7px;display:flex;position:absolute;top:calc(100% + 7px);left:0;overflow:hidden auto;box-shadow:0 18px 42px #0000004d}.recipe-filter-option{color:#ffffffdb;cursor:pointer;width:100%;min-width:0;font:inherit;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:9px 10px;font-size:.88rem;transition:background .12s,color .12s;display:flex}.recipe-filter-option:hover{color:#fff;background:#ffffff14}.recipe-filter-option.active{color:var(--gold);background:#d5a44d24}.recipe-filter-option span{color:currentColor;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:.85rem;font-weight:700;display:grid}.active-recipe-filters{flex-wrap:wrap;gap:7px;margin-top:1px;display:flex}.active-filter-pill{color:#ffffffdb;background:#ffffff17;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:.73rem;font-weight:700;display:inline-flex}.active-filter-diet{color:#dcebdd;background:#9dbb9f29}.recipe-filter-reset{color:#ffffff8c;cursor:pointer;font:inherit;background:0 0;border:0;align-self:flex-start;margin-top:-2px;padding:0;font-size:.76rem;text-decoration:none;transition:color .15s}.recipe-filter-reset:hover{color:#fff;text-decoration:underline}@media (max-width:900px){.recipe-filter-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-filter-trigger{padding:0 10px;font-size:.84rem}.recipe-filter-trigger strong{font-size:.7rem}}@media (max-width:700px){.recipe-filter-panel{gap:14px}.recipe-search-form input{min-height:50px}.recipe-filter-controls{grid-template-columns:1fr}.recipe-filter-trigger{min-height:44px;padding:0 13px;font-size:.9rem}.recipe-filter-trigger strong{font-size:.76rem}.recipe-filter-menu{width:100%;max-width:none}}.fridge-open-button>div{flex-direction:column;gap:3px;display:flex}.fridge-open-button>div strong{color:var(--aubergine)}.fridge-toggle-arrow{color:var(--aubergine);flex:none;font-size:1.15rem;font-weight:700}.fridge-heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fridge-collapse-button{border:1px solid var(--border);color:var(--aubergine);border-radius:999px;flex:none;padding:9px 12px;font-size:.85rem;font-weight:700;text-decoration:none}.fridge-collapse-button:hover{background:#f4eee6}@media (max-width:760px){.fridge-heading-actions{width:100%}}
