@font-face{font-family:Lato;src:url('/fonts/Lato-Regular.ttf')}@font-face{font-family:Lato;src:url('/fonts/Lato-Bold.ttf');font-weight:700}@font-face{font-family:Poppins;src:url('/fonts/Poppins-Bold.ttf');font-weight:700}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dip-art{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16/9;background:linear-gradient(135deg,#e3eff6,#f7fafc);color:#0877af;font-size:13px;letter-spacing:.04em}.dip-art span{font-size:65px;line-height:1}.dip-art.large{border-radius:20px;max-height:320px;font-size:18px}
:root{--navy:#143e5a;--blue:#0877af;--muted:#586b76;--tint:#edf5fa;--line:#dbe6ed;--paper:#fff;--bg:#f5f8fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);font-family:Lato,system-ui,sans-serif;color:#30363b;font-size:17px;line-height:1.5;padding-bottom:calc(92px + env(safe-area-inset-bottom))}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:var(--blue);color:white;padding:12px 19px;border-radius:12px;font-weight:700;min-height:46px}button:hover{filter:brightness(.95)}button:disabled{opacity:.55;cursor:wait}.secondary{background:var(--tint);color:var(--navy)}.danger{background:#fff0ed;color:#a13e2c}a{color:var(--blue);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #db9700;outline-offset:3px}.masthead{height:82px;padding:14px max(22px,calc((100vw - 1160px)/2));background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:0;z-index:5}.brand{display:flex;gap:11px;align-items:center;color:var(--navy);font-weight:700;letter-spacing:.08em;text-decoration:none;font-size:12px;white-space:nowrap}.brand img{border-radius:11px}.brand small{display:block;letter-spacing:0;font-size:19px}.publisher{color:var(--muted);font-size:11px;letter-spacing:.12em}.bottom{position:fixed;z-index:10;bottom:0;background:#fff;width:100%;display:flex;justify-content:center;gap:clamp(8px,4vw,50px);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -3px 30px #143e5a09}.bottom a{min-width:70px;color:var(--muted);font-size:12px;text-align:center;text-decoration:none;border-radius:11px;padding:3px 15px}.bottom a.active{background:var(--tint);color:var(--blue);font-weight:700}.bottom span{display:block;font-size:28px;height:31px;line-height:31px}main{max-width:1160px;margin:0 auto;padding:28px 22px}.eyebrow{color:var(--blue);font-size:12px;letter-spacing:.11em;font-weight:700;text-transform:uppercase}h1,h2,h3{font-family:Poppins,Lato,sans-serif;color:var(--navy);line-height:1.2;margin:0 0 15px}h1{font-size:clamp(27px,4.4vw,46px);letter-spacing:-.035em}h2{font-size:24px}h3{font-size:18px}p{margin:0 0 16px}.muted{color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 44%;min-height:280px;background:var(--navy);border-radius:22px;overflow:hidden;color:white;margin-bottom:28px}.hero div{padding:32px}.hero h1{color:white;font-size:clamp(28px,4vw,41px)}.hero .eyebrow{color:#a8daed}.hero img{width:100%;height:100%;object-fit:cover}.hero p{max-width:430px;color:#dcecf6}.toolbar{display:grid;grid-template-columns:1fr 250px;gap:12px;margin:24px 0 13px}.search{position:relative}.search input,select{width:100%;border:1px solid #bccfdc;background:white;border-radius:12px;padding:13px;color:var(--navy);min-height:49px}.search input{padding-left:40px}.search span{position:absolute;left:15px;top:10px;font-size:22px;color:var(--blue)}.filters{display:flex;gap:10px;align-items:center;margin:8px 0 25px}.filters label{display:flex;align-items:center;gap:9px;font-size:14px;background:white;border:1px solid var(--line);border-radius:30px;padding:8px 13px}.filters input{accent-color:var(--blue);width:18px;height:18px}.result-info{font-size:14px;color:var(--muted);min-height:21px;margin:0 0 15px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative;box-shadow:0 3px 11px #143e5a04}.card>a{display:block;text-decoration:none;color:inherit}.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.card-copy{padding:17px 18px 20px}.card h2{font-size:19px;line-height:1.3;margin:7px 0 13px}.card .eyebrow{font-size:10px}.card-meta{color:var(--muted);font-size:13px}.heart{position:absolute;top:12px;right:12px;width:43px;padding:4px;min-height:43px;background:#ffffffed;color:var(--navy);border-radius:50%;font-size:25px;box-shadow:0 2px 8px #143e5a25}.heart.saved{color:#bd432d}.empty,.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:25px}.empty{text-align:center;padding:50px 25px}.empty p{max-width:430px;margin:0 auto 20px}.back{display:inline-block;margin-bottom:20px;font-size:15px;text-decoration:none}.recipe{max-width:900px;margin:auto}.recipe-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;display:block}.recipe-head{padding:25px 0 5px}.recipe-head h1{font-size:clamp(29px,4vw,42px);margin-top:10px;margin-bottom:23px}.intro{font-size:19px;color:var(--muted);max-width:750px;line-height:1.65}.recipe-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 26px}.meta-grid div{background:var(--tint);border-radius:12px;padding:15px}.meta-grid span{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--blue);text-transform:uppercase}.meta-grid strong{display:block;margin-top:5px;color:var(--navy);font-size:17px}.portions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 23px;background:var(--navy);border-radius:15px;color:white;margin-bottom:12px}.portions label{font-weight:700}.portion-controls{display:flex;align-items:center;gap:13px}.portion-controls button{background:#ffffff24;width:40px;padding:6px;font-size:23px;min-height:40px}.portion-controls output{min-width:37px;text-align:center;font-size:24px;font-weight:700}.scale-note{font-size:14px;color:var(--muted);margin-bottom:28px;max-width:770px}.recipe-body{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:35px}.ingredients{list-style:none;padding:0;margin:0 0 20px}.ingredients li{padding:11px 0;border-bottom:1px solid var(--line);line-height:1.5}.ingredients .optional{display:flex;gap:9px;align-items:flex-start;font-size:15px;color:var(--muted)}.ingredients input{accent-color:var(--blue);margin-top:5px;width:19px;height:19px}.steps{list-style:none;counter-reset:steps;padding:0;margin:0}.steps li{counter-increment:steps;position:relative;padding:0 0 22px 38px;line-height:1.65}.steps li:before{content:counter(steps);position:absolute;left:0;top:1px;background:var(--tint);color:var(--blue);width:27px;height:27px;border-radius:50%;font-weight:700;font-size:15px;text-align:center;line-height:27px}.nutrition{margin-top:28px;padding:22px;background:var(--tint);border-radius:15px}.nutrition h2{font-size:16px}.nutrition p{margin:0;font-size:14px}.basket-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:25px}.basket-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}.checklist{padding:0;margin:0;list-style:none}.checklist li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line)}.checklist input{width:22px;height:22px;flex-shrink:0;accent-color:var(--blue);margin-top:3px}.checklist label{flex:1}.checklist small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.checklist li.checked label{text-decoration:line-through;color:var(--muted)}.basket-source{display:flex;gap:8px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.basket-source button{background:var(--tint);color:var(--navy);font-size:13px;padding:5px 9px;min-height:35px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.help{max-width:800px;margin:auto}.help .panel{margin-top:20px}.help h1{margin:7px 0 20px}.help h2{font-size:20px}.help li{margin-bottom:9px}.help ul,.help ol{padding-left:23px}.help details{padding:16px 0;border-bottom:1px solid var(--line)}.help summary{font-weight:700;color:var(--navy);cursor:pointer;min-height:30px}.help details p{margin-top:12px}.progress{height:8px;width:100%;accent-color:var(--blue)}#toast{position:fixed;bottom:103px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:12px 20px;border-radius:12px;z-index:20;box-shadow:0 8px 35px #143e5a35;max-width:90vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.skip{position:fixed;top:-80px;left:15px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.loading{padding:50px;text-align:center}dialog{border:1px solid var(--line);border-radius:20px;max-width:450px;color:#30363b;padding:28px}dialog::backdrop{background:#143e5a80}footer{font-size:13px;color:var(--muted);margin-top:24px}.status-dot{width:8px;height:8px;background:#25816a;border-radius:50%;display:inline-block;margin-right:6px}@media(max-width:800px){.grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr 40%}.hero div{padding:25px}.hero h1{font-size:30px}.publisher{display:none}.basket-layout{grid-template-columns:1fr}.basket-layout aside{order:-1}.basket-source{display:inline-flex;margin-right:15px}.recipe-body{gap:25px}}@media(max-width:540px){body{font-size:17px}.masthead{height:72px;padding:12px 18px}.brand{font-size:10px}.brand small{font-size:17px}main{padding:20px 17px}.hero{display:block;position:relative;min-height:300px}.hero div{position:relative;z-index:1;padding:27px 22px;max-width:85%}.hero h1{font-size:32px}.hero p{font-size:15px;line-height:1.6}.hero img{position:absolute;inset:0;height:100%;opacity:.18}.toolbar{grid-template-columns:1fr;gap:10px;margin-top:20px}.filters{margin-bottom:20px;gap:6px}.filters label{padding:7px 10px;font-size:13px}.grid{gap:14px}.card-copy{padding:12px 12px 15px}.card h2{font-size:16px;letter-spacing:-.02em;margin:7px 0 11px}.card .eyebrow{font-size:8px;letter-spacing:.05em}.card-meta{font-size:11px}.heart{top:8px;right:8px;min-height:36px;width:36px;font-size:22px}.recipe-photo{border-radius:15px}.recipe-head{padding-top:22px}.recipe-head h1{margin-bottom:24px}.intro{font-size:18px;line-height:1.65}.meta-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.meta-grid div:last-child{grid-column:1/-1}.meta-grid div{padding:12px 14px}.portions{padding:16px}.recipe-body{display:block}.ingredient-column{margin-bottom:32px}.ingredients li{padding:10px 0}.steps li{padding-bottom:23px}.recipe-actions button{font-size:14px}.bottom{gap:0;justify-content:space-around}.bottom a{padding:3px 9px;min-width:65px}.basket-head button{font-size:14px}.panel{padding:21px}.help .panel{padding:22px}.help h1{font-size:30px}.actions button{flex:1}.basket-source{display:flex;margin:0}.nutrition{margin-bottom:10px}}
