@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cinzel-latin-500-normal-B-2dbOfA.woff2) format("woff2"),url(/assets/cinzel-latin-500-normal-DMNTwV-V.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2) format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff) format("woff")}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff")}:root{color-scheme:dark;--mf-navy: #06111d;--mf-navy-deep: #04101a;--mf-navy-light: #081b2a;--mf-champagne: #d2aa24;--mf-warm-white: #f4f6f8;--mf-cyan: #55c5d8;--mf-turquoise: #69d2bf;--mf-secondary-text: #8f9dac;--mf-surface-raised: #0b2031;--mf-surface-input: #061723;--mf-surface-deep: #04101a;--mf-champagne-light: #edcc55;--mf-champagne-dark: #a9851b;--mf-line: #29465b;--mf-text-soft: #c3ccd6;--mf-danger: #dba5aa;--mf-danger-border: #9c5960;--navy: var(--mf-navy);--panel: var(--mf-navy-light);--panel2: var(--mf-surface-raised);--gold: var(--mf-champagne);--gold2: var(--mf-champagne-light);--cyan: var(--mf-cyan);--text: var(--mf-warm-white);--muted: var(--mf-secondary-text);--line: var(--mf-line);--mf-serif: Cinzel, Georgia, serif;--mf-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--text);font-family:var(--mf-sans)}button,input{font:inherit}button{cursor:pointer}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);border-bottom:1px solid #b88a4540;position:sticky;top:0;z-index:20;background:#07111feb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:13px}.brand>span,.mini-brand{font-family:var(--mf-serif);color:var(--gold2);font-size:27px;letter-spacing:-3px;border-right:1px solid var(--gold);padding-right:14px}.brand div{display:flex;flex-direction:column}.brand strong{font-size:14px;letter-spacing:.2em}.brand small{color:var(--muted);font-size:10px}.profile{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;background:#172a35;color:var(--gold2)}.intro{padding:64px max(24px,5vw) 32px;display:grid;grid-template-columns:1fr minmax(320px,520px);gap:40px;align-items:end}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--cyan);font-weight:700;font-size:11px;margin:0 0 14px}.intro h1{font:400 clamp(42px,5vw,72px)/.98 var(--mf-serif);margin:0}.intro em,.collection em{color:var(--gold2);font-weight:400}.search{height:58px;border:1px solid var(--line);background:var(--panel);border-radius:14px;display:flex;align-items:center;padding:0 16px;gap:12px}.search span{font-size:27px;color:var(--gold)}.search input{background:none;border:0;outline:0;color:#fff;flex:1;min-width:0}.search kbd{border:1px solid var(--line);border-radius:6px;color:var(--muted);padding:4px 7px}.categories{padding:8px max(24px,5vw) 28px;display:flex;gap:9px;overflow:auto}.categories button{white-space:nowrap;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:10px 16px}.categories .active{background:var(--gold);color:#14202a;border-color:var(--gold);font-weight:700}.recipe-grid{margin:0 max(24px,5vw);display:grid;grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr);background:var(--panel);border:1px solid #b88a4547;border-radius:28px;overflow:hidden;box-shadow:0 24px 80px #00000047}.recipe-visual{min-height:720px;position:relative;overflow:hidden}.recipe-visual img{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#02090d0d,#02090d26 40%,#02090deb)}.badge{position:absolute;top:24px;left:24px;border:1px solid #ffffff66;background:#07111fa6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:9px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.heart{position:absolute;right:24px;top:24px;width:43px;height:43px;border-radius:50%;border:1px solid #ffffff66;background:#07111fa6;color:#fff;font-size:19px}.heart.on{color:#e8b96c}.visual-copy{position:absolute;bottom:36px;left:36px;right:36px}.visual-copy p{color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.18em}.visual-copy h2{font:400 clamp(38px,4vw,58px)/.98 var(--mf-serif);margin:8px 0 25px}.visual-copy div{display:flex;gap:22px;color:#dbe3e6;font-size:13px}.recipe-panel{padding:50px clamp(26px,4vw,64px)}.recipe-panel h2{font:400 clamp(34px,4vw,52px)/1 var(--mf-serif);margin:0 0 16px}.lead{color:#c2cdd2;line-height:1.7}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:28px 0}.facts div{padding:20px 16px}.facts div+div{border-left:1px solid var(--line)}.facts small,.portion-row small{display:block;color:var(--muted);font-size:9px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px}.facts strong{font-size:13px}.portion-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.counter{border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;overflow:hidden}.counter button{width:40px;height:38px;border:0;background:var(--panel2);color:var(--gold2);font-size:20px}.counter span{min-width:42px;text-align:center;font-weight:700}.ingredients h3{font:400 23px var(--mf-serif);margin:25px 0 12px}.ingredients>button{width:100%;display:flex;text-align:left;align-items:center;gap:12px;border:0;border-bottom:1px solid #294052b3;background:none;color:inherit;padding:10px 0}.ingredients button i{font-style:normal;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold)}.ingredients button span{display:flex;gap:8px;color:#c4ced2;font-size:13px}.ingredients button strong{color:var(--gold2);min-width:65px}.ingredients button.checked span{text-decoration:line-through;opacity:.55}.ingredients button.checked i{background:var(--cyan);color:#07151b;border-color:var(--cyan)}.ingredients>p{font-size:11px;color:var(--muted);line-height:1.5}.start-cooking{margin-top:20px;width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,#e1bd79,#bf8d43);color:#101b22;padding:15px 20px;display:flex;justify-content:space-between;font-weight:800}.start-cooking small{font-weight:500;opacity:.7}.collection{padding:90px max(24px,5vw);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.collection h2{font:400 clamp(34px,4vw,52px)/1.08 var(--mf-serif);margin:0}.empty-card{min-height:130px;border:1px dashed var(--line);border-radius:20px;display:flex;align-items:center;padding:25px;gap:20px;color:#c7d0d5;background:#0c1b2c80}.empty-card>span{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);color:var(--gold);font-size:24px}.empty-card div{display:flex;flex-direction:column;gap:5px}.empty-card small{color:var(--muted)}footer{border-top:1px solid var(--line);padding:30px max(24px,5vw);display:flex;align-items:center;gap:15px;color:var(--muted);font-size:12px}footer p{margin:0}footer a{margin-left:auto;color:var(--muted);text-decoration:none}.cook-shell{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr auto;max-width:900px;margin:auto;padding:0 24px 32px}.cook-head{height:90px;display:flex;align-items:center;gap:18px}.icon-button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:#fff;font-size:25px}.cook-head div{display:flex;flex-direction:column}.cook-head span{color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.18em}.cook-head strong{font:22px var(--mf-serif)}.progress{height:3px;background:var(--line)}.progress i{display:block;height:100%;background:var(--gold);transition:width .3s}.cook-card{align-self:center;background:var(--panel);border:1px solid #b88a454d;border-radius:30px;padding:clamp(34px,7vw,75px);position:relative;overflow:hidden}.step-number{position:absolute;right:25px;top:5px;font:120px var(--mf-serif);color:#b88a450f}.cook-card h1{font:400 clamp(42px,7vw,72px)/1 var(--mf-serif);margin:0 0 26px}.cook-card>p:not(.eyebrow){font-size:clamp(18px,2.5vw,24px);line-height:1.6;color:#ccd5d8}.time-chip{display:inline-block;margin-top:22px;border:1px solid var(--line);border-radius:99px;padding:10px 15px;color:var(--gold2)}.cook-nav{display:flex;gap:12px}.cook-nav button{flex:1;padding:16px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:#fff}.cook-nav .primary{background:var(--gold);color:#13202a;border-color:var(--gold);font-weight:800}.cook-nav button:disabled{opacity:.35}@media(max-width:850px){.intro{grid-template-columns:1fr;padding-top:42px}.recipe-grid{grid-template-columns:1fr;margin-inline:16px}.recipe-visual{min-height:520px}.collection{grid-template-columns:1fr}.recipe-panel{padding:35px 24px}.topbar{height:72px}.intro,.categories,.collection{padding-inline:20px}.intro h1{font-size:46px}.collection{padding-block:65px}footer{align-items:flex-start;flex-wrap:wrap}footer a{width:100%;margin:8px 0 0}.cook-shell{padding-inline:16px}.cook-card{border-radius:22px}.cook-nav{position:sticky;bottom:15px}}@media(max-width:430px){.recipe-visual{min-height:440px}.visual-copy{left:24px;bottom:25px}.visual-copy h2{font-size:38px}.facts div{padding:16px 8px}.facts strong{font-size:11px}.ingredients button span{display:block}.start-cooking small{display:none}}.brand-logo{width:58px;height:58px;object-fit:cover;border-radius:10px;border:1px solid #b88a4555;box-shadow:0 6px 20px #0008}.brand-headline{margin:28px max(24px,5vw) 0;border:1px solid #b88a4547;border-radius:20px;overflow:hidden;box-shadow:0 18px 50px #0006}.brand-headline img{display:block;width:100%;height:auto;max-height:330px;object-fit:cover}.brand>span{display:none}@media(max-width:850px){.brand-logo{width:46px;height:46px;border-radius:8px}.brand-headline{margin:16px 16px 0;border-radius:14px}.brand-headline img{min-height:120px;object-fit:cover}.intro{padding-top:34px}}@media(max-width:430px){.brand strong{font-size:12px}.brand small{font-size:9px}.brand-headline img{min-height:112px}}.recipe-list{display:grid;gap:12px}.recipe-list>button{border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0;overflow:hidden;display:grid;grid-template-columns:110px 1fr;text-align:left;min-height:105px}.recipe-list>button.selected{border-color:var(--gold);box-shadow:0 0 0 1px #b88a4533}.recipe-list img{width:100%;height:100%;object-fit:cover}.recipe-list span{padding:17px;display:flex;flex-direction:column;gap:5px}.recipe-list small{color:var(--cyan);text-transform:uppercase;font-size:9px;letter-spacing:.12em}.recipe-list strong{font:20px var(--mf-serif)}.recipe-list em{color:var(--gold2);font-size:11px;font-style:normal;margin-top:auto}:root{--mf-content-width:1080px;--mf-headline-height:160px}.brand-headline{width:min(var(--mf-content-width),calc(100% - 40px));height:var(--mf-headline-height);margin:38px auto 0}.brand-headline img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}@media(max-width:850px){.brand-headline{width:calc(100% - 32px);height:clamp(112px,20vw,var(--mf-headline-height));margin-top:16px}.brand-headline img{min-height:0}}:root{--sidebar-width:260px;--nav-surface:#06111df2}body{min-width:320px;background:radial-gradient(circle at 78% 0%,#0b203166 0,transparent 34rem),var(--navy)}.app-shell{min-height:100vh}.app-main{width:calc(100% - var(--sidebar-width));min-height:100vh;margin-left:var(--sidebar-width)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-width);display:flex;flex-direction:column;padding:24px 18px;border-right:1px solid rgba(210,170,36,.58);background:linear-gradient(180deg,#092234f5,#04101afc);box-shadow:18px 0 55px #0005}.sidebar-brand{display:flex;align-items:center;gap:13px;padding:0;margin-bottom:30px;color:var(--text);text-decoration:none}.sidebar-brand img{width:70px;height:70px;flex:0 0 auto;object-fit:cover;border:1px solid rgba(210,170,36,.38);border-radius:16px;box-shadow:0 8px 24px #0008}.sidebar-brand span{min-width:0;display:flex;flex-direction:column;gap:5px}.sidebar-brand strong{font-family:var(--mf-serif);font-size:1.05rem;letter-spacing:.025em;color:var(--text)}.sidebar-brand small{font-size:.7rem;line-height:1.35;color:var(--muted)}.sidebar-nav{display:grid;gap:8px}.sidebar-nav a{display:flex;align-items:center;gap:13px;min-height:52px;padding:0 14px;border:1px solid transparent;border-radius:13px;color:var(--mf-text-soft);text-decoration:none;font-size:13px;transition:.2s ease}.sidebar-nav a:hover{color:var(--text);background:#55c5d814}.sidebar-nav a.active{color:var(--text);background:linear-gradient(90deg,#145b7794,#0a2d4159);border-color:#d2aa2461;box-shadow:inset 3px 0 0 var(--gold2);font-weight:800}.sidebar-nav i{width:20px;text-align:center;font-style:normal;font-size:16px}.sidebar-nav b{min-width:21px;margin-left:auto;padding:3px 6px;border:1px solid currentColor;border-radius:999px;text-align:center;font-size:9px}.sidebar-signature{display:flex;flex-direction:column;gap:5px;margin-top:auto;padding:19px 14px 2px;border-top:1px solid var(--line)}.sidebar-signature strong{color:var(--gold);font-size:9px;letter-spacing:.18em}.sidebar-signature small{color:#71838d;font-size:9px}.mobile-topbar,.mobile-nav{display:none}.personal-line{margin:20px 0 0;color:#aebbc1;font-size:13px;letter-spacing:.025em}.brand-headline{height:var(--mf-headline-height);aspect-ratio:auto;border:0;border-bottom:1px solid rgba(210,170,36,.24);border-radius:0;background:#061326;box-shadow:none}.brand-headline img{height:100%;object-fit:cover;object-position:center}footer>small{margin-left:auto;color:#71838d}@media(max-width:1024px){body{padding-bottom:76px}.sidebar{display:none}.app-main{width:100%;margin-left:0}.mobile-topbar{display:flex}.mobile-nav{position:fixed;inset:auto 10px 10px;z-index:60;display:grid;grid-template-columns:repeat(6,1fr);min-height:64px;padding:5px;border:1px solid #b88a4547;border-radius:18px;background:var(--nav-surface);box-shadow:0 14px 45px #000b;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border-radius:12px;color:#899ba4;text-decoration:none}.mobile-nav a.active{background:#b88a451c;color:var(--gold2)}.mobile-nav i{font-style:normal;font-size:17px;line-height:1}.mobile-nav span{font-size:8px;white-space:nowrap}.brand-headline{height:clamp(112px,20vw,var(--mf-headline-height));aspect-ratio:auto}footer{padding-bottom:40px}}@media(max-width:1400px){.intro{grid-template-columns:1fr;align-items:start}.intro .search{width:100%}}@media(min-width:1025px)and (max-width:1400px){.categories{flex-wrap:wrap;overflow:visible}}@media(max-width:560px){.topbar{padding-inline:16px}.brand-headline{width:calc(100% - 24px);margin-top:12px}.mobile-nav{inset-inline:6px;bottom:6px}.mobile-nav span{font-size:7px}.personal-line{max-width:32ch;line-height:1.55}footer>small{width:100%;margin:8px 0 0}}.search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #b88a4517}.categories button:focus-visible,.no-results button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.no-results{min-height:190px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:28px;border:1px dashed var(--line);border-radius:20px;background:#0c1b2c80}.no-results>span{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--panel2);color:var(--gold);font-size:25px}.no-results div{display:flex;flex-direction:column;gap:7px}.no-results small{color:var(--muted);line-height:1.5}.no-results button{grid-column:1/-1;justify-self:start;padding:10px 15px;border:1px solid var(--gold);border-radius:999px;background:transparent;color:var(--gold2)}.ingredients-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.ingredients-title>button{border:1px solid var(--gold);border-radius:999px;background:transparent;color:var(--gold2);padding:8px 12px;font-size:10px}.ingredient-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border-bottom:1px solid #294052b3}.ingredient-check{min-width:0;display:flex;align-items:center;gap:12px;padding:10px 0;border:0;background:none;color:inherit;text-align:left}.ingredient-check i{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#07151b;font-style:normal}.ingredient-check span{display:flex;gap:8px;color:#c4ced2;font-size:13px}.ingredient-check strong{min-width:65px;color:var(--gold2)}.ingredient-row.checked .ingredient-check span{text-decoration:line-through;opacity:.55}.ingredient-row.checked .ingredient-check i{border-color:var(--cyan);background:var(--cyan)}.ingredient-add{width:31px;height:31px;border:1px solid var(--gold);border-radius:9px;background:#b88a4510;color:var(--gold2)}.ingredient-add.added{border-color:var(--cyan);background:#65c4da1c;color:var(--cyan)}.ingredient-add:disabled{cursor:default;opacity:1}.nutrition{margin-top:28px;padding:20px;border:1px solid #b88a4547;border-radius:18px;background:linear-gradient(135deg,#11263a,#0c1b24)}.nutrition-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.nutrition-heading .eyebrow{margin-bottom:7px}.nutrition-heading h3{margin:0;font:400 25px var(--mf-serif)}.nutrition-heading>span{color:var(--gold);font:36px var(--mf-serif)}.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:17px;border-block:1px solid var(--line)}.nutrition-grid div{display:flex;flex-direction:column;gap:4px;padding:15px 10px}.nutrition-grid div+div{border-left:1px solid var(--line)}.nutrition-grid strong{color:var(--gold2);font-size:17px}.nutrition-grid small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.nutrition>p{margin:13px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.shopping-section{padding:10px max(24px,5vw) 90px;scroll-margin-top:30px}.shopping-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:25px}.shopping-heading h2{margin:0;font:400 clamp(34px,4vw,52px)/1 var(--mf-serif)}.shopping-heading>div>p:last-child{margin:12px 0 0;color:var(--muted)}.shopping-count{min-width:96px;padding:14px 18px;border:1px solid #b88a4547;border-radius:16px;background:var(--panel);text-align:center}.shopping-count strong{display:block;color:var(--gold2);font:30px var(--mf-serif)}.shopping-count span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.shopping-sync-error{margin:0 0 14px;padding:11px 14px;border:1px solid #b88a4550;border-radius:11px;background:#b88a450c;color:#e7c98f;font-size:12px}.shopping-card,.shopping-empty{border:1px solid #b88a4547;border-radius:22px;background:var(--panel);box-shadow:0 18px 55px #0004}.shopping-card{padding:10px 24px 20px}.shopping-item{min-height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border-bottom:1px solid var(--line)}.shopping-check{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#07151b}.shopping-item-copy{min-width:0;padding:10px 0}.shopping-item-main{display:flex;gap:10px;align-items:baseline;color:#c7d0d5;font-size:13px}.shopping-item-main strong{min-width:74px;color:var(--gold2)}.shopping-item-copy small{display:block;margin-top:5px;color:var(--cyan);font-size:10px;letter-spacing:.04em}.shopping-item-copy small>span{margin-right:5px;color:var(--gold)}.shopping-item.checked .shopping-item-main{text-decoration:line-through}.shopping-item.checked .shopping-item-copy{opacity:.5}.shopping-item.checked .shopping-check{border-color:var(--cyan);background:var(--cyan)}.shopping-remove{border:0;background:transparent;color:#71838d;font-size:21px}.shopping-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.shopping-export{display:flex;flex-wrap:wrap;gap:8px}.shopping-export button{padding:9px 13px;border:1px solid #b88a4566;border-radius:999px;background:#b88a450b;color:var(--gold2);font-size:11px}.shopping-export button:hover{border-color:var(--gold);background:#b88a4518}.shopping-export-message{margin:14px 0 0;color:var(--cyan);font-size:11px;text-align:left}.clear-completed,.clear-all{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:11px}.clear-all{margin-left:auto;border-color:#9c5960;color:#dba5aa}.shopping-empty{min-height:150px;display:flex;align-items:center;gap:18px;padding:30px}.shopping-empty>span{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--panel2);color:var(--gold);font-size:22px}.shopping-empty div{display:flex;flex-direction:column;gap:6px}.shopping-empty small{color:var(--muted)}@media(max-width:850px){.shopping-section{padding:0 20px 65px}.shopping-heading{align-items:center}}@media(max-width:560px){.ingredient-check span,.shopping-item-main{display:block}.shopping-item-main strong{display:inline-block;margin-right:6px;min-width:0}.ingredients-title{align-items:end}.ingredients-title>button{max-width:105px}.shopping-heading{align-items:flex-start;flex-direction:column;gap:14px}.shopping-count{min-width:78px;padding:12px}.shopping-card{padding-inline:16px}.shopping-actions{align-items:stretch;flex-direction:column}.shopping-export{display:grid;grid-template-columns:repeat(3,1fr)}.shopping-export button{padding:10px 6px;font-size:10px}.clear-completed,.clear-all{width:100%;margin-left:0}}@media print{@page{margin:16mm}body{background:#fff;color:#16232a}body *{visibility:hidden}.shopping-section,.shopping-section *{visibility:visible}.shopping-section{position:absolute;inset:0;width:100%;padding:0;color:#16232a}.shopping-heading{margin-bottom:18px}.shopping-heading .eyebrow{color:#8b672c}.shopping-heading h2{color:#16232a}.shopping-heading>div>p:last-child,.shopping-count span{color:#596971}.shopping-count{border-color:#caa966;background:#fff}.shopping-card{border-color:#caa966;background:#fff;box-shadow:none}.shopping-item{border-color:#d9dfe2;break-inside:avoid}.shopping-item-main{color:#26363e}.shopping-item-main strong{color:#8b672c}.shopping-item-copy small{color:#277f84}.shopping-check,.shopping-remove,.shopping-actions,.shopping-export-message,.shopping-sync-error{display:none!important}.shopping-item{grid-template-columns:1fr}}.cook-shell{width:100%;overflow-x:hidden}.cook-card{isolation:isolate}.cook-card>*:not(.step-number){position:relative;z-index:1}.step-number{top:10px;right:28px;z-index:0;color:#b88a4530;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.cook-card h1{max-width:14ch;overflow-wrap:anywhere}@media(max-width:600px){.cook-shell{padding-inline:14px;padding-bottom:18px}.cook-head{height:76px}.cook-card{padding:42px 24px 34px}.cook-card h1{font-size:clamp(36px,11vw,52px);line-height:1.02}.cook-card>p:not(.eyebrow){font-size:18px;line-height:1.55}.step-number{top:14px;right:18px;font-size:88px;color:#b88a4538}.cook-nav{bottom:8px}}.install-section{margin:0 max(24px,5vw) 80px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:26px;border:1px solid #b88a4550;border-radius:22px;background:linear-gradient(135deg,#11263a,#0d1d27);box-shadow:0 18px 55px #0004;scroll-margin-top:30px}.install-icon img{width:72px;height:72px;display:block;border:1px solid #b88a4555;border-radius:16px;box-shadow:0 10px 28px #0008}.install-copy h2{margin:0;font:400 30px var(--mf-serif)}.install-copy>p:not(.eyebrow){max-width:66ch;margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.install-steps{display:flex;gap:10px;margin:16px 0 0;padding:0;list-style:none}.install-steps li{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:#c5d0d4;font-size:11px}.install-steps strong{width:23px;height:23px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#b88a4520;color:var(--gold2)}.install-button{padding:12px 17px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--gold2),#9f7134);color:#10202a;font-weight:800}.install-status{padding:9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--cyan);font-size:10px;white-space:nowrap}@media(max-width:700px){.install-section{margin:0 20px 60px;grid-template-columns:auto 1fr;padding:20px}.install-icon img{width:58px;height:58px;border-radius:13px}.install-button,.install-status{grid-column:1/-1;justify-self:start}.install-steps{grid-column:1/-1;flex-direction:column}}.admin-users-section{padding:0 max(24px,5vw) 70px;scroll-margin-top:30px}.admin-users-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-users-heading h2{margin:0;font:400 clamp(34px,4vw,52px)/1 var(--mf-serif)}.admin-users-heading>div>p:last-child{margin:12px 0 0;color:var(--muted)}.admin-users-count{padding:11px 15px;border:1px solid #b88a4547;border-radius:999px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.admin-users-count strong{margin-right:4px;color:var(--gold2);font-size:15px}.admin-invite-card{display:grid;grid-template-columns:minmax(250px,1fr) minmax(260px,.8fr) auto;align-items:end;gap:16px;margin-bottom:18px;padding:20px 22px;border:1px solid #65c4da45;border-radius:20px;background:linear-gradient(135deg,#11263a,#0c1b25);box-shadow:0 16px 45px #0003}.admin-invite-card>div{display:flex;align-items:center;gap:13px;align-self:center}.admin-invite-icon{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #b88a4555;border-radius:13px;color:var(--gold2);font-size:22px}.admin-invite-card>div>div{display:flex;flex-direction:column;gap:5px}.admin-invite-card strong{font-size:13px}.admin-invite-card small{color:var(--muted);font-size:10px;line-height:1.45}.admin-invite-card label{display:grid;gap:6px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.admin-invite-card input{width:100%;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:11px;outline:0;background:#08151e;color:var(--text)}.admin-invite-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b88a4517}.admin-invite-card>button{height:44px;padding:0 18px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--gold2),#9f7134);color:#10202a;font-size:11px;font-weight:800;white-space:nowrap}.admin-invite-card>button:disabled{opacity:.6;cursor:wait}.admin-invite-card>p{grid-column:1/-1;margin:0;padding-top:2px;color:var(--cyan);font-size:11px}.admin-invite-actions{grid-column:1/-1;display:flex!important;align-items:center;gap:10px!important}.admin-invite-actions button{min-height:38px;padding:0 15px;border:1px solid var(--gold);border-radius:10px;background:var(--gold);color:#10202a;font-size:10px;font-weight:800}.admin-invite-actions button.secondary{background:transparent;color:var(--gold2)}.admin-users-card{overflow:hidden;border:1px solid #b88a4547;border-radius:22px;background:var(--panel);box-shadow:0 18px 55px #0004}.admin-user-row{min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 22px}.admin-user-row+.admin-user-row{border-top:1px solid var(--line)}.admin-user-avatar{width:46px;height:46px;display:grid;place-items:center;border:1px solid #b88a4566;border-radius:14px;background:linear-gradient(145deg,#1c3441,#0a1720);color:var(--gold2);font:24px var(--mf-serif)}.admin-user-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.admin-user-copy strong{display:flex;align-items:center;gap:8px;font-size:14px}.admin-user-copy strong em{padding:3px 6px;border-radius:999px;background:#65c4da1c;color:var(--cyan);font:700 8px var(--mf-sans);text-transform:uppercase;letter-spacing:.1em}.admin-user-copy small{overflow:hidden;color:#c1ccd1;text-overflow:ellipsis}.admin-user-copy>span{color:var(--muted);font-size:9px}.admin-user-badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.admin-user-badges>span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:9px;white-space:nowrap}.access-state.active{border-color:#65c4da55;color:var(--cyan)}.access-state.pending{border-color:#b88a4555;color:var(--gold2)}.role-badge.admin{background:#b88a4514;color:var(--gold2)}.role-badge.member{color:var(--muted)}.admin-users-state{margin:0;padding:28px;color:var(--muted);text-align:center}.admin-users-state.error{color:#dba5aa}.admin-users-note{margin:12px 4px 0;color:var(--muted);font-size:10px}@media(max-width:700px){.admin-users-section{padding:0 20px 60px}.admin-users-heading{align-items:flex-start}.admin-invite-card{grid-template-columns:1fr;padding:18px}.admin-invite-card>button{width:100%}.admin-invite-actions{align-items:stretch!important;flex-direction:column}.admin-invite-actions button{width:100%}.admin-user-row{grid-template-columns:auto minmax(0,1fr);padding-inline:16px}.admin-user-badges{grid-column:2;justify-content:flex-start}}@media(max-width:560px){.admin-users-heading{flex-direction:column;gap:14px}.admin-users-heading>div,.shopping-heading>div{min-width:0;width:100%}.admin-users-heading h2,.shopping-heading h2{overflow-wrap:anywhere}.admin-users-count,.shopping-count{align-self:flex-start}}@media(max-width:560px){.ingredient-row .ingredient-check span{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:12px;line-height:1.45}.ingredient-row .ingredient-check strong{min-width:0;white-space:nowrap}.nutrition{padding:17px 14px}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.nutrition-grid div:nth-child(3){border-left:0}.nutrition-grid div:nth-child(n+3){border-top:1px solid var(--line)}}.settings-section{padding:0 max(24px,5vw) 70px;scroll-margin-top:30px}.settings-heading{margin-bottom:24px}.settings-heading h2{margin:0;font:400 clamp(34px,4vw,52px)/1 var(--mf-serif)}.settings-heading>p:last-child{margin:12px 0 0;color:var(--muted)}.settings-card{overflow:hidden;border:1px solid #b88a4547;border-radius:22px;background:var(--panel);box-shadow:0 18px 55px #0004}.setting-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px}.setting-row+.setting-row{border-top:1px solid var(--line)}.setting-row>div{display:flex;flex-direction:column;gap:5px}.setting-row strong{color:var(--text);font-size:13px}.setting-row small{color:var(--muted);line-height:1.45}.setting-switch{width:48px;height:27px;flex:0 0 auto;padding:3px;border:1px solid var(--line);border-radius:999px;background:#09151d;transition:.2s ease}.setting-switch span{width:19px;height:19px;display:block;border-radius:50%;background:#71838d;transition:.2s ease}.setting-switch.on{border-color:var(--gold);background:#b88a4526}.setting-switch.on span{transform:translate(19px);background:var(--gold2)}.large-text{font-size:112%}.large-text .lead,.large-text .personal-line,.large-text .shopping-heading>div>p:last-child,.large-text .install-copy>p:last-child{font-size:1rem}.large-text button,.large-text input{font-size:inherit}.high-contrast{--muted:#c6d0d5;--line:#647985;--text:#fffdf7}.high-contrast .step-number{color:#e3be7650}.reduced-motion,.reduced-motion *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}@media(max-width:700px){.settings-section{padding:0 20px 60px}.setting-row{padding-inline:18px}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 75% 15%,#19313c 0,#07111f 42%),#07111f}.auth-card{width:min(100%,480px);padding:clamp(28px,6vw,52px);border:1px solid #b88a4550;border-radius:28px;background:linear-gradient(145deg,#11263a,#0b1922);box-shadow:0 28px 90px #0009;text-align:center}.auth-logo{width:86px;height:86px;margin-bottom:24px;border:1px solid #b88a4555;border-radius:20px;box-shadow:0 14px 35px #0008}.auth-card h1{margin:0;font:400 clamp(38px,7vw,56px)/1.02 var(--mf-serif)}.auth-lead{margin:18px auto 26px;color:#aebbc1;line-height:1.65}.auth-card form{display:grid;gap:15px;text-align:left}.auth-card label{display:grid;gap:7px;color:#c9d2d6;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.auth-card input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:12px;outline:0;background:#08151e;color:var(--text)}.auth-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b88a4517}.auth-card form>button{height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--gold2),#9f7134);color:#10202a;font-weight:800}.auth-card form>button:disabled{opacity:.6;cursor:wait}.auth-text-button{margin-top:16px;border:0;background:transparent;color:#dfbc7a;font:600 13px/1.4 inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.auth-text-button:hover{color:#f2d89f}.auth-message{margin:0;padding:10px 12px;border:1px solid #65c4da55;border-radius:10px;background:#65c4da0d;color:#b8dfe1;font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0}.auth-card>small{display:block;margin-top:20px;color:#71838d;line-height:1.5}.auth-loading img{width:68px;height:68px;border-radius:15px}.auth-loading p{color:var(--muted)}
