:root{--bg:#FBF6EE;--paper:#FFFDF9;--ink:#2B2320;--mute:#6B5D52;--line:#EADFD2;--acc:#E0561B;--acc2:#C45C2A;--accs:#FCE7DA;--ok:#3F7A4F;--oks:#E3F0E5;--dark:#2B2320;--dark2:#3A302B;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Noto Serif SC","Songti SC",serif;--sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","PingFang SC","Noto Sans SC",sans-serif;
--sh1:0 1px 2px rgba(43,35,32,.06),0 2px 8px rgba(43,35,32,.05);--sh2:0 2px 4px rgba(43,35,32,.06),0 10px 30px rgba(43,35,32,.09);--r:18px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 var(--sans);color:var(--ink);background:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .36 0 0 0 0 .32 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");padding-bottom:env(safe-area-inset-bottom)}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
.en,.zh{}html.zh .en{display:none}html:not(.zh) .zh{display:none}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));background:rgba(251,246,238,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(234,223,210,.7)}
.brand{display:flex;align-items:center;gap:9px;font:600 19px/1 var(--serif);letter-spacing:.2px}.brand svg{width:28px;height:28px}
.top nav{display:flex;align-items:center;gap:4px}.top nav a,.top nav button{padding:8px 12px;border-radius:999px;font-size:14px;color:var(--mute);min-height:38px;display:inline-flex;align-items:center}
.top nav a.on{color:var(--ink);background:#F1E7DA;font-weight:600}.top nav #lang{border:1px solid var(--line);color:var(--ink)}
main{max-width:1080px;margin:0 auto;padding:18px max(16px,env(safe-area-inset-left)) 40px}
footer{max-width:1080px;margin:0 auto;padding:30px 18px 50px;text-align:center;color:var(--mute);font-size:13px;border-top:1px solid var(--line)}
.muted{color:var(--mute)}.small{font-size:13px}
.primary{background:var(--acc);color:#fff;font-weight:600;border-radius:14px;padding:12px 20px;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 16px rgba(224,86,27,.32),0 2px 4px rgba(224,86,27,.25);transition:transform .12s}
.primary:active{transform:translateY(1px)}.primary:disabled{opacity:.45;box-shadow:none}
.ghost{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:10px 16px;font-weight:500}
.big{min-height:52px;font-size:16px;padding:14px 22px}.sm{padding:6px 12px;font-size:14px;min-height:44px}.link{color:var(--acc2);font-weight:600}
/* season */
.hero{display:grid;grid-template-columns:1fr;gap:18px}@media(min-width:880px){.hero{grid-template-columns:5fr 7fr;align-items:start}}
.season{position:relative;overflow:hidden;border-radius:24px;padding:24px 24px 22px;background:radial-gradient(120% 90% at 100% 0%,#F9C9A4 0%,rgba(249,201,164,0) 60%),linear-gradient(160deg,#FCE3CF 0%,#FBEFDF 55%,#FBF6EE 100%);box-shadow:var(--sh1);border:1px solid #F3DCC6;min-height:220px}
.season .leaf{position:absolute;right:-30px;bottom:-34px;width:170px;opacity:.16;transform:rotate(-18deg)}.season .sub{max-width:80%}
.season .dow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);font-weight:600}
.season .date{font:500 40px/1.05 var(--serif);margin:6px 0 2px;max-width:70%}
.season .sub{color:var(--mute);font-size:14px}
.season .cd{display:flex;align-items:baseline;gap:10px;margin-top:22px;padding-top:16px;border-top:1px dashed rgba(196,92,42,.35)}
.season .cd b{font:600 54px/1 var(--serif);color:var(--acc)}.season .cd span{font-size:15px;line-height:1.3}
.season .cd small{display:block;color:var(--mute);font-size:13px}
/* stage */
.stage{background:var(--paper);border-radius:24px;padding:20px;box-shadow:var(--sh2);border:1px solid #F0E6DA;position:relative}
.stage:before{content:"";position:absolute;inset:auto 22px -7px;height:14px;border-radius:0 0 18px 18px;background:#F1E6D8;z-index:-1}
.stage-h{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.stage-h h1{font:600 26px/1.1 var(--serif);margin:0}.stage-h p{margin:2px 0 0;font-size:13px;color:var(--mute)}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--bg)}
.stepper button{width:44px;height:44px;font-size:20px;color:var(--acc2)}.stepper span{min-width:64px;text-align:center;font-size:13px;color:var(--mute)}.stepper b{font-size:17px;color:var(--ink)}
.dishes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dishes li{display:flex;align-items:center;gap:12px;padding:8px;border-radius:16px;background:var(--bg);border:1px solid #F1E7DA}
.dish{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.dish b{display:block;font:600 17px/1.25 var(--serif)}.dish small{color:var(--mute);font-size:13px}
.plate{width:68px;height:68px;border-radius:50%;flex:none;overflow:hidden;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--line),0 6px 14px rgba(43,35,32,.18)}
.plate img,.cover img{width:100%;height:100%;object-fit:cover;display:block}
.acts{display:flex;gap:6px}.icon-b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--mute)}.icon-b svg{width:17px;height:17px}
.stage-f{display:flex;gap:10px;margin-top:16px}.stage-f .primary{flex:1}
.empty{padding:26px;text-align:center;color:var(--mute);border:1.5px dashed var(--line);border-radius:16px;margin:0}
/* fridge */
.fridge{display:flex;align-items:center;gap:18px;width:100%;text-align:left;margin:22px 0 0;padding:22px 22px 22px 26px;border-radius:24px;color:#F7EFE6;background:linear-gradient(135deg,#3A302B,#2B2320 60%,#231C19);box-shadow:var(--sh2);position:relative;overflow:hidden}
.fridge:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.07),transparent 40%);pointer-events:none}
.fridge .handle{width:6px;height:62px;border-radius:4px;background:linear-gradient(#D9CCBE,#9C8D80);flex:none}
.fridge .ft{flex:1}.fridge .ft b{display:block;font:600 22px/1.2 var(--serif)}.fridge .ft small{color:#CDBFB1;font-size:14px}.fridge em{color:#FFB287;font-style:normal;font-weight:600}
.fridge .chev{width:44px;height:44px;border-radius:50%;background:var(--acc);display:grid;place-items:center;color:#fff;font-size:22px;flex:none}
.fridge.open{display:block;padding:20px;cursor:default}.fh{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.fh b{font:600 20px var(--serif)}.fh .link{color:#FFB287;margin-right:12px}
.paste{display:flex;gap:8px;margin-bottom:6px}.paste input{flex:1;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid #4C413A;background:#1F1916;color:#fff;font:inherit}.paste input::placeholder{color:#8F8177}
.paste .ghost{background:#3A302B;border-color:#4C413A;color:#fff}
.shelf{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.shelf:last-child{border:0}
.shelf-l{margin:0 0 8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#B7A797;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:7px 13px;border-radius:999px;background:#3A302B;border:1px solid #4C413A;color:#EFE4D8;font-size:14px;min-height:44px}
.chip.on{background:#FCE7DA;color:#8A3410;border-color:#FCE7DA;font-weight:600}.chip.on:before{content:"✓ "}
/* filters + grid */
.sec-h{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:34px 0 12px;flex-wrap:wrap}.sec-h h2{font:600 26px/1.1 var(--serif);margin:0}
.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filters button{white-space:nowrap;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:14px;color:var(--mute)}
.filters.hol{margin-bottom:6px}.filters.hol button{border-color:#C9A27A}.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1000px){.grid{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh1);border:1px solid #F0E6DA;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
.cover{position:relative;aspect-ratio:4/3;background:#EADFD2;overflow:hidden;display:block}
.cover .ph{position:absolute;inset:0;display:grid;place-items:center;font:600 44px var(--serif);color:rgba(255,255,255,.92)}
.cover .ct{position:absolute;left:8px;top:8px;padding:3px 9px;border-radius:999px;background:rgba(255,253,249,.92);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink)}
.cover .ct.tgc{background:var(--acc);color:#fff}
.plus{position:absolute;right:8px;bottom:-18px;width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;box-shadow:0 4px 12px rgba(224,86,27,.4);z-index:2}
.plus.on{background:var(--ok);box-shadow:0 4px 12px rgba(63,122,79,.35);font-size:17px}
.cw{position:relative}.card-t{padding:12px 13px 4px;flex:1}.card-t b{display:block;font:600 16.5px/1.25 var(--serif);padding-right:30px}.card-t small{display:block;color:var(--mute);font-size:13px;margin-top:3px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-f{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding:6px 13px 13px;font-size:12px}
.badge{background:var(--oks);color:var(--ok);padding:3px 8px;border-radius:999px;font-weight:600}.miss{background:var(--accs);color:#9A3B12;padding:3px 8px;border-radius:999px;font-weight:600}.miss.all{background:var(--oks);color:var(--ok)}
.meta-s{color:var(--mute)}
/* list */
.pg{font:600 34px/1.1 var(--serif);margin:6px 0 4px}
.list-wrap{max-width:680px;margin:0 auto}
.note{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:center;margin:14px 0}
.note .plate{width:44px;height:44px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}.note .stack{display:flex}.note .stack .plate+.plate{margin-left:-12px}
.seg{display:inline-flex;background:#F1E7DA;border-radius:12px;padding:3px;margin:4px 0 8px}.seg button{padding:8px 14px;border-radius:10px;font-size:14px;color:var(--mute)}.seg button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--sh1)}
.aisle{display:flex;align-items:center;gap:8px;font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--acc2);margin:22px 0 6px}.aisle small{color:var(--mute);font-weight:500}
.check{list-style:none;margin:0;padding:0;background:var(--paper);border-radius:16px;border:1px solid #F0E6DA;box-shadow:var(--sh1);overflow:hidden}
.check li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 16px;min-height:52px;border-bottom:1px solid #F3EBE0}.check li:last-child{border:0}
.check label{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;padding:12px 0}.check input{appearance:none;width:22px;height:22px;border-radius:7px;border:1.8px solid #CDBFB1;display:grid;place-items:center;flex:none}
.check input:checked{background:var(--ok);border-color:var(--ok)}.check input:checked:after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.check li.done span{text-decoration:line-through;color:#A99B8E}.check .q{color:var(--mute);font-size:14px;font-variant-numeric:tabular-nums}
.check li.locked{filter:blur(4.5px);pointer-events:none;user-select:none;opacity:.8}
.gate{position:sticky;bottom:14px;margin-top:16px;background:var(--dark);color:#fff;border-radius:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:var(--sh2)}.gate b{font:600 17px var(--serif);display:block}.gate small{color:#CDBFB1}
/* modal */
.modal{position:fixed;inset:0;z-index:60;background:rgba(30,22,18,.5);display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(3px)}.modal[hidden]{display:none}
.sheet{background:var(--paper);width:100%;max-width:460px;border-radius:26px 26px 0 0;padding:26px 24px calc(22px + env(safe-area-inset-bottom));text-align:center;display:grid;gap:10px}
@media(min-width:600px){.modal{align-items:center}.sheet{border-radius:26px}}
.sheet h3{font:600 26px var(--serif);margin:4px 0 0}.sheet .price{font:600 42px var(--serif);color:var(--acc)}.sheet .price small{font-size:16px;color:var(--mute)}
.sheet ul{text-align:left;list-style:none;padding:0;margin:6px 0 8px;display:grid;gap:6px}.sheet li:before{content:"✓";color:var(--ok);font-weight:700;margin-right:10px}
.lockic{width:56px;height:56px;margin:0 auto;border-radius:18px;background:var(--accs);display:grid;place-items:center}.lockic svg{width:28px;height:28px}
/* recipe page */
.recipe{max-width:820px;margin:0 auto}
.r-hero{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:16/9;background:#EADFD2;box-shadow:var(--sh2)}
.r-hero img{width:100%;height:100%;object-fit:cover}.r-hero .ph{position:absolute;inset:0;display:grid;place-items:center;font:600 90px var(--serif);color:rgba(255,255,255,.9)}
.r-head{background:var(--paper);border-radius:22px;margin:-56px 18px 0;position:relative;padding:22px 22px 18px;box-shadow:var(--sh2);border:1px solid #F0E6DA}
.eyebrow{margin:0 0 6px;display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:12px;font-weight:600;letter-spacing:.04em;padding:3px 10px;border-radius:999px;background:var(--accs);color:#9A3B12}.tag.c{background:#F1E7DA;color:var(--ink)}
.recipe h1{font:600 34px/1.12 var(--serif);margin:0 0 6px}
.meta{display:flex;gap:0;margin:16px 0 4px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.meta div{flex:1;padding:10px 12px;text-align:center;border-right:1px solid var(--line)}.meta div:last-child{border:0}
.meta dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.meta dd{margin:2px 0 0;font:600 18px var(--serif)}
.row{display:flex;gap:10px;margin-top:16px}.row .primary{flex:1}
.r-body{display:grid;gap:22px;margin-top:26px}@media(min-width:780px){.r-body{grid-template-columns:5fr 7fr;align-items:start}.r-body .ingc{position:sticky;top:80px}}
.r-body section{background:var(--paper);border-radius:20px;padding:20px;border:1px solid #F0E6DA;box-shadow:var(--sh1)}
.r-body h2{font:600 22px var(--serif);margin:0 0 10px}
.ing{list-style:none;margin:0;padding:0}.ing li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line)}.ing li:last-child{border:0}.ing .q{color:var(--acc2);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}.steps li{counter-increment:s;display:grid;grid-template-columns:42px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #F3EBE0}.steps li:last-child{border:0}
.steps li:before{content:counter(s);width:34px;height:34px;border-radius:50%;background:var(--accs);color:var(--acc2);font:600 16px var(--serif);display:grid;place-items:center}
.steps p{margin:5px 0 0;grid-column:2;grid-row:1}
.credit{font-size:11px;color:#A99B8E;margin-top:14px;text-align:center}
/* cook mode */
.cookv{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;padding:calc(14px + env(safe-area-inset-top)) 20px calc(16px + env(safe-area-inset-bottom))}.cookv[hidden]{display:none}
.ck-top{display:flex;align-items:center;gap:12px}.ck-top .plate{width:44px;height:44px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}.ck-top .tt{flex:1;min-width:0}.ck-top b{display:block;font:600 16px var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck-top small{color:var(--mute)}
.ck-bar{display:flex;gap:4px;margin:14px 0 0}.ck-bar i{flex:1;height:5px;border-radius:3px;background:#EADFD2}.ck-bar i.on{background:var(--acc)}
.ck-photo{border-radius:20px;overflow:hidden;aspect-ratio:16/8;max-height:30vh;box-shadow:var(--sh1);margin-bottom:24px;width:100%}.ck-photo img{width:100%;height:100%;object-fit:cover}
.ck-main{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:760px;width:100%;margin:0 auto;padding:20px 0}
.ck-n{font:600 15px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}.ck-n b{font:600 64px/1 var(--serif);letter-spacing:0;display:block;color:var(--ink);margin-bottom:8px}
.ck-step{font:500 clamp(28px,4.6vw,40px)/1.32 var(--serif);margin:12px 0 0}
.ck-timer{margin-top:22px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:var(--dark);color:#fff;font:600 18px var(--sans);font-variant-numeric:tabular-nums}.ck-timer svg{width:20px;height:20px}
.ck-next{max-width:760px;width:100%;margin:0 auto 14px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:12px 16px;font-size:15px;color:var(--mute)}.ck-next b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2);margin-bottom:2px}
.ck-nav{display:flex;gap:10px;max-width:760px;width:100%;margin:0 auto}.ck-nav .primary{flex:2}.ck-nav .ghost{flex:1}.ck-nav button:disabled{opacity:.4}
/* home view */
.hv{min-height:100vh;display:grid;place-items:center;padding:20px}.hv-card{width:100%;max-width:420px;display:grid;gap:14px}

.cover .ph em,.r-hero .ph em{font-style:normal;font-size:24px;line-height:1.15;padding:0 18px;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.2)}.r-hero .ph em{font-size:40px}
.dl{font-style:normal;font-weight:700;font-size:11px;padding:2px 7px;border-radius:999px;margin-right:2px}.d-easy{background:#E3F1E2;color:#2F6B34}.d-medium{background:#FBEBD5;color:#8A5414}.d-hard{background:#F6DCD4;color:#8E3A22}
.f2{margin-top:8px;align-items:center}.f2 .small{margin-left:6px}
.bal{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0 4px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.6);border:1px solid var(--line);font-size:13px}
.bal-l{font-weight:700;margin-right:4px}.pill{padding:2px 9px;border-radius:999px;background:#EFE6DA;color:var(--mute)}.pill.ok{background:#E3F1E2;color:#2F6B34;font-weight:600}.bal-t{flex-basis:100%;color:var(--mute)}
.bal .link{font-weight:600;color:var(--acc);background:none;border:0;padding:0;cursor:pointer}
.eqc{margin:6px 0 12px}.lf{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.btn{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;text-decoration:none}
.r-extra{display:grid;gap:14px;grid-template-columns:1fr;margin:20px 0}@media(min-width:760px){.r-extra{grid-template-columns:1fr 1fr}}
.box{border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:#fff}.box h2{margin:0 0 10px;font-size:18px}.box ul{margin:0;padding-left:18px}.nut{background:#F3F8F1;border-color:#D5E6D1}.nut p{margin:0 0 10px}
.pairs{display:flex;gap:10px;flex-wrap:wrap}.pairs a{display:flex;gap:8px;align-items:center;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px 4px 4px;font-weight:600;font-size:14px}.pairs img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.filters button{min-height:42px}.empty .ghost{margin-top:12px}.empty p{margin:0}
.more{text-align:center;margin:20px 0 8px}
.meta .sv{display:flex;align-items:center;gap:8px}.meta .sv button{width:36px;height:36px;border-radius:50%;border:1px solid currentColor;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:inherit}
.fridge.dev{padding:0;border:6px solid #1A1412;border-radius:28px}
.fridge.dev .fz{padding:16px 16px 10px;background:linear-gradient(180deg,#2F2622,#251E1B);border-bottom:6px solid #1A1412}
.fridge.dev .fbody{padding:4px 16px 8px;max-height:52vh;overflow:auto;background:radial-gradient(120% 60% at 50% 0,rgba(190,225,255,.10),transparent 70%)}
.fridge.dev .shelf{border-bottom:3px solid rgba(200,225,245,.18);box-shadow:0 2px 0 rgba(0,0,0,.35)}
.fs{position:relative}.fs .mg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#FFB287;font-size:18px}.fs input{padding-left:38px!important;border-radius:999px!important}
.tray{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:32px;margin-top:8px}.tray .link{color:#FFB287}
.fbar{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;background:#1A1412;color:#EFE4D8;font-size:14px}.fbar b{color:#FFB287;font-size:20px}
.fridge .chip[hidden],.shelf[hidden]{display:none}
.miss{font-weight:600}
.spon{display:grid;gap:2px;margin:22px 0;padding:16px 18px;border:1px dashed #D9C7B4;border-radius:18px;background:#FFFBF5;color:#6B5B4E}
.spon small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#A8927E}.spon b{font:600 17px var(--serif);color:#2B2320}
/* polish */
.card{transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.card-t b{letter-spacing:-.01em}
/* ===== CEO design pass v3 — tokens & signature ===== */
:root{--acc:#D9481A;--fs-xs:12px;--fs-s:14px;--fs-m:16px;--fs-l:20px;--fs-xl:28px;--fs-2xl:36px;--sp1:4px;--sp2:8px;--sp3:12px;--sp4:16px;--sp5:24px;--sp6:32px;--sh3:0 1px 0 rgba(255,255,255,.6) inset,0 18px 50px -18px rgba(43,35,32,.35);--frost:#BFE3FF}
h1,h2,.pg{letter-spacing:-.015em}.sec-h h2{font:600 var(--fs-xl)/1.15 var(--serif)}
.brand svg{filter:drop-shadow(0 2px 4px rgba(217,72,26,.35))}.brand{font-size:20px;letter-spacing:-.01em}
.season{border-radius:26px;box-shadow:var(--sh3);background:linear-gradient(160deg,#FFF8EE,#F7E6D2 70%,#F2D7BC);border:1px solid #EBD5BE}
.season .date{font:600 var(--fs-2xl)/1.05 var(--serif);letter-spacing:-.02em}
.season .cd b{font:700 44px/1 var(--serif);color:var(--acc)}
.stage{border-radius:26px;box-shadow:var(--sh3)}
.card{transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.card img,.dish img,.m1c img{filter:saturate(1.08) contrast(1.04) brightness(1.02);object-fit:cover}
.filters button .n{font-style:normal;font-size:11px;opacity:.6;margin-left:3px}
/* signature smart fridge */
.fridge.sig{padding:0;background:#1E1816;border:5px solid #141010;border-radius:30px;min-height:132px;perspective:900px}
.fridge.sig .door{display:flex;align-items:center;gap:16px;padding:22px 20px;background:linear-gradient(135deg,#3B312C,#2A221F 55%,#1F1916);border-radius:24px 10px 10px 24px;width:100%;transform-origin:left center;transition:transform .5s cubic-bezier(.2,.8,.2,1);box-shadow:inset -2px 0 0 rgba(255,255,255,.06)}
.fridge.sig:hover .door{transform:rotateY(-14deg)}
.fridge.sig .led{order:3;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;height:64px;border-radius:14px;background:#0F1A22;box-shadow:inset 0 0 0 1px rgba(191,227,255,.25),0 0 22px rgba(120,190,255,.18)}
.fridge.sig .led b{font:600 26px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--frost);text-shadow:0 0 10px rgba(150,210,255,.7)}
.fridge.sig .led small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8FB6D3}
.fridge.sig .chev{display:none}
.fridge.dev{animation:fopen .45s cubic-bezier(.2,.8,.2,1)}@keyframes fopen{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:none}}
.fridge.dev .fbody{box-shadow:inset 0 10px 30px rgba(191,227,255,.08)}
.m1{padding:12px 16px 4px;border-top:1px solid rgba(255,255,255,.08)}.m1 p{margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#FFB287}
.m1r{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.m1c{flex:0 0 150px;scroll-snap-align:start;background:#2C2420;border-radius:14px;overflow:hidden;color:#F7EFE6}
.m1c img,.m1c .ph{display:block;width:100%;height:88px}.m1c b{display:block;font-size:13px;padding:6px 8px 0;line-height:1.25}.m1c small{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px 8px;font-size:11px}
.spon{border:1px dashed var(--line);border-radius:18px;background:var(--paper);padding:14px 16px;display:grid;gap:2px;margin:20px 0}.spon small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.spon b{font:600 17px var(--serif)}.spon span{font-size:13px;color:var(--mute)}
/* cook mode */
.cook .step,.cook-step{font:500 clamp(22px,5.4vw,30px)/1.4 var(--serif);letter-spacing:-.01em}
/* recipe meta overflow fix */
.meta{flex-wrap:wrap;max-width:100%}.meta div{min-width:0;flex:1 1 30%}
@media(max-width:480px){.meta div{flex:1 1 45%;border-bottom:1px solid var(--line);padding:8px}.meta dd{font-size:16px}.meta .sv{justify-content:center}.meta .sv button{width:32px;height:32px}}
body{overflow-x:hidden}
/* ===== P0 v5 — ChatGPT tokens (Direction A: Little Seasonal Kitchen) ===== */
:root{--color-canvas:#FAF6EF;--color-surface:#FFFCF8;--color-surface-alt:#F3E9DD;--color-surface-warm:#FCE8D6;--color-border:#E5D7C7;--color-divider:#EDE3D8;
--color-primary:#C84316;--color-primary-hover:#A93410;--color-primary-soft:#FBE6D9;--color-secondary:#386347;--color-secondary-soft:#E4EFE3;
--color-text:#29231F;--color-text-secondary:#65574E;--color-text-muted:#75685F;--color-on-primary:#fff;--color-on-dark:#FFF8EF;
--color-fridge-shell:#453A33;--color-fridge-inner:#29231F;--color-fridge-shelf:#66564B;--color-fridge-chip:#51443C;--color-fridge-active:#E8BA82;
--color-success:#316842;--color-success-bg:#E4EFE3;--color-warning:#925016;--color-warning-bg:#FFF0D5;--color-danger:#B73831;--color-focus:#205FB1;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--size-touch-min:44px;--size-touch-preferred:48px;
--font-display-en:"Fraunces",Georgia,serif;--font-body-en:"Inter",system-ui,sans-serif;--font-display-cjk:"Noto Serif SC","Songti SC",serif;--font-body-cjk:"Noto Sans SC","PingFang SC",sans-serif;
--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-hero:28px;--radius-pill:999px;
--shadow-card:0 3px 12px rgba(51,35,23,.06);--shadow-raised:0 8px 24px rgba(51,35,23,.10);--shadow-modal:0 18px 48px rgba(35,25,20,.18);
--ease-standard:cubic-bezier(.2,0,0,1);--ease-enter:cubic-bezier(.16,1,.3,1);--motion-fast:120ms;--motion-base:200ms;--motion-panel:280ms;--motion-fridge:420ms;
/* remap legacy */--bg:var(--color-canvas);--paper:var(--color-surface);--ink:var(--color-text);--mute:var(--color-text-secondary);--line:var(--color-border);--acc:var(--color-primary);--acc2:var(--color-primary);--accs:var(--color-primary-soft);--ok:var(--color-secondary);--oks:var(--color-secondary-soft);
--serif:var(--font-display-en),var(--font-display-cjk);--sans:var(--font-body-en),var(--font-body-cjk);--sh1:var(--shadow-card);--sh2:var(--shadow-raised);--sh3:var(--shadow-raised);--r:var(--radius-md)}
html.zh body{line-height:1.65}html.zh h1,html.zh h2,html.zh h3{letter-spacing:0}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
.primary{background:var(--color-primary);box-shadow:0 6px 16px rgba(200,67,22,.25)}.primary:hover{background:var(--color-primary-hover)}
/* header */
.top{min-height:64px;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px;gap:8px;background:rgba(250,246,239,.92)}
.brand{gap:8px;white-space:nowrap;min-width:0;font:600 19px/1 var(--serif)}.brand svg{width:30px;height:30px;filter:none;flex:none}
.brand .wm-zh{font:500 13px var(--font-display-cjk);color:var(--color-text-muted);margin-left:2px}
.top nav{gap:2px;flex:none}.top nav a,.top nav button{white-space:nowrap;min-height:44px;padding:0 10px}
.top nav a.on{background:none;color:var(--color-primary);box-shadow:inset 0 -2px 0 var(--color-primary);border-radius:0}
.top nav #lang{min-width:44px;justify-content:center;border-radius:12px}
@media(max-width:420px){.brand .wm-zh{display:none}.brand{font-size:17px}.top nav a,.top nav button{padding:0 7px;font-size:13.5px}}
@media(max-width:350px){.brand .wm{display:none}}
main{padding-left:16px;padding-right:16px}
/* home */
.hero{gap:16px}.hero-l{display:grid;gap:12px;align-content:start;min-width:0}
@media(min-width:1024px){.hero{grid-template-columns:5fr 7fr}}
.season{min-height:0;padding:18px 20px;border-radius:var(--radius-xl);background:linear-gradient(160deg,#FFF8EE,var(--color-surface-warm));border:1px solid var(--color-border);box-shadow:var(--shadow-card)}
.season .leaf{width:110px;right:-20px;bottom:-26px;opacity:.14}
.season .dow{font-size:12px;color:var(--color-primary)}.season .date{font:600 32px/1.1 var(--serif);max-width:none;margin:4px 0 2px}
.season .sub{max-width:92%;color:var(--color-text-secondary)}
.hb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:12px;min-height:44px;padding:8px 12px;border-radius:12px;background:var(--color-primary-soft);color:var(--color-text);font:600 13px var(--sans);text-align:left;position:relative}
.hb svg{width:16px;height:16px;color:var(--color-primary)}.hb-go{color:var(--color-primary);margin-left:auto}
.fl{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:14px 18px 14px 14px;border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-raised);transition:transform var(--motion-base) var(--ease-standard)}
.fl:hover{transform:translateY(-2px)}.fl-art{width:auto;height:180px;flex:none;transform-origin:left center;transition:transform var(--motion-fridge) var(--ease-enter)}.fl:hover .fl-art{transform:perspective(500px) rotateY(-10deg)}
.fl-t{display:grid;gap:4px;min-width:0}.fl-e{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary);font-weight:600}
.fl-t b{font:600 22px/1.2 var(--serif)}.fl-s{font-size:14px;color:var(--color-text-secondary)}.fl-s em{font-style:normal;font-weight:700;color:var(--color-secondary)}
.fl-cta{margin-top:8px;justify-self:start;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--color-primary);color:#fff;font-weight:600;font-size:15px}
@media(max-width:360px){.fl-art{height:150px}.fl{gap:12px}.fl-t b{font-size:19px}}
.stage{padding:16px;border-radius:var(--radius-xl);box-shadow:var(--shadow-raised)}
.stage-h{flex-wrap:wrap}.stage-h h1{font-size:26px}
.stepper button{width:44px;height:44px}
.dishes li{flex-wrap:wrap;min-height:72px;padding:8px}.dish{min-width:0}.dish>span:last-child{min-width:0}.dish b{font:600 16px/1.25 var(--sans);overflow-wrap:anywhere}
.plate{width:64px;height:64px;border-radius:14px;box-shadow:none}
.acts{margin-left:auto;gap:4px}.icon-b{width:44px;height:44px}.icon-b.sw{width:auto;border-radius:999px;padding:0 12px;gap:6px;display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--color-text)}
.bal{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.bal-t{flex-basis:auto}
.stage-f{flex-wrap:wrap}.stage-f .ghost{flex:1 1 140px}.stage-f .primary{flex:2 1 180px;display:flex;flex-direction:column;align-items:center;line-height:1.2}.cta-s{font-size:12px;font-weight:500;opacity:.85}
.cover{aspect-ratio:1/1}.cover img{object-fit:cover;object-position:50% 55%}
.plus{width:44px;height:44px}.filters button{min-height:44px}
.card-f{overflow:hidden}.meta-s{overflow-wrap:anywhere}
/* fridge sheet */
.fsheet{position:fixed;inset:0;z-index:70;background:rgba(41,35,31,.45);display:flex;justify-content:center;perspective:1200px}
.fs-in{position:relative;width:100%;max-width:480px;height:100%;display:flex;flex-direction:column;background:var(--color-canvas);border-left:6px solid var(--color-fridge-shell);border-right:6px solid var(--color-fridge-shell);box-shadow:var(--shadow-modal)}
@media(min-width:600px){.fsheet{padding:24px}.fs-in{height:auto;max-height:100%;border:6px solid var(--color-fridge-shell);border-radius:var(--radius-hero);overflow:hidden}}
.fs-door{position:absolute;inset:0;z-index:5;margin:0 auto;max-width:480px;background:var(--color-surface);border:6px solid var(--color-fridge-shell);border-radius:var(--radius-hero);transform-origin:left center;opacity:0;pointer-events:none}
.fs-door:after{content:"";position:absolute;right:28px;top:30%;width:10px;height:120px;border-radius:5px;background:var(--color-primary)}
.fsheet.opening .fs-door{animation:door var(--motion-fridge) var(--ease-enter) forwards}.fsheet.opening .fs-in{animation:fin 320ms 100ms var(--ease-enter) both}
@keyframes door{0%{opacity:1;transform:rotateY(0)}100%{opacity:0;transform:rotateY(-65deg)}}@keyframes fin{from{opacity:0}to{opacity:1}}
.fs-h{position:sticky;top:0;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--color-fridge-shell);color:var(--color-on-dark)}
.fs-h b{font:600 20px var(--serif);display:block}.fs-h small{color:var(--color-fridge-active);font-size:13px}
.fs-x{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,248,239,.35);color:var(--color-on-dark);font-weight:600}
.fs-body{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}
.fs-s{position:sticky;top:-16px;z-index:2;display:flex;align-items:center;gap:8px;height:48px;padding:0 6px 0 14px;margin:-16px -16px 8px;padding-top:0;background:var(--color-canvas);border-bottom:1px solid var(--color-divider)}
.fs-s svg{width:20px;height:20px;color:var(--color-text-muted);flex:none}.fs-s input{flex:1;min-width:0;height:44px;border:0;background:transparent;font:16px var(--sans);color:var(--color-text);outline:0}
.fs-clr{width:44px;height:44px;font-size:22px;color:var(--color-text-muted)}
.fs-hint{font-size:13px;color:var(--color-text-secondary);margin:4px 0 8px}.unk{color:var(--color-warning)}
.fs-sum{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:12px;font-size:14px}
.fs-sum b{font:700 20px var(--sans);color:var(--color-secondary)}.fs-sum span+span b{color:var(--color-warning)}.fs-sum .link{margin-left:auto;min-height:44px}
.fs-empty{padding:16px;border:1.5px dashed var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;text-align:center}.fs-empty p{margin:0 0 10px;color:var(--color-text-secondary)}.fs-empty .chips2{justify-content:center}
.shelf2{padding:12px 0 16px;border-bottom:1px solid var(--color-fridge-shelf)}
.shelf2 h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-fridge-shell)}
html.zh .shelf2 h3{letter-spacing:0;font-size:14px}.shelf2 h3 small{min-width:22px;height:22px;border-radius:11px;display:grid;place-items:center;background:var(--color-surface-alt);font-size:12px;letter-spacing:0}
.chips2{display:flex;flex-wrap:wrap;gap:8px}
.c2{min-height:40px;padding:0 13px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);font-size:14px;color:var(--color-text);transition:background var(--motion-fast),border-color var(--motion-fast);position:relative}
.c2:after{content:"";position:absolute;inset:-2px 0}
.c2.on{background:var(--color-fridge-active);border-color:var(--color-fridge-shell);font-weight:600}.c2.on:before{content:"✓ "}
.c2.more2{border-style:dashed;color:var(--color-primary);font-weight:600}.c2.sug{border-color:var(--color-primary);color:var(--color-primary);font-weight:600}
.fs-res h3{display:flex;gap:8px;align-items:center;font:600 18px var(--serif);margin:20px 0 8px}.fs-res h3 small{font:700 13px var(--sans);color:var(--color-secondary)}
.fs-res ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fr{display:flex;align-items:center;gap:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 6px 6px 6px}
.fr-a{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.fr-i{width:56px;height:56px;border-radius:12px;overflow:hidden;flex:none;background:var(--color-surface-alt);position:relative}.fr-i img{width:100%;height:100%;object-fit:cover}.fr-i .ph em{font-size:9px}
.fr-t{min-width:0}.fr-t b{display:block;font:600 15px/1.25 var(--sans)}.fr-t small{color:var(--color-text-muted);font-size:12.5px}.need{color:var(--color-warning);font-weight:600;background:var(--color-warning-bg);padding:1px 6px;border-radius:6px}
.fr-add{width:44px;height:44px;border-radius:50%;flex:none;background:var(--color-primary-soft);color:var(--color-primary);font-size:20px;font-weight:700}.fr-add.on{background:var(--color-secondary-soft);color:var(--color-secondary)}
.fs-note{font-size:12px;color:var(--color-text-muted);margin:14px 0 4px}
.fs-f{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border)}.fs-f .primary{width:100%}
/* recipe */
.r-hero{aspect-ratio:4/3;border-radius:var(--radius-lg);max-height:62vh}.r-hero img{object-position:50% 55%}
@media(min-width:780px){.r-hero{aspect-ratio:3/2}}
.r-head{margin:16px 0 0;padding:18px 16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.recipe h1{font-size:28px;overflow-wrap:anywhere}
.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:14px}.meta div{border-right:0;border-bottom:1px solid var(--color-border);padding:10px 8px;min-width:0}
.meta div:nth-child(odd){border-right:1px solid var(--color-border)}.meta div:nth-child(5){grid-column:span 2;border-right:0;border-bottom:0}
@media(min-width:600px){.meta{grid-template-columns:repeat(5,minmax(0,1fr))}.meta div{border-bottom:0;border-right:1px solid var(--color-border)}.meta div:nth-child(5){grid-column:auto}}
.meta dt{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta .sv button{width:44px;height:44px}
.row{flex-wrap:wrap}.row .ghost{flex:1 1 140px}.row .primary{flex:2 1 160px}
.ing li{min-height:48px;align-items:center}.ing .q{color:var(--color-primary)}
/* cook */
.cookv{padding:calc(10px + env(safe-area-inset-top)) 16px calc(12px + env(safe-area-inset-bottom))}
.ck-top{min-height:56px}.ck-top .plate{width:44px;height:44px}.ck-x{min-height:44px}
.ck-bar i{height:4px}.ck-main{justify-content:flex-start;padding:24px 0 16px;overflow-y:auto}
.ck-n b{font-size:36px;margin-bottom:4px}.ck-step{font:500 clamp(22px,5.6vw,26px)/1.35 var(--serif);max-width:640px;margin-top:8px}
.ck-timer{min-height:52px;background:var(--color-fridge-shell);font-size:16px}
.ck-next{margin-top:auto}.ck-nav{position:sticky;bottom:0}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}.fl:hover .fl-art,.fl:hover,.card:hover{transform:none}.fs-door{display:none}}
.hero{grid-template-columns:minmax(0,1fr)}@media(min-width:1024px){.hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.stage,.hero>*{min-width:0}
.need{white-space:nowrap;display:inline-block}
@media(max-width:420px){.icon-b.sw span{display:none}.icon-b.sw{width:44px;padding:0;justify-content:center}.dish{gap:10px}.plate{width:56px;height:56px}}
.fs-f{width:100%}
.ck-main{flex:0 1 auto}.ck-next{margin-top:8px}.ck-nav{margin-top:auto}

/* ux pass: inline fridge frame (CN-style) */
.fz{background:#FFF8EF;border:3px solid #453A33;border-radius:22px;padding:14px;margin:16px 0;box-shadow:0 6px 18px rgba(69,58,51,.10)}
.fz-top{display:flex;gap:10px}
.fz-s{flex:1;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:999px;border:1.5px solid #D9CCBC;background:#fff;color:#7A6D63;font:inherit;font-size:15px;text-align:left;cursor:text}
.fz-open{min-height:48px;min-width:84px;padding:0 20px;border-radius:999px;border:0;background:#C84316;color:#fff;font:600 16px Inter,system-ui,sans-serif;cursor:pointer}
.fz-open:active,.fz-add:active,.c2:active{transform:scale(.96)}
.fz-h{margin:12px 2px 6px;font-size:15px;color:#453A33}.fz-h b{color:#C84316}
.fz-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.fz-chip{font-size:13px;padding:4px 10px;border-radius:999px;background:#EFE6DA;color:#453A33}
.fz-g{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(min-width:700px){.fz-g{grid-template-columns:repeat(6,1fr)}}
.fz-c{position:relative}.fz-a{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:#2B231E;min-height:48px}
.fz-p{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#EFE6DA}.fz-p img{width:100%;height:100%;object-fit:cover;display:block}
.fz-a b{font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fz-a small{font-size:12px;line-height:1.3}.ok{color:#3F7A3A}.need{color:#C0392B;font-weight:600}
.fz-add{position:absolute;top:-4px;right:-4px;width:44px;height:44px;border-radius:50%;border:3px solid #FFF8EF;background:#C84316;color:#fff;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.fz-add.on{background:#3F7A3A}
.fz-more{display:block;width:100%;min-height:48px;margin-top:12px;border-radius:14px;border:1.5px solid #D9CCBC;background:#fff;font:600 15px Inter,system-ui,sans-serif;color:#453A33;cursor:pointer}
.fz-empty{display:flex;gap:14px;align-items:center;margin-top:12px}.fz-empty .fl-art{width:64px;flex:none}.fz-empty b{font-size:17px}.fz-empty p{margin:4px 0 10px;color:#7A6D63;font-size:14px}
.fz-q{display:flex;flex-wrap:wrap;gap:8px}
.fr-t .ok{font-weight:600}
/* tap comfort */
.c2{min-height:48px!important;padding-left:16px!important;padding-right:16px!important}
.seg button,.stepper button{min-height:48px!important;min-width:48px!important}
.top .brand{min-height:44px;display:inline-flex;align-items:center}
.fs-x{min-height:48px!important;min-width:88px!important}
.fs-f .primary{min-height:52px!important;width:100%}
.filters button{min-height:44px!important;min-width:48px}
a.muted.small{display:inline-flex;align-items:center;min-height:44px;padding-right:12px}
.pairs a{min-height:56px}
.src a,a[href^="http"]{display:inline-block;padding:14px 0}
nav a,nav button{min-height:44px;min-width:48px;display:inline-flex;align-items:center;justify-content:center}
.top .brand{min-width:44px}
#sm,#sp{min-width:48px!important;min-height:48px!important}
/* ux2 cook */
.ck-step{font:500 clamp(28px,7.6vw,38px)/1.3 var(--serif)!important;max-width:680px}
.ck-n{font-size:14px}.ck-n b{font-size:22px!important;display:inline!important;margin-right:8px;color:var(--acc)}
.ck-bar{margin-top:12px}.ck-bar i{height:6px!important}
.ck-tms{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ck-timer{margin:0!important;min-height:56px!important;padding:10px 18px!important;border:0;border-radius:16px;display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.ck-timer svg{width:22px;height:22px}.ck-timer .tv{font:700 22px/1 Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums}.ck-timer .tl{font-size:15px;font-weight:500;opacity:.9}
.ck-timer.run{background:#C84316!important}.ck-timer.done{background:#3F7A3A!important;animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(1.03)}}
/* One-timer-per-step UX: heat-on pause warning + single-timer conflict prompt */
.ck-heat-warn{
  display:none;align-items:center;gap:12px;
  margin:10px 0 0;padding:14px 16px;
  border-radius:16px;background:#C84316;color:#fff;
  box-shadow:0 4px 12px rgba(200,67,22,.22);
  transition:none;transform:none;
  min-width:0;
}
.ck-heat-warn.is-on,.ck-heat-warn:not([hidden]){display:flex}
.ck-heat-warn .ck-bang{
  flex:0 0 2.4rem;width:2.4rem;height:2.4rem;border-radius:50%;
  background:#fff;color:#C84316;
  display:grid;place-items:center;
  font:800 1.5rem/1 Fraunces,Georgia,"Noto Serif SC",serif;
}
.ck-heat-warn p{
  margin:0;min-width:0;flex:1;
  font:700 1.12rem/1.35 Inter,system-ui,sans-serif;
  letter-spacing:.01em;overflow-wrap:break-word;word-break:keep-all;
}
.ck-heat-warn-float{
  position:fixed;left:16px;right:16px;top:calc(12px + env(safe-area-inset-top));
  z-index:70;margin:0;
}
#cookv{scroll-padding-bottom:0}
#cookv .ck-tms{margin-top:20px}
#cookv .ck-heat-warn.is-on + .ck-tms,#cookv .ck-heat-warn:not([hidden]) + .ck-tms{margin-top:20px}
.ck-conflict{scroll-margin-bottom:16px;
  flex:1 0 100%;
  margin:8px 0 0;padding:12px 14px;
  border-radius:16px;background:#FFFCF7;
  border:1px solid rgba(200,67,22,.28);
  transition:none;
}
.ck-conflict[hidden]{display:none}
.ck-conflict .ck-conflict-t{
  margin:0 0 10px;
  font:600 1.05rem/1.4 Fraunces,"Noto Serif SC",serif;
  color:#2C241C;
}
.ck-conflict-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}
.ck-cf-switch,.ck-cf-keep{
  box-sizing:border-box;width:100%;margin:0;
  display:flex;align-items:center;justify-content:center;
  border-radius:999px;padding:10px 8px;min-height:44px;
  font:600 14px/1.2 Inter,system-ui,sans-serif;
  text-align:center;text-decoration:none;cursor:pointer;
}
.ck-cf-switch{border:0;background:#C84316;color:#fff}
.ck-cf-keep{
  border:1.5px solid rgba(59,50,44,.22);
  background:#FFFCF7;color:#2C241C;
}
#cookv:has(#ck-conflict:not([hidden])) .ck-next,
#cookv:has(#ck-conflict:not([hidden])) .ck-guide,
#cookv:has(#ck-conflict:not([hidden])) .ck-beginner-extra,
#cookv:has(#ck-conflict:not([hidden])) .ck-reference{display:none!important}
@media (min-width:800px){
  .ck-heat-warn{padding:18px 18px}
  .ck-heat-warn p{font-size:1.28rem}
  .ck-heat-warn .ck-bang{width:2.75rem;height:2.75rem;flex-basis:2.75rem;font-size:1.7rem}
  .ck-conflict .ck-conflict-t{font-size:1.2rem}
}
.ck-run{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.ck-run[hidden]{display:none}
.ck-run button{min-height:44px;padding:0 14px;border-radius:999px;border:0;background:#C84316;color:#fff;font:600 15px Inter,system-ui,sans-serif;display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.ck-run button svg{width:18px;height:18px}.ck-run button.done{background:#3F7A3A}.ck-run button.paused{background:#4A3F37}.ck-run button.run{background:#C84316}
.ck-nav{position:sticky;bottom:0;padding-top:10px;background:var(--bg)}.ck-nav button{min-height:56px!important;font-size:17px}
.ck-x{min-height:48px!important;min-width:64px}
.ck-next{font-size:16px!important;line-height:1.45}
/* ux2 fridge */
.c2{display:inline-flex!important;align-items:center;gap:8px;padding-left:6px!important}
.c2-i{width:36px;height:36px;border-radius:50%;background:#F3EBDF;display:grid;place-items:center;font-size:20px;line-height:1;flex:none}
.c2.on .c2-i{background:rgba(255,255,255,.25)}
.c2.more2,.fs-empty .c2{padding-left:16px!important}
.fs-addh{min-height:48px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;font:600 15px Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.fs-f .big{width:100%;min-height:52px!important;font-size:17px}
.fs-close{background:#fff!important;color:#453A33!important;border:1.5px solid #D9CCBC!important}
.fz-a small{display:flex;flex-wrap:wrap;gap:2px 6px}
.fz-q{margin-top:10px}
.fz-p{width:100%;position:relative}.fz-p>*{position:absolute!important;inset:0;width:100%!important;height:100%!important;margin:0!important;border-radius:50%}.fz-p img{object-fit:cover}
.fz-g{grid-template-columns:repeat(3,minmax(0,1fr))!important}@media(min-width:700px){.fz-g{grid-template-columns:repeat(6,minmax(0,1fr))!important}}.fz-p{aspect-ratio:1/1;height:auto}
.have{margin:18px 0;border:1px solid #E6DACB;border-radius:14px;background:#FFFCF7}
.have summary{min-height:48px;display:flex;align-items:center;padding:0 16px;font-weight:600;color:#7A6D63;cursor:pointer}
.have ul{margin:0;padding:0 16px 10px}.have li{display:flex;justify-content:space-between;min-height:40px;align-items:center;color:#7A6D63}
/* fridge open transition */

@keyframes fsIn{from{opacity:0;transform:perspective(900px) rotateY(-8deg) translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fsheet .fs-in{animation:none}}
.frh{display:flex;flex-direction:column;gap:4px;margin:14px 0;padding:14px 16px;border-radius:14px;background:#eaf4e6;border:1px solid #c9e2bf;color:#2f5b23;font-size:15px}.frh span{color:#4a6b3f;font-size:14px}

.check li{display:flex;align-items:center;gap:8px}.check li label{flex:1}.check .sto{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;color:var(--color-primary);text-decoration:none;font-weight:700}.check .sto:hover{background:var(--color-surface)}.sto-h{margin:4px 0}
.ckfloat{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:24px;background:#3B322C;color:#fff;font:600 16px var(--sans);box-shadow:0 8px 24px rgba(0,0,0,.25)}.ckfloat svg{width:20px;height:20px}
/* ad-QA */
.check input{width:28px;height:28px;border-radius:9px;border-width:2px;transition:background .15s,border-color .15s}
.check input:checked:after{width:8px;height:14px;border-width:0 3px 3px 0}
.svsync{display:block;margin:-6px 0 10px;font-size:13px;color:var(--ok,#3F7D4E)}
.credit .zh{display:none}html.zh .credit .en{display:none}html.zh .credit .zh{display:inline}
/* ad-polish: typography + texture */
:root{--mute:#5F5248}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga"}
html.zh body{line-height:1.65;letter-spacing:.01em}
html.zh h1,html.zh h2,html.zh .date{letter-spacing:.02em}
p,.sub{text-wrap:pretty}h1,h2,h3,.date{text-wrap:balance}
.fz-empty{align-items:flex-start}
.fz-empty b{font:600 19px/1.25 var(--serif);display:block}
.fz-empty p{color:var(--mute);line-height:1.45}
.fz-q{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:480px){
 .fz-empty .fl-art{display:block;width:64px;height:64px}
 .fz-empty>div{width:100%}
 .fz-q{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .fz-q .c2{width:100%;justify-content:flex-start}
 .season .leaf{opacity:.09}
 #addt,#cook{white-space:nowrap;font-size:16px;padding-left:12px;padding-right:12px}
}
.season .sub{color:var(--mute);font-size:15.5px;line-height:1.45}
.ing li,.steps li{line-height:1.55}
[data-ho]{padding:0 16px!important;white-space:nowrap;flex:none;min-height:44px}
.bal{flex-wrap:wrap!important;white-space:normal!important;row-gap:6px}
.bal-t{flex-basis:100%!important}
.filters>button{flex:none!important}
.filters{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent);padding-right:24px}
/* ===== v18 design elevation: editorial type scale + texture ===== */
:root{--t-display:600 clamp(30px,7.6vw,44px)/1.08 var(--serif);--t-title:600 22px/1.2 var(--serif);--t-body:400 16px/1.6 var(--sans);--t-cap:500 13px/1.45 var(--sans);--kick:600 11.5px/1 var(--sans);--hair:1px solid rgba(59,50,44,.10);--sh-soft:0 1px 2px rgba(43,35,32,.04),0 8px 24px -12px rgba(43,35,32,.18)}
html.zh{--t-body:400 16px/1.7 var(--sans)}
h1,.date{letter-spacing:-.012em}
html.zh h1,html.zh .date{letter-spacing:.01em}
.eyebrow,.dow,.ck-n,.aisle,.kick{font:var(--kick);letter-spacing:.14em;text-transform:uppercase}
/* section titles: serif + hairline */
main h2:not(.aisle){font:var(--t-title);letter-spacing:-.005em;padding-bottom:10px;border-bottom:var(--hair);margin-bottom:14px}
/* recipe grid → magazine cards */
.grid{gap:28px 16px!important}
.card{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.card .cover{display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-soft)}
.card .cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
@media(hover:hover){.card:hover .cover img{transform:scale(1.035)}}
.card .ct{backdrop-filter:blur(6px);background:rgba(255,250,243,.88)!important;color:var(--acc2,#A33A12)!important;font:600 11px/1 var(--sans)!important;letter-spacing:.08em;text-transform:uppercase;padding:7px 10px!important;border-radius:999px!important;top:10px!important;left:10px!important}
.card-t{padding:12px 2px 0!important;display:block}
.card-t b{font:600 18px/1.22 var(--serif)!important;letter-spacing:-.005em;color:var(--ink);display:block}
html.zh .card-t b{font-weight:600!important;letter-spacing:.02em;line-height:1.35!important}
.card-t small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:var(--t-cap)!important;color:var(--mute)!important;margin-top:4px}
.card-f{padding:6px 2px 0!important;border:0!important;background:none!important}
.card-f .meta-s{font:500 12.5px/1.4 var(--sans);color:#7A6B5F;letter-spacing:.01em}
/* recipe page: full-bleed photo, editorial header, hairline stats */
@media(max-width:700px){.r-hero{margin:0 -16px!important;border-radius:0!important}.r-hero img{border-radius:0!important;aspect-ratio:4/3.4;object-fit:cover}.r-head{margin:-40px 10px 0!important;border-radius:22px!important}}
.r-head{box-shadow:0 2px 4px rgba(43,35,32,.04),0 24px 48px -24px rgba(43,35,32,.28)!important;border-color:rgba(59,50,44,.08)!important}
.r-head h1{font:var(--t-display)!important;margin:10px 0 8px!important}
.r-head .muted{font:400 16.5px/1.55 var(--sans);color:var(--mute)}
.meta{border:0!important;border-top:var(--hair)!important;border-bottom:var(--hair)!important;border-radius:0!important;margin:18px 0!important;background:none!important}
.meta>div{border-color:rgba(59,50,44,.08)!important}
.meta dt{font:600 10.5px/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:#8A7A6E!important}
.meta dd{font:600 19px/1.2 var(--serif)!important;margin-top:6px!important}
.meta .sv button{border-color:rgba(59,50,44,.25)!important;background:#fff!important;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ing li{border-bottom:var(--hair)!important;padding:13px 0!important;font:var(--t-body)}
.ing li .q{font-variant-numeric:tabular-nums;color:var(--acc2,#A33A12);font-weight:600}
.steps li{font:400 17px/1.65 var(--sans)!important;padding:14px 0!important;border-bottom:var(--hair)}
html.zh .steps li{line-height:1.8!important}
/* buttons feel solid */
button.primary,a.primary{box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 8px 18px -8px rgba(201,67,22,.6)!important;letter-spacing:.01em;font-weight:600}
button.primary:active,a.primary:active,button.ghost:active{transform:translateY(1px) scale(.99)}
button.ghost{border-color:rgba(59,50,44,.16)!important;background:#FFFDF9!important}
/* table + list surfaces */
.dishes li{background:#FFFDF9!important;border:var(--hair)!important;box-shadow:0 1px 2px rgba(43,35,32,.04)!important;border-radius:16px!important}
.dish b{font:600 16.5px/1.3 var(--serif)!important}
ul.check li{border-color:rgba(59,50,44,.07)!important}
ul.check li.done span{text-decoration:line-through;text-decoration-color:rgba(59,50,44,.35);color:#9A8C80}
.aisle{color:var(--acc2,#A33A12)!important;margin:26px 0 10px!important}
/* hero season card */
.season .date{font:var(--t-display)!important}
.season .dow{color:var(--acc2,#A33A12)}
.season{box-shadow:var(--sh-soft)!important}
/* header */
header.top{backdrop-filter:saturate(1.4) blur(10px);background:rgba(251,246,238,.86)!important;border-bottom:var(--hair)!important}
.wm{letter-spacing:-.01em}
.card-f .meta-s{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid>*,.card,.card-f{min-width:0}
/* v19 desktop editorial composition */
@media(min-width:1024px){
main{max-width:1200px;padding-left:32px;padding-right:32px}
.hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important;gap:24px;align-items:stretch!important}
.hero-l{display:contents}
.hero .season{grid-column:1/-1;min-height:260px!important;padding:40px 44px!important;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#FFF8EE 0%,#FBEFDF 42%,rgba(251,239,223,0) 62%),url(images/recipes/kale-apple-salad.jpg) right center/58% auto no-repeat,#F4E3CE!important}
.hero .season .date{font-size:64px!important;line-height:1;letter-spacing:-.02em;margin:8px 0 10px!important}
.hero .season .sub{font-size:18px;max-width:440px!important;line-height:1.5}
.hero .season .leaf{display:none}
.hero .season>*:not(.leaf){max-width:520px}
.hero .fridge,.hero .fl{margin:0!important;height:100%;align-self:stretch}
.hero .stage{align-self:stretch;display:flex;flex-direction:column}
.hero .stage>:last-child{margin-top:auto}
.sec-h{margin-top:56px!important}
.sec-h h2{font-size:34px!important;letter-spacing:-.01em}
}
@media(min-width:1024px){.hero .season{background-size:cover,58% auto,auto}}
@media(min-width:1024px){.hero .fl,.hero .fridge{justify-content:center;flex-direction:column;align-items:stretch;padding:24px!important}.hero .season>*:last-child{align-self:flex-start}}
/* v20 header: brand and nav can never overlap */
.top{display:flex!important;flex-wrap:nowrap}
.top .brand{flex:1 1 auto;min-width:0;overflow:hidden}
.top .brand .wm,.top .brand .wm-zh{overflow:hidden;text-overflow:clip;white-space:nowrap;flex:0 1 auto;min-width:0}
.top .brand svg,.top .brand [data-icon]{flex:none}
.top nav{flex:none;position:relative;z-index:1}
@media(max-width:560px){.top .brand .wm-zh{display:none!important}}
@media(max-width:360px){.top .brand .wm{display:none!important}}
/* desktop-only seasonal fridge chips */
.c2.xl{display:none}@media(min-width:1024px){.c2.xl{display:inline-flex}}
@media(min-width:1024px){.hero .season{background:linear-gradient(90deg,#FFF8EE 0%,#FBEFDF 42%,rgba(251,239,223,0) 62%),url(images/recipes/roasted-squash.jpg) right center/58% auto no-repeat,#F4E3CE!important;background-size:cover,58% auto,auto!important}.hero .fz{height:100%;display:flex;flex-direction:column;justify-content:center}}
@media(max-width:400px){.top{padding-left:14px!important;padding-right:12px!important;gap:6px!important}.top .brand{font-size:16px!important;gap:6px!important}.top .brand svg{width:26px!important;height:26px!important}.top nav a,.top nav button{padding:0 6px!important;font-size:13.5px!important}.top nav #lang{min-width:44px}}
@media(max-width:1023px){.fz-q .c2.xl{display:none!important}}
/* v23 comfort pass */
.ck-main{flex:1 1 auto!important;justify-content:center!important;padding:28px 0 20px!important}
.ck-step{font:500 clamp(30px,8.4vw,46px)/1.25 var(--serif)!important;letter-spacing:-.01em;text-wrap:pretty}
:lang(zh) .ck-step,html[lang=zh] .ck-step{font-family:var(--font-display-cjk),var(--serif)!important;line-height:1.45!important}
.ck-n{font-size:12px;letter-spacing:.14em}
.ck-n b{font-size:44px!important}
.ck-next{margin-top:auto!important}
.ck-timer{min-height:52px}
.list-wrap li input[type=checkbox],li label input[type=checkbox]{appearance:none;-webkit-appearance:none;width:30px!important;height:30px!important;min-width:30px;border:1.5px solid #CDBBA6;border-radius:50%;background:#fff;display:inline-grid;place-items:center;margin:0;cursor:pointer;transition:background .15s,border-color .15s}
li label input[type=checkbox]:checked{background:var(--color-primary,#C84316);border-color:var(--color-primary,#C84316)}
li label input[type=checkbox]:checked::after{content:"";width:9px;height:15px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-2px) rotate(45deg)}
li label input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
li label{min-height:52px;display:flex!important;align-items:center;gap:14px;flex:1;cursor:pointer}
li.done label span{color:var(--mute);text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.c2.on{background:#FFF1E6!important;border-color:var(--color-primary,#C84316)!important;color:var(--color-primary,#C84316)!important;box-shadow:inset 0 0 0 1px var(--color-primary,#C84316)}
.c2.on:before{content:""!important}
.c2.on .c2-i{background:#fff!important}
.eqc .chip{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;font-weight:500;box-shadow:none!important}
.card-t b{text-wrap:balance}
.card-t small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-f .meta-s{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:var(--mute)}
@media(min-width:1100px){.recipe{max-width:1040px!important}.r-hero{aspect-ratio:21/9!important;max-height:none!important;width:100%}.r-hero img{aspect-ratio:auto!important;object-fit:cover}.r-head{margin:-90px 48px 0!important;position:relative;padding:28px 36px!important}.r-head h1{font-size:52px!important;letter-spacing:-.02em}.r-body{grid-template-columns:4fr 7fr!important;gap:28px!important}}
.st-empty,.li-empty{display:grid;justify-items:center;text-align:center;gap:8px;padding:28px 22px!important;border:1px dashed #E3D2BF!important;border-radius:20px;background:linear-gradient(180deg,#FFFCF7,#FBF3E8)}
.st-empty b,.li-empty b{font:600 21px/1.25 var(--serif);color:var(--ink)}
.st-empty p,.li-empty p{margin:0 0 6px;color:var(--mute);font-size:15px;line-height:1.55;max-width:30ch}
.em-art{width:88px;height:88px;margin-bottom:4px}
.st-empty .primary,.li-empty .primary{min-height:48px;padding:0 22px;border-radius:999px}
.fs-hint .nf{display:block;padding:18px 4px;color:var(--mute);line-height:1.6}.fs-hint .nf b{display:block;font:600 18px var(--serif);color:var(--ink);margin-bottom:4px}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.stage:has(.st-empty) .stage-f{display:none}
/* v24content: ingredients explained + membership */
.kick{font:600 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent,#C84316);margin:0 0 6px}
.iex ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.iex li{border-top:1px solid var(--line);padding-top:12px}.iex li:first-child{border-top:0;padding-top:0}
.iex b{font-family:Fraunces,'Noto Serif SC',serif;font-weight:600;font-size:17px;display:block;margin-bottom:3px}
.iex p{margin:0;font-size:15px;line-height:1.6;color:#4A403A}html.zh .iex p{line-height:1.8}
.nut .why{font-size:14px;color:#4F6B4A;margin:12px 0 0;line-height:1.6}
.member{margin:24px 0;padding:24px;border-radius:20px;background:#2E2723;color:#FBF6EE}
.member .kick{color:#F2B48F}.member h3{font-family:Fraunces,'Noto Serif SC',serif;font-weight:600;font-size:clamp(20px,3vw,26px);line-height:1.25;margin:0 0 12px}
.member ul{margin:0 0 18px;padding-left:18px;line-height:1.7;font-size:15px}.member .primary{display:inline-flex;text-decoration:none}
.member small{display:block;margin-top:10px;opacity:.7;font-size:12px}
.bal-why{flex-basis:100%;margin:8px 0 0;font-size:14px;line-height:1.6;color:#4F6B4A}
/* v25 ingredient explainers */
.know h2{margin-bottom:8px}
.kn{border-top:1px solid rgba(0,0,0,.08);padding:2px 0}
.kn summary{list-style:none;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:17px}
.kn summary::-webkit-details-marker{display:none}
.kn summary::after{content:"+";font-size:22px;color:#c4572a;transition:transform .2s}
.kn[open] summary::after{transform:rotate(45deg)}
.kn p{margin:0 0 10px;line-height:1.55;font-size:15.5px}
.kn p b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#7a6a5c;margin-bottom:2px}
/* cnport */
.plusp,.guidep{min-width:0;max-width:680px}
.nut:not(.box){margin:14px 0;padding:14px 16px;border:1px solid #EADBC8;border-radius:14px;background:#FFFCF7}.nut-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.nut-r{display:grid;grid-template-columns:5.5em 1fr 4em;gap:10px;align-items:center;font-size:14px;margin:6px 0}.nut-r i{height:6px;border-radius:3px;background:#F0E6D8;overflow:hidden}.nut-r em{display:block;height:100%;background:#5E7D4F}.nut-r b{text-align:right}
.tiny{font-size:12px;line-height:1.5}.wtb ul{padding-left:1.1em;line-height:1.7}.kick{letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:#C84316;font-weight:600;margin:0}
.lede{font-size:17px;line-height:1.6;max-width:40em}.wl{margin:18px 0 8px;display:grid;gap:6px}.wl form{display:flex;gap:8px;flex-wrap:wrap}.wl input{flex:1 1 200px;min-height:44px;padding:0 12px;border:1px solid #D9C7B2;border-radius:10px;font:inherit}
.hbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:14px}.hb{border:1px solid #EADBC8;border-radius:14px;padding:16px;background:#fff;display:grid;gap:6px}.hb h3{margin:0;font-family:Fraunces,'Noto Serif SC',serif;font-size:19px}.hb p{margin:0;font-size:14px;line-height:1.55;color:#5A4E44}.lock{font-size:12px;font-weight:600;color:#8A5A2B}
.cal{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px}.cal li{padding:10px 12px;border-radius:10px;background:#FFF8EE;font-size:14px;display:grid;gap:2px}.cal li.now{background:#C84316;color:#fff}
.gi{border-bottom:1px solid #EADBC8;padding:12px 0}.gi summary{cursor:pointer;display:grid;gap:2px}.gi summary small{color:#6B5E52;line-height:1.5}.gi dl{margin:10px 0;display:grid;grid-template-columns:7.5em 1fr;gap:6px 12px;font-size:15px;line-height:1.55}.gi dt{font-weight:600}
@media(max-width:420px){.gi dl{grid-template-columns:1fr}.gi dt{margin-top:6px}}

.nut-h{flex-wrap:wrap;gap:4px 12px}.nut-h>b{flex:1 0 100%}
.chl{padding-left:1.1em;line-height:1.7;font-size:16px}.chl li{margin:6px 0}.ch .note{margin:22px 0}
.ftab{margin:18px 0;padding:18px;border:1px solid #EADBC8;border-radius:16px;background:#fff}.ftab h2{font:600 22px/1.2 var(--serif);margin:4px 0 10px}.ft-l{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}.ft-l li{display:flex;gap:10px;align-items:center}.ft-l .plate{width:48px;height:48px;flex:none;border-radius:50%;overflow:hidden}.ft-l small{display:block;color:#8A7B6E;font-size:13px}.ft-b{font-size:15px}.ft-u{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ft-u>b{flex:1 0 100%;font-size:14px}.ftab .ft-u .c2{min-height:44px!important;padding:4px 12px!important;gap:4px!important;border:1px solid #F0E6D8!important;border-radius:999px;background:#FFFBF5!important;color:#2B2320!important;font-size:14px;font-weight:500;line-height:1.2;box-shadow:none!important;width:auto!important}.ftab .ft-u .c2 small{font-weight:400}.ft-u small{color:#5E7D4F;margin-left:4px;font-size:12px}.shimg{display:block;margin:4px 0 10px}

/* v28 fridge art-direction: lit interior, glass shelves, stocked tiles */
.fs-body{background:radial-gradient(140% 50% at 50% -6%,#FFFFFF 0,#F3F7F9 38%,#E7EEF1 100%);box-shadow:inset 0 18px 30px -18px rgba(120,170,200,.35),inset 8px 0 18px -12px rgba(0,0,0,.12),inset -8px 0 18px -12px rgba(0,0,0,.12)}
.fs-s{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fs-mine{margin:4px 0 14px;padding:14px 12px 12px;border-radius:18px;background:linear-gradient(180deg,#FFFDF9,#F8F1E7);border:1px solid #E6D9C8;box-shadow:0 6px 18px -10px rgba(69,58,51,.35)}
.fs-mine h3{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 10px;font:600 17px var(--serif);color:var(--color-fridge-shell)}.fs-mine h3 small{font:500 12px var(--sans);color:var(--color-text-muted)}
.fm-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.fm{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;min-height:96px;border-radius:14px;background:#fff;border:1px solid #EADFD2;box-shadow:0 2px 0 #E2D5C5,0 8px 14px -10px rgba(69,58,51,.4);text-align:center;transition:transform var(--motion-fast)}
.fm:active{transform:translateY(1px) scale(.98)}
.fm-e{font-size:30px;line-height:1.1;filter:drop-shadow(0 3px 3px rgba(0,0,0,.15))}
.fm b{font:600 13px/1.2 var(--sans);color:var(--color-text);overflow-wrap:anywhere}
.fm small{font-size:11px;color:var(--color-secondary)}.fm.old small{color:var(--color-warning);font-weight:600}.fm.old{border-color:#EBC48F;background:#FFF8EC}
.fm:after{content:"×";position:absolute;top:4px;right:7px;font-size:14px;color:var(--color-text-muted)}
.shelf2{position:relative;padding:14px 10px 22px;margin:0 -4px 14px;border:0;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.15))}
.shelf2:after{content:"";position:absolute;left:-6px;right:-6px;bottom:0;height:10px;border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(190,214,226,.85) 55%,rgba(150,180,196,.9));box-shadow:0 6px 10px -4px rgba(60,90,110,.35),inset 0 1px 0 #fff}
.shelf2 h3{color:#5B6D78}.shelf2 h3 small{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.c2{display:inline-flex;align-items:center;gap:6px;background:#fff;border-color:#DCE4E8;box-shadow:0 1px 0 #D3DDE2}
.c2-i{font-size:18px;line-height:1}
.c2.on{background:linear-gradient(180deg,#FFE3BF,#F4C68C);border-color:#C98A44;color:#3E2A17;box-shadow:0 2px 0 #C98A44,0 6px 12px -8px rgba(160,90,20,.6)}.c2.on:before{content:none}
.c2.on:after{content:"✓";position:static;inset:auto;font-size:12px;font-weight:700;margin-left:2px}
.fs-sum{background:#fff;box-shadow:0 6px 16px -12px rgba(0,0,0,.35)}
@media(prefers-reduced-motion:reduce){.fm{transition:none}}

/* v32 fridge artwork pass */
.fs-in{border:0!important;padding:7px;background:linear-gradient(160deg,#5A4A40,#3B302A 40%,#2A221E)!important;box-shadow:var(--shadow-modal),inset 0 1px 0 rgba(255,255,255,.18)}
.fs-in>*{position:relative}
.fs-h{background:transparent!important;padding:calc(10px + env(safe-area-inset-top)) 12px 12px!important;gap:14px;justify-content:flex-start}
.fs-h .fs-addh{margin-left:auto}
.fs-ht b{font:600 22px/1.1 var(--serif);letter-spacing:.01em;color:#FFF8EF}.fs-ht small{display:block;margin-top:3px;font:500 12.5px var(--sans);color:#E8BA82;letter-spacing:.02em}
.fs-led{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:46px;border-radius:12px;background:#0E171D;box-shadow:inset 0 0 0 1px rgba(160,215,255,.28),inset 0 6px 12px rgba(0,0,0,.6),0 0 18px rgba(110,190,255,.22)}
.fs-led b{font:600 21px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#BFE3FF;text-shadow:0 0 8px rgba(140,205,255,.9),0 0 18px rgba(140,205,255,.45)}
.fs-led i{font:600 8.5px/1 var(--sans);font-style:normal;letter-spacing:.16em;color:#7FA9C7;margin-top:3px}
.fs-body{border-radius:18px 18px 0 0;border:3px solid #EDE6DC;border-bottom:0;padding:16px 14px!important}
.fs-f{border-radius:0 0 18px 18px;border:3px solid #EDE6DC;border-top:1px solid #E1D8CC;background:#FBF8F3!important}
.fs-s{margin:-16px -14px 12px!important;border-radius:15px 15px 0 0}
.fs-mine,.shelf2,.fs-sum{margin-bottom:18px}
.shelf2 h3{font:600 11.5px var(--sans);letter-spacing:.16em;margin-bottom:12px}html.zh .shelf2 h3{font-size:14px;letter-spacing:.04em}
.chips2{gap:10px 8px}
.fs-empty{border:0;background:linear-gradient(180deg,#fff,#F6F9FA);box-shadow:0 8px 20px -14px rgba(60,90,110,.5);border-radius:18px;padding:18px 16px 16px}
.fe-art{display:block;width:150px;height:auto;margin:0 auto 8px}
.fs-empty p b{font:600 18px var(--serif);color:var(--color-fridge-shell)}
.fs-res h3{font-size:19px;letter-spacing:.005em}

.fs-ht{min-width:0}.fs-ht b,.fs-ht small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-addh{white-space:nowrap;flex:none}
.chn{display:grid;gap:8px;margin-top:16px}
/* cnport4 empty states */
.st-empty,.li-empty,.fs-empty{background:radial-gradient(120% 90% at 50% 0%,#FFF7EC 0%,#FAF6EF 60%);border:1px dashed #E2CDB5;border-radius:18px;padding:28px 20px;text-align:center}
.st-empty .em-art,.li-empty .em-art{width:84px;height:84px;margin:0 auto 10px;display:block;animation:esf 4s ease-in-out infinite}
.st-empty b,.li-empty b{display:block;font:600 22px/1.25 var(--serif);margin-bottom:6px}.li-empty p,.st-empty p{color:#6B5E52;line-height:1.6;max-width:30em;margin:0 auto 14px}
.fs-empty p b{font:600 19px/1.3 var(--serif)}.fs-empty .chips2{justify-content:center}
.es-x{margin-top:16px;display:grid;gap:8px;justify-items:center}.es-x small{color:#8A7B6E}.es-c{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
@keyframes esf{50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.em-art{animation:none!important}}
/* loop-next: fridge-bar matched empties + sponsors */
.fz-empty,.li-empty,.fs-empty{background:linear-gradient(180deg,#2F2622,#251E1B)!important;border:0!important;border-bottom:6px solid #1A1412!important;border-radius:20px;color:#F6EBDD;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(37,30,27,.18)}
.fz-empty{padding:16px;margin-top:12px}
.fz-empty b,.li-empty b,.fs-empty b{color:#FFF3E3!important}.fz-empty p,.li-empty p,.fs-empty p,.li-empty .es-x small{color:#CDBBA8!important}
.li-empty .link,.fz-empty .link{color:#F2A27E}.fz-empty .c2,.li-empty .c2{background:#3A2F2A;color:#F6EBDD;border-color:#5A4A40}
.spn{margin:22px 0;padding:14px 16px;border:1px solid #EADBC8;border-radius:16px;background:#FFFCF7}
.spn h4{margin:0 0 10px;font:500 12px Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#9A8B7D}
.spn-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.spn a{display:block;padding:10px;border-radius:12px;background:#F6EEE3;text-decoration:none;color:#453A33;font-size:13px;line-height:1.35;min-height:44px}
.spn a b{display:block;font-size:14px;margin-bottom:2px}
@media(max-width:430px){.spn-g{grid-template-columns:1fr}}
#app>*{min-width:0;max-width:100%}#app{grid-template-columns:minmax(0,1fr)}
@media(max-width:699px){.hero{grid-template-columns:minmax(0,1fr)!important}.hero>*{min-width:0;max-width:100%}}
.hero-l{grid-template-columns:minmax(0,1fr)!important;min-width:0}.hero-l>*{min-width:0;max-width:100%}
/* loop-next3 */
.grid .sp{grid-column:1/-1}
.sp{position:relative;margin:8px 0;padding:16px 44px 16px 18px;border-radius:18px;background:linear-gradient(180deg,#2F2622,#251E1B);border-bottom:5px solid #1A1412;color:#F6EBDD}
.sp b{font:600 18px/1.3 var(--serif);color:#FFF3E3}.sp p{margin:4px 0 8px;color:#CDBBA8;font-size:14px;line-height:1.5}.sp .link{color:#F2A27E;font-weight:600}
.sp-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:none;color:#CDBBA8;font-size:22px;cursor:pointer}
#pv{background:#2F2622!important;color:#F6EBDD!important;border:0!important;border-bottom:4px solid #1A1412!important;border-radius:999px}#pv:disabled{opacity:.35}
@media(min-width:1100px){
 #app .grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
 #app .grid .card b,#app .grid h3{font-size:16px!important}
 .hero{gap:18px!important}.sec-h{margin-top:18px!important}
 .spn{margin:14px 0}.spn-g{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* loop-next4 */
.ckfloat{padding:0 4px 0 0!important;gap:0!important}.ckfloat .cf-o{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 10px 0 18px;border:0;background:none;color:#fff;font:inherit;cursor:pointer}.ckfloat .cf-x{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;cursor:pointer}
@media(max-width:699px){
 .hero{gap:14px!important}.hero .fz,.hero .stage{margin:0!important}
 .spn{margin:16px 0 8px!important}.sec-h{margin-top:20px!important}
 .filters{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filters::-webkit-scrollbar{display:none}
 .filters button,.filters .chip{flex:none!important;white-space:nowrap}
}
html:lang(zh) body,[lang=zh] body,body.zh{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:.01em}
/* loop-next5 tap targets */
#app a.link,#app a.lock,#app .shimg,.sp .link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin:0 -4px}
.nut a.link{margin-right:10px}
#app .es-x a.link{min-height:44px}
.spn a{position:relative;padding-right:28px;border:1px solid transparent;transition:border-color .2s}.spn a::after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#B9A897;font-size:18px}.spn a:hover{border-color:#E2CDB5}
/* loop-next6 handbooks */
.chx{margin-top:8px}
.chp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}@media(min-width:700px){.chp{grid-template-columns:repeat(3,minmax(0,1fr))}}
.chp-c{display:flex;gap:10px;align-items:center;padding:8px;border-radius:14px;background:#FFFCF7;border:1px solid #EADBC8;text-decoration:none;color:var(--ink);min-height:64px}
.chp-c img{width:48px;height:60px;object-fit:cover;border-radius:10px;flex:none;background:#EFE6DA}.chp-c b{display:block;font:600 14px/1.25 var(--serif)}.chp-c small{color:var(--mute);font-size:12px}
.chp-add{width:100%;min-height:48px}
.chtl{list-style:none;counter-reset:s;padding:0;margin:10px 0 18px;border-left:2px solid #E2CDB5;padding-left:18px}.chtl li{position:relative;margin:0 0 12px;line-height:1.55}.chtl li::before{content:"";position:absolute;left:-24px;top:7px;width:10px;height:10px;border-radius:50%;background:#C84316;box-shadow:0 0 0 3px #FAF6EF}.chtl b{color:#453A33;margin-right:4px}
/* guide product */
.gx-h{background:linear-gradient(180deg,#2F2622,#251E1B);border-bottom:6px solid #1A1412;border-radius:22px;padding:20px 18px 16px;color:#F6EBDD;margin:8px 0 14px}
.gx-h .kick{color:#F2A27E}.gx-h .pg{color:#FFF3E3;margin:4px 0}.gx-h .lede{color:#CDBBA8}
.gx-s{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:999px;background:#FFF8EF;color:#7A6D63;margin:12px 0 10px}.gx-s input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:16px;color:#2B231E;outline:none;min-height:44px}
.gx-f{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.gx-f::-webkit-scrollbar{display:none}
.gx-f button{flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #5A4A40;background:#3A2F2A;color:#F6EBDD;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}.gx-f button.on{background:#FFF3E3;color:#2B231E;border-color:#FFF3E3}
.gx-i{border:1px solid #EADBC8;border-radius:16px;background:#FFFCF7;margin:0 0 10px;padding:0 14px}.gx-i[open]{box-shadow:0 6px 18px rgba(69,58,51,.08)}
.gx-i summary{list-style:none;cursor:pointer;padding:14px 0;min-height:44px}.gx-i summary::-webkit-details-marker{display:none}.gx-i summary b{font:600 18px/1.3 var(--serif)}
.gx-t{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:8px;vertical-align:middle}.gx-t i{font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px;background:#EFE6DA;color:#5A4A40}.gx-t i.a{background:#F6E1D6;color:#9A3A12}.gx-t em{font-style:normal;font-size:11px;color:#9A8B7D;padding:2px 0}
.gx-i summary small{display:block;color:var(--mute);margin-top:4px;line-height:1.45}
.gx-uh{margin:12px 0 6px;font:500 12px Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#9A8B7D}
.gx-r{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}.gx-r a{text-decoration:none;color:var(--ink);font-size:12px;line-height:1.3}.gx-r img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;display:block;margin-bottom:4px;background:#EFE6DA}.gx-r b{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gx-none{text-align:center;color:var(--mute);padding:20px}
/* waitlist */
.wl-l{display:block;font-weight:600;margin-bottom:8px}.wl-r{display:flex;gap:8px;flex-wrap:wrap}.wl-r input{flex:1 1 200px;min-width:0;min-height:48px;padding:0 16px;border-radius:999px;border:1.5px solid #D9CCBC;font:inherit;font-size:16px}.wl-r input[aria-invalid=true]{border-color:#C0392B}.wl-r .primary{min-height:48px;flex:1 1 auto;border-radius:999px}
.wl-err{color:#C0392B;font-size:14px;margin:8px 4px 0}
.wl-ok{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,#2F2622,#251E1B);border-bottom:5px solid #1A1412;color:#F6EBDD}.wl-ok b{color:#FFF3E3;font:600 18px/1.3 var(--serif)}.wl-ok p{margin:4px 0 0;color:#CDBBA8;font-size:14px;line-height:1.5;word-break:break-word}.wl-ok .link{color:#F2A27E}
.wl-ic{flex:none;width:32px;height:32px;border-radius:50%;background:#3F7A3A;color:#fff;display:grid;place-items:center;font-weight:700}
/* loop-next7 */
@media(min-width:900px){.hero-l>.fz{justify-content:flex-start}.hero-l>.fz>.fz-empty,.hero-l>.fz>.fz-full{flex:1}}
.pbar{display:flex;width:100%;box-sizing:border-box;height:30px;border-radius:999px;overflow:hidden;margin:12px 0 14px;font:600 12px/30px Inter,system-ui,sans-serif;color:#fff;text-align:center}
.pbar i{font-style:normal;white-space:nowrap;overflow:hidden}.pbar .pv{flex:2;background:#5E7F4F}.pbar .pp{flex:1;background:#C84316}.pbar .pk{flex:1;background:#B98A4A}.pbar > i{display:block;min-height:0;height:100%;padding:0;border:0;border-radius:0;position:static;box-sizing:border-box;color:#fff;line-height:30px;text-align:center}
.iex ul{list-style:none;padding:0}.iex li b::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#C84316;margin-right:8px;vertical-align:middle}
.iex li b,.iex li strong{font-family:var(--serif);font-size:17px;color:#2B231E}
/* loop-next8 */
.gx-sug{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}.gx-sug button{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #D9CCBC;background:#FFFCF7;color:#2B231E;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.pbar i{font-size:12px}@media(max-width:360px){.pbar{font-size:11px}}
/* loop-next8: roomier dish rows on phones — stack actions so names breathe */
@media(max-width:400px){.dishes li{gap:8px;padding:8px 6px 8px 8px}.dishes .acts{flex-direction:row;flex-wrap:nowrap;gap:6px;align-items:center}.dish small{word-break:keep-all;line-height:1.45}.dish b{overflow-wrap:normal;word-break:keep-all}html.zh .dish b{word-break:normal}}
/* loop-next10: phone table names ≤2 lines at 320 */
@media(max-width:340px){.dishes .dish b{font-size:15px;line-height:1.3}.dishes .dish small{font-size:12px}.dishes .dish img{width:48px;height:48px}.dishes .dish .plate{flex:0 0 48px;width:48px}}
/* loop-next11 need-to-list */
.need-b{display:inline-flex;align-items:center;gap:3px;min-height:44px;margin-top:4px;padding:0 12px;border-radius:22px;border:1.5px dashed #C0392B;background:#FFF3EE;color:#C0392B;font:600 13px/1.2 var(--sans,inherit);cursor:pointer;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.need-b b{font-weight:700;overflow:hidden;text-overflow:ellipsis}.need-b.on{border-style:solid;border-color:#3F7A3A;background:#EEF6EC;color:#3F7A3A}.need-b:active{transform:scale(.97)}
.fr .need-b{flex:none;margin:0;font-size:12px;padding:0 10px}.fr{flex-wrap:wrap}.fr .fr-a{flex:1 1 60%;min-width:0}
.need-b{white-space:normal;text-align:left;line-height:1.15;padding:4px 10px}.need-b b{overflow:visible}
.fz-c .need-b{padding:4px 8px;font-size:12px;gap:2px}
.need-b{display:inline-block;padding:6px 9px;word-break:keep-all}.need-b b{white-space:nowrap}
/* loop-next13 missing-1 sheet rhythm */
.fr{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;column-gap:8px;row-gap:2px;align-items:center;flex-wrap:nowrap}
.fr .fr-a{grid-column:1;grid-row:1;min-width:0}.fr .fr-add{grid-column:2;grid-row:1/span 2;align-self:center}
.fr .need-b{grid-column:1;grid-row:2;justify-self:start;margin:0 0 2px 64px;min-height:44px}
.fs-res h3{justify-content:space-between;padding:10px 12px;margin:18px 0 10px;border-radius:14px;background:linear-gradient(135deg,#3A2E27,#2B231E);color:#FFF4E2}
.fs-res h3 small{min-width:28px;height:28px;display:inline-grid;place-items:center;border-radius:14px;background:#FFF4E2;color:#2B231E!important}
.fs-res h3+p{margin:-2px 4px 10px}
/* loop-next13 cook done */
#nx .nx-n{display:inline-block;max-width:11em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.ckdone{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:10px;padding:10px 6px 10px 14px;border-radius:18px;background:linear-gradient(135deg,#3A2E27,#2B231E);color:#FFF4E2;box-shadow:0 10px 30px rgba(0,0,0,.3);animation:cdIn .35s ease-out;max-width:520px;margin:0 auto}
.ckdone .cd-i{font-size:26px}.ckdone .cd-t{flex:1;min-width:0;display:flex;flex-direction:column}.ckdone b{font:600 16px/1.25 var(--serif,serif)}.ckdone small{color:#E8C9A0;font-size:12.5px}
.ckdone .cd-h{min-height:44px;display:inline-grid;place-items:center;padding:0 14px;border-radius:22px;background:#C84316;color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.ckdone .cd-x{width:44px;height:44px;border:0;background:none;color:#FFF4E2;font-size:22px;cursor:pointer}
@keyframes cdIn{from{transform:translateY(20px);opacity:0}}@media(prefers-reduced-motion:reduce){.ckdone{animation:none}}
/* r1729: table meta — no dangling separator; holiday as a quiet tag */
.dish small .nw{white-space:nowrap}
.dish small .tgt{display:inline-block;white-space:nowrap;font-size:11.5px;line-height:1;letter-spacing:.02em;padding:4px 8px;margin:2px 0 0;border-radius:999px;background:#FBEFE6;color:#A2380F;vertical-align:1px}
@media(max-width:340px){.ckdone .cd-i{display:none}.ckdone b{font-size:14.5px}.ckdone .cd-h{padding:0 12px}}

/* loop-next17: guide add-to-fridge tap size */
.gx-l button.link[data-fadd]{min-height:44px;display:inline-flex;align-items:center}

/* r1748 nutrition card: links moved to quiet footer */
.nut-f{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:2px;padding-top:2px;border-top:1px solid #EFE4D4}.nut-f a.link{display:inline-flex;align-items:center;min-height:44px;margin:0}
.nut p.tiny{margin:10px 0 8px;line-height:1.55}

/* loop-next22: floating timer hide button 44px */
.ckfloat .cf-x{width:44px;height:44px;min-width:44px}
/* v67 produce */
.season .pin{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:2px 0 -4px;font-weight:600;font-size:14px;color:var(--acc2)}
.c2-s{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px #fff}
.c2-i{position:relative}
.mtabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:16px 0 8px;padding:4px 0;max-width:100%;scroll-snap-type:x proximity;position:sticky;top:var(--hdr,64px);background:var(--bg);z-index:5}
.mtabs::-webkit-scrollbar{display:none}
.mtabs a{flex:none;min-width:52px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:14px;color:var(--mute);position:relative;scroll-snap-align:center}
.mtabs a.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.mtabs a i{position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--acc)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pc{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--paper);text-align:left;position:relative}
.pc-e{font-size:22px;line-height:1;flex:none}.pc-n{flex:1;min-width:0;font-size:14px;font-weight:500;line-height:1.2}
.pc-t{position:absolute;top:-7px;left:10px;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:var(--oks);color:var(--ok)}
.pc-t.end{background:var(--accs);color:var(--acc2)}
.pc-k{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--acc2);font-weight:700}
.pc.on{background:var(--oks);border-color:#BBD6C1}.pc.on .pc-k{background:var(--ok);border-color:var(--ok);color:#fff}
.pgrp{margin-top:18px}.pgrp .aisle small{color:var(--mute);font-weight:500;font-size:13px}
.pfoot{position:sticky;bottom:12px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:18px;background:var(--paper);box-shadow:var(--sh2);border:1px solid var(--line)}
.pfoot .btn{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:360px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pc{padding:8px 6px 8px 8px;gap:6px}.pc-e{font-size:19px}.pc-n{font-size:13px;overflow-wrap:anywhere}.pc-k{width:24px;height:24px}}
.cal li a{display:block;color:inherit;min-height:44px}
.shelf2 h3 .c2-sl{margin-left:auto;font-size:13px;font-weight:600;color:var(--acc2);min-height:44px;display:inline-flex;align-items:center;padding:0 4px}

/* v73click: Plus always visible on phones; recipe hero full width; hb chip */
@media(max-width:430px){.top .brand .wm{display:none!important}header nav .np{display:inline-flex!important;align-items:center;min-height:44px}.top nav{gap:2px!important;flex-shrink:0}.top nav a,.top nav button{padding:0 6px!important;min-height:44px}}
.r-hero{width:auto;display:block}.r-hero img{display:block;width:100%!important;max-width:none;height:100%;object-fit:cover}
@media(max-width:700px){.r-hero img{height:auto}}
.sec-h .hbx{display:inline-flex;align-items:center;min-height:44px;margin:4px 0 8px}

/* v74: holiday banner button must not inherit handbook-card .hb grid */
button#hx.hb{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:8px 12px;border:0;border-radius:12px;background:var(--color-primary-soft)}button#hx.hb>svg{flex:0 0 16px}button#hx .hb-t{flex:1 1 auto;min-width:0}button#hx .hb-go{flex:0 0 auto;margin-left:auto;white-space:nowrap}
/* v77elevate: serves stepper must fit its cell at 320 (44px targets kept) */
@media(max-width:400px){.meta .sv{gap:2px;min-width:0}.meta .sv button{width:44px;height:44px;flex:0 0 44px;box-sizing:border-box;padding:0}.meta .sv dd,.meta .sv b,.meta .sv span{min-width:22px;text-align:center}}
@media(max-width:400px){#sm,#sp{min-width:44px!important;min-height:44px!important}.meta .sv b{min-width:22px;text-align:center}}

/* v78design */
.season .pin{margin:10px 0 0!important;min-height:36px;padding:4px 0;line-height:1.3;text-underline-offset:3px}
.season .pin+*{margin-top:10px!important}
.season .sub+.pin{margin-top:8px!important}
.hbs{align-items:stretch}
.hbs .hb{display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr auto;column-gap:12px;row-gap:6px;padding:20px 20px 16px!important;border-radius:16px;align-content:stretch}
.hbs .hb>small,.hbs .hb>h3,.hbs .hb>p{grid-column:1/-1}
.hbs .hb>small{font:600 11px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--acc2,#A33A12)}
html.zh .hbs .hb>small{letter-spacing:.04em}
.hbs .hb>h3{font-weight:600!important;font-size:20px!important;line-height:1.2;letter-spacing:-.01em}
.hbs .hb>p{align-self:start}
.hbs .hb>.lock{grid-row:4;grid-column:1;align-self:center;padding-top:12px;margin-top:6px;border-top:1px solid #F0E6DA;min-height:44px;display:flex;align-items:center}
.hbs .hb>.link{grid-row:4;grid-column:2;align-self:center;padding-top:12px;margin-top:6px;border-top:1px solid #F0E6DA;min-height:44px;display:flex;align-items:center;justify-content:flex-end;white-space:nowrap;font-weight:600}
.hbs .hb>.lock~.link~*{grid-column:1/-1}
.r-head .eyebrow{margin:0 0 4px}
.r-head h1{margin:8px 0 10px!important}
.r-head .muted{line-height:1.55}
.r-head .meta{margin-top:18px}
@media(max-width:600px){
 .r-head .meta{display:grid!important;grid-template-columns:repeat(6,1fr)!important}
 .r-head .meta>div{grid-column:span 2!important}
 .r-head .meta>div:nth-child(1){order:1}.r-head .meta>div:nth-child(3){order:2}.r-head .meta>div:nth-child(4){order:3}
 .r-head .meta>div:nth-child(2){order:4;grid-column:span 4!important}.r-head .meta>div:nth-child(5){order:5}
 .r-head .meta dd{font-size:17px}
 .r-head h1{font-size:30px!important;line-height:1.12!important}
 .r-body section h2{margin-bottom:6px}
}
@media(min-width:1100px){.season{min-height:0}}
@media(max-width:600px){
 .r-head .meta{border-top:1px solid #EFE3D6!important;border-bottom:1px solid #EFE3D6!important}
 .r-head .meta>div{border:0!important;box-shadow:inset 1px 0 0 #EFE3D6}
 .r-head .meta>div:nth-child(1),.r-head .meta>div:nth-child(2){box-shadow:none}
 .r-head .meta>div:nth-child(2),.r-head .meta>div:nth-child(5){border-top:1px solid #EFE3D6!important}
}
.hbs .hb{column-gap:0!important}
.hbs .hb>.lock,.hbs .hb>.link{font:600 14px/1.3 var(--sans)!important}
.hbs .hb>.link{padding-left:12px}
.hbs .hb>.lock{color:#7A5634}
/* v79fix: 320 fridge quick-picks stay inside panel; meta label no ellipsis; calendar month gap */
@media(max-width:420px){.fz-empty{overflow:hidden}.fz-empty>div{min-width:0}.fz-q{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.fz-q .c2{width:100%!important;min-width:0!important;max-width:100%;padding-left:6px!important;padding-right:8px!important;gap:6px!important;white-space:nowrap;overflow:hidden;font-size:14px}
.meta dt{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:10px!important;letter-spacing:.02em!important;padding-left:2px;padding-right:2px}}
.cal li a b{display:inline-block;margin-right:.6em}.cal li a b::after{content:" "}
@media(max-width:340px){.fz-empty{padding:14px 12px!important}.fz-q{gap:6px!important}.fz-q .c2{font-size:13px!important;padding-left:4px!important;padding-right:6px!important;gap:5px!important}.fz-q .c2-i{width:28px!important;height:28px!important;min-width:28px!important;font-size:15px!important}}
/* v80polish: meta tile labels never clip (INGREDIENTS @320) */
.meta dt{letter-spacing:.08em!important;padding-left:0;padding-right:0}
@media(max-width:420px){.r-head .meta>div{padding-left:3px!important;padding-right:3px!important}.meta dt{letter-spacing:.04em!important}}
@media(max-width:350px){.meta dt{font-size:9.5px!important;letter-spacing:.02em!important}}
/* v81balance: meta tiles — equal heights, values optically centred on one baseline band */
@media(max-width:600px){
 .r-head .meta{align-items:stretch!important}
 .r-head .meta>div{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:12px!important;padding-bottom:12px!important}
 .r-head .meta dd{flex:1;display:flex!important;align-items:center;justify-content:center;min-height:44px;margin-top:6px!important;line-height:1!important}
 .r-head .meta dd.sv{gap:10px}
 .r-head .meta dd.sv b{font:600 20px/1 var(--serif);min-width:24px;text-align:center}
 .r-head .meta>div:nth-child(5) dd{font-size:20px!important}
}
@media(max-width:350px){.r-head .meta dd.sv{gap:4px}}
@media(max-width:600px){.r-head .meta dd:not(.sv){display:block!important;flex:1;line-height:44px!important;text-align:center}}
/* v82polish: 320 premium titles, uses chip, holiday banner */
.u-w,.hb-in,.hb-days,.hb-dshort,.hb-d,.hb-x{font-style:normal}.hb-dshort{display:none}
.fz-a small .ok{white-space:nowrap}
.fz-a b{text-wrap:balance;letter-spacing:-.005em}
@media(max-width:360px){
 .fz-g{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 12px}
 .fz-p{border-radius:16px!important}.fz-p>*{border-radius:16px!important}
 .fz-a b{font-size:14px;line-height:1.28;-webkit-line-clamp:3}
 .fz-a small{font-size:12px}
 .fr-t b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;text-wrap:balance}
 .card-t b{font-size:15.5px;text-wrap:balance}
 button#hx.hb{gap:8px;padding:10px 12px}
 button#hx .hb-t{white-space:nowrap;overflow:hidden;text-overflow:clip}
 .hb-d,.hb-x{display:none}
}
.fz-a b{-webkit-line-clamp:3}
@media(max-width:430px){html:not(.zh) .hb-d,.hb-x{display:none}button#hx .hb-t{white-space:nowrap}}

/* v83sheet */
.fs-ht .sm,.fz-s .sm{display:none}
.fz-s>span{white-space:nowrap;overflow:hidden;min-width:0}
.fs-ht b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.1}
.fs-ht small{white-space:nowrap;overflow:visible;text-overflow:clip}
.fs-addh{padding:0 16px}
.need-b,.fr .need-b{white-space:nowrap;line-height:1.2;padding:6px 9px;max-width:none}
@media(max-width:360px){.fs-ht .lg,.fz-s .lg{display:none}.fs-ht .sm,.fz-s .sm{display:inline}
.fs-h{gap:10px!important}.fs-led{width:50px;height:44px}.fs-ht b{font-size:20px}.fs-addh{padding:0 14px;font-size:14px}.fz-s{font-size:14px;padding:0 12px}}
.fz-g,.fs-chips,.chips2{justify-content:flex-start}

/* v84flow */
.top nav #lang{touch-action:manipulation;position:relative;z-index:2}
@media(max-width:420px){.fs-body .chips2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
.fs-body .chips2 .c2{width:100%;min-width:0;justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-body .chips2 .c2:last-child:nth-child(odd){grid-column:1/-1;justify-content:center}
.fs-body{padding-bottom:calc(40px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:40px}}
@media(max-width:360px){.fs-body .chips2{gap:6px!important}.fs-body .chips2 .c2{font-size:13px;padding-left:4px!important;padding-right:8px!important;gap:5px;min-height:44px!important}.fs-body .chips2 .c2-i{width:28px!important;height:28px!important;font-size:16px!important}}
.fs-body .chips2 .c2-n{min-width:0;overflow:hidden;text-overflow:ellipsis}

/* v85 +N more: hairline card, expandable not CTA */
.c2.more2{border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent)!important;border-style:solid!important;background:linear-gradient(180deg,#FFF8F2,#FBEFE5)!important;color:var(--color-primary)!important;font-weight:600;letter-spacing:.01em;box-shadow:inset 0 1px 0 #fff,0 1px 2px rgba(120,60,20,.06);justify-content:center;gap:6px}
.c2.more2{display:inline-flex!important;align-items:center}.c2.more2::after{display:inline-block!important;position:static!important;content:'';width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7;flex:none}
.c2.more2:active{background:#F7E6D8!important}
/* v86hero: ZH tagline wraps at clause boundary, dash never orphaned */
.season .sub{text-wrap:balance}
.season .sub .nb{white-space:nowrap}
.season .sub .cl{display:inline-block;max-width:100%}

/* v87 empty fridge artwork + handbook editorial */
.fz-e2{display:block!important;margin-top:12px}
.fz-eh{display:flex;gap:12px;align-items:center}
.fz-eh .fs-led{width:54px;height:46px}
.fz-et{min-width:0}.fz-et b{font:600 19px/1.2 var(--serif);display:block}.fz-et p{margin:3px 0 0;font-size:14px;line-height:1.4;color:var(--mute,#7A6D63)}
.fz-ek{margin:12px 0 0;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#8A6F55;display:flex;align-items:center;gap:8px}
.fz-ek::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#E6D6C2,transparent)}
.fz-e2 .fz-q{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.fz-e2 .fz-q .c2{min-width:0;justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fz-e2 .fz-q .xl{display:none}
@media(min-width:600px){.fz-e2 .fz-q{grid-template-columns:repeat(4,minmax(0,1fr))}.fz-e2 .fz-q .xl{display:flex}}
.fz-cta{display:flex;width:100%;justify-content:center;margin-top:12px;min-height:46px;border-radius:14px;font-weight:600}
.sec-h.hbm{border-top:2px solid #453A33;padding-top:12px}
.hb-kick{margin:0 0 4px;font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary)}
.sec-h.hbm h2{font-family:var(--serif);font-size:24px;letter-spacing:-.01em}
.sec-h.hbm~.grid{counter-reset:hbn}
.sec-h.hbm~.grid>*{counter-increment:hbn;position:relative}
.sec-h.hbm~.grid>*::before{content:counter(hbn,decimal-leading-zero);position:absolute;z-index:2;top:8px;left:8px;font:600 12px/1 var(--serif);background:#FFF8EF;color:#453A33;padding:4px 7px;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.fz-ek{white-space:nowrap;overflow:hidden}.fz-e2 .fz-q .c2{min-height:40px;padding-top:4px;padding-bottom:4px}.fz-e2 .fz-q{gap:6px}@media(max-width:360px){.fz-ek .lg{display:none}}
.sec-h.hbm{flex-wrap:wrap}.sec-h.hbm .hb-kick{flex:0 0 100%;order:-1}.sec-h.hbm h2{margin-left:0;text-align:left}
/* v88 trim */
.fz-qm{display:none;background:none;border:0;color:#F2A27E;font:600 13px/1 var(--sans);padding:8px 0 0;cursor:pointer}
@media(max-width:599px){.fz-e2 .fz-q .m6{display:none!important}.fz-qm{display:block}.fz-e2{padding:12px 12px 14px!important}.fz-eh{gap:10px}.fz-eh .fs-led{width:46px;height:40px}.fz-empty b{font-size:17px!important}.fz-empty p{margin:2px 0 0!important;font-size:13px}.fz-ek{margin-top:10px}.fz-e2 .fz-q{margin-top:8px}.fz-e2 .fz-q .c2{min-height:36px!important;padding-top:2px!important;padding-bottom:2px!important}.fz-e2 .fz-q .c2-i{width:26px!important;height:26px!important;min-width:26px!important}.fz-cta{margin-top:8px!important}}

/* v89 badge: number moves to top-right corner of the photo so cuisine tag stays fully readable */
.hbm~.grid>*::before{left:auto!important;right:10px;top:10px!important;padding:6px 8px;font:600 12px/1 var(--serif);letter-spacing:.02em;background:rgba(69,58,51,.88);color:#FFF8EF;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18);backdrop-filter:blur(4px)}
.hbm~.grid .ct{white-space:nowrap;letter-spacing:.05em!important;padding:7px 9px!important}
@media (max-width:360px){.hbm~.grid>*::before{right:auto;left:10px!important}.hbm~.grid .ct{top:42px!important;font-size:10px!important;letter-spacing:.04em!important}}

/* v90 unify: one layout at every width — cuisine tag top-left (full width of photo), number pill photo-corner bottom-left (+ stays bottom-right) */
.hbm~.grid>*::before{content:none!important;display:none!important}
.hbm~.grid>* .cover::after{content:counter(hbn,decimal-leading-zero);position:absolute;z-index:2;left:10px;bottom:10px;padding:6px 9px;font:600 12px/1 var(--serif);letter-spacing:.02em;background:rgba(69,58,51,.88);color:#FFF8EF;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.18);backdrop-filter:blur(4px);pointer-events:none}
.hbm~.grid .ct{top:10px!important;left:10px!important}
@media (max-width:360px){.hbm~.grid .ct{font-size:10px!important;letter-spacing:.04em!important;padding:7px 8px!important}}
/* v90 denser empty fridge @<=360 */
@media(max-width:360px){.fz-e2{padding:10px 10px 12px!important}.fz-eh{gap:8px;align-items:center}.fz-eh .fs-led{width:40px;height:36px}.fz-empty b{font-size:15.5px!important;line-height:1.2!important}.fz-empty p{font-size:12.5px!important;line-height:1.35!important;margin:1px 0 0!important}.fz-ek{margin-top:8px!important}.fz-e2 .fz-q{margin-top:6px!important;gap:5px!important}.fz-e2 .fz-q .c2{min-height:34px!important}.fz-qm{padding-top:6px!important}.fz-cta{margin-top:6px!important;min-height:44px}}
/* v91 i18n: language menu + ES/KO type */
#lang{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}#lang .lg-v{font-size:.7em;opacity:.6}
.i18n-menu{position:fixed;z-index:1000;background:#fff;border:1px solid #E6D3BE;border-radius:14px;box-shadow:0 10px 30px rgba(59,50,44,.18);padding:6px;display:grid;min-width:150px}
.i18n-menu button{all:unset;cursor:pointer;padding:11px 14px;border-radius:10px;font:500 15px/1.2 Inter,system-ui,sans-serif;color:#3B322C;display:flex;justify-content:space-between;gap:12px}
.i18n-menu button:hover,.i18n-menu button:focus-visible{background:#FAF1E6}.i18n-menu button[aria-checked=true]{color:#C84316;font-weight:600}.i18n-menu i{font-style:normal}
html[lang=ko] body{font-family:Inter,'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',system-ui,sans-serif;word-break:keep-all}
html.xl .c2,html.xl button{overflow-wrap:anywhere}
/* v91 Plus weekly menu hook */
.wkm{background:#fff;border:1px solid #EADBC8;border-radius:18px;padding:14px;margin:14px 0 16px;box-shadow:0 6px 20px rgba(59,50,44,.06)}
.wkm-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.wkm-h b{font-size:15px}
.wkm-tag{font-size:12px;font-weight:600;color:#C84316;background:#FCEBDD;border-radius:999px;padding:4px 10px;white-space:nowrap}
.wkm-l{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.wkm-l a{display:grid;grid-template-columns:38px 44px 1fr;align-items:center;gap:10px;text-decoration:none;color:inherit;padding:4px;border-radius:12px}
.wkm-l a:hover{background:#FAF6EF}.wkm-d{font-size:12px;font-weight:700;color:#8A7B6E;text-transform:uppercase}
.wkm-l img{width:44px;height:44px;object-fit:cover;border-radius:10px}.wkm-n{font-weight:600;font-size:14px;line-height:1.25;min-width:0}.wkm-n small{display:block;font-weight:400;color:#8A7B6E;font-size:12px}
.wkm-a{margin-top:10px;padding-top:10px;border-top:1px dashed #E6D3BE;display:grid;gap:6px}.wkm-a b{font-size:13px}
.wkm-a span{display:flex;flex-wrap:wrap;gap:6px}.lock.soon{color:#5E7D4E;font-weight:600}
/* v98: ES/KO steps are longer — never clip step number/timer in cook mode */
.ck-main{justify-content:safe center!important;min-height:0;overflow-y:auto}
html.xl .ck-step{font-size:clamp(24px,6.6vw,40px)!important}
.ck-timer{flex-shrink:0}.ck-timer .tv{white-space:nowrap}
.ck-timer{max-width:100%;text-align:left}.ck-timer .tl{min-width:0;white-space:nowrap;line-height:1.2;letter-spacing:0;word-spacing:0;font-variant-numeric:normal;font-feature-settings:"tnum" 0}
/* v108: holiday bar must fit its card at 320 (ES "Menú" was clipped); ES/KO title may wrap to 2 lines */
button#hx.hb{box-sizing:border-box;max-width:100%;min-width:0;width:100%}
button#hx .hb-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(max-width:360px){html:not(.zh) button#hx .hb-t{white-space:normal;overflow:visible;line-height:1.25}}
/* v108: fridge LED unit label — room for accented caps (ÍTEMS) */
.fs-led i{line-height:1.2;padding-top:1px;overflow:visible}
/* v110: keep sheet shelf headers on one line (ES long labels) */
.shelf2 h3 .c2-sl{white-space:nowrap;flex:none}
.shelf2 h3>span{min-width:0}
html[lang=es] .shelf2 h3,html[lang=es] .shelf2 h3 .c2-sl{letter-spacing:.06em}

/* v114: list summary at narrow widths — plates on their own row so the summary text gets full width (was 5 lines in a 134px column at 320) */
@media(max-width:360px){.list-wrap>.note{flex-wrap:wrap;row-gap:10px}.list-wrap>.note>.stack{flex:0 0 100%}.list-wrap>.note>:not(.stack){flex:1 1 100%;min-width:0}}

.tg-hook{font-size:14px;line-height:1.45;margin:18px 0 8px;color:var(--ink)}.chn a{justify-self:start;text-align:left}
.hb-days{white-space:nowrap}
.meta>div:first-child dd{white-space:nowrap}.meta>div:first-child dd>.en,.meta>div:first-child dd>.zh{font-size:.74em}html[lang=ko] .meta>div:first-child dd>.en{margin-left:-.29em}
.meta>div:nth-child(3) dd{font-size:clamp(15px,4.8vw,19px)!important}
.spon,.spn{display:none!important}/* v122 sponsored hidden (wei) */
/* v129polish: holiday strip clearer right fade; list plates stack up to 390 */
.filters.hol{-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent);padding-right:32px}
@media(max-width:400px){.list-wrap>.note{flex-wrap:wrap;row-gap:10px}.list-wrap>.note>.stack{flex:0 0 100%}.list-wrap>.note>:not(.stack){flex:1 1 100%;min-width:0}}
/* ---- v130 Table Relay ---- */
.rl-g{margin:28px 0 8px;padding:22px 0 6px;border-top:1px solid #EADBC9}
.rl-eyebrow{font:600 11px/1 Inter,'Noto Sans SC',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--tc,#C84316);margin:0 0 8px}
.rl-gh h2,.rl-p h1,.rl-more-h,.rl-sb h3{font-family:Fraunces,'Noto Serif SC',Georgia,serif;font-weight:600;letter-spacing:-.01em;margin:0;color:#2B2420}
.rl-gh h2{font-size:28px;line-height:1.1}.rl-sub{margin:6px 0 0;color:#6B5D52;font-size:14px}
.rl-f{display:flex;gap:6px;margin:14px 0 12px;overflow-x:auto;scrollbar-width:none}.rl-f::-webkit-scrollbar{display:none}
.rl-f button{flex:none;border:1px solid #E3D3C0;background:#fff;border-radius:999px;padding:7px 14px;font:500 13px Inter,'Noto Sans SC',sans-serif;color:#3B322C;cursor:pointer}
.rl-f button.on{background:#2B2420;color:#FAF6EF;border-color:#2B2420}
.rl-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px;margin:0 -16px;padding-left:16px;scroll-padding-left:16px;scrollbar-width:none}.rl-rail::-webkit-scrollbar{display:none}
.rl-rail::after{content:'';flex:0 0 4px}
.rl-card{flex:0 0 min(72%,250px);scroll-snap-align:start;position:relative;aspect-ratio:3/4;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;background:var(--tc);box-shadow:0 14px 34px -16px rgba(43,35,32,.55);transition:transform .25s}
.rl-card:active{transform:scale(.97)}
.rl-card .rl-col{position:absolute;inset:0}
.rl-col{display:grid;gap:2px;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;position:relative;overflow:hidden;background:var(--tc,#C84316)}
.rl-col.n1{grid-template-columns:1fr;grid-template-rows:1fr}.rl-col.n2{grid-template-rows:1fr}
.rl-col .p0{grid-row:1/3}.rl-col.n2 .p0{grid-row:auto}
.rl-ph{position:relative;overflow:hidden;display:block}.rl-ph img,.rl-ph .ph{width:100%;height:100%;object-fit:cover;display:flex;align-items:flex-end}
.rl-ph .ph em{font-size:12px;padding:8px;color:#fff;font-style:normal}
.rl-more{position:absolute;right:10px;top:10px;background:rgba(20,16,14,.62);backdrop-filter:blur(6px);color:#fff;font:600 12px Inter;border-radius:999px;padding:4px 9px;font-style:normal}
.rl-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(20,14,10,.82) 100%)}
.rl-cb{position:absolute;left:0;right:0;bottom:0;padding:16px;z-index:1;display:flex;flex-direction:column;gap:6px}
.rl-cb .rl-kick{font:600 10px/1 Inter,'Noto Sans SC',sans-serif;letter-spacing:.14em;text-transform:uppercase;font-style:normal;opacity:.9;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);align-self:flex-start;padding:5px 8px;border-radius:999px}
.rl-cb b{font:600 22px/1.12 Fraunces,'Noto Serif SC',serif;text-wrap:balance}.rl-cb small{font:500 12.5px Inter,'Noto Sans SC',sans-serif;opacity:.88}
.rl-note{font-size:12px;color:#8A7B6E;margin:2px 0 0}
.rl-share{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:14px 0 0;padding:12px 14px;border-radius:14px;border:1.5px dashed #D9B99B;background:linear-gradient(90deg,#FFF4E8,#FDEBDD);color:#A63A12;font:600 15px Inter,'Noto Sans SC',sans-serif;cursor:pointer}
.rl-share svg{width:18px;height:18px}
.rl-from{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#F4EEE6;border-radius:12px;padding:7px 8px 7px 12px;margin:0 0 12px;font-size:12.5px;color:#5E5046}
.rl-from b{color:#2B2420}.rl-from button{border:0;background:none;font-size:18px;color:#8A7B6E;cursor:pointer;padding:0 6px}
.stage.rl-pop{animation:rlpop .9s cubic-bezier(.2,.9,.3,1.2)}@keyframes rlpop{0%{transform:scale(.96);box-shadow:0 0 0 0 rgba(200,67,22,.5)}60%{transform:scale(1.01);box-shadow:0 0 0 10px rgba(200,67,22,0)}100%{transform:none}}
.rl-p{max-width:720px;margin:0 auto;padding-bottom:110px}
.rl-hero{margin:0 -16px;position:relative}.rl-hero .rl-col.big{aspect-ratio:4/3.3;border-radius:0 0 28px 28px}
.rl-hx{background:#FFFDF9;margin:-46px 12px 0;position:relative;border-radius:24px;padding:20px 18px 16px;box-shadow:0 18px 40px -22px rgba(43,35,32,.5)}
.rl-p h1{font-size:30px;line-height:1.08;text-wrap:balance}.rl-vibe{margin:8px 0 14px;color:#5E5046;font-size:15px;line-height:1.45}
.rl-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #EFE3D5;padding-top:12px}
.rl-stats span{display:flex;flex-direction:column;font-size:11.5px;color:#8A7B6E;gap:2px}.rl-stats b{font:600 17px Fraunces,'Noto Serif SC',serif;color:#2B2420}
.rl-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:8px}
.rl-list a{display:flex;align-items:center;gap:12px;padding:8px;border-radius:16px;background:#fff;border:1px solid #F0E6DA;text-decoration:none;color:#2B2420}
.rl-n{font:600 13px Fraunces,serif;color:var(--tc);width:20px;text-align:center}.rl-li{flex:none;width:58px;height:58px;border-radius:12px;overflow:hidden}.rl-li img,.rl-li .ph{width:100%;height:100%;object-fit:cover;display:block}.rl-li .ph em{display:none}
.rl-lt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rl-lt b{font-size:15px;line-height:1.25}.rl-lt small{color:#8A7B6E;font-size:12.5px}.rl-go{color:#C9B6A3;font-size:22px;padding-right:4px}
.rl-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(250,246,239,0),#FAF6EF 30%)}
.rl-cta .primary{flex:2;display:flex;flex-direction:column;align-items:center;line-height:1.2;box-shadow:0 12px 26px -10px rgba(200,67,22,.7)}.rl-cta .ghost{flex:1;background:#fff}
@media(min-width:760px){.rl-cta{position:static;background:none;padding:18px 0 0}.rl-hero{margin:0}.rl-hero .rl-col.big{border-radius:28px}}
.rl-more-h{font-size:22px;margin:30px 0 12px}.rl-back{text-align:center;margin-top:12px}.rl-back a{color:#A63A12}
.rl-sheet{position:fixed;inset:0;z-index:60;background:rgba(30,22,18,.48);display:flex;align-items:flex-end;justify-content:center;animation:rlfade .2s}
@keyframes rlfade{from{opacity:0}}@keyframes rlup{from{transform:translateY(40px)}}
.rl-sb{background:#FFFDF9;width:100%;max-width:520px;border-radius:26px 26px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));position:relative;animation:rlup .28s cubic-bezier(.2,.9,.3,1)}
.rl-sb h3{font-size:24px;margin-bottom:14px}.rl-x{position:absolute;right:12px;top:10px;border:0;background:#F4EEE6;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer}
.rl-prev{display:flex;gap:12px;align-items:center}.rl-prev .rl-col{flex:none;width:96px;aspect-ratio:3/4;border-radius:14px}.rl-prev div{display:flex;flex-direction:column;gap:4px;min-width:0}.rl-prev small{color:#6B5D52;font-size:13px;line-height:1.35}
.rl-how{font-size:13px;color:#6B5D52;background:#F7F0E7;border-radius:12px;padding:10px 12px;margin:14px 0}
.rl-url{display:flex;border:1px solid #E3D3C0;border-radius:12px;overflow:hidden;background:#fff}.rl-url input{flex:1;min-width:0;border:0;padding:11px 12px;font:13px ui-monospace,monospace;color:#5E5046;background:none}.rl-url button{border:0;background:#2B2420;color:#fff;padding:0 16px;font-weight:600;cursor:pointer}
.rl-sa{display:flex;gap:8px;margin-top:10px}.rl-sa button{flex:1;padding:13px;border-radius:14px;font-weight:600}
.rl-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:80;background:#2B2420;color:#FAF6EF;padding:11px 16px;border-radius:999px;font:500 14px Inter,'Noto Sans SC',sans-serif;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);transition:opacity .4s,transform .4s;max-width:90vw;text-align:center}.rl-toast.out{opacity:0;transform:translate(-50%,10px)}
.rl-col .ph em{display:none}.rl-stats b{font-size:15px;white-space:nowrap}

body:has(.rl-sheet) .rl-toast{top:calc(16px + env(safe-area-inset-top));bottom:auto}body:has(.rl-sheet) .rl-toast.out{transform:translate(-50%,-10px)}

.rl-rmx{position:absolute;left:10px;top:10px;z-index:2;font:600 12px/1 Inter,'Noto Sans SC',sans-serif;font-style:normal;color:#2B2420;background:rgba(255,253,249,.92);border-radius:999px;padding:6px 10px;box-shadow:0 4px 14px -4px rgba(0,0,0,.45);animation:rlpulse 2.4s ease-in-out 1s 2}
@keyframes rlpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.rl-me{display:inline-flex;gap:4px;align-items:center;margin:10px 0 0;padding:5px 11px;border-radius:999px;background:#FBE9DF;color:#A63A12;font:500 12.5px Inter,'Noto Sans SC',sans-serif}.rl-me b{font-weight:700}
@media (prefers-reduced-motion:reduce){.rl-rmx{animation:none}}

.rl-q{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 10px}
.rl-q .rl-qa{padding:0;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:#3B322C;font:500 11.5px Inter,'Noto Sans SC',sans-serif;transition:transform .15s}
.rl-qa:active{transform:scale(.92)}
.rl-qa i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--qc);color:#fff;font:700 18px Inter,sans-serif;font-style:normal;box-shadow:0 8px 18px -8px var(--qc)}

.rl-cta{align-items:stretch;max-width:720px;margin:0 auto}
.rl-cta .primary{flex:1;justify-content:center;min-width:0;border-radius:18px;padding:12px 14px;font-size:16px;white-space:nowrap}
.rl-cta .primary .cta-s{white-space:normal;font-size:11.5px;opacity:.85;margin-top:2px}
.rl-cta .rl-pb{flex:none;width:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;padding:8px 4px;font:600 12px Inter,'Noto Sans SC',sans-serif;border:1.5px solid #E3D3C0}
.rl-cta .rl-pb svg{width:20px;height:20px;color:var(--tc,#C84316)}
@media (max-width:360px){.rl-cta .primary .cta-s{display:none}.rl-cta .primary{font-size:15.5px}}

.rl-hero{margin:-18px -16px 0}
.rl-hero .rl-col.big{padding:0;gap:3px;aspect-ratio:1/1;max-height:64vh;width:100%;border-radius:0 0 30px 30px;box-shadow:0 24px 40px -28px rgba(43,35,32,.7)}
.rl-hero .rl-col.big::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,14,10,.28) 0,rgba(20,14,10,0) 22%,rgba(20,14,10,0) 62%,rgba(20,14,10,.42) 100%)}
.rl-hero .rl-col.big .rl-more{top:auto;bottom:58px;right:14px;z-index:2;font-size:13px;padding:6px 11px;background:rgba(255,253,249,.92);color:#2B2420;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
@media (min-width:721px){.rl-hero{margin:0}.rl-hero .rl-col.big{border-radius:28px}}

.rl-from.rl-lin{position:relative;gap:10px;padding:12px 8px 12px 12px;border-radius:18px;background:linear-gradient(120deg,#FFF1E6,#FBE3D3 60%,#F6E9DA);border:1px solid #F1D3BC;box-shadow:0 10px 24px -18px rgba(200,67,22,.6);animation:rlin .5s ease-out}
@keyframes rlin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.rl-chain{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}
.rl-chain i{width:7px;height:7px;border-radius:50%;background:#E2B79A}.rl-chain i.me{width:11px;height:11px;background:#C84316;box-shadow:0 0 0 3px rgba(200,67,22,.2)}
.rl-lt2{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.25}
.rl-lt2 small{font:600 10.5px Inter,'Noto Sans SC',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#A63A12}
.rl-lt2 b{font:600 16px Fraunces,'Noto Serif SC',serif;color:#2B2420;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rl-lt2 em{font-style:normal;font-size:12px;color:#6B5D52}
.rl-from .rl-pon{flex:none;background:#C84316;color:#fff;font:600 13px Inter,'Noto Sans SC',sans-serif;padding:8px 12px;border-radius:999px;box-shadow:0 6px 14px -6px rgba(200,67,22,.8);white-space:nowrap}
.rl-from #rlfx{align-self:flex-start;padding:0 4px}
@media (prefers-reduced-motion:reduce){.rl-from.rl-lin{animation:none}}
.rl-lt2 b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.2}
.rl-from .rl-pon{padding:7px 10px;font-size:12.5px}.rl-from.rl-lin{gap:8px}
@media (max-width:420px){.rl-from.rl-lin{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"c t x" ". p p";align-items:center;row-gap:8px}.rl-chain{grid-area:c}.rl-from.rl-lin .rl-lt2{grid-area:t}.rl-from.rl-lin #rlfx{grid-area:x}.rl-from.rl-lin .rl-pon{grid-area:p;justify-self:start}}

.rl-menu{margin:18px 0 0;background:#FFFDF9;border:1px solid #EFE3D5;border-radius:24px;padding:16px 14px 6px;box-shadow:0 14px 34px -26px rgba(43,35,32,.55);position:relative}
.rl-menu::before{content:'';position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--tc,#C84316);opacity:.85}
.rl-menu-h{display:flex;align-items:baseline;justify-content:space-between;margin:2px 2px 6px;font:italic 600 20px Fraunces,'Noto Serif SC',serif;color:#2B2420}
.rl-menu-h i{font:600 10.5px Inter,'Noto Sans SC',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--tc,#C84316);font-style:normal}
.rl-menu .rl-list{margin:0;gap:0}
.rl-menu .rl-list li+li a{border-top:1px dashed #E6D6C4}
.rl-menu .rl-list a{background:none;border:0;border-radius:0;padding:12px 2px;gap:12px}
.rl-menu .rl-list a:active{background:#FBF3EA}
.rl-menu .rl-n{font:italic 600 22px Fraunces,serif;width:28px;opacity:.9}
.rl-menu .rl-li{width:62px;height:62px;border-radius:50%;box-shadow:0 6px 14px -8px rgba(43,35,32,.6);outline:3px solid #FFF;outline-offset:-3px}
.rl-menu .rl-lt b{font:600 16px/1.22 Fraunces,'Noto Serif SC',serif}
.rl-menu .rl-lt small{font-size:12px;letter-spacing:.02em}

.rl-arrive{position:absolute;z-index:3;left:14px;top:14px;margin:0;display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 28px);padding:7px 13px 7px 8px;border-radius:999px;background:rgba(255,253,249,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:600 12.5px/1.2 Inter,'Noto Sans SC',sans-serif;color:#2B2420;box-shadow:0 8px 22px -10px rgba(43,35,32,.6)}
.rl-arrive i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tc,#C84316);color:#fff;font-style:normal;font-size:13px}
.rl-hero{position:relative}
@media (prefers-reduced-motion:no-preference){
.rl-cold .rl-arrive{animation:rlArr .55s cubic-bezier(.2,.8,.2,1) .15s both}
.rl-cold .rl-hx{animation:rlUp .6s cubic-bezier(.2,.8,.2,1) both}
.rl-cold #rlmake{animation:rlNudge 1.6s ease-in-out 1s 2}
@keyframes rlArr{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}
@keyframes rlUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes rlNudge{0%,100%{box-shadow:0 10px 24px -12px rgba(200,67,22,.7)}50%{box-shadow:0 10px 24px -12px rgba(200,67,22,.7),0 0 0 7px rgba(200,67,22,.16)}}
}

.rl-hx .rl-eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.rl-f button{display:inline-flex;align-items:center;gap:6px}
.rl-f button i{font-style:normal;font-size:14px;line-height:1}
.rl-f button em{font:700 11px/1 Inter,sans-serif;font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-grid;place-items:center;background:#F1E6DA;color:#8A5A3C}
.rl-f button.on em{background:rgba(255,255,255,.2);color:#fff}

/* v144 share postcard */
.rl-sheet .rl-prev{flex-direction:column;align-items:stretch;gap:10px;background:#fff;border:1px solid #EFE3D5;border-radius:20px;padding:8px 8px 12px;box-shadow:0 14px 30px -22px rgba(43,35,32,.55)}
.rl-sheet .rl-prev .rl-col{display:grid!important;width:100%;aspect-ratio:auto;height:124px;border-radius:14px;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:1fr;gap:3px;padding:0;margin:0}
.rl-sheet .rl-prev .rl-col.n2{grid-template-columns:1.4fr 1fr}.rl-sheet .rl-prev .rl-col.n1{grid-template-columns:1fr}
.rl-sheet .rl-prev .rl-col>*{grid-row:auto!important;grid-column:auto!important;min-height:0}
.rl-sheet .rl-prev .rl-col img{width:100%;height:100%;object-fit:cover;display:block}
.rl-sheet .rl-prev .rl-more{top:8px;right:8px;bottom:auto;background:rgba(255,253,249,.92);color:#2B2420}
.rl-sheet .rl-prev>div{padding:0 6px}
.rl-sheet .rl-prev small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.rl-sheet .rl-prev .rl-col>div{display:block}

/* v146 chip row peek */
.rl-f{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent);padding-right:28px}
.rl-f button{scroll-snap-align:start}
@media(max-width:440px){.rl-f{gap:5px}.rl-f button{padding:6px 10px;gap:4px;font-size:12.5px}.rl-f button em{min-width:16px;height:16px;font-size:10.5px;padding:0 4px}}

/* v147 icon-only All on phones */
@media(max-width:440px){.rl-f .rlf-all span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.rl-f .rlf-all{padding-left:11px;padding-right:8px}}
@media(max-width:440px){.rl-f{gap:4px}.rl-f button{padding-left:9px;padding-right:7px}.rl-f .rlf-all{padding-left:10px;padding-right:7px}}
.rl-sheet .rl-prev .rl-col{background:#fff}

.nut .pairs a,.pairs a{border-radius:16px;max-width:100%;align-items:center;line-height:1.25;padding:6px 12px 6px 6px}.pairs a span,.pairs a b{min-width:0;overflow-wrap:anywhere}.pairs{align-items:flex-start}
html.zht{--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Noto Serif TC","Songti TC","Noto Serif SC",serif;--sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","PingFang TC","Noto Sans TC","PingFang SC","Noto Sans SC",sans-serif;--font-display-cjk:"Noto Serif TC","Songti TC","Noto Serif SC",serif;--font-body-cjk:"Noto Sans TC","PingFang TC","Noto Sans SC",sans-serif}
.i18n-menu [data-lg=zht]{font-family:"PingFang TC","Noto Sans TC",sans-serif}
.vic{width:1em;height:1em;display:inline-block;vertical-align:-.14em;overflow:visible}.c2-i .vic,.pc-e .vic,.fm-e .vic{width:1.15em;height:1.15em}

/* v155 silk — interaction polish */
html{-webkit-tap-highlight-color:transparent}
button,a,[role=button],[data-add],[data-qk],.c2,.pc,.rl-f button,nav a,#lang,.i18n-menu button,label,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,a.btn,.c2,.pc,.rl-f button,nav a,#lang,.i18n-menu button,[data-add],[data-qk],.rl-share,.rl-card,.card{transition:transform 110ms cubic-bezier(.2,.8,.2,1),opacity 110ms,background-color 160ms,box-shadow 160ms,color 160ms,border-color 160ms}
@media (hover:none){button:active,a.btn:active,.c2:active,.pc:active,.rl-f button:active,nav a:active,#lang:active,.i18n-menu button:active,[data-add]:active,[data-qk]:active,.rl-share:active{transform:scale(.96);opacity:.86;transition-duration:60ms}
.rl-card:active,.card:active{transform:scale(.985);transition-duration:60ms}}
@media (hover:hover){button:active,.c2:active,.pc:active,.rl-f button:active,nav a:active,[data-add]:active{transform:scale(.97)}}
#app.vin{animation:vin 200ms cubic-bezier(.2,.8,.2,1)}
@keyframes vin{from{opacity:.001;transform:translateY(8px)}to{opacity:1;transform:none}}
.rl-sheet>*{animation:sup 260ms cubic-bezier(.2,.9,.25,1) both}
.modal .sheet{animation:sup 260ms cubic-bezier(.2,.9,.25,1) both}
@keyframes sup{from{transform:translateY(28px);opacity:.4}to{transform:none;opacity:1}}
.i18n-menu{animation:mpop 150ms cubic-bezier(.2,.8,.2,1);transform-origin:top right}
@keyframes mpop{from{opacity:0;transform:scale(.94) translateY(-4px)}}
.rl-f,.chips,.cz{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
html.zht{--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Noto Serif TC","Songti TC",serif;--sans:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI","PingFang TC","Noto Sans TC",sans-serif;--font-display-cjk:"Noto Serif TC","Songti TC",serif;--font-body-cjk:"Noto Sans TC","PingFang TC",sans-serif}
@media (prefers-reduced-motion:reduce){#app.vin,.rl-sheet>*,.modal .sheet,.i18n-menu{animation:none!important}button:active,.c2:active,.pc:active,[data-add]:active{transform:none!important}}

/* v159 silk2 — fridge sheet open/close matches v155 share sheets */
.fsheet.opening{animation:fbd 200ms cubic-bezier(.2,.8,.2,1) both}
.fsheet.opening .fs-door{animation:door 240ms cubic-bezier(.2,.9,.25,1) forwards}
.fsheet.opening .fs-in{animation:fsup 260ms cubic-bezier(.2,.9,.25,1) both}
.fsheet.closing{animation:fbd 200ms cubic-bezier(.4,0,1,1) reverse both;pointer-events:none}
.fsheet.closing .fs-in{animation:fsdn 220ms cubic-bezier(.4,0,1,1) both}
.fsheet.closing .fs-door{display:none}
@keyframes fbd{from{background-color:rgba(41,35,31,0)}to{background-color:rgba(41,35,31,.45)}}
@keyframes fsup{from{transform:translateY(36px);opacity:.35}to{transform:none;opacity:1}}
@keyframes fsdn{from{transform:none;opacity:1}to{transform:translateY(40px);opacity:0}}
.fs-in{will-change:transform}
@media (prefers-reduced-motion:reduce){.fsheet.opening,.fsheet.opening .fs-in,.fsheet.opening .fs-door,.fsheet.closing,.fsheet.closing .fs-in{animation:none!important}}

/* v160 card silk: no sticky hover-lift on touch; press keeps lift on desktop */@media (hover:none){.card:hover{transform:none;box-shadow:var(--sh1)}.card:hover .cover img{transform:none}.card:active{transform:scale(.985)}}@media (hover:hover){.card:hover:active{transform:translateY(-1px) scale(.985)}}
/* v168 fridge: tabs + tiles + tray + in-sheet results */
#fsheet .fs-h,.fsheet .fs-h{display:flex;align-items:center;gap:12px}
.fsheet .fs-xb{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;font-size:24px;line-height:1}
.fsheet .ft-ans{font-size:13px}.fsheet .ft-ans b{font-size:15px}
.fsheet .ft-top{background:var(--color-surface,#fff);padding:10px 12px 8px;border-bottom:1px solid #E3E9EC;box-shadow:0 6px 14px -12px rgba(0,0,0,.3);z-index:2}
.fsheet .ft-top .fs-s{margin:0}
.fsheet .ft-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px -12px 0;padding:0 12px}.fsheet .ft-tabs::-webkit-scrollbar{display:none}
.fsheet .ft-tab{flex:none;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #DCE4E8;background:#fff;font:600 14px/1 var(--sans,Inter,system-ui);color:#5B524B;display:inline-flex;align-items:center;gap:6px;transition:background .18s,color .18s,transform .12s}
.fsheet .ft-tab.on{background:#3B322C;color:#fff;border-color:#3B322C}
.fsheet .ft-tab i{font-style:normal;min-width:18px;height:18px;border-radius:9px;background:#C84316;color:#fff;font-size:11px;display:grid;place-items:center;padding:0 4px}
.fsheet .ft-tray{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:8px -12px 0;padding:2px 12px}.fsheet .ft-tray::-webkit-scrollbar{display:none}
.fsheet .ft-p{flex:none;display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 6px;border-radius:999px;border:0;background:#FBE9DF;color:#8A2E0E;font:600 13px/1 var(--sans,Inter,system-ui);animation:ftin .22s var(--ease-enter,ease-out)}
.fsheet .ft-p span{width:22px;height:22px;display:grid;place-items:center}.fsheet .ft-p span svg{width:20px;height:20px}
.fsheet .ft-p i{font-style:normal;opacity:.55;margin-left:2px}
.fsheet .ft-clr{flex:none;height:32px;padding:0 10px;border:0;background:none;color:#8A7F76;font-size:13px;text-decoration:underline}
.fsheet .fs-body{padding:12px}
.fsheet .ft-cap{margin:2px 2px 10px;font-size:13px;color:#7A6F66}
.fsheet .ft-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fsheet .ft-t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;padding:8px 4px;border-radius:16px;background:#fff;border:1.5px solid #E1E8EB;box-shadow:0 1px 0 #D3DDE2;font:500 13px/1.2 var(--sans,Inter,system-ui);color:#3B322C;text-align:center;transition:transform .12s,border-color .18s,background .18s}
.fsheet .ft-t:active{transform:scale(.94)}
.fsheet .ft-i{width:40px;height:40px;display:grid;place-items:center;font-size:28px}.fsheet .ft-i svg{width:38px;height:38px}
.fsheet .ft-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fsheet .ft-s{position:absolute;top:8px;left:8px;width:7px;height:7px;border-radius:50%;background:#4E8A4A}
.fsheet .ft-ck{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:#C84316;color:#fff;font:700 12px/20px system-ui;font-style:normal;opacity:0;transform:scale(.4);transition:opacity .16s,transform .2s cubic-bezier(.3,1.6,.5,1)}
.fsheet .ft-t.on{border-color:#C84316;background:#FFF4EE}.fsheet .ft-t.on .ft-ck{opacity:1;transform:scale(1)}
.fsheet .ft-more{display:block;width:100%;margin:12px 0 4px;min-height:44px;border-radius:14px;border:1.5px dashed #C9D3D8;background:transparent;font:600 14px var(--sans,Inter,system-ui);color:#5B524B}
.fsheet .ft-note{padding:24px 12px;text-align:center;color:#6B6159}
.fsheet .ft-back{border:0;background:none;font:600 15px var(--sans,Inter,system-ui);color:#C84316;padding:6px 0}
.fsheet .fr2-k{font:600 18px/1.2 var(--serif,Fraunces,serif);margin:14px 2px 8px}.fsheet .fr2-k small{font:600 13px var(--sans,Inter);color:#8A7F76;margin-left:4px}
.fsheet .fr2-l{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fsheet .fr2{display:flex;align-items:center;gap:8px;background:#fff;border-radius:16px;padding:8px;border:1px solid #E1E8EB;animation:ftin .26s var(--ease-enter,ease-out) both}
.fsheet .fr2-a{flex:1;display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;min-width:0}
.fsheet .fr2-i{flex:none;width:64px;height:64px;border-radius:12px;overflow:hidden}.fsheet .fr2-i img{width:100%;height:100%;object-fit:cover}
.fsheet .fr2-t{min-width:0;display:flex;flex-direction:column;gap:4px}.fsheet .fr2-t b{font-size:15px;line-height:1.25}.fsheet .fr2-t small{font-size:12.5px;color:#7A6F66}.fsheet .fr2-m{color:#A0521F}
.fsheet .ft-res{animation:ftslide .28s var(--ease-enter,ease-out)}
@keyframes ftin{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes ftslide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fsheet .ft-p,.fsheet .fr2,.fsheet .ft-res{animation:none}}
.fsheet .ft-p{animation:none}.fsheet .ft-p:first-child{animation:ftin .22s var(--ease-enter,ease-out)}
.fsheet .ft-t.pop{animation:ftpop .28s cubic-bezier(.3,1.5,.5,1)}.fsheet .ft-t.pop.on .ft-ck{animation:ftck .3s cubic-bezier(.3,1.6,.5,1)}
@keyframes ftpop{0%{transform:scale(.92)}100%{transform:none}}@keyframes ftck{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.fsheet .fs-ht{min-width:0;flex:1}.fsheet .fs-ht small .ft-ans{display:inline!important;white-space:nowrap}.fsheet .fs-ht small .ft-ans b{display:inline!important;color:#fff}
.fsheet .fs-ht small .ft-ans b{font:700 14px/1 var(--sans,Inter)!important}

/* v169 wow */
.fsheet.opening .ft-t,.fsheet.opening .ft-tab{animation:ftst .36s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:calc(var(--d,0ms) + 120ms)}
@keyframes ftst{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}
.fsheet .ft-ans b,.fsheet .fs-led b{display:inline-block;font-variant-numeric:tabular-nums;transition:color .3s}
.fsheet [data-roll].up{animation:rollu .34s cubic-bezier(.2,.9,.25,1.2)}.fsheet [data-roll].dn{animation:rolld .34s ease-out}
.fsheet .ft-ans b.up{color:#2E7D4F}
@keyframes rollu{0%{transform:translateY(55%);opacity:.2}60%{transform:translateY(-12%) scale(1.15)}100%{transform:none;opacity:1}}
@keyframes rolld{0%{transform:translateY(-55%);opacity:.2}100%{transform:none;opacity:1}}
.fsheet .ft-tray{scroll-snap-type:x proximity;-webkit-mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent);padding-right:28px}
.fsheet .ft-p{scroll-snap-align:start;max-width:150px}.fsheet .ft-p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fsheet .ft-more2{flex:none;height:32px;padding:0 12px;border-radius:999px;border:1.5px dashed #E2A98A;background:#fff;color:#8A2E0E;font:700 13px/1 var(--sans,Inter,system-ui)}
.fsheet .fr2{transition:transform .14s,box-shadow .2s}.fsheet .fr2:active{transform:scale(.975);box-shadow:0 1px 0 #D3DDE2}
.fsheet .fr2-i{width:76px;height:76px;border-radius:14px;box-shadow:0 4px 10px -4px rgba(0,0,0,.35)}
.fsheet .fr2-t b{font-size:15.5px;font-weight:650}
.fsheet .fr2.m1{border-color:#F1D3BF;background:linear-gradient(90deg,#fff 60%,#FFF6F0)}
.fsheet .fr2-m{display:inline-flex;align-items:center;gap:3px;background:#FBE9DF;color:#8A2E0E!important;font-weight:650;border-radius:999px;padding:2px 8px 2px 4px}
.fsheet .fr2-m i{width:18px;height:18px;display:inline-grid;place-items:center;font-style:normal}.fsheet .fr2-m i svg{width:16px;height:16px}
.fsheet .fs-body.sl-l{animation:sll .28s cubic-bezier(.2,.9,.25,1) both}.fsheet .fs-body.sl-r{animation:slr .28s cubic-bezier(.2,.9,.25,1) both}
.fsheet .fs-body.sl-l .fr2{animation-delay:calc(var(--i,0)*30ms)}
@keyframes sll{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes slr{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fsheet .ft-t,.fsheet .ft-tab,.fsheet [data-roll],.fsheet .fs-body{animation:none!important}}
/* v170 craft */
.fsheet .fr2-t{flex:1;overflow:hidden}
.fsheet .fr2-t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fsheet .fr2-t small{display:flex;align-items:center;gap:5px;white-space:nowrap;min-width:0;overflow:hidden}
.fsheet .fr2-t small .fr2-tm{flex:none}
.fsheet .fr2-m{min-width:0;flex:0 1 auto;overflow:hidden}.fsheet .fr2-m i{flex:none}.fsheet .fr2-m em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.fsheet .fr2-t .ok{overflow:hidden;text-overflow:ellipsis}
.fsheet .ft-ans b,.fsheet .fs-led b{text-align:center;transform-origin:50% 60%}
.fsheet .ft-ans b[data-w]{min-width:calc(var(--w)*1ch)}
.fsheet.fx-in .fr2{animation:fr2in .34s cubic-bezier(.2,.9,.25,1) both;animation-delay:calc(var(--i,0)*35ms + 60ms)}
@keyframes fr2in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fsheet.fx-in .fr2{animation:none!important}}
.fsheet .fs-ht small .ft-ans b{padding:0!important;border:0!important;margin:0 1px!important;display:inline-block!important;vertical-align:baseline}
.fsheet .fr2-l{grid-template-columns:minmax(0,1fr)}.fsheet .fr2{min-width:0}.fsheet .fr2-a{min-width:0;overflow:hidden}.fsheet .fr2 .fr-add{flex:none}
/* v171: Plus produce month hero */
.pm{margin:28px 0 6px;padding:20px 16px 14px;border-radius:20px;background:linear-gradient(160deg,#FFF6EA,#FCEBDD);border:1px solid #F0DCC6;overflow:hidden}
.pm-h{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.pm-k{font:600 11px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#A33A12}html.zh .pm-k{letter-spacing:.04em}
.pm-t{margin:4px 0 0;font:600 34px/1 Fraunces,'Noto Serif SC','Noto Serif TC',serif;color:#2B211B;text-transform:capitalize}
.pm-n{font:700 28px/1 Fraunces,serif;color:#C84316;text-align:right}.pm-n small{display:block;font:500 11px/1.4 var(--sans);color:#8A7B6E}
.pm-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pmc{position:relative;display:grid;justify-items:center;gap:4px;padding:10px 4px 8px;border-radius:14px;background:#fff;box-shadow:0 1px 0 #EADBC8;color:#2B211B;text-decoration:none;min-height:76px;transition:transform .16s cubic-bezier(.2,.8,.2,1)}
.pmc:active{transform:scale(.94)}.pmc-e{font-size:28px;line-height:1;height:30px;display:grid;place-items:center}.pmc-e .vic{width:30px;height:30px}
.pmc-n{font-size:12px;line-height:1.2;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pmc-t{position:absolute;top:-5px;right:-2px;font:700 9px/1 var(--sans);font-style:normal;padding:3px 5px;border-radius:99px;color:#fff;background:#386347}.pmc-t.end{background:#C84316}
.pmc.x{display:none}.pm.open .pmc.x{display:grid;animation:pmIn .32s cubic-bezier(.2,.8,.2,1) both}
.pm-g.in .pmc{animation:pmIn .34s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*28ms)}
@keyframes pmIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.pm-f{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 4px;font-size:14px}
.pm-more{min-height:44px;padding:0 16px;border-radius:99px;border:1px solid #E3CBB2;background:#fff;font:600 14px var(--sans);color:#2B211B}.pm-more b{color:#C84316}
.pmy{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;margin:10px -16px 0;padding:4px 16px 2px;scrollbar-width:none}.pmy::-webkit-scrollbar{display:none}
.pmy button{flex:0 0 auto;scroll-snap-align:center;min-width:52px;min-height:48px;border-radius:14px;border:1px solid #EADBC8;background:#fff;font:600 13px var(--sans);color:#5A4E44;display:grid;place-items:center;gap:0;padding:4px 8px;text-transform:capitalize}
.pmy button i{font:500 10px var(--sans);font-style:normal;color:#A0907F}.pmy button.cur{border-color:#C84316}
.pmy button.on{background:#2B211B;color:#fff;border-color:#2B211B}.pmy button.on i{color:#E8D9C8}
.hbs.hbr{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:2px 16px 10px;scrollbar-width:none}.hbs.hbr::-webkit-scrollbar{display:none}
.hbs.hbr .hb{flex:0 0 78%;max-width:300px;scroll-snap-align:start}
@media(min-width:900px){.hbs.hbr{display:grid!important;overflow:visible;margin:0;padding:0}.hbs.hbr .hb{max-width:none}.pm-g{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.pm-g.in .pmc,.pm.open .pmc.x{animation:none}}

/* v172 weekly menu */
.wkm{background:#fff;border:1px solid #EADBC8;border-radius:22px;padding:16px 0 16px;margin:16px 0 20px;box-shadow:0 10px 30px rgba(59,50,44,.08);overflow:hidden}
.wkm>*{margin-left:16px;margin-right:16px}
.wkm-h{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:12px}
.wkm-k{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C84316}
.wkm-dt{display:block;font-family:inherit;font-size:20px;line-height:1.2;margin-top:2px}
.wkm-tag{font-size:11px;font-weight:700;color:#8A7B6E;border:1px solid #E6D3BE;border-radius:999px;padding:3px 9px;white-space:nowrap}
.wkm-r{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0!important;padding:0 16px 4px;scroll-padding:0 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wkm-r::-webkit-scrollbar{display:none}
.wkc{position:relative;flex:0 0 74%;aspect-ratio:4/5;border-radius:18px;overflow:hidden;scroll-snap-align:start;color:#fff;text-decoration:none;background:#EADBC8;transform:translateZ(0);animation:wkIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*60ms);transition:transform .18s}
.wkc:active{transform:scale(.97)}
.wkc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wkc:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(20,14,10,.78))}
.wkc-d{position:absolute;z-index:1;top:12px;left:12px;background:rgba(255,255,255,.92);color:#3B322C;font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;text-transform:capitalize}
.wkc-b{position:absolute;z-index:1;left:14px;right:14px;bottom:14px}
.wkc-b b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:19px;line-height:1.2;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.wkc-b small{display:block;margin-top:4px;font-size:13px;opacity:.9}
@keyframes wkIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.wkm-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.wkm-dots i{width:6px;height:6px;border-radius:99px;background:#E6D3BE;transition:width .25s,background .25s}
.wkm-dots i.on{width:18px;background:#C84316}
.wkm-s{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.wkm-s div{background:#FAF6EF;border-radius:14px;padding:10px 6px;text-align:center}
.wkm-s b{display:block;font-size:22px;line-height:1.1;color:#3B322C}
.wkm-s small{display:block;font-size:11px;color:#8A7B6E;margin-top:2px}
.wkm-a{margin-top:14px}
.wkm-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;gap:2px;margin:8px 0}
.wkm-lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:#5C4F45}
.wkm-lg span{display:inline-flex;align-items:center;gap:5px}.wkm-lg b{color:#3B322C}
.wkm-lg i{width:8px;height:8px;border-radius:99px;display:inline-block}
.a-Produce{background:#6E9F4A}.a-Meat{background:#C0533A}.a-Seafood{background:#3E86A8}.a-Dairy{background:#E8C766}.a-Bakery{background:#C8955A}.a-Pantry{background:#9A7B5F}.a-Frozen{background:#8CB7D6}
.wkm .wl{margin-top:16px;padding-top:14px;border-top:1px dashed #E6D3BE}
@media(min-width:700px){.wkc{flex-basis:calc((100% - 48px)/3.2)}}
@media(prefers-reduced-motion:reduce){.wkc{animation:none}}
.wkm-dt::first-letter{text-transform:uppercase}
.hbr .hb>a{white-space:nowrap}.hbr .hb>a.lock{margin-right:12px}
.hbr .hb>a.lock{margin-right:14px!important}
/* st-v173snap */
.snap-c{display:flex;align-items:center;gap:14px;width:100%;margin-top:12px;padding:14px 14px 14px 12px;border-radius:18px;border:1px solid #F0E6DA;background:linear-gradient(135deg,#2B2320,#3A302B);color:#FFF8F0;text-align:left;box-shadow:0 10px 24px rgba(43,35,32,.18);transition:transform .14s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.snap-c:active{transform:scale(.98)}
.snap-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--acc);color:#fff;box-shadow:0 6px 14px rgba(224,86,27,.4)}
.snap-tx{flex:1;min-width:0}.snap-tx b{display:flex;align-items:center;gap:8px;font-size:17px;letter-spacing:-.01em}
.snap-tx b em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:#FCE7DA;color:#C45C2A}
.snap-tx small{display:block;font-size:13px;line-height:1.4;color:#D9CBBE;margin-top:2px}
.snap-ar{font-size:26px;color:#D9CBBE;flex:none}
.snap-sh{position:fixed;inset:0;z-index:90;background:rgba(30,24,21,0);display:flex;align-items:flex-end;justify-content:center;transition:background .24s}
.snap-sh.in{background:rgba(30,24,21,.5)}.snap-sh.out{background:rgba(30,24,21,0)}
.snap-p{position:relative;width:100%;max-width:520px;max-height:94vh;overflow:auto;background:var(--paper);border-radius:26px 26px 0 0;padding:14px 18px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.snap-sh.in .snap-p{transform:none}.snap-sh.out .snap-p{transform:translateY(100%)}
@media(min-width:700px){.snap-sh{align-items:center}.snap-p{border-radius:26px}}
.snap-x{position:absolute;right:12px;top:12px;z-index:2;background:rgba(0,0,0,.35);color:#fff;border:0}
.snap-ph{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#EFE6DA}
.snap-ph img{width:100%;height:100%;object-fit:cover;display:block}
.snap-ph.sm{width:96px;height:96px;aspect-ratio:auto;margin:6px auto 4px;border-radius:24px;overflow:visible}.snap-ph.sm img{border-radius:24px}
.snap-chk{position:absolute;right:-6px;bottom:-6px;width:32px;height:32px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-weight:700;box-shadow:0 0 0 3px var(--paper);animation:snapPop .4s cubic-bezier(.3,1.6,.5,1) .15s both}
@keyframes snapPop{from{transform:scale(0)}}
.snap-re{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(255,253,249,.92);color:var(--ink);font-size:13px;font-weight:600;border:0}
.snap-re svg{width:16px;height:16px}
.snap-scan{position:absolute;inset:0;pointer-events:none;opacity:0}
.snap-sh.busy .snap-scan{opacity:1;background:linear-gradient(180deg,transparent 0,rgba(224,86,27,.0) 40%,rgba(224,86,27,.35) 50%,transparent 60%);background-size:100% 220%;animation:snapScan 1.2s linear infinite}
@keyframes snapScan{from{background-position:0 100%}to{background-position:0 -100%}}
.snap-p h2{font-size:24px;letter-spacing:-.02em;margin:16px 0 4px}.snap-done{text-align:center}
.snap-l{margin:0 0 14px;color:var(--mute);font-size:15px}
.snap-f{display:block}.snap-f span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.snap-f input,.snap-n input{width:100%;box-sizing:border-box;font:inherit;font-size:17px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#fff}
.snap-f input:focus,.snap-n input:focus{outline:2px solid var(--acc);outline-offset:1px}
.snap-n{margin-top:10px}.snap-n summary{font-size:14px;color:var(--mute);cursor:pointer;padding:6px 0}
.snap-er{min-height:18px;margin:6px 0;color:#B3261E;font-size:14px}
.snap-go{width:100%;font-size:17px;padding:15px}.snap-go:disabled{opacity:.7}
.snap-pv{display:block;text-align:center;color:var(--mute);font-size:12px;margin-top:10px}
.snap-steps{list-style:none;display:flex;justify-content:space-between;gap:6px;padding:0;margin:18px 0 10px}
.snap-steps li{flex:1;font-size:12px;font-weight:600;color:var(--mute);display:flex;flex-direction:column;align-items:center;gap:6px;animation:snapIn .4s ease calc(.25s + var(--i)*.12s) both}
.snap-steps i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accs);color:var(--acc2)}
.snap-steps li:last-child i{background:var(--acc);color:#fff}
@keyframes snapIn{from{opacity:0;transform:translateY(8px)}}
.snap-m{font-size:14px;color:var(--mute);margin:8px 0 16px}.snap-done .primary{width:100%}.snap-id{display:block;margin-top:10px;color:#B5A797;font-size:11px}
@media(prefers-reduced-motion:reduce){.snap-p,.snap-sh{transition:none}.snap-steps li,.snap-chk{animation:none}}
.snap-lock{cursor:default}.snap-ma{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.snap-mcta{display:inline-block;padding:8px 14px;border-radius:12px;background:var(--acc);color:#fff;font-weight:600;font-size:14px;text-decoration:none}
.snap-mh{background:none;border:0;color:#D9CBBE;font-size:13px;text-decoration:underline;padding:6px 0}
.snap-badge{width:56px;height:56px;border-radius:18px;background:var(--acc);color:#fff;display:grid;place-items:center;margin:8px 0 0}.snap-badge svg{width:28px;height:28px}
.snap-alt{display:block;text-align:center;margin-top:12px;color:var(--acc2);font-weight:600;font-size:14px}
.snap-lock{align-items:flex-start}.snap-lock .snap-ic{margin-top:2px}
.snap-x{top:24px;right:28px;width:34px;height:34px;border-radius:50%!important;font-size:20px;display:grid;place-items:center;padding:0}
/* v176 loop */
.lp-s{margin:6px 0 10px}.lp-sb{all:unset;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;width:100%;padding:10px 12px;border-radius:14px;background:#FFF8EF;border:1px solid #EADBC8;cursor:pointer}
.lp-sb:focus-visible{outline:2px solid #C84316}.lp-k{font:700 12px/1 system-ui;letter-spacing:.06em;text-transform:uppercase;color:#C84316}
.lp-row{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 100%;order:3}.lp-i{display:inline-flex;align-items:center;gap:4px;font-size:14px;padding:4px 9px;border-radius:999px;background:#fff;border:1px solid #EFE2D2}
.lp-i i{font-style:normal}.lp-i em,.lp-d{font-style:normal;font-weight:700;font-size:12px;padding:1px 6px;border-radius:999px;margin-left:2px}
.t-r em,.lp-d.t-r{background:#C84316;color:#fff}.t-a em,.lp-d.t-a{background:#F3D9A4;color:#6B4A07}.t-g em,.lp-d.t-g{background:#DCEBDD;color:#2F5E3B}
.lp-go{margin-left:auto;font-size:14px;color:#453A33;font-weight:600}
.lp-p{max-height:88vh;overflow:auto}.lp-kick{margin:0;color:#8A7B6E;font-size:13px}.lp-z h3{font-size:15px;margin:16px 0 6px;display:flex;gap:6px}.lp-z h3 i{font-style:normal}
.lp-z ul,.lp-r{list-style:none;margin:0;padding:0}.lp-z li{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid #F1E6D8}.lp-n{flex:1}
.lp-u{all:unset;cursor:pointer;font-size:13px;color:#8A7B6E;padding:6px 10px;border-radius:999px;border:1px solid #E6D3BE;min-height:24px}.lp-u:focus-visible{outline:2px solid #C84316}
.lp-ck{font-size:15px;margin:20px 0 8px}.lp-r li a{display:flex;gap:10px;align-items:center;padding:6px 0;color:inherit;text-decoration:none}.lp-r .cover,.lp-r img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:none;overflow:hidden}
.lp-r small{display:block;color:#8A7B6E}.lp-cta{display:flex;flex-direction:column;gap:8px;margin-top:18px}.lp-cta .btn{text-align:center}
.lp-pa{display:flex;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;border-radius:14px;background:#FFF1E6;border:1px solid #F0CDB4}.lp-pa span{flex:1}.lp-pa small{display:block;color:#6E5F53}.lp-pa.off{background:#FAF6EF;border-color:#EFE2D2}

/* v177 used-up chips */.ckdone .cd-use{margin-top:6px}.ckdone .cd-use small{display:block;margin-bottom:4px}.ckdone .cd-use div{display:flex;flex-wrap:wrap;gap:6px}.ckdone .cd-use button{min-height:32px;padding:0 12px;border-radius:16px;border:1px solid #E8C9A0;background:transparent;color:#FFF4E2;font:600 13px/1 inherit;cursor:pointer}.ckdone .cd-use button.ok{background:#E8C9A0;color:#2B231E}
/* st-v179glance */
.gl-bar{position:sticky;top:var(--hh,0);z-index:30;margin:0 -4px 12px;padding:10px 12px 8px;background:rgba(255,252,247,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid #F0E6DA;border-radius:16px;box-shadow:var(--sh1)}
.gl-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.gl-top b{font-size:20px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.gl-btns{display:flex;gap:6px;flex-wrap:nowrap}.gl-btns button{min-height:40px;padding:0 12px;border-radius:12px;border:1px solid #E6D3BE;background:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;color:inherit}
.gl-btns button i{font-style:normal}.gl-btns .gl-pri{background:var(--color-primary,#C84316);border-color:transparent;color:#fff}
.gl-p{height:4px;border-radius:4px;background:#F1E7DB;margin-top:8px;overflow:hidden}.gl-p i{display:block;height:100%;width:0;background:var(--ok,#2E7D4F);transition:width .35s cubic-bezier(.2,.8,.2,1)}
.gl-tip{margin:8px 0 0;font-size:13px;color:var(--mute,#7A6B5D);line-height:1.4}
html.glance .gl-tip{display:none}
html.glance header,html.glance footer,html.glance .list-wrap>p:first-of-type,html.glance .list-wrap .note .stack,html.glance .list-wrap h1.pg,html.glance .spon,html.glance [class*="spon"],html.glance .eqc,html.glance .list-wrap .eqc~p,html.glance .list-wrap .row.lf~p{display:none!important}
html.popwin #gl-pill{display:none}
html.glance .gl-bar{top:0;border-radius:0 0 16px 16px;margin:0 -12px 10px}
html.glance main,html.glance #app{padding-top:0}
html.glance .list-wrap{padding:0 4px}
html.glance .list-wrap .note{padding:8px 10px;font-size:13px;margin-bottom:6px}
html.glance h2.aisle{position:sticky;top:64px;z-index:5;background:var(--bg,#FBF7F1);margin:10px 0 4px;padding:4px 2px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
html.popwin h2.aisle{top:62px}
html.glance .check li{min-height:56px;padding:0 6px 0 12px}
html.glance .check label{font-size:17px;gap:14px;padding:10px 0}
html.glance .check input{width:30px;height:30px}
html.glance .check li.done{opacity:.55;order:9}
html.glance .check{display:flex;flex-direction:column}
#gl-pill{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:6px;min-height:46px;padding:0 16px;border-radius:999px;border:0;background:#2B211B;color:#fff;font:inherit;font-weight:700;font-size:15px;box-shadow:0 8px 24px rgba(43,33,27,.28);cursor:pointer;animation:glin .4s cubic-bezier(.2,.8,.2,1)}
#gl-pill i{font-style:normal;opacity:.7}#gl-pill:active{transform:scale(.96)}
#gl-toast{position:fixed;left:50%;bottom:80px;transform:translate(-50%,20px);opacity:0;z-index:99;background:#2B211B;color:#fff;padding:10px 16px;border-radius:14px;font-size:14px;max-width:90vw;transition:.3s;pointer-events:none}#gl-toast.on{opacity:1;transform:translate(-50%,0)}
@keyframes glin{from{opacity:0;transform:translateY(12px)}}
@media (max-width:360px){.gl-btns button i{display:none}}
@media (prefers-reduced-motion:reduce){#gl-pill{animation:none}.gl-p i{transition:none}}
/* st-v180mag */
.mg-k{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#A0522D;margin:0 0 4px}
.mg-hl{list-style:none;padding:0;margin:12px 0 18px;display:grid;gap:10px}.mg-hl li{display:flex;gap:12px;align-items:center;font-size:16px}.mg-hl i{flex:0 0 28px;height:28px;border-radius:50%;background:#2C2420;color:#F7EFE6;font-style:normal;display:grid;place-items:center;font-size:14px}
.mg{max-height:88vh;overflow-y:auto}.mg-cv{position:relative;margin:-4px -4px 12px;border-radius:16px;overflow:hidden}.mg-cv img{width:100%;height:200px;object-fit:cover;display:block}.mg-cv div{position:absolute;inset:auto 0 0;padding:28px 16px 12px;background:linear-gradient(transparent,rgba(20,14,10,.8));color:#fff}.mg-cv h2{margin:0;font-family:Georgia,serif;font-size:26px;color:#fff}.mg-cv .mg-k{color:#F2C99B}
.mg-ed{font-size:13px;color:#7a6a5e;font-style:italic;margin:0 0 8px}.mg-h{font-family:Georgia,serif;font-size:19px;margin:18px 0 8px;border-top:1px solid #e6dccf;padding-top:12px}
.mg-ef{list-style:none;padding:0;margin:0;display:grid;gap:8px}.mg-ef li{display:grid;grid-template-columns:36px 1fr auto;gap:2px 8px;align-items:center}.mg-e{grid-row:span 2;font-size:26px}.mg-ef em{font-style:normal;font-size:13px;background:#F3E7D8;border-radius:99px;padding:2px 10px}.mg-ef em.hot{background:#C8553D;color:#fff}.mg-ef small{grid-column:2/4;color:#6b5d52}
.mg-wh{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.mg-wh section{background:#FBF6EF;border-radius:12px;padding:10px}.mg-wh h4{margin:0 0 4px;font-size:13px;color:#A0522D}.mg-wh p{margin:0;font-size:14px}
.mg-rc{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mg-rc a{color:inherit;text-decoration:none;font-size:14px}.mg-rc img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;margin-bottom:4px}
.mg-buy{background:#FFF7D6;border-radius:12px;padding:10px 12px;margin:0}.mg-pr{font-size:13px;color:#6b5d52;text-align:center;margin:10px 0 4px}
.mg .primary,.mg-how .primary{width:100%;min-height:48px}.mg .snap-alt,.mg-how .snap-alt{display:block;width:100%;min-height:44px;background:none;border:0;color:#A0522D;font-size:15px}
/* st-v181pub: no sideways scroll on narrow phones */
.fr .need-b{flex:0 1 auto;min-width:0}
html,body{overflow-x:clip}
.mg-pv{background:#FFF3EE;border-left:3px solid #C8553D;padding:8px 10px;border-radius:8px;font-style:normal;color:#7a3b2a}
/* v190 leftovers */.ckdone .cd-lo{display:block;margin-top:8px;min-height:36px;padding:0 14px;border-radius:18px;border:1px dashed #E8C9A0;background:transparent;color:#FFF4E2;font:600 13px/1.2 inherit;cursor:pointer;text-align:left}.ckdone .cd-lo.ok,.ckdone .cd-lo:disabled{border-style:solid;background:#E8C9A0;color:#2B231E}.lp-lo .lp-n a{color:inherit}
/* v191 */.lp-r .lp-nb{margin:-2px 0 8px 66px}
/* v192 recipe↔fridge */.ing li.ing-have{opacity:.62}.ing .ing-tag{margin-left:8px;font-size:12px;font-weight:600;color:#3D7A4A;white-space:nowrap}.ing-bar{margin:10px 0 18px;padding:12px 14px;border-radius:14px;background:#F6EFE3;display:flex;flex-direction:column;gap:8px}.ing-bar small{color:#6B5D52}.ing-bar .ing-add{min-height:44px;width:100%}.ing-bar .ing-ok{color:#3D7A4A;font-weight:600}.ing-bar .ing-go{font-weight:600;color:#C2461C}
/* v194 not-for-me */.card-f .nope-b{margin-left:auto;min-height:32px;padding:0 10px;border:0;border-radius:16px;background:transparent;color:#8A7B6F;font:500 12px/1 inherit;cursor:pointer}.card-f .nope-b:hover{background:#F3EAE0;color:#5A4A3F}.card-f{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.np-rot{display:flex;justify-content:flex-end;margin:0 0 10px}.np-rot .ghost{min-height:40px}
#np-toast{width:min(380px,calc(100vw - 24px));box-sizing:border-box;justify-content:space-between;position:fixed;left:50%;bottom:20px;transform:translate(-50%,140%);z-index:9999;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 24px);padding:10px 14px;border-radius:14px;background:#2B231E;color:#FFF4E2;font-size:14px;box-shadow:0 6px 24px rgba(0,0,0,.25);transition:transform .25s}#np-toast.on{transform:translate(-50%,0)}#np-toast button{flex:none;min-height:36px;padding:0 12px;border-radius:18px;border:1px solid #E8C9A0;background:transparent;color:#FFE3B8;font-weight:700;cursor:pointer}
.nope-h{margin:18px 0;padding:10px 14px;border-radius:14px;background:#F6EFE3}.nope-h summary{cursor:pointer;font-weight:600;min-height:32px;line-height:32px}.nope-h ul{list-style:none;margin:6px 0;padding:0}.nope-h li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 0}.nope-h li a{color:inherit}.nope-h .ghost{min-height:34px}
/* v196 hidden hit in search */.fs-hid{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:8px 12px;border-radius:12px;background:#F6EFE3;color:#5A4A3F;font-size:14px}.fs-hid .ghost{flex:none;min-height:36px}
/* v197 */.rp-hid{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 14px;border-radius:14px;background:#F6EFE3;color:#5A4A3F;font-size:14px}.rp-hid button{flex:none;min-height:38px;padding:0 14px;border-radius:19px;border:1px solid #C9A77F;background:#fff;color:#5A4A3F;font-weight:700;cursor:pointer}.rp-hid.ok{background:#E8F1E4;color:#2F5A2A}
/* v198 */.rp-hid[hidden],.rp-nope[hidden]{display:none}.rp-nope{display:inline-flex;align-items:center;min-height:34px;margin:4px 0 8px;padding:0 12px;border:1px solid #E2D3C2;border-radius:17px;background:transparent;color:#8A7B6F;font:500 13px/1 inherit;cursor:pointer}.rp-nope:hover{background:#F3EAE0;color:#5A4A3F}
.le-act{justify-content:center;flex-wrap:wrap}.le-act .btn,.le-act button{flex:1 1 150px}
.lp-adj{display:inline-flex;align-items:center;gap:2px;margin-left:auto}.lp-st{width:28px;height:28px;border-radius:999px;border:1px solid #d9cfc0;background:#fff;font-size:16px;line-height:1;padding:0;color:#5a4a3a;cursor:pointer}.lp-st:active{background:#f2ebe0}
.cd-off{display:block;margin-top:6px;font-size:12px;color:#FFE3BD}.cd-keep{margin-left:6px;background:none;border:0;color:#FFF4E2;text-decoration:underline;font:600 12px inherit;cursor:pointer;padding:4px}
/* v213 weekly pack */
.wk-card{display:block;margin:14px 0;padding:14px 16px;border-radius:16px;background:#FFF4E8;border:1.5px solid #EED9C4;color:#3B322C;text-decoration:none}.wk-card b{display:block;font:600 18px Fraunces,'Noto Sans SC',serif;margin:2px 0}.wk-card small{color:#7A6A5E}
.wk-k{font:600 12px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#A63A12;display:block}
.wk-wrap{max-width:640px;margin:0 auto;padding:16px}.wk-list{list-style:none;padding:0;margin:16px 0}.wk-list a{display:flex;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #EFE2D2;color:inherit;text-decoration:none}.wk-list img{width:72px;height:72px;object-fit:cover;border-radius:12px}.wk-list span{flex:1;display:flex;flex-direction:column}.wk-list b{font-size:16px}.wk-list small{color:#7A6A5E;font-size:13px}.wk-list i{font-style:normal;color:#C84316;font-size:22px}
.pg2{font:600 20px Fraunces,'Noto Sans SC',serif;margin:24px 0 4px}.wk-soon{margin-top:18px}

/* st-v219premium — feature rows embedded like the top .season hero card: cream rounded card, photo inset right, cream fade into copy */
.hz{margin:40px 0 24px}
.hz-k{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--acc2);margin:0 0 10px}
.hz-lead{font:600 var(--fs-xl)/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 6px;color:var(--ink)}
.hz-sub{margin:0 0 18px;color:var(--mute);font-size:var(--fs-s);max-width:56ch}
.hz-row{position:relative;overflow:hidden;isolation:isolate;margin:0 0 16px;border-radius:24px;border:1px solid #E5D7C7;background:#FFF8EE;box-shadow:var(--sh3)}
.hz-f{margin:0;aspect-ratio:16/10;position:relative}
.hz-f img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.02) contrast(1.02)}
.hz-f::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,248,238,0) 55%,#FFF8EE 100%)}
.hz-t{position:relative;padding:4px 22px 24px}
.hz-n{font:600 12px/1 var(--sans);color:var(--acc2);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px}
.hz-t h3{margin:0 0 8px;font:600 28px/1.1 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.hz-t p{margin:0 0 16px;color:var(--mute);font-size:15px;line-height:1.55;max-width:38ch}
.hz-b{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 18px;border-radius:999px;font:600 14px var(--sans);background:var(--paper);color:var(--acc2);border:1px solid #F0D9C6}
.hz-b:hover{background:var(--accs)}
.hz-live .hz-b{background:var(--acc);color:#fff;border-color:transparent}.hz-live .hz-b:hover{background:var(--acc2)}
@media(min-width:760px){
 .hz{margin:56px 0 32px}.hz-row{min-height:300px;display:flex;align-items:center;margin-bottom:20px}
 .hz-f{position:absolute;top:0;right:0;bottom:0;width:62%;aspect-ratio:auto}
 .hz-f::after{background:linear-gradient(90deg,#FFF8EE 0%,rgba(255,248,238,.85) 18%,rgba(255,248,238,0) 45%)}
 .hz-t{padding:36px 40px;max-width:46%}.hz-t h3{font-size:36px}
 .hz-rev .hz-f{right:auto;left:0}.hz-rev .hz-f::after{background:linear-gradient(270deg,#FFF8EE 0%,rgba(255,248,238,.85) 18%,rgba(255,248,238,0) 45%)}.hz-rev .hz-t{margin-left:auto}
}

/* st-v220stagger — two independent columns (no row coupling → no void); insets staggered beside features */
.hz-cl,.hz-cr{display:grid;gap:18px;align-content:start;min-width:0}.hz-cl>*,.hz-cr>*{margin:0!important}
.hz-s{margin:0}.hz-pair{display:grid;gap:14px}
.hero>.hz-cl,.hero>.hz-cr{grid-column:auto}
@media(min-width:1024px){
 .hero{align-items:start!important}.hero>.season{grid-column:1/-1}
 .hz-cr>.stage{height:auto!important;align-self:start!important}
 .hz-st-l{margin-top:14px!important;margin-right:-6%!important;position:relative;z-index:1}
 .hz-st-c{margin-left:8%!important}
 .hz-pair{grid-template-columns:1fr;margin-left:6%!important;margin-top:10px!important}
 .hz-pair>#wkcard{display:flex;flex-direction:column;justify-content:center;margin:0}
 .hz-pair .hz-s{min-height:260px;display:flex;align-items:flex-end}.hz-pair .hz-s .hz-f{width:100%}.hz-pair .hz-s .hz-f::after{background:linear-gradient(0deg,#FFF8EE 0%,rgba(255,248,238,.9) 34%,rgba(255,248,238,0) 64%)}.hz-pair .hz-s .hz-t{max-width:none;padding:20px 22px}.hz-pair .hz-s .hz-t h3{font-size:22px}.hz-pair .hz-s .hz-t p{display:none}
 .hz-st-l .hz-s{min-height:300px;display:flex;align-items:flex-end}.hz-st-l .hz-f{width:100%}.hz-st-l .hz-f::after{background:linear-gradient(0deg,#FFF8EE 0%,rgba(255,248,238,.9) 38%,rgba(255,248,238,0) 66%)}.hz-st-l .hz-t{max-width:none!important;padding:22px 24px!important}.hz-st-l .hz-t h3{font-size:24px!important}
}
@media(min-width:760px){.hz-s{min-height:250px}.hz-s .hz-t{max-width:54%;padding:26px 30px}.hz-s .hz-t h3{font-size:26px}}
/* punch list: rail air + Plus strip polish */
.fz .fz-g{row-gap:18px!important}.fz .fz-g small,.fz .fz-g .need-b{white-space:normal;line-height:1.35}
.fz .snap-c{border-radius:18px!important;overflow:hidden;padding:18px!important}

/* st-v221clear — photo and copy side by side; no gradient over subject */
.hz-s .hz-f::after,.hz-row .hz-f::after{display:none!important;background:none!important}
.hz-s{display:grid!important;grid-template-columns:1fr;align-items:stretch!important;min-height:0!important;background:#FFF8EE}
.hz-s .hz-f{position:relative!important;inset:auto!important;width:100%!important;aspect-ratio:16/10;margin:0}
.hz-s .hz-t{max-width:none!important;margin:0!important;padding:20px 22px 22px!important;background:#FFF8EE;display:flex;flex-direction:column;justify-content:center}
.hz-s .hz-t p{display:block!important}
@media(min-width:600px){
 .hz-s{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}
 .hz-s .hz-f{aspect-ratio:auto;min-height:240px;height:100%}
 .hz-s.hz-rev{grid-template-columns:minmax(0,42fr) minmax(0,58fr)}.hz-s.hz-rev .hz-f{order:2}.hz-s.hz-rev .hz-t{order:1}
 .hz-s .hz-t{padding:24px 24px!important;border-left:1px solid #EFE2D2}
 .hz-s.hz-rev .hz-t{border-left:0;border-right:1px solid #EFE2D2}
 .hz-s .hz-t h3{font-size:22px!important}.hz-s .hz-t p{font-size:14px;margin-bottom:14px}
}
@media(min-width:1024px){.hz-pair .hz-s .hz-t p{display:block!important}}

/* st-v221premium — one feature per full-width band; huge air; copy on solid cream beside photo */
.hzb{display:block;margin:72px auto 0;max-width:1200px;padding:0 20px}
.hzb-band{margin:0 0 72px}
.hzb-band:last-child{margin-bottom:24px}
.hzb .hz-s{border-radius:28px;box-shadow:none;border:1px solid #EADCCB}
.hzb .hz-s .hz-t{padding:28px 24px!important}
.hzb .hz-s .hz-t h3{font-size:30px!important;line-height:1.08}
.hzb .hz-s .hz-t p{font-size:16px;max-width:36ch;margin-bottom:22px}
.hzb-live #wkcard{margin:20px 0 0!important}
@media(min-width:760px){
 .hzb{margin-top:120px;padding:0 40px}.hzb-band{margin-bottom:128px}
 .hzb .hz-s{grid-template-columns:minmax(0,60fr) minmax(0,40fr);min-height:480px!important}
 .hzb .hz-s.hz-rev{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}
 .hzb .hz-s .hz-f{min-height:480px}
 .hzb .hz-s .hz-t{padding:56px 56px!important}
 .hzb .hz-s .hz-t h3{font-size:44px!important;letter-spacing:-.025em}
 .hzb .hz-s .hz-t p{font-size:17px;line-height:1.6}
 .hzb-live #wkcard{margin:28px 0 0 auto!important;max-width:60%}
}

/* st-v222inset — restore top-hero inset: one cream card, photo nested on one side with soft edge fade, copy on solid cream (never over subject). Staggered beside real UI. */
.hzi{margin:0!important}
.hzi .hz-s{display:grid!important;grid-template-columns:1fr!important;position:relative;overflow:hidden;border-radius:26px!important;border:1px solid #EBD5BE!important;background:linear-gradient(160deg,#FFF8EE,#F7E6D2 70%,#F2D7BC)!important;box-shadow:var(--sh3)!important;min-height:0!important}
.hzi .hz-s .hz-f{position:relative!important;inset:auto!important;width:100%!important;aspect-ratio:16/10;height:auto;min-height:0!important;order:0!important}
.hzi .hz-s .hz-f::after{display:block!important;content:"";position:absolute;left:0;right:0;bottom:0;top:auto;height:22%;background:linear-gradient(180deg,rgba(255,248,238,0),#FBEFDF)!important}
.hzi .hz-s .hz-t{order:1!important;background:transparent!important;border:0!important;padding:18px 24px 24px!important;max-width:none!important}
.hzi .hz-s .hz-t h3{font:600 26px/1.1 var(--serif)!important;letter-spacing:-.02em}
.hzi .hz-s .hz-t p{font-size:15px;max-width:40ch;margin:0 0 16px}
.hzi-live #wkcard{margin:18px 0 0!important}
.hzi-fridge,.hzi-cook{margin-top:48px!important}
.hzi-live{margin:64px 0 0!important}
@media(min-width:760px){
 .hzi-cook .hz-s,.hzi-live .hz-s{grid-template-columns:minmax(0,44fr) minmax(0,56fr)!important;min-height:320px!important}
 .hzi-cook .hz-s .hz-t,.hzi-live .hz-s .hz-t{order:0!important;padding:36px 8px 36px 40px!important;display:flex;flex-direction:column;justify-content:center}
 .hzi-cook .hz-s .hz-f,.hzi-live .hz-s .hz-f{order:1!important;aspect-ratio:auto;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}
 .hzi-cook .hz-s .hz-f::after,.hzi-live .hz-s .hz-f::after{display:none!important}
 .hzi-live .hz-s{grid-template-columns:minmax(0,56fr) minmax(0,44fr)!important}
 .hzi-live .hz-s .hz-f{order:0!important;-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 16%);mask-image:linear-gradient(270deg,transparent 0,#000 16%)}
 .hzi-live .hz-s .hz-t{order:1!important;padding:36px 40px 36px 8px!important}
 .hzi-live .hz-s .hz-t h3{font-size:36px!important}
 .hzi-live{margin-top:96px!important}.hzi-fridge,.hzi-cook{margin-top:64px!important}
}
@media(min-width:1024px){.hzi-live{max-width:1100px;margin-left:auto!important;margin-right:auto!important}.hzi-cook .hz-s .hz-f{min-height:300px}}
@media(min-width:760px){.hzi-cook .hz-s .hz-f,.hzi-live .hz-s .hz-f{min-height:320px!important;align-self:stretch}.hzi-cook .hz-s .hz-f img,.hzi-live .hz-s .hz-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}}
@media(max-width:1023px){.hzi-fridge,.hzi-cook{margin-bottom:64px!important}}
@media(min-width:760px){
 .hzi-cook .hz-s .hz-f,.hzi-live .hz-s .hz-f{-webkit-mask-image:none!important;mask-image:none!important;overflow:hidden}
 .hzi-cook .hz-s .hz-f::after,.hzi-live .hz-s .hz-f::after{display:block!important;content:"";position:absolute;top:0;bottom:0;height:auto;width:14%;z-index:1}
 .hzi-cook .hz-s .hz-f::after{left:0;right:auto;background:linear-gradient(90deg,#FCEEDD,rgba(252,238,221,0))!important}
 .hzi-live .hz-s .hz-f::after{right:0;left:auto;background:linear-gradient(270deg,#F6E3CE,rgba(246,227,206,0))!important}
}
/* st-v225polish — match top seasonal hero card exactly; air after live band; face-safe crops; lighter edge fades; tidy type */
.hzi .hz-s{border-radius:24px!important;border:1px solid #E5D7C7!important;box-shadow:0 1px 2px rgba(43,35,32,.04),0 8px 24px -12px rgba(43,35,32,.18)!important}
.hzi .hz-s .hz-f img{object-position:50% 28%}
.hzi-fridge .hz-s .hz-f img{object-position:40% 35%}
.hzi .hz-s .hz-n{font-size:12px;letter-spacing:.14em;color:#A63A12;margin:0 0 10px}
.hzi .hz-s .hz-t h3{text-wrap:balance;margin:0 0 10px}
.hzi .hz-s .hz-t p{text-wrap:pretty;line-height:1.55;color:#5B4C42}
.hzi-live .wk-k{text-wrap:balance}
.hzi-live{margin-bottom:72px!important}
@media(min-width:760px){
 .hzi-live{margin-bottom:112px!important}
 .hzi-cook .hz-s .hz-f::after,.hzi-live .hz-s .hz-f::after{width:8%}
 .hzi-cook .hz-s{grid-template-columns:minmax(0,42fr) minmax(0,58fr)!important}
 .hzi-cook .hz-s .hz-t{padding:36px 16px 36px 36px!important}
 .hzi-live .hz-s .hz-f img{object-position:42% 30%}
 .hzi-live .hz-s .hz-t{padding:40px 44px 40px 20px!important}
}

/* v257: intentional icon-only compact header, never a clipped brand. */
.top .brand{flex:0 0 auto;overflow:visible;white-space:nowrap}
.top .brand .wm,.top .brand .wm-zh{flex:none;overflow:visible}
.top .brand [data-icon="app-logo"]{display:flex;align-items:center;justify-content:center}
.top .brand svg{width:34px;height:34px}
@media(max-width:680px){
 .top .brand .wm,.top .brand .wm-zh{display:none!important}
 .top .brand{flex:0 0 44px;min-width:44px;justify-content:center}
 .top nav{min-width:0;flex:1 1 auto;justify-content:flex-end}
 .top nav a,.top nav button{min-height:44px;line-height:1.2}
}
@media(max-width:350px){.top nav{gap:0!important}.top nav a,.top nav button{padding:0 5px!important;font-size:12px!important}.top{gap:2px!important}}
.fz-q button,.ft-p,.ft-clr,.ft-more2,.ft-back,.ft-tabs button,.fr-add,.lp-p button,.lp-s button{min-height:44px;min-width:44px}
.sv button,.ck-nav button,.ing-add,.cd-use button{min-height:44px;min-width:44px}
:focus-visible{outline:3px solid #8B4B2C;outline-offset:3px}
#recipe-serving-note{font-size:14px;line-height:1.6;color:var(--mute);margin:12px 0}
.bs-base,.sec-h,.hbm{scroll-margin-top:86px}

.ck-reference{font:500 14px/1.6 var(--sans);padding:12px 16px;border:1px solid #D9C3A8;border-radius:12px;background:#FFF8ED;color:#5D4936}.recipe-intro{line-height:1.65}

/* v258: translated/scaled method text replaces the old bilingual paragraphs. */
.steps li > .st-amount-text{display:block;font-size:17px;line-height:1.75}.prep-list .st-amount-text{line-height:1.7}
/* v258: full-name fridge chips and one consistent, non-clipping site header. */
.fz-e2 .fz-q{grid-template-columns:repeat(2,minmax(0,1fr))}
.fz-e2 .fz-q .c2{white-space:normal;text-overflow:clip;overflow:visible;overflow-wrap:anywhere;min-height:44px;height:auto;line-height:1.25;padding-top:9px;padding-bottom:9px}
.top,.journal-page .top{max-width:none;width:100%;box-sizing:border-box;margin:0;gap:12px}
.top .brand{width:auto!important;flex:0 0 auto!important;min-width:0!important;gap:8px}
.top .brand img{width:32px;height:32px;object-fit:contain}
.top nav{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.top nav a,.top nav button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;white-space:nowrap;box-sizing:border-box}
.top nav #lang{min-width:46px;letter-spacing:0}
.wk-list img{aspect-ratio:1;object-fit:cover;flex-shrink:0;min-width:72px}
@media(max-width:680px){
 .top,.journal-page .top{padding:8px 12px;gap:5px;justify-content:space-between}
 .top .brand{gap:6px;font-size:15px;line-height:1.05;letter-spacing:-.3px}
 .top .brand .wm{display:block!important;white-space:normal!important;width:61px;max-width:none!important;overflow:visible!important;text-overflow:clip!important;line-height:1.05;font-size:15px}
 .top .brand .wm-zh{display:none!important}
 .top .brand svg,.top .brand img{width:28px;height:28px;flex:0 0 28px}
 .top nav,.journal-page .top nav{gap:0;font-size:12px}
 .top nav a,.top nav button,.journal-page .top nav a,.journal-page .top nav button{padding:0 6px;font-size:12px;letter-spacing:0;min-height:44px}
 .top nav #lang{padding:0 5px;min-width:42px}
}
@media(max-width:350px){
 .top,.journal-page .top{padding-left:8px;padding-right:8px;gap:3px}
 .top .brand{gap:4px}.top .brand .wm{width:56px;font-size:14px}
 .top .brand svg,.top .brand img{width:25px;height:25px;flex-basis:25px}
 .top nav a,.top nav button,.journal-page .top nav a,.journal-page .top nav button{padding-left:4px;padding-right:4px;font-size:11.5px}
}
/* Keep every mobile navigation target at least 44 × 44, including narrow phones. */
.top nav a,.top nav button,.top nav #lang{min-width:44px;min-height:44px}
@media(max-width:350px){.top .brand .wm,.journal-page .top .brand .wm{width:50px;font-size:13px}.top nav a,.top nav button,.journal-page .top nav a,.journal-page .top nav button{font-size:11px}}
@media(max-width:350px){.top{gap:1px}.top .brand .wm{width:52px;font-size:13px}}
/* v259: language-correct branding and a genuine full-width browse view. */
html:not(.zh) .top .brand .wm-zh,.top .brand .wm-zh[hidden]{display:none!important}
body.browse-mode #app{display:block!important;width:100%!important;max-width:1200px!important;box-sizing:border-box}
body.browse-mode #app>.hero,body.browse-mode #hlive,body.browse-mode #wkcard{display:none!important}
body.browse-mode #app>.sec-h,body.browse-mode #app>.filters,body.browse-mode #app>.grid{width:100%!important;max-width:none!important;grid-column:1/-1!important;box-sizing:border-box}
body.browse-mode #app>.grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(min-width:700px){body.browse-mode #app>.grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:1100px){body.browse-mode #app>.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:350px){body{padding-bottom:90px}#gl-pill{left:20px;bottom:calc(24px + env(safe-area-inset-bottom))}#gl-pill.gl-avoid-card{opacity:0;pointer-events:none}}
/* v260: share feedback is immediate and next to the action, including clipboard-free browsers. */
#wkshare-link[hidden]{display:none!important}
#wkshare-link{margin-top:12px;padding:14px;border:1px solid #D8C3AC;border-radius:12px;background:#FFF9F0}
#wkshare-link label{display:grid;gap:8px;font-size:13px;font-weight:600;min-height:0}
#wkshare-url,.wk-copy-fallback{box-sizing:border-box;display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #B99D82;border-radius:8px;background:#fff;color:#35291F;font:16px/1.5 Inter,system-ui,sans-serif}
#wkshare-status:not(:empty){display:block;margin:10px 0 18px;padding:12px 14px;border-radius:10px;background:#EAF2E6;color:#29472B;font-size:14px;font-weight:600;line-height:1.5}
/* v261: quiet, one-line navigation. Full wordmark at 360+; readable Table mark on tiny phones. */
.wm-short{display:none}
@media(max-width:680px){
 header.top,.journal-page header.top{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
 header.top .brand{gap:4px!important}
 header.top .brand .wm{display:block!important;width:auto!important;font-size:14px!important;white-space:nowrap!important;line-height:1.1!important;letter-spacing:-.4px}
 header.top .brand svg,header.top .brand img{width:24px!important;height:24px!important;flex:0 0 24px!important}
 header.top nav{gap:0!important}header.top nav a,header.top nav button,.journal-page header.top nav a,.journal-page header.top nav button{padding:0 4px!important;font-size:12px!important;min-width:44px!important;min-height:44px!important;letter-spacing:0!important}
 header.top #lang{border:0!important;background:transparent!important;width:44px!important;min-width:44px!important;padding:0!important;font-size:12px!important}
}
@media(max-width:379px){header.top .wm-full{display:none}header.top .wm-short{display:inline}header.top .brand .wm{font-size:16px!important}}
/* Narrow phones use an opaque bottom dock with reserved scroll space, never an isolated overlay. */
@media(max-width:430px){body.has-list-dock{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:100px}html{scroll-padding-bottom:100px}
 body.has-list-dock #gl-pill{left:0;right:0;bottom:0;width:100%;height:calc(64px + env(safe-area-inset-bottom));min-height:64px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-radius:0;border-top:1px solid #d5c5b3;justify-content:center;box-shadow:0 -4px 14px #2b211b14;background:#fbf6ee;color:#443025;font-size:16px;animation:none;opacity:1!important;pointer-events:auto!important}
 .card,.snap-c{scroll-margin-bottom:100px}
}
/* Deliberate hit areas, not enlarged icons alone. */
.card .plus,.fz-add{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}.card .plus{bottom:-18px!important}
#sm,#sp,.serv button,.ck-x{min-width:44px!important;min-height:44px!important}
.card-f .nope-b{min-height:44px;font-size:14px;line-height:1.3;border:1px solid #a48c78;background:#fffaf3;color:#594331;border-radius:10px;padding:8px 10px;margin-top:4px}
.svsync{font-size:14px;color:#375238;line-height:1.6}.ing .q{color:#963b1d!important}
.ck-top b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ck-top .tt{min-width:0}.ck-top .ck-x{flex:none;font-size:14px!important;padding:8px 12px!important}
.ck-timer .tv[hidden]{display:none!important}.ck-main,body[data-beginner="1"] .ck-main{flex:0 0 auto!important;justify-content:flex-start!important;padding:16px 0!important;overflow:visible!important}.ck-next{margin-top:8px!important}.ck-nav #pv:disabled{visibility:hidden}
#cookv,#cookv.cookv{overflow:hidden!important;display:flex!important;flex-direction:column!important}
#cookv[hidden],#cookv.cookv[hidden]{display:none!important}
#cookv .ck-top,#cookv .ck-run,#cookv .ck-bar,#cookv > .ck-n{flex:0 0 auto;background:var(--bg)}
#cookv .ck-bar{padding-bottom:8px}
#cookv > .ck-n{max-width:760px;width:100%;margin:0 auto;padding:0 0 8px;z-index:2}
#cookv > .ck-n b{margin-bottom:4px}
#cookv .ck-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px;scroll-padding-top:8px;width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column}
#cookv .ck-nav{position:relative!important;flex:0 0 auto!important;margin-top:0!important;margin-bottom:0!important;padding-top:12px!important;padding-bottom:8px!important;background:var(--bg);box-shadow:0 -1px 0 rgba(59,50,44,.10);z-index:3}.wkc .wkc-b b{white-space:normal!important;text-overflow:clip!important;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.7em}
.wkm-h{gap:16px;align-items:flex-start;flex-wrap:wrap}.wkm-h>div{min-width:0;flex:1 1 170px}.wkm-tag{flex:none;margin:0!important}.wkm-k{font-size:12px;letter-spacing:.08em}.wkm-dots{gap:0;margin:0}.wkm-dots button{position:relative;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;padding:0}.wkm-dots button:after{content:'';height:7px;width:7px;border-radius:99px;background:#ac9880}.wkm-dots button.on:after{width:20px;background:#963b1d}
.st-shopping .st-status:not(:empty){position:sticky;top:72px;z-index:4;padding:14px;border:1px solid #b3c5a8;background:#edf4e5;color:#29452d;border-radius:10px;font-size:15px;line-height:1.6}

.ck-top b{display:block!important;-webkit-line-clamp:unset!important}.st-shopping .check .q{font-size:14px!important}
/* v262: whole brand lockup at every width, never the fragment “Table”. */
.top .brand .wm-short{display:none!important}
@media(max-width:379px){
 header.top .brand{gap:3px!important}header.top .brand svg,header.top .brand img{width:20px!important;height:20px!important;flex:0 0 20px!important}
 header.top .brand .wm{width:50px!important;font-size:12px!important;line-height:1.04!important;white-space:normal!important;letter-spacing:-.25px!important}
 header.top .brand .wm-full{display:block!important;width:50px;white-space:normal;line-height:1.04}
 header.top nav a,header.top nav button{padding-left:3px!important;padding-right:3px!important}
}
/* v262: the List dock occupies its own viewport row. Only main scrolls above it. */
@media(max-width:430px){
 body{padding-bottom:0!important}
 body.has-list-dock{display:flex!important;flex-direction:column;height:100vh;height:100dvh;overflow:hidden!important;box-sizing:border-box;padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
 body.has-list-dock>header.top{flex:0 0 auto;position:relative!important}
 body.has-list-dock #app{flex:1 1 0%;min-height:0!important;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior-y:contain;width:100%;box-sizing:border-box;margin:0 auto!important;padding-bottom:28px!important;scroll-padding-bottom:24px;-webkit-overflow-scrolling:touch}
 body.has-list-dock #app>footer{width:100%;box-sizing:border-box;margin-top:28px;padding:18px 0}
 body.has-list-dock #gl-pill{height:calc(64px + env(safe-area-inset-bottom));min-height:64px;z-index:30;box-shadow:none}
 .r-head h1{font-size:clamp(26px,7.7vw,30px)!important;line-height:1.2!important;letter-spacing:-.02em!important;text-wrap:pretty;margin:10px 0 14px!important}
 main.recipe{padding-left:16px!important;padding-right:16px!important}
}
/* Use explicit dimensions and no flex shrink: small circles were shrinking in tight cells. */
.meta .sv #sm,.meta .sv #sp{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;flex:0 0 48px!important;box-sizing:border-box;padding:0!important}
body #cook,body #addt,body #prep-start,body .prep-nudge-actions button,body .ck-timer,body .ck-x,body .st-shopping .st-actions button{min-height:48px!important;height:auto!important;flex-shrink:0!important;box-sizing:border-box;font-size:15px!important;line-height:1.4!important;padding:12px 16px!important}
body #cook{display:inline-flex;align-items:center;justify-content:center;width:100%}
#prep-start[hidden]{display:none!important}
/* Stack dinner cards on phones: no clipped next card or image-overlaid title. */
@media(max-width:600px){
 .plusp .wkm-r{display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px;padding:0 16px!important;overflow:visible!important;scroll-snap-type:none}
 .plusp .wkc{display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:12px;aspect-ratio:auto;min-height:104px;padding:12px;border:1px solid #e5d7c5;border-radius:14px;background:#fffaf3;color:#35291f;animation:none;transform:none}
 .plusp .wkc img{position:static;grid-column:1;grid-row:1/3;width:80px!important;height:80px!important;aspect-ratio:1!important;border-radius:9px}
 .plusp .wkc:after{display:none}.plusp .wkc-d{position:static;grid-column:2;grid-row:1;padding:0;background:none;font-size:12px;line-height:1.4;color:#775139;align-self:start}
 .plusp .wkc-b{position:static;grid-column:2;grid-row:2;min-width:0}.plusp .wkc .wkc-b b{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;min-height:0;font-size:15px;line-height:1.35!important;color:#35291f;text-shadow:none;white-space:normal!important;overflow-wrap:normal}
 .plusp .wkc-b small{color:#5c4b3a;font-size:14px;opacity:1}.plusp .wkm-dots{display:none}.plusp .wkm-s small{font-size:12px;color:#66513e}
}
@media(max-width:379px){header.top,.journal-page header.top{padding-left:6px!important;padding-right:6px!important;gap:3px!important}}
/* v268 local candidate: readable mixed-cuisine menus; no forced word fragments. */
.rl-cb,.rl-lt,.rl-hx,.rl-menu-h{min-width:0}
.rl-card .rl-cb b{display:block;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:break-word;line-height:1.35;-webkit-line-clamp:unset}
.rl-kick{white-space:normal}
.menu-cook-order{margin:24px 0;padding:22px;background:#fffaf0;border:1px solid #e7d8c5;border-radius:18px;color:#453b30}
.menu-cook-order h2{margin:0 0 8px;font-size:20px}
.menu-cook-order p{margin:0 0 10px;line-height:1.65}
.menu-cook-order small{font-size:14px;color:#665748;line-height:1.5}
.rl-cta #rlpass{min-width:100px;white-space:normal;font-size:15px}
.rl-sheet button,.rl-sheet input,.rl-share,.recipe-kinds button{min-height:44px}
.rl-sheet .rl-url{min-width:0}.rl-sheet .rl-url input{min-width:0;max-width:100%;font-size:16px}
#menu-link-status{font-size:15px;color:#4f473d;line-height:1.5}
@media(max-width:430px){.rl-card .rl-cb b{font-size:19px;line-height:1.4}.rl-card .rl-cb small{white-space:normal;line-height:1.5}.rl-stats{gap:18px;flex-wrap:wrap}.rl-stats span{min-width:0;max-width:100%}.rl-stats b{white-space:nowrap}.rl-cta{flex-wrap:wrap}.rl-cta #rlmake{flex:1 1 100%}.menu-cook-order{padding:18px}.rl-sheet .rl-url{display:flex;flex-wrap:wrap;gap:8px}.rl-sheet .rl-url input{flex:1 1 180px}.mg-rc a span{min-width:0;overflow-wrap:break-word;word-break:normal}}

.rl-card .rl-cb{background:linear-gradient(0deg,rgba(20,14,10,.88),rgba(20,14,10,.74) 78%,rgba(20,14,10,.12));padding-top:26px}
.rl-card .rl-cb small{font-size:14px;opacity:1}

/* Country discovery: region first, then only its available cuisines. */
.filters.regions{border-top:1px solid #e7dbcd;padding-top:14px;margin-top:12px}.filters.regions button{font-weight:650;min-height:44px}.filters.countries{margin-top:6px}.filters.countries button{min-height:44px}

/* v272: finite trailing spacer, not padding clipped by the scroll mask. */
.filters{min-width:0;max-width:100%;box-sizing:border-box;scroll-padding-inline:12px 64px}
.filters::after{content:"";display:block;flex:0 0 64px;min-width:64px;height:1px}
.filters>button{flex-shrink:0;min-height:44px}
.filters.f2 .small{flex:0 0 auto;white-space:nowrap}
.filters button:focus-visible{outline:2px solid #9c3d20;outline-offset:-3px}
.lp-go,.lp-p .primary,.fz-more{min-height:44px}.lp-p .lp-r a{min-height:60px}

#app .ftab[hidden],#dinner-menus .rl-card[hidden]{display:none!important}

/* v280: rendered method text stays in its own grid row, away from legacy step art. */
.steps li > .st-amount-text{grid-column:2;grid-row:1;min-width:0;padding-inline-end:44px}

/* v281: result count has its own unmasked, wrapping line on narrow screens. */
.filters.f2{flex-wrap:wrap!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important;padding-right:0;gap:6px}
.filters.f2 .filter-result-count{display:block;flex:1 0 100%;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.5;color:#665044;padding:5px 2px 0}

/* v281: one finished, circular check; the 44px control is the tap target. */
html body :is(.check,.prep-list) input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;flex:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2212%22%20fill%3D%22%23fffdf8%22%20stroke%3D%22%2385725f%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fsvg%3E")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:32px 32px!important;box-shadow:none!important;cursor:pointer;vertical-align:middle}
html body :is(.check,.prep-list) input[type="checkbox"]:checked{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Ccircle%20cx%3D%2216%22%20cy%3D%2216%22%20r%3D%2212%22%20fill%3D%22%23C84316%22%2F%3E%3Cpath%20d%3D%22m10%2016%204%204%208-8%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")!important}
html body :is(.check,.prep-list) input[type="checkbox"]::before,html body :is(.check,.prep-list) input[type="checkbox"]::after{content:none!important;display:none!important}
html body :is(.check,.prep-list) input[type="checkbox"]:focus-visible{outline:2px solid #C84316;outline-offset:2px}
.fsheet .ft-ck{width:24px;height:24px;display:grid;place-items:center;background:none;box-shadow:none;line-height:1}.fsheet .ft-ck svg{display:block;width:24px;height:24px}.fsheet .ft-t.on{box-shadow:none}.fsheet .ft-t.pop.on .ft-ck{animation:none}
.fs-h .fs-back{background:#fffdf9;color:#4a3426;border:1px solid #d9cabc;min-width:44px;min-height:44px;padding:8px 4px;flex:none;font:600 14px/1.2 var(--sans,system-ui)}.fs-h{gap:10px}.fs-h .fs-ht{min-width:0}.fs-h .fs-led{flex:none}
.gl-exits,.st-view-exits{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.gl-exits{padding-bottom:10px;border-bottom:1px solid #e4d8c7;margin-bottom:10px}.gl-exits>span{font-size:14px;color:#675143}.gl-exits button,.st-view-exits button{min-height:44px;min-width:44px;padding:8px 12px}.gl-exits #gl-close,.st-view-exits [data-view-close]{font-size:28px;font-weight:400}.st-view-exits{margin:8px auto 14px;max-width:1100px}.gl-exits button:focus-visible,.st-view-exits button:focus-visible{outline:2px solid #C84316;outline-offset:2px}
.ck-top .ck-return{min-height:44px;flex:none;padding:8px;font-size:14px}.ck-top .ck-x{min-width:44px;min-height:44px;font-size:28px;line-height:1}.ck-top .tt{min-width:0}.ck-top .plate{display:none}
.st-shop-card .st-return-fridge{min-height:44px;margin:0 0 4px;padding:8px 12px}.st-shopping .st-status:empty{display:none}.st-shopping .st-shop-note,.st-shopping .st-round-note{font-size:14px;line-height:1.55;color:#594b3f;margin:8px 0}.st-shopping .st-disclosure{font-size:12px;color:#695749;display:inline-block;padding:8px 0}.st-shopping .st-staples{align-items:center}.st-shopping .st-manual-note{font-size:14px;line-height:1.5}.st-shopping [data-c]{touch-action:manipulation}
@media(max-width:430px){.fs-h .fs-led{display:none}.fs-h .fs-ht b{font-size:19px}.fs-h .fs-ht small{font-size:12px}.fs-h{padding-left:14px;padding-right:14px}.ck-top{gap:6px}.ck-top .tt b{font-size:16px;line-height:1.25}.ck-top .ck-return{padding:8px 4px;font-size:13px}.gl-exits>span{font-size:13px}.gl-exits{gap:6px}.gl-btns{flex-wrap:wrap}.st-view-exits{padding:0 4px}}

.ck-shopping{display:flex;align-items:center;justify-content:center;align-self:center;min-height:44px;padding:10px 14px;margin:10px 0 0;border:1px solid #d6c7b8;border-radius:24px;font:500 14px/1.4 var(--sans,system-ui);color:#785038;text-decoration:none;max-width:100%;text-align:center}.ck-shopping:focus-visible{outline:2px solid #C84316;outline-offset:2px}

html:not(.glance) .gl-exits>span{visibility:hidden}
/* v284: local-first saved recipes and a quiet, optional account entrance. */
.st-heart{min-height:44px!important;min-width:44px!important;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;border:1px solid #bdb3a6;border-radius:999px;background:#fffdf7;color:#5e4034;font:600 13px/1.2 Inter,system-ui,sans-serif;cursor:pointer;flex-shrink:0;white-space:nowrap}
.st-heart svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.st-heart.is-saved{color:#a83419;border-color:#ba624c;background:#fff0e7}.st-heart.is-saved svg{fill:currentColor;stroke-width:1.4}.st-heart:hover{border-color:#a83419;background:#fff1e7}.st-heart:focus-visible,.st-kitchen:focus-visible,.st-account button:focus-visible{outline:3px solid #bc481e;outline-offset:3px}
.card-f{gap:8px;align-items:center}.card-f .st-heart{margin-left:auto}.st-recipe-save{margin:12px 0 18px}.ec-recipe .st-heart{margin:0 14px 14px}.fr2 .st-heart,.wk-list .st-heart{width:44px;padding:0}.fr2 .st-heart span,.wk-list .st-heart span{display:none}.fr2-a{min-width:0}.wk-list>li{display:flex;align-items:center;gap:8px}.wk-list>li>a{flex:1;min-width:0}.wk-list>li>a span{min-width:0}
.st-wkc-link{display:block;text-decoration:none;color:inherit}.wkc>.st-heart{margin:4px 12px 12px}.st-favorites-page{max-width:1180px;margin:32px auto 64px}.st-favorites-page h1{font:500 clamp(30px,5vw,48px)/1.15 Fraunces,Georgia,serif;margin:16px 0}.st-favorites-lead{max-width:620px;color:#514b43;font-size:16px;line-height:1.6;margin-bottom:28px}.st-back{display:inline-flex;align-items:center;min-height:44px;color:#634536}.st-favorites-empty{max-width:620px;margin:40px auto 80px;text-align:center;padding:36px 22px;border:1px solid #dacdbc;border-radius:18px;background:#fffbf3}.st-favorites-empty p{margin:16px 0 28px;color:#514b43}.st-favorites-empty .btn{display:inline-flex;min-height:44px;align-items:center}.st-save-status{position:fixed;bottom:calc(110px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:12px 18px;border:1px solid #d7c8b5;border-radius:12px;box-shadow:0 5px 24px #39241622;background:#fffaf0;color:#47342b;font-size:15px;z-index:140}.st-save-status[hidden]{display:none}
header.top .st-kitchen{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px!important;min-width:44px!important;width:44px;padding:9px!important;background:transparent;border:0;color:#704630;border-radius:50%;cursor:pointer}header.top .st-kitchen svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}
.st-account{box-sizing:border-box;width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 36px);overflow:auto;border:1px solid #d7c6b2;border-radius:20px;padding:24px;background:#fffaf1;color:#392e27;box-shadow:0 16px 60px #2e241e44}.st-account::backdrop{background:#30261d77}.st-account-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.st-account-top h2{font:500 29px/1.2 Fraunces,Georgia,serif;margin:0}.st-dialog-close{min-width:44px;min-height:44px;font:28px/1 system-ui;border:0;border-radius:50%;background:#f2e8d9;color:#5e4034;cursor:pointer}.st-favorite-link{display:flex;align-items:center;justify-content:space-between;min-height:54px;margin-top:18px;padding:8px 14px;border:1px solid #d4bdab;border-radius:12px;font-weight:600;color:#a3381f;text-decoration:none}.st-menu-link{display:flex;min-height:44px;align-items:center;color:#6a4737}.st-mobile-plus{display:none}.st-account hr{border:0;border-top:1px solid #dfd0bd;margin:16px 0 22px}.st-account h3{font-size:20px;line-height:1.35}.st-account-note{font-size:15px;line-height:1.65;color:#544b42}.st-account form:not([hidden]){display:grid;gap:12px}.st-account label{font-size:14px;font-weight:600}.st-account input{box-sizing:border-box;min-width:0;width:100%;min-height:48px;border:1px solid #b9a48d;background:#fffdf7;color:#32271e;border-radius:8px;font:16px Inter,system-ui,sans-serif;padding:10px 12px}.st-account button:not(.st-dialog-close){min-height:44px;margin:4px 0;line-height:1.4}.st-account .primary{padding:11px 16px}.st-account [hidden]{display:none!important}#st-account-status{font-size:15px;line-height:1.5;color:#7c321c;overflow-wrap:anywhere}.st-privacy{min-height:44px;display:inline-flex;align-items:center;color:#665342;font-size:14px}.st-delete{display:block;border:0;background:none;text-decoration:underline;color:#8b3426;cursor:pointer}.st-liked-week{border:1px solid #d9c9b8;border-radius:16px;padding:24px;margin:28px 0;background:#fffaf1}.st-liked-week h2{font:500 26px/1.25 Fraunces,Georgia,serif}.st-liked-week p{font-size:15px;line-height:1.6;color:#51483f}.st-liked-week ul{list-style:none;padding:0}.st-liked-week li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #e1d3c1}.st-liked-week li>a{flex:1;min-width:0;color:#70402d;line-height:1.4}.st-liked-week li>span{font-size:14px;white-space:nowrap}.st-liked-week li .st-heart span{display:none}
@media(max-width:430px){body.has-kitchen header.top nav [data-site-nav="3"]{display:none!important}.st-mobile-plus{display:flex}.st-account{padding:18px}.st-account-top h2{font-size:26px}.st-heart{font-size:12px;padding-left:9px;padding-right:9px}.card-f .meta-s{font-size:12px;flex:1;min-width:0}.st-liked-week{padding:18px}.st-favorites-page{margin-top:20px}.st-account strong{overflow-wrap:anywhere}}
@media(min-width:351px) and (max-width:379px){header.top .brand .wm,header.top .brand .wm-full{width:50px!important;font-size:12px!important;white-space:normal!important;line-height:1.04!important}}
/* Hearts stay above Plus photo overlays; saved collections use the same readable grid. */
.wkc>.st-heart{position:absolute;top:8px;right:8px;z-index:4;margin:0;width:44px;height:44px;padding:0;background:#fffaf1f5;border-color:#d5bfad;box-shadow:0 2px 8px #39281922}.wkc>.st-heart span{display:none}.wkc>.st-heart.is-saved{background:#fff0e7}
.st-favorites-page .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.st-favorites-page .grid:has(>.card:only-child){grid-template-columns:minmax(0,360px)}
@media(max-width:700px){.st-favorites-page .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.st-favorites-page .grid:has(>.card:only-child){grid-template-columns:minmax(0,1fr)}}

/* v284 QA: unmistakable multi-select squares, 44px interaction area. */
html body :is(.check,.prep-list) input[type="checkbox"]{border-radius:7px!important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2224%22%20height%3D%2224%22%20rx%3D%225%22%20fill%3D%22%23fffdf8%22%20stroke%3D%22%2385725f%22%20stroke-width%3D%221.8%22%2F%3E%3C%2Fsvg%3E")!important}
html body :is(.check,.prep-list) input[type="checkbox"]:checked{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2224%22%20height%3D%2224%22%20rx%3D%225%22%20fill%3D%22%23C84316%22%2F%3E%3Cpath%20d%3D%22m10%2016%204%204%208-8%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")!important}
.prep-list label:has(input:checked) span{text-decoration:none!important;color:#40543c}
.st-purchase-empty .st-store,.st-purchase-empty .st-actions,.st-purchase-empty .st-shop-note,.st-purchase-empty .st-staples,.st-purchase-empty .st-round-note,.st-purchase-empty [data-walmart-summary],.st-purchase-empty [data-walmart-manual],.st-purchase-empty #left,.st-purchase-empty .st-disclosure,.st-purchase-empty .st-receipt-note{display:none!important}
.st-shopping .st-round-note{display:none}.st-all-checked .st-shop-card .st-actions,.st-all-checked .st-shop-note,.st-all-checked [data-walmart-summary],.st-all-checked .st-store{display:none!important}

html body :is(.check,.prep-list) input[type="checkbox"]{transition:none!important}
.list-wrap:has(.st-purchase-empty) .gl-top,.list-wrap:has(.st-purchase-empty) .gl-p{display:none}.st-purchase-empty .st-shop-card{margin-top:12px;margin-bottom:12px}

/* v285 planned offer: legible without pretending checkout is active. */
.st-plus-pricing{padding:20px;border:1px solid #d9c3ab;border-radius:18px;background:#fff8ed;color:#46372b;display:grid;gap:7px;margin:20px 0;min-width:0}.st-plus-pricing strong{font-size:clamp(18px,3vw,24px);line-height:1.35}.st-plus-pricing span,.st-plus-pricing p{font-size:14px;line-height:1.55;margin:0}.st-plus-pricing small{font-size:12px;line-height:1.5;color:#6a5140}.snap-lock .st-plus-pricing{margin:12px 0 10px;padding:12px;border-color:#80624c;background:#443328;color:#fff4e5;gap:5px}.snap-lock .st-plus-pricing strong{font:600 15px/1.45 var(--sans)}.snap-lock .st-plus-pricing small{color:#ecd2b6}.snap-lock .st-plus-pricing span,.snap-lock .st-plus-pricing p{font-size:12px;line-height:1.55;color:#f2dfcd}.snap-lock .st-plus-pricing p{display:block}

/* v286: closest is inspiration, never a false ready/one-away promise. */
.fz-closest-note{display:none!important}.fz-c .miss{font-size:12px;line-height:1.35;white-space:normal}.fr2-near .fr2-m{font-size:13px;color:#8b3d1d}.fr2-near .fr2-t b{-webkit-line-clamp:2}.ft-res .ft-cap{color:#635244;font-size:14px;line-height:1.5}

/* v286: readable closest/related results, including narrow screens and long translations. */
.fsheet .fr2-t b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;line-height:1.3;overflow-wrap:anywhere}
.fsheet .fr2-t small{flex-wrap:wrap;white-space:normal;row-gap:2px}.fsheet .fr2-m{white-space:normal}

/* v287: keep all card metadata inside its own column; never squeeze it into a 1px gutter. */
.card .card-f{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;overflow:visible}
.card-match{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.card-match>.badge,.card-match>.miss{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.card .card-f>.meta-s{display:block;min-width:0;max-width:100%;width:auto;white-space:normal!important;overflow-wrap:normal;word-break:normal;line-height:1.5}
.card .card-f>.st-heart{margin-left:0;min-width:0;max-width:100%;justify-self:end}

@media(max-width:650px){.card .card-f>.meta-s,.card .card-f>.st-heart{grid-column:1/-1}.card .card-f>.meta-s{min-width:0;width:100%}.card .card-f>.st-heart{justify-self:end}}

/* v289: filtering never reconstructs content above the browse grid. */
.st-home-results{min-height:70vh;min-width:0;overflow-anchor:none}
.st-home-results .grid{min-height:60vh;align-content:start}
.sec-h .filters{flex-wrap:nowrap;min-height:46px;overflow-anchor:none}
.sec-h .filters button{flex-shrink:0}
.sec-h .filters.f2{flex-wrap:wrap}

/* v293: separate produce tabs retain one stable, horizontally scrollable row. */
.fsheet .ft-tabs{flex-wrap:nowrap;min-height:44px;overflow-anchor:none;padding-right:20px;scroll-padding-inline:12px}
.fsheet .ft-tab{white-space:nowrap;flex-shrink:0;min-height:44px}
.fsheet .ft-g{grid-template-columns:repeat(3,minmax(0,1fr));min-height:400px;align-content:start;overflow-anchor:none}
.fsheet .fs-body{overflow-anchor:none}

/* st-v296r1: decide first, reveal secondary choices on request. */
.st-decide-today{grid-template-columns:minmax(0,1fr)!important;align-items:start!important}
.st-decide-today>.stage{order:0}.st-decide-today>.hero-l{order:1}
@media(min-width:1024px){.st-decide-today{grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important}}
.st-decide-today .season{min-height:0!important;padding:20px!important;background:#fff8ee!important;grid-column:auto!important}
.st-decide-today .season .date{font-size:32px!important}.st-decide-today .season .sub{font-size:15px}

/* Meal switch: Breakfast / Lunch / Dinner */
.st-meal-switch{display:flex;gap:8px;width:100%;flex:0 0 100%;margin:0 0 10px;padding:0;overflow:visible;mask-image:none;-webkit-mask-image:none}
.st-meal-switch button{flex:1 1 0;min-width:0;min-height:44px;font-weight:650;border-radius:999px}
.st-meal-switch button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.st-meal-switch button:disabled{opacity:.4}
@media(max-width:480px){.st-meal-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}
.st-primary-filters{display:flex;flex:0 0 100%;gap:8px;width:100%;min-width:0}
.st-primary-filters button{min-height:44px}.filter-result-count{flex:0 0 100%;min-height:24px;margin:0;font-size:12px;line-height:1.8}
@media(max-width:480px){.sec-h .st-primary-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;min-height:96px}.st-primary-filters button{width:100%;margin:0}.filter-result-count{font-size:11px}}
.st-more-filters{width:100%;min-width:0}.st-more-filters>summary,.st-secondary>summary{min-height:44px;display:list-item;cursor:pointer;padding:12px 4px;box-sizing:border-box;font-weight:600}
.st-more-filters .filters{margin:8px 0;max-width:100%}.st-more-filters p{max-width:70ch}
.st-secondary{margin:18px 0;border-top:1px solid #e5dacd;min-width:0}.st-secondary>summary{font-size:15px}
.st-secondary:not([open])>*:not(summary){display:none}.st-more-filters:not([open])>*:not(summary){display:none}
.st-destination-scene{margin:24px 0;overflow:hidden;border-radius:18px;aspect-ratio:16/9;background:#efe5d8;max-width:760px}
.st-destination-scene img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.st-smart-fridge{margin:26px 0}.st-smart-fridge .st-destination-scene{max-width:560px}.st-plus-signup{margin:24px 0}
.st-snap-entry{padding:12px!important}.st-snap-entry>a{display:flex;align-items:center;gap:10px;width:100%;min-height:44px}.st-snap-entry small{display:block}
body.browse-mode #app>.st-dinner-ideas{display:none}


/* batch1 refinements */
.bal-why{display:none!important}
.fz-closest-note{display:none!important}
.fz-c .miss,.card-match>.miss{color:#7A3418!important;background:#F8E6DA!important;font-weight:600}
.fr2-near .fr2-m,.fr2-m{color:#7A3418!important;font-weight:600}
/* Menu link: quiet text control, not dashed box */
button.rl-share,.rl-share{
  display:inline-flex!important;width:auto!important;margin:10px 0 0!important;padding:6px 2px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:#6A4737!important;font:500 14px/1.4 Inter,"Noto Sans SC",sans-serif!important;
  box-shadow:none!important;justify-content:flex-start!important;gap:6px!important;
  text-decoration:underline;text-underline-offset:3px;min-height:44px;
}
button.rl-share svg{width:14px;height:14px;opacity:.7}
/* List FAB: no emoji, dock never covers cards */
#gl-pill{font-weight:600}
#gl-pill i{font-style:normal;opacity:.7}
body.has-list-dock #app{padding-bottom:36px!important}

/* batch1-fab-clearance: keep stage/cards above the List dock */
body.has-list-dock #app{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
body.has-list-dock .stage,body.has-list-dock .bal,body.has-list-dock .rl-cta{margin-bottom:8px}

/* batch1b: slim glance sticky */
.gl-exits-slim{display:flex;align-items:center;gap:10px;min-height:44px}
.gl-exits-slim #gl-n{flex:1;min-width:0;font-size:18px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;text-align:center}
.gl-exits-slim .ghost{flex:none}
.gl-top-quiet{margin-top:4px;justify-content:flex-end}
.gl-top-quiet .gl-btns{display:flex}

/* batch1b-acts: keep swap/remove side by side, inside card */
.dishes .acts{flex-direction:row!important;flex-wrap:nowrap;gap:6px;align-items:center;margin-left:8px;flex:none}
.dishes .icon-b{width:40px;height:40px;flex:none}
.dishes .icon-b.sw{width:40px;padding:0}
.dishes li{align-items:center;overflow:hidden}

/* batch1d */
.gl-bar .gl-p{display:none!important}
.list-wrap .gl-bar{margin-top:8px}
/* more-filters / dinner-ideas as quiet chip, no disclosure triangle */
.st-more-filters,.st-dinner-ideas{border:0;margin:8px 0 0;padding:0;width:auto;display:inline-block;max-width:100%}
.st-more-filters>summary,.st-dinner-ideas>summary{
  list-style:none;display:inline-flex;align-items:center;gap:6px;
  min-height:40px;padding:7px 14px;margin:0;
  border:1px solid var(--line,#E6D9C8);border-radius:999px;background:var(--paper,#fff);
  font-size:14px;font-weight:600;color:var(--mute,#6B5E52);cursor:pointer;box-sizing:border-box;
}
.st-more-filters>summary::-webkit-details-marker,.st-dinner-ideas>summary::-webkit-details-marker{display:none}
.st-more-filters>summary::marker,.st-dinner-ideas>summary::marker{content:''}
.st-more-filters[open]>summary,.st-dinner-ideas[open]>summary{background:var(--ink,#2B211B);color:#fff;border-color:var(--ink,#2B211B)}
.st-more-filters>summary .st-filter-ico,.st-dinner-ideas>summary .st-filter-ico{display:inline-block;width:14px;height:14px;opacity:.85}
.st-more-filters .filters,.st-dinner-ideas .rl-rail{margin-top:10px}
/* card footer: one compact meta line + aligned bottoms */
.st-home-results .grid .card{display:flex;flex-direction:column;height:100%}
.st-home-results .grid .card .card-t{flex:1 1 auto}
.st-home-results .grid .card .card-f{
  display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:8px;
  margin-top:auto;padding:8px 13px 13px;grid-template-columns:unset!important
}
.st-home-results .grid .card .card-f .card-meta-line{
  display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;flex:1 1 auto;
  overflow:hidden
}
.st-home-results .grid .card .card-f .card-meta-line .badge,
.st-home-results .grid .card .card-f .card-meta-line .miss,
.st-home-results .grid .card .card-f .card-meta-line .meta-s{
  flex:none;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;
  font-size:12px;line-height:1.3
}
.st-home-results .grid .card .card-f .card-match{display:contents}
.st-home-results .grid .card .card-f .st-heart{margin-left:auto;flex:none}
@media(max-width:650px){
  .st-home-results .grid .card .card-f>.meta-s,
  .st-home-results .grid .card .card-f>.st-heart{grid-column:unset}
}

.st-more-filters[open],.st-dinner-ideas[open]{display:block;width:100%;flex:0 0 100%}
.sec-h .st-more-filters{flex:0 0 auto;margin-top:6px}

/* batch1d-t408 contrast */
.fz-c .miss,.fsheet .fr2-m,.fr2-m,.card-meta-line .miss{
  display:inline-flex!important;align-items:center;gap:4px;
  max-width:100%;padding:3px 9px!important;border-radius:999px;
  background:#F3D7C4!important;color:#5C2410!important;font-weight:700!important;
  font-size:12px;line-height:1.3;border:1px solid #E5B894;
}
.fz-c .miss.all,.card-meta-line .miss.all{background:#DCECD8!important;color:#1F5A28!important;border-color:#B7D4B0}
.fz-a small .ok{color:#1F5A28!important;font-weight:700}
.fsheet .fr2-t small,.fsheet .fr2-tm{color:#4A3D34!important}
.fsheet .ft-cap{color:#4A3D34!important}
.fsheet .ft-clr,.fsheet .ft-back{color:#6B2B0E!important;font-weight:650}
.fsheet .fs-note{display:none!important}
.meta-s,.card-f .meta-s,.dishes small,.dishes .nw{color:#4F433A!important}
.hb-go{color:#7A2E10!important;font-weight:700}
.fz-chip{color:#3A2F28!important}
.filter-result-count,.muted,.st-shopping .muted,.st-shopping .small{color:#4F433A!important}
.bal-t,.pill{color:#4F433A!important}
.st-more-filters>summary:not(.on){color:#4F433A}

/* batch1d-t413: no dinner-ideas disclosure; meal gallery spacing; FAB never covers headings */
.st-dinner-ideas{display:none!important;margin:0!important;padding:0!important;border:0!important;height:0!important;overflow:hidden!important}
#dinner-menus.rl-g{margin:20px 0 8px;padding:18px 0 4px;border-top:1px solid #EADBC9}
#dinner-menus .rl-gh{margin-bottom:10px}
#gl-pill.gl-avoid-card{opacity:0!important;pointer-events:none!important;transform:translateY(12px)}
body.has-list-dock #app{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important}
body.has-list-dock #app h2,body.has-list-dock #app .sec-h,body.has-list-dock #app .rl-gh{scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px))}

/* batch1d-t414 declutter */
#dinner-menus.rl-g{margin:16px 0 4px;padding:12px 0 0;border-top:0}
#dinner-menus .rl-gh{margin:0 0 8px}
#dinner-menus .rl-gh h2{font-size:24px;margin:0}
#dinner-menus .rl-eyebrow,#dinner-menus .rl-sub{display:none!important}
#dinner-menus .rl-kick{display:none!important}
.cta-s{display:none!important}
.st-shopping .st-shop-note,.st-shopping .st-round-note{display:none!important}

/* batch1d-list-slim: compact sticky; staples baseline */
.gl-bar{padding:6px 10px!important;margin:4px 0 10px!important}
.gl-exits-slim{display:flex;align-items:center;gap:8px;min-height:40px}
.gl-bar .gl-exits-slim .ghost,.gl-bar #gl-back,.gl-bar #gl-close,body #gl-back,body #gl-close{min-height:36px!important;height:36px!important;max-height:36px!important;padding:0 8px!important;font-size:14px!important;line-height:36px!important;box-sizing:border-box}
.gl-exits-slim #gl-n{font-size:16px!important;line-height:1.2}
.st-shopping .st-staples{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;min-height:0!important;padding:6px 0!important;margin:6px 0!important;font-size:14px!important;line-height:1.25!important}



/* batch1e */
.gl-bar .gl-exits,.gl-bar .gl-exits-slim{border-bottom:0!important;padding-bottom:0!important;margin-bottom:0!important} /* gl-exits-no-divider */
.gl-p,#gl-f{display:none!important;height:0!important;margin:0!important}
.sp,.spn,.snap-c,.st-snap-entry{display:none!important} /* all-free-hide-plus */
.fz .fz-q,.fz .fz-chips{margin-bottom:14px!important}
.fz .fz-g{margin-top:8px!important;padding-top:4px}
.fz .lp-s{margin:8px 0 12px}
.fz .snap-c,.st-snap-entry{display:none!important}
.gl-bar::after,.gl-exits-slim::after,.gl-bar .gl-p{display:none!important;content:none!important;height:0!important;border:0!important}
.gl-bar{border-bottom:0!important;box-shadow:0 4px 14px rgba(43,33,27,.06)!important}
.st-shopping .st-staples input[type=checkbox]{
  appearance:none!important;-webkit-appearance:none!important;
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  margin:0!important;padding:0!important;flex:none!important;align-self:center!important;
  border:1.8px solid #85725f!important;border-radius:5px!important;
  background:#fffdf8!important;background-image:none!important;
  box-shadow:none!important;cursor:pointer;vertical-align:middle;
}
.st-shopping .st-staples input[type=checkbox]:checked{
  background:#C84316!important;border-color:#C84316!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-size:14px 14px!important;background-position:center!important;background-repeat:no-repeat!important;
}


/* batch1e2 */
.st-shopping .st-staples input[type=checkbox],
html body .st-shopping .st-staples input[type=checkbox]{
  appearance:none!important;-webkit-appearance:none!important;
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  margin:0!important;padding:0!important;flex:none!important;
  border:0!important;border-radius:5px!important;background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2224%22%20height%3D%2224%22%20rx%3D%225%22%20fill%3D%22%23fffdf8%22%20stroke%3D%22%2385725f%22%20stroke-width%3D%222.2%22%2F%3E%3C%2Fsvg%3E")!important;
  background-size:22px 22px!important;background-position:center!important;background-repeat:no-repeat!important;
  box-shadow:none!important;
}
.st-shopping .st-staples input[type=checkbox]:checked,
html body .st-shopping .st-staples input[type=checkbox]:checked{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2224%22%20height%3D%2224%22%20rx%3D%225%22%20fill%3D%22%23C84316%22%20stroke%3D%22%23C84316%22%20stroke-width%3D%222.2%22%2F%3E%3Cpath%20d%3D%22M10%2016.5l4%204%208-8%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")!important;
  background-size:22px 22px!important;background-position:center!important;background-repeat:no-repeat!important;
  border:0!important;
}
/* kill leftover sticky hairline under gl-bar */
.gl-bar,.gl-bar .gl-exits,.gl-bar .gl-exits-slim{border:0!important;border-bottom:0!important;box-shadow:none!important}
.gl-bar{background:rgba(255,252,247,.96)!important;padding-bottom:6px!important;margin-bottom:8px!important}
.list-wrap > .gl-bar + *,.list-wrap h1 + .gl-bar{border-top:0!important}
.list-wrap #left.small{display:none!important} /* duplicate of gl-n; was leaving empty line */
.st-walmart-summary{border:0!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important}
.st-disclosure{border:0!important;border-top:0!important}
/* more air between fridge chips and round dish photos */
.fz .fz-chips,.fz .fz-q{margin-bottom:20px!important}
.fz .fz-g{margin-top:14px!important;padding-top:10px!important;clear:both}
.fz .lp-s{margin-bottom:10px!important}
.fz .fz-g .fz-c,.fz .fz-g > li{margin-top:4px}
.fz .fz-add{top:0!important} /* was -4px, caused tuck into chips */


/* batch1f-sticky: list bar sits BELOW site header, solid bg */
:root{--hh:64px}
header.top{z-index:40!important}
.gl-bar,html.glance .gl-bar,body .gl-bar{
  top:var(--hh,64px)!important;
  z-index:35!important;
  background:#FAF6EF!important;
  background-color:#FAF6EF!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:0!important;
  border-bottom:1px solid #E5D7C7!important;
  box-shadow:0 2px 8px rgba(43,33,27,.06)!important;
  border-radius:0!important;
}
/* when #app is the scrollport (has-list-dock), header is outside scroll — stick to 0 */
body.has-list-dock .gl-bar,body.has-list-dock html.glance .gl-bar,html body.has-list-dock .gl-bar{
  top:0!important;
}
html.glance h2.aisle{top:calc(var(--hh,64px) + 52px)!important}
body.has-list-dock html.glance h2.aisle,body.has-list-dock h2.aisle{top:52px!important}

/* batch1g: swap icon-only; FAB must not cover holiday countdown */
.dishes .acts .icon-b.sw{
  width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;
  padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  font-size:0!important;gap:0!important;overflow:hidden!important;
}
.dishes .acts .icon-b.sw span{display:none!important}
.dishes .acts .icon-b.sw svg{width:17px!important;height:17px!important}
body.has-list-dock #hx.hb,
body.has-list-dock .hero-l > .season,
body.has-list-dock .hero-l #hx{
  scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px));
}
body.has-list-dock #app .hero-l{
  padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
}


/* === batch2 note (t449) + cook mode (t451) === */
/* with-note grid retired — note sits on fridge corner */
@media(max-width:520px){.hero-l.with-note{grid-template-columns:1fr;}}
#st-note.home{position:relative;z-index:2;align-self:stretch}
#st-note.home .sn-card{height:100%;min-height:160px;background:linear-gradient(160deg,#FFF9EF 0%,#F7E7D0 100%);border:1px solid #E5D2B8;border-radius:18px;padding:14px 14px 12px;box-shadow:0 8px 24px rgba(80,48,20,.08);display:flex;flex-direction:column;gap:8px}
#st-note .sn-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
#st-note .sn-h b{font:700 15px/1.2 var(--sans,system-ui);letter-spacing:.02em;color:#6B4423}
#st-note .sn-n{min-width:22px;height:22px;border-radius:999px;background:#C84316;color:#fff;font:700 12px/22px var(--sans);text-align:center;padding:0 6px}
#st-note .sn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1;overflow:auto;max-height:220px}
#st-note .sn-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.72);font:500 14px/1.3 var(--sans);color:#3F2A1A}
#st-note .sn-x{border:0;background:transparent;color:#9A7A5C;font-size:18px;line-height:1;min-width:32px;min-height:32px;cursor:pointer}
#st-note .sn-act{display:flex;gap:8px;margin-top:auto}
#st-note .sn-go{flex:1;min-height:44px}
#st-note .sn-empty{margin:0;font:500 13px/1.45 var(--sans);color:#8A6A4E}
#st-note:not(.home){position:fixed;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
#st-note .sn-pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid #E0CDB6;background:#FFF8ED;box-shadow:0 6px 20px rgba(80,40,10,.14);font:600 14px var(--sans);color:#6B4423;cursor:pointer}
#st-note .sn-pill .sn-dot{width:8px;height:8px;border-radius:50%;background:#C84316}
#st-note .sn-pill i{font-style:normal;min-width:18px;height:18px;border-radius:999px;background:#C84316;color:#fff;font:700 11px/18px var(--sans);text-align:center;padding:0 5px}
#st-note.empty .sn-pill i,#st-note.empty .sn-n{background:#B89A7A}
#st-note .sn-pop{width:min(280px,78vw);background:#FFF9EF;border:1px solid #E5D2B8;border-radius:16px;padding:12px;box-shadow:0 12px 32px rgba(60,30,10,.18)}
#st-note .sn-pop[hidden]{display:none}
/* cook mode prominence */
.ck-guide{margin-top:14px;padding:12px 14px;border-radius:16px;background:#FFF4E6;border:1px solid #E8D2B4}
.ck-guide .ck-hd{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ck-guide .ck-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #E5D0B4;font:600 13px/1.2 var(--sans);color:#5A3A22}
.ck-guide .ck-chip em{font-style:normal;color:#C84316;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ck-guide .ck-cue{margin:0;font:600 16px/1.4 var(--serif);color:#2E1C10}
.ck-guide .ck-rescue{margin-top:8px}
.ck-guide .ck-rescue summary{cursor:pointer;font:600 14px var(--sans);color:#8A4B28;min-height:40px;display:flex;align-items:center;gap:6px;list-style:none}
.ck-guide .ck-rescue summary::-webkit-details-marker{display:none}
.ck-guide .ck-rescue p{margin:6px 0 0;font:500 14px/1.45 var(--sans);color:#5A4030}
.ck-ings{margin-top:14px}
.ck-ings b{display:block;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#A07048;margin-bottom:8px}
.ck-ings ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ck-ings li{padding:6px 10px;border-radius:999px;background:#F3E7D6;font:500 13px var(--sans);color:#4A3220}
.ck-ings li.have{background:#E5F0E2;color:#2F5A2C}
.ck-nav button{min-height:56px!important;font-size:17px!important}
.ck-timer{min-height:56px!important}


/* t462: quiet missing icon + in-place popover (no Missing N pills) */
.card .miss,.fz-c .miss:not(.ok),.fr2-m{display:none!important} /* legacy pills hidden if any remain */
.miss-ico{appearance:none;border:0;background:#F4E6D4;color:#7A5232;width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;opacity:.85;transition:opacity .15s,background .15s}
.miss-ico:hover,.miss-ico[aria-expanded="true"]{opacity:1;background:#EAD5B8}
.miss-ico svg{display:block}
.miss-quiet.ok{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#E5F0E2;color:#2F5A2C;font:700 12px/1 var(--sans)}
.card-f{display:flex;align-items:center;justify-content:space-between;gap:8px}
.card-meta-line{display:flex;align-items:center;gap:8px;min-width:0}
.miss-pop{position:absolute;z-index:30;right:8px;top:calc(100% - 4px);width:min(260px,78vw);background:#FFF9EF;border:1px solid #E5D2B8;border-radius:14px;box-shadow:0 12px 28px rgba(60,30,10,.16);padding:10px;text-align:left}
.fz-c,.fr2,.card{position:relative}
.miss-pop-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.miss-pop-h b{font:700 13px/1.2 var(--sans);color:#5A3A22}
.miss-pop-x{border:0;background:transparent;font-size:20px;line-height:1;color:#9A7A5C;min-width:32px;min-height:32px;cursor:pointer}
.miss-pop-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto}
.miss-pop-l li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.7);font:500 13px/1.3 var(--sans);color:#3F2A1A}
.miss-pop-l .ghost{min-height:32px;padding:4px 8px;font-size:12px}
.miss-add-all{width:100%;margin-top:8px;min-height:40px}
.fz-c .miss-ico,.fr2 .miss-ico{margin-left:auto;margin-right:4px}


/* t463: fridge results = photo + name + quiet miss icon only */
.fz-c .fz-add,.fz-g .fz-add{display:none!important}
.fz-c .need-b,.fz .need-b{display:none!important}
.fz-c small,.fz-c .u-w{display:none!important}
.fz-c{display:flex;flex-direction:column;align-items:stretch;gap:6px;position:relative}
.fz-c .fz-a{display:flex;flex-direction:column;gap:6px;min-width:0}
.fz-c .fz-a b{font:600 14px/1.3 var(--sans);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}
.fz-c .miss-ico{position:absolute;top:8px;right:8px;background:rgba(255,249,239,.94);box-shadow:0 1px 4px rgba(60,30,10,.12)}
.fz-p img,.fz-p{border-radius:14px}
/* calm eat-first chips */
.lp-i{background:#F3EBE1!important;color:#5A4636!important;border:1px solid #E2D3C2!important}
.lp-i em{background:transparent!important;color:#6B5644!important;font-weight:600}
.lp-i.t-0,.lp-i.t-1{background:#F6EFE6!important;color:#6A4E38!important;border-color:#E0D0BC!important}
.lp-i.t-0 em,.lp-i.t-1 em{color:#8A5A32!important}
.lp-i.t-2,.lp-i.t-3{background:#F1EEE8!important;color:#5A534A!important}
/* prevent clipped ingredient / chip text */
.fz-chip,.ft-p,.ft-tray .ft-p, .need-b b, .sn-list li span{overflow:visible;text-overflow:unset;white-space:normal;overflow-wrap:anywhere}
.ft-p{max-width:100%}
.ft-tray{align-items:flex-start}

/* t463b: calm eat-first tones (loop uses t-r/t-a/t-g) */
.lp-i.t-r,.lp-i.t-a,.lp-i.t-g{background:#F3EBE1!important;border-color:#E2D3C2!important;color:#5A4636!important}
.lp-i.t-r em,.lp-i.t-a em,.lp-i.t-g em{background:#E8DDD0!important;color:#6B5644!important}
.lp-i.t-r em{background:#EAD9C8!important;color:#7A5340!important}


/* t464: fridge suggests dishes only — no missing UI on cards (fridge or grid) */
.fz-c .miss-ico,.fz-c .fz-add,.fz-c .need-b,.fz-c small,
.fr2 .miss-ico,.fr2 .fr-add,.fr2 .need-b,
.card .miss-ico,.card .miss,.card .miss-quiet{display:none!important}
.fz-c .miss-pop,.fr2 .miss-pop,.card .miss-pop{display:none!important}
.fz-c{position:relative}
.fz-c .fz-a b{font:600 14px/1.35 var(--sans);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}


/* t466: note stuck to fridge corner — compact ~3, tap to expand */
.fz.has-note{position:relative}
#st-note.home{position:absolute;right:10px;bottom:10px;z-index:5;width:auto;max-width:min(220px,70%);pointer-events:auto}
#st-note.home .sn-corner{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px 8px 12px;border:1px solid #E2D2BC;border-radius:14px;background:rgba(255,249,239,.94);box-shadow:0 6px 18px rgba(70,40,15,.12);text-align:left;cursor:pointer;backdrop-filter:blur(6px)}
#st-note.home .sn-pin{position:absolute;top:-4px;right:14px;width:10px;height:10px;border-radius:50%;background:#C84316;box-shadow:0 0 0 3px rgba(200,67,22,.18)}
#st-note.home .sn-corner-t{display:flex;align-items:center;gap:6px}
#st-note.home .sn-corner-t b{font:700 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#7A5232}
#st-note.home .sn-corner-t i{font-style:normal;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#C84316;color:#fff;font:700 10px/16px var(--sans);text-align:center}
#st-note.home .sn-preview{font:500 12px/1.35 var(--sans);color:#5A4636;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#st-note.home .sn-preview em{font-style:normal;color:#A06A3C;font-weight:700}
#st-note.home .sn-card.sn-expand{width:min(240px,78vw);max-height:280px;overflow:auto}
#st-note.home .sn-min{border:0;background:transparent;font-size:18px;line-height:1;color:#9A7A5C;min-width:28px;min-height:28px;cursor:pointer;margin-left:auto}
#st-note.empty.home .sn-corner{opacity:.92}
#st-note.home .sn-corner:hover{background:#FFF9EF}
/* drinks row on fridge */
.fz-drinks{margin-top:10px;padding-top:8px;border-top:1px dashed #E5D6C4}
.fz-dr-h{display:block;font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#A07048;margin-bottom:6px}
.fz-dg{list-style:none;margin:0;padding:0;display:flex;gap:8px;overflow-x:auto}
.fz-dc{flex:0 0 auto;width:88px}
.fz-dc a{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:#2B231E}
.fz-dc img,.fz-dc .cover,.fz-dc span{width:88px;height:66px;object-fit:cover;border-radius:10px;display:block}
.fz-dc b{font:600 12px/1.25 var(--sans);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}


/* audit fixes: note clearance, calm add, cook step size, per-item note */
.ing-bar .ing-add.ghost,.ing-bar .ghost.ing-add{
  background:#FFF8ED;border:1px solid #E0CDB6;color:#6B4423;font-weight:600;
  box-shadow:none;width:100%;min-height:44px;border-radius:12px;
}
.ing-bar .ing-add.ghost:hover{background:#F7E9D4}
.ing li.ing-miss{position:relative;padding-right:72px}
.ing .ing-note-one{
  position:absolute;right:4px;top:50%;transform:translateY(-50%);
  border:1px solid #E0CDB6;background:#FFF8ED;color:#7A5232;
  border-radius:999px;padding:4px 10px;font:600 12px/1.2 var(--sans);
  min-height:32px;cursor:pointer
}
.ing .ing-note-one:disabled{opacity:.7;border-color:#D5CBB8;color:#8A7A68}
.ck-shopping{display:none!important}
#recipe-shopping{display:none!important}
.ck-step{font:500 clamp(20px,5.2vw,28px)/1.35 var(--serif)!important;max-width:640px;letter-spacing:-.01em;text-wrap:pretty}
:lang(zh) .ck-step,html[lang=zh] .ck-step{font-family:var(--font-display-cjk),var(--serif)!important;line-height:1.45!important;font-size:clamp(18px,4.8vw,26px)!important}
@media(max-width:360px){
  .ck-step{font-size:clamp(18px,5vw,22px)!important}
  .ck-n b{font-size:28px!important}
}
#st-note:not(.home){
  right:12px;
  bottom:calc(88px + env(safe-area-inset-bottom));
  z-index:45;
}
body.has-list-dock #st-note:not(.home){
  bottom:calc(72px + 64px + env(safe-area-inset-bottom));
}
body.recipe-page #gl-pill,
html.recipe #gl-pill{display:none!important}
#cookv:not([hidden]) ~ #st-note,
body.cooking #st-note{display:none!important}
@media(max-width:400px){
  #st-note:not(.home){right:8px;bottom:calc(96px + env(safe-area-inset-bottom))}
  #st-note .sn-pill{min-height:40px;padding:6px 12px;font-size:13px}
}


/* t469–t471: single sticky note entry; no List FAB; no fridge-corner note */
#gl-pill{display:none!important}
body.has-list-dock #gl-pill{display:none!important}
.fz.has-note{position:relative} /* leftover class noop */
#st-note.home,#st-note .sn-corner,#st-note .sn-card.sn-expand{display:none!important} /* kill corner UI if any */
#st-note{
  position:fixed;right:12px;bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:55;display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  pointer-events:none;
}
#st-note > *{pointer-events:auto}
#st-note .sn-pill{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;
  border-radius:999px;border:1px solid #E0CDB6;background:#FFF8ED;
  box-shadow:0 6px 20px rgba(80,40,10,.14);font:600 14px var(--sans);color:#6B4423;cursor:pointer;
}
#st-note .sn-pill .sn-dot{width:8px;height:8px;border-radius:50%;background:#C84316}
#st-note .sn-pill i{font-style:normal;min-width:18px;height:18px;border-radius:999px;background:#C84316;color:#fff;font:700 11px/18px var(--sans);text-align:center;padding:0 5px}
#st-note.empty .sn-pill i{background:#B89A7A}
#st-note .sn-sheet{
  width:min(320px,calc(100vw - 24px));max-height:min(70vh,520px);overflow:auto;
  background:#FFF9EF;border:1px solid #E5D2B8;border-radius:18px;padding:12px;
  box-shadow:0 16px 40px rgba(60,30,10,.22);
}
#st-note .sn-sheet[hidden]{display:none}
#st-note .sn-sheet-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
#st-note .sn-sheet-h b{font:700 15px/1.2 var(--sans);color:#6B4423}
#st-note .sn-xbtn{border:0;background:transparent;font-size:22px;line-height:1;color:#9A7A5C;min-width:36px;min-height:36px;cursor:pointer}
#st-note .sn-form{display:flex;gap:6px;margin-bottom:10px}
#st-note .sn-form input{
  flex:1;min-height:40px;border:1px solid #E0CDB6;border-radius:12px;padding:0 12px;
  font:500 14px var(--sans);background:#fff;color:#3F2A1A;
}
#st-note .sn-form .sn-add{min-height:40px;padding:0 12px;border-radius:12px}
#st-note .sn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
#st-note .sn-list li{display:flex;align-items:center;gap:8px;padding:8px 8px;border-radius:12px;background:rgba(255,255,255,.72)}
#st-note .sn-list li.done .sn-name{text-decoration:line-through;color:#9A7A5C;opacity:.75}
#st-note .sn-strike{
  border:0;background:#F3E7D6;width:28px;height:28px;border-radius:50%;
  font:700 12px/1 var(--sans);color:#7A5232;cursor:pointer;flex:none;
}
#st-note .sn-name{flex:1;font:500 14px/1.3 var(--sans);color:#3F2A1A;min-width:0}
#st-note .sn-to-list{
  border:1px solid #E0CDB6;background:#FFF8ED;color:#7A5232;border-radius:999px;
  padding:4px 8px;font:600 11px/1.2 var(--sans);white-space:nowrap;cursor:pointer;min-height:28px;
}
#st-note .sn-to-list:disabled{opacity:.65}
#st-note .sn-act{display:flex;flex-direction:column;gap:8px;margin-top:10px}
#st-note .sn-go,#st-note .sn-go-list{min-height:44px;width:100%;border-radius:12px}
#st-note .sn-clr{margin-top:6px;width:100%;min-height:40px}
#st-note .sn-empty{margin:4px 0 10px;font:500 13px/1.45 var(--sans);color:#8A6A4E}
/* clearance: keep above footer / legal, and clear of step nav on recipe */
body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
@media(max-width:400px){
  #st-note{right:8px;bottom:calc(16px + env(safe-area-inset-bottom))}
  #st-note .sn-pill{min-height:40px;padding:6px 12px;font-size:13px}
  #st-note .sn-sheet{width:min(300px,calc(100vw - 16px))}
}
/* recipe page: lift note above any residual docks; hide during cook */
body.recipe-page #st-note{bottom:calc(20px + env(safe-area-inset-bottom))}
body.cooking #st-note,#cookv:not([hidden]) ~ #st-note{display:none!important}
/* never let old list dock claim space for a missing FAB */
body.has-list-dock{padding-bottom:calc(72px + env(safe-area-inset-bottom))}


/* t472–t474: first-visit label → icon-only after open */
#st-note .sn-pill .sn-ico{font-size:16px;line-height:1}
#st-note .sn-pill.sn-mini{min-width:44px;min-height:44px;padding:0 10px;justify-content:center;gap:4px}
#st-note .sn-pill.sn-mini b{display:none}
#st-note .sn-pill .sn-zero{display:none}
#st-note .sn-pill.sn-mini i{min-width:16px;height:16px;font:700 10px/16px var(--sans);padding:0 4px}
#st-note .sn-pill:not(.sn-mini) i.sn-zero{background:#B89A7A}


/* t475 audit: no expiry chips; note clearance; sheet fit; ing row layout */
.lp-s,.lp-sb,#lpmap{display:none!important}

/* balanced fridge grid */
.fz-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}
@media(max-width:359px){.fz-g{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:900px){.fz-g{grid-template-columns:repeat(6,minmax(0,1fr))!important}}

/* sticky note: safe bottom-right, never covers cards */
#st-note{
  position:fixed;
  right:max(12px, env(safe-area-inset-right));
  bottom:calc(20px + env(safe-area-inset-bottom));
  z-index:55;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  max-width:min(320px, calc(100vw - 24px));
  pointer-events:none;
}
#st-note > *{pointer-events:auto}
body{padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
body.recipe-page{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
/* list page: note stays hidden (JS); keep padding for dockless layout */
body.on-list #st-note, html.list-page #st-note{display:none!important}

#st-note .sn-sheet{
  width:min(300px, calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  max-height:min(62vh, 440px);
  overflow:hidden;
  display:flex;flex-direction:column;
  box-sizing:border-box;
  margin:0;
  right:0;
}
#st-note .sn-sheet-h{flex:none}
#st-note .sn-form{
  display:flex;flex-direction:row;align-items:center;gap:8px;
  flex:none;margin-bottom:8px;
}
#st-note .sn-form input{
  flex:1 1 auto;min-width:0;width:auto;
  min-height:40px;border:1px solid #E0CDB6;border-radius:12px;padding:0 12px;
  font:500 14px var(--sans);background:#fff;color:#3F2A1A;
}
#st-note .sn-form .sn-add{
  flex:0 0 auto;white-space:nowrap;
  min-height:40px;min-width:56px;padding:0 12px;border-radius:12px;
  writing-mode:horizontal-tb;
}
#st-note .sn-list-wrap{
  flex:1 1 auto;min-height:0;overflow:auto;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - 18px),transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - 18px),transparent 100%);
  padding-bottom:6px;
}
#st-note .sn-act,#st-note .sn-clr,#st-note .sn-empty{flex:none}
#st-note .sn-act{margin-top:8px}

/* ingredient rows: name | qty | button — no overlap */
.ing li{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px 10px;
  padding-right:0!important;
}
.ing li.ing-miss{padding-right:0!important;position:static}
.ing li > :first-child, .ing li .ing-name, .ing li span:first-child{
  min-width:0;overflow-wrap:anywhere;
}
.ing .q{
  justify-self:end;white-space:nowrap;position:static!important;
}
.ing .ing-note-one{
  position:static!important;transform:none!important;
  right:auto!important;top:auto!important;
  justify-self:end;
  border:1px solid #E0CDB6;background:#FFF8ED;color:#7A5232;
  border-radius:999px;padding:4px 10px;font:600 12px/1.2 var(--sans);
  min-height:32px;min-width:52px;cursor:pointer;white-space:nowrap;flex:none
}
.ing .ing-tag{display:inline-block;margin-left:6px}
.ing li.ing-have{grid-template-columns:minmax(0,1fr) auto}


/* t475 final: note pill safe corner + sheet + ing rows (authoritative) */

/* sticky note — bottom-right, low enough not to cover fridge controls */
#st-note{
  position:fixed!important;
  right:max(10px, env(safe-area-inset-right))!important;
  bottom:calc(16px + env(safe-area-inset-bottom))!important;
  z-index:55!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:8px!important;
  max-width:min(320px, calc(100vw - 20px))!important;
  pointer-events:none!important;
}
#st-note > *{pointer-events:auto!important}
body.on-list #st-note,
html.list-page #st-note,
body.cooking #st-note,
#cookv:not([hidden]) ~ #st-note{display:none!important}

/* page clearance under fixed pill */
body{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
body.recipe-page{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
body.on-list, html.list-page body{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}

/* fridge: bottom pad + right gutter so pill never covers cards/drinks/more */
.fz{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}

.fz-drinks{margin-bottom:6px!important;padding-right:0!important;box-sizing:border-box!important}
.fz-dg{padding-right:4px!important}
.fz-g{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
@media(max-width:359px){
  .fz-g{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  
  
  #st-note{right:8px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important}
}
@media(min-width:900px){
  .fz-g{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  
  
}

/* pill chrome */
#st-note .sn-pill{
  display:inline-flex!important;align-items:center;gap:8px;
  min-height:44px;padding:8px 14px;border-radius:999px;
  border:1px solid #E0CDB6;background:#FFF8ED;
  box-shadow:0 6px 20px rgba(80,40,10,.14);
  font:600 14px var(--sans);color:#6B4423;cursor:pointer;
}
@media(max-width:400px){
  #st-note .sn-pill{min-height:40px;padding:6px 12px;font-size:13px}
}
#st-note .sn-pill.sn-mini{min-width:44px;min-height:44px;padding:0 10px;justify-content:center;gap:4px}
#st-note .sn-pill.sn-mini b{display:none}
#st-note:has(.sn-sheet:not([hidden])) .sn-pill{display:none!important}

/* sheet: fit viewport, one-line add, scroll+fade */
#st-note .sn-sheet{
  width:min(300px, calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(62vh, 440px)!important;
  overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  box-sizing:border-box!important;
  background:#FFF9EF;border:1px solid #E5D2B8;border-radius:18px;padding:12px;
  box-shadow:0 16px 40px rgba(60,30,10,.22);
}
#st-note .sn-sheet[hidden]{display:none!important}
#st-note .sn-sheet-h{flex:none}
#st-note .sn-form{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  gap:8px!important;flex:none;margin-bottom:8px;
}
#st-note .sn-form input{
  flex:1 1 auto!important;min-width:0!important;
  min-height:40px;border:1px solid #E0CDB6;border-radius:12px;padding:0 12px;
  font:500 14px var(--sans);background:#fff;color:#3F2A1A;
}
#st-note .sn-form .sn-add{
  flex:0 0 auto!important;white-space:nowrap!important;
  min-height:40px;min-width:56px;padding:0 12px;border-radius:12px;
  writing-mode:horizontal-tb!important;
}
#st-note .sn-list-wrap{
  flex:1 1 auto;min-height:0;overflow:auto;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - 18px),transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 calc(100% - 18px),transparent 100%);
  padding-bottom:6px;
}
#st-note .sn-act,#st-note .sn-clr,#st-note .sn-empty{flex:none}

/* no expiry chips this batch */
.lp-s,.lp-sb,#lpmap,.fz-closest-note{display:none!important}

/* ingredient rows: name | qty | button */
.ing li{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:8px 10px!important;
  padding-right:0!important;
  position:relative!important;
}
.ing li.ing-miss{padding-right:0!important;position:static!important}
.ing li .ing-name, .ing li > :first-child{min-width:0;overflow-wrap:anywhere}
.ing .q{justify-self:end;white-space:nowrap;position:static!important;right:auto!important;top:auto!important}
.ing .ing-note-one{
  position:static!important;transform:none!important;right:auto!important;top:auto!important;
  justify-self:end;
  border:1px solid #E0CDB6;background:#FFF8ED;color:#7A5232;
  border-radius:999px;padding:4px 10px;font:600 12px/1.2 var(--sans);
  min-height:32px;min-width:52px;cursor:pointer;white-space:nowrap;flex:none;z-index:1;
}
.ing li.ing-have{grid-template-columns:minmax(0,1fr) auto!important}

/* t475e: recipe ing list clears bottom-right note pill */
body.recipe-page ul.ing,
html.recipe ul.ing,
ul.ing{
  padding-right:0!important;
  padding-bottom:calc(88px + env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
}
@media(max-width:360px){
  body.recipe-page ul.ing,
  html.recipe ul.ing,
  ul.ing{padding-right:0!important;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
}
@media(min-width:900px){
  body.recipe-page ul.ing,
  html.recipe ul.ing,
  ul.ing{padding-right:0!important}
}
/* first-visit labeled pill is wider — keep recipe rows clear */



/* t475f: list batch flow — Back only, no × chrome on list */
body.on-list #gl-close,
html.list-page #gl-close{display:none!important}

/* t476: full-width ing + list receipt stack + no horizontal page overflow */
html,body,#app{overflow-x:clip!important;max-width:100vw!important}
header.top,header.top nav,.top{max-width:100%!important;box-sizing:border-box}
.ing li{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.st-actions.st-receipt{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.st-actions.st-receipt > button{
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
  margin:0!important;
}
.st-actions.st-receipt [data-uncheck]{
  order:2;
}


/* t476b: drinks row fits grid width; no peeking 4th card; header safe */
.fz,.fz-drinks,.fz-dg{max-width:100%!important;box-sizing:border-box!important}
.fz{overflow:hidden!important}
.fz-dg{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
}
.fz-dg .fz-dc,
.fz-dc{
  min-width:0!important;width:auto!important;max-width:100%!important;
  flex:unset!important;
}
.fz-dc a{display:block;min-width:0}
.fz-dc img,.fz-dc .fz-p, .fz-dc picture{width:100%!important;max-width:100%!important;height:auto}
.fz-more{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
/* ingredient list uses full .ingc content box (pad already 20px card inset) */
.ingc{padding-left:16px!important;padding-right:16px!important}
.ingc ul.ing,.ingc .ing{width:100%!important;max-width:100%!important}
header.top{
  display:flex!important;align-items:center!important;gap:8px!important;
  padding-left:12px!important;padding-right:12px!important;
  box-sizing:border-box!important;width:100%!important;max-width:100vw!important;
  overflow:hidden!important;
}
header.top nav{flex:1 1 auto;min-width:0;overflow:hidden}
header.top .st-acc, header.top #st-acc, header.top [data-acc],
header.top a.account, header.top .account{
  flex:0 0 auto; margin-right:0!important;
}


/* t477 beauty: magazine fridge + serif titles + receipt list */

/* --- dish titles: serif everywhere cards/search --- */
.fz-c .fz-a b,
.fz-dc b,
.card-t b,
.grid .card b,
.fr2-t b,
.ft-res .fr2-t b,
.fs-dl .fr2-t b{
  font-family:Fraunces,"Iowan Old Style",Palatino,"Noto Serif SC","Songti SC",Georgia,serif!important;
  font-weight:600!important;
  letter-spacing:-.01em;
  color:#2B231E;
}

/* --- fridge chips: warm paper --- */
.fz-chip{
  background:#F3E7D4!important;
  color:#5A4030!important;
  border:1px solid #E5D2B8!important;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset;
}
.lp-s,.lp-sb,#lpmap,.fz-closest-note{display:none!important}

/* --- magazine grid: hero + companions --- */
.fz-g,
.fz .fz-g{
  list-style:none!important;
  margin:8px 0 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px 12px!important;
  align-items:start!important;
  max-width:100%!important;
}
.fz-c{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.fz-c .fz-a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  text-align:center!important;
}
.fz-c .fz-a b{
  font-size:13.5px!important;
  line-height:1.3!important;
  -webkit-line-clamp:2!important;
  text-align:center!important;
  padding:0 2px;
}
/* round plate photos — paper rim + soft shadow */
.fz-c .fz-p,
.fz-p{
  display:block!important;
  width:100%!important;
  max-width:118px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#F0E4D2!important;
  box-shadow:0 0 0 3px #FFF8EF,0 0 0 4px #E5D2B8,0 8px 18px rgba(60,35,15,.14)!important;
  margin:0 auto!important;
  position:relative!important;
}
.fz-c .fz-p img,
.fz-p img,
.fz-p > *{
  border-radius:50%!important;
  object-fit:cover!important;
}
.fz-c .fz-add,.fz-g .fz-add,.fz-c .need-b,.fz-c .miss,.fz-c .miss-ico,.fz-c small{display:none!important}

/* hero: larger plate, spans 2×2 */
.fz-c.fz-hero{
  grid-column:span 2!important;
  grid-row:span 2!important;
  align-self:stretch!important;
}
.fz-c.fz-hero .fz-p{
  max-width:100%!important;
  width:min(100%,220px)!important;
  box-shadow:0 0 0 4px #FFF8EF,0 0 0 5px #E0CDB6,0 12px 28px rgba(60,35,15,.16)!important;
}
.fz-c.fz-hero .fz-a b{
  font-size:17px!important;
  line-height:1.25!important;
  margin-top:2px;
}

@media(max-width:359px){
  .fz-g,.fz .fz-g{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 10px!important}
  .fz-c.fz-hero{grid-column:span 2!important;grid-row:span 1!important}
  .fz-c.fz-hero .fz-p{width:min(72%,200px)!important}
  .fz-c .fz-p{max-width:96px!important}
}
@media(min-width:900px){
  .fz-g,.fz .fz-g{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:18px 14px!important}
  .fz-c.fz-hero{grid-column:span 2!important;grid-row:span 2!important}
  .fz-c .fz-p{max-width:110px!important}
  .fz-c.fz-hero .fz-p{width:min(100%,240px)!important}
}

/* --- 饮品: breathing room + horizontal scroll + edge fade --- */
.fz-drinks{
  margin-top:36px!important;
  padding-top:22px!important;
  border-top:1px dashed #E5D6C4!important;
  max-width:100%!important;
}
.fz-dr-h{
  display:block;
  font:600 15px/1.2 Fraunces,"Noto Serif SC",Georgia,serif!important;
  color:#8A5A32!important;
  letter-spacing:.02em;
  text-transform:none!important;
  margin:0 0 12px!important;
}
.fz-dg-fade{
  position:relative;
  max-width:100%;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 28px),transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 calc(100% - 28px),transparent 100%);
}
.fz-dg{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  padding:4px 28px 8px 2px!important;
  margin:0!important;
  list-style:none!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  max-width:100%!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  grid-template-columns:none!important;
}
.fz-dg::-webkit-scrollbar{display:none}
.fz-dg .fz-dc,
.fz-dg-fade .fz-dc,
.fz-dc{
  flex:0 0 auto!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:76px!important;
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  display:block!important;
  scroll-snap-align:start;
  box-sizing:border-box!important;
}
/* kill t476b equal-grid drinks — row scrolls inside fade */
.fz-dg-fade{
  overflow:hidden!important;
  width:100%!important;
  max-width:100%!important;
}
.fz-dg-fade .fz-dg,
.fz-drinks .fz-dg{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  grid-template-columns:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.fz-dc a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:6px!important;
  text-decoration:none!important;
  color:#2B231E!important;
  text-align:center!important;
}
.fz-dc .fz-dp,
.fz-dc .fz-p{
  width:64px!important;
  height:64px!important;
  max-width:64px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  display:block!important;
  box-shadow:0 0 0 2px #FFF8EF,0 0 0 3px #E8D7C2,0 4px 10px rgba(60,35,15,.12)!important;
  background:#F0E4D2;
}
.fz-dc .fz-dp img,
.fz-dc img{
  width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;
}
.fz-dc b{
  font-size:11.5px!important;
  line-height:1.25!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  font-family:Fraunces,"Noto Serif SC",Georgia,serif!important;
  font-weight:600!important;
}

.fz-more{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 0!important;
  margin-right:0!important;
}

/* keep fridge from horizontal overflow while allowing drink scroll inside fade */
.fz{overflow:hidden!important;max-width:100%!important}
.fz-drinks,.fz-dg-fade{overflow:hidden!important}

/* --- list as paper receipt --- */
.st-actions.st-receipt{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  padding:14px 0 4px!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.st-actions.st-receipt > .primary{
  width:100%!important;
  max-width:100%!important;
  min-height:48px!important;
  border-radius:14px!important;
  background:#C84316!important;
  color:#fff!important;
  font:600 16px var(--sans)!important;
  box-shadow:0 6px 16px rgba(200,67,22,.22)!important;
}
.st-actions.st-receipt .st-uncheck-link,
button.st-uncheck-link[data-uncheck]{
  display:inline-flex!important;
  align-self:center!important;
  width:auto!important;
  max-width:none!important;
  min-height:36px!important;
  padding:4px 8px!important;
  margin:0 auto!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#8A6A4E!important;
  font:500 13px/1.3 var(--sans)!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
  cursor:pointer;
}
.st-receipt-note{text-align:center;color:#8A6A4E}
body.on-list #gl-close, html.list-page #gl-close{display:none!important}
.list-wrap,.st-shopping{
  background:linear-gradient(180deg,#FFFBF4 0%,#FAF4EA 100%);
}
.st-shopping .st-shop-card,
ul.check li{
  background:rgba(255,252,246,.92)!important;
  border-color:#EADBC8!important;
}

/* t477b: drink plates stay round & sized even vs t476b width:100% */
.fz-dg .fz-dc .fz-dp,
.fz-dg .fz-dc .fz-p,
.fz-dg .fz-dc span.fz-dp{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  max-width:64px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  display:block!important;
  margin:0 auto!important;
}
.fz-dg .fz-dc .fz-dp img,
.fz-dg .fz-dc .fz-p img,
.fz-dg .fz-dc img{
  width:64px!important;
  height:64px!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:50%!important;
}

/* t477c: quiet cards + companion titles no ellipsis */

/* Site-wide recipe cards: photo + serif name + quiet cuisine·time */
.card.card-quiet .plus,
.card .plus,
.grid .card .plus,
.st-home-results .card .plus,
.st-favorites-page .card .plus{display:none!important}

.card.card-quiet .card-f,
.card.card-quiet .st-heart,
.card.card-quiet .nope-b{display:none!important}

.card.card-quiet .cover .ct,
.card .cover .ct{display:none!important}

.card.card-quiet .card-t{
  padding:10px 2px 4px!important;
}
.card.card-quiet .card-t b{
  font:600 16.5px/1.28 Fraunces,"Iowan Old Style",Palatino,"Noto Serif SC","Songti SC",Georgia,serif!important;
  letter-spacing:-.01em;
  color:#2B231E!important;
  padding-right:0!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  /* clip without ellipsis glyph */
  overflow-wrap:anywhere;
  word-break:break-word;
}
.card.card-quiet .card-meta-quiet,
.card.card-quiet .card-t small.card-meta-quiet{
  display:block!important;
  margin-top:4px!important;
  font:500 12px/1.35 var(--sans),Inter,system-ui,sans-serif!important;
  color:#8A7A6C!important;
  letter-spacing:.01em;
  -webkit-line-clamp:1!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap;
}

/* search rows: no + add */
.fr2 .fr-add,
.fs-dl .fr-add{display:none!important}
.fsheet .fr2{padding-right:4px!important}

/* Companion fridge titles: 2 full lines, no ellipsis — shrink type to fit */
.fz-c:not(.fz-hero) .fz-a b{
  font-size:11.5px!important;
  line-height:1.28!important;
  font-family:Fraunces,"Iowan Old Style",Palatino,"Noto Serif SC","Songti SC",Georgia,serif!important;
  font-weight:600!important;
  display:block!important;
  max-height:calc(1.28em * 2)!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  hyphens:auto;
  padding:0 1px;
}
.fz-c.fz-hero .fz-a b{
  font-size:16px!important;
  line-height:1.25!important;
  max-height:calc(1.25em * 2)!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  display:block!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:359px){
  .fz-c:not(.fz-hero) .fz-a b{font-size:12px!important}
}
@media(min-width:900px){
  .fz-c:not(.fz-hero) .fz-a b{font-size:12.5px!important}
}

/* t477g: EN/ES/KO companion titles — 3 lines, >=12px, aligned row heights; no mid-name hard clip */
html:not(.zh) .fz-c:not(.fz-hero) .fz-a{
  justify-content:flex-start!important;
}
html:not(.zh) .fz-c:not(.fz-hero) .fz-a b{
  font-size:12px!important;
  letter-spacing:-.015em!important;
  line-height:1.28!important;
  min-height:calc(1.28em * 3)!important;
  max-height:calc(1.28em * 3)!important;
  height:calc(1.28em * 3)!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto;
}
html:not(.zh) .fz-c.fz-hero .fz-a b{
  font-size:15px!important;
  max-height:calc(1.25em * 3)!important;
  min-height:0!important;
  height:auto!important;
}
@media(max-width:359px){
  html:not(.zh) .fz-c:not(.fz-hero) .fz-a b{font-size:12px!important}
}

/* t477d: fridge sheet title only; no overlap with × */
.fsheet .fs-ht small,
.fsheet .ft-ans,
#fsheet .fs-ht small,
#fsheet .ft-ans{display:none!important}
.fsheet .fs-h,
#fsheet .fs-h{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.fsheet .fs-ht,
#fsheet .fs-ht{
  flex:1 1 auto!important;
  min-width:0!important;
  padding-right:8px!important;
  overflow:hidden!important;
}
.fsheet .fs-ht b,
#fsheet .fs-ht b{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  padding-right:4px!important;
  max-width:100%!important;
}
.fsheet .fs-xb,
#fsheet .fs-xb,
.fsheet .fs-back,
#fsheet .fs-back,
.fsheet .fs-led,
#fsheet .fs-led{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:2!important;
}

/* t494: left sticky note — semi at rest, full on hover/focus/idle; no edge-peek */
#st-note{
  position:fixed!important;
  left:max(4px, env(safe-area-inset-left))!important;
  right:auto!important;
  bottom:calc(16px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  min-width:0!important;
  z-index:58!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:8px!important;
  max-width:min(320px, calc(100vw - 20px))!important;
  pointer-events:none!important;
  transform:none!important;
  transition:none!important;
  opacity:.55!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
}
#st-note > *{pointer-events:auto!important}
/* interactive / awake always win over scroll-dim */
#st-note:hover,
#st-note:focus-within,
#st-note:active,
#st-note.sn-open,
#st-note.open,
#st-note.sn-awake{opacity:1!important}
body.on-list #st-note,
html.list-page #st-note,
body.cooking #st-note,
#cookv:not([hidden]) ~ #st-note{display:none!important}

#st-note .sn-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  position:relative!important;
  transform:rotate(-4deg)!important;
  transition:transform .18s ease!important;
  color:#6B4423!important;
  font:600 12px/1 var(--sans)!important;
}
#st-note .sn-pill:hover,
#st-note .sn-pill:focus-visible{
  transform:rotate(-4deg) scale(1.06)!important;
}
#st-note .sn-pill.sn-labeled,
#st-note .sn-pill.sn-mini{
  width:36px!important;min-width:36px!important;padding:0!important;gap:0!important;height:36px!important;
}
#st-note .sn-pill.sn-mini b,
#st-note .sn-pill b{display:none!important}
#st-note .sn-ico,
#st-note .sn-paper{
  display:grid!important;place-items:center!important;
  width:28px!important;height:28px!important;line-height:0!important;font-size:0!important;
  filter:drop-shadow(0 2px 4px rgba(120,70,20,.28)) drop-shadow(0 0 0.6px #D7C0A2)!important;
}
#st-note .sn-svg{display:block;width:28px;height:28px;filter:none!important}
#st-note .sn-dot,
#st-note .sn-pill i{
  position:absolute!important;top:-3px!important;right:-4px!important;
  font-style:normal!important;
  min-width:14px!important;height:14px!important;
  border-radius:999px!important;
  background:#C84316!important;color:#fff!important;
  font:700 9px/14px var(--sans)!important;
  text-align:center!important;padding:0 3px!important;margin:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-shadow:0 1px 2px rgba(80,30,0,.28)!important;
}
#st-note.empty .sn-dot,
#st-note.empty .sn-pill i{display:none!important}
#st-note:has(.sn-sheet:not([hidden])) .sn-pill{display:none!important}

/* v1 — warm folded sticky (chosen default) */
#st-note[data-variant="v1"] .sn-paper{
  filter:drop-shadow(0 2px 4px rgba(140,80,20,.28)) drop-shadow(0 0 0.5px #D7C0A2)!important;
}
#st-note[data-variant="v1"] .sn-pill{transform:rotate(-4deg)!important}
#st-note[data-variant="v1"] .sn-pill:hover,
#st-note[data-variant="v1"] .sn-pill:focus-visible{transform:rotate(-4deg) scale(1.06)!important}

/* v2 — soft pad + pin */
#st-note[data-variant="v2"] .sn-pill{transform:rotate(-1.5deg)!important}
#st-note[data-variant="v2"] .sn-paper{
  filter:drop-shadow(0 3px 5px rgba(100,60,20,.2))!important;
}
#st-note[data-variant="v2"] .sn-svg .sn-fold{opacity:.5}
#st-note[data-variant="v2"] .sn-pill::before{
  content:""!important;position:absolute!important;top:3px!important;left:50%!important;
  width:6px!important;height:6px!important;margin-left:-3px!important;border-radius:50%!important;
  background:radial-gradient(circle at 35% 35%,#fff,#E8B4A0 55%,#C45C26)!important;
  box-shadow:0 1px 1px rgba(80,30,0,.25)!important;z-index:2!important;pointer-events:none!important;
}
#st-note[data-variant="v2"] .sn-pill:hover,
#st-note[data-variant="v2"] .sn-pill:focus-visible{transform:rotate(-1.5deg) scale(1.06)!important}

/* v3 — washi tape strip */
#st-note[data-variant="v3"] .sn-pill{transform:rotate(3deg)!important}
#st-note[data-variant="v3"] .sn-paper{
  filter:drop-shadow(0 2px 3px rgba(90,50,20,.22))!important;
}
#st-note[data-variant="v3"] .sn-svg .sn-fold{display:none!important}
#st-note[data-variant="v3"] .sn-pill::after{
  content:""!important;position:absolute!important;top:2px!important;left:5px!important;right:5px!important;
  height:7px!important;border-radius:1px!important;opacity:.92!important;z-index:2!important;pointer-events:none!important;
  background:repeating-linear-gradient(-18deg,#E8C9A8 0 3px,#F3DFC4 3px 6px)!important;
  box-shadow:0 1px 0 rgba(120,70,20,.18)!important;
}
#st-note[data-variant="v3"] .sn-pill:hover,
#st-note[data-variant="v3"] .sn-pill:focus-visible{transform:rotate(3deg) scale(1.06)!important}

@media(max-width:360px){
  #st-note{left:max(2px, env(safe-area-inset-left))!important;right:auto!important}
}

/* t477f: sheet Back/Close — outline only for keyboard focus */
.fsheet .fs-back:focus,
.fsheet .fs-xb:focus,
#fsheet .fs-back:focus,
#fsheet .fs-xb:focus{outline:none!important;box-shadow:none!important}
.fsheet .fs-back:focus-visible,
.fsheet .fs-xb:focus-visible,
#fsheet .fs-back:focus-visible,
#fsheet .fs-xb:focus-visible{outline:3px solid var(--color-focus,#C84316)!important;outline-offset:2px!important}
/* Faster tile reveal so grid is not empty mid-open */
.fsheet.opening .ft-t,.fsheet.opening .ft-tab{animation-duration:.28s!important;animation-delay:calc(var(--d,0ms) + 40ms)!important}

/* t477h: note chrome — only the paper pill; no focus/debug frame on tap */
#st-note,
#st-note:focus,
#st-note:focus-visible{
  outline:none!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  min-width:0!important;
  min-height:0!important;
}
#st-note .sn-pill:focus,
#st-note .sn-pill:active,
#st-note .sn-pill:focus:not(:focus-visible){
  outline:none!important;
  box-shadow:none!important;
}
#st-note .sn-pill:focus-visible{
  outline:3px solid var(--color-focus,#C84316)!important;
  outline-offset:2px!important;
}
#st-note .sn-svg{filter:none!important} /* drop-shadow was expanding paint bounds */
#st-note .sn-sheet[hidden],
#st-note .sn-sheet[hidden=true]{display:none!important;border:0!important;outline:none!important}

/* ========== batch3: hairline dividers, list inset, fz-more pill, week align, method tools ========== */
:root{
  --st-hairline: linear-gradient(90deg, transparent, rgba(107,68,35,.35) 50%, transparent);
}

/* Fridge 饮品 divider — 1px faded hairline (works at mobile + desktop) */
.fz-drinks{
  border-top: 0 !important;
  position: relative !important;
}
.fz-drinks::before{
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0; right: 0; top: 0;
  height: 1px !important;
  background: var(--st-hairline) !important;
  pointer-events: none !important;
}

/* Collections / 餐桌志 section dividers */
.j-section{
  border-top-color: transparent !important;
  border-top-width: 0 !important;
  position: relative;
}
.j-section::before{
  content: "";
  display: block;
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: var(--st-hairline);
  pointer-events: none;
}
.mg-h{
  border-top: 0 !important;
  position: relative;
}
.mg-h::before{
  content: "";
  display: block;
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: var(--st-hairline);
  pointer-events: none;
}
.wkm-a, .wkm .wl{
  border-top: 0 !important;
  position: relative;
}
.wkm-a::before, .wkm .wl::before{
  content: "";
  display: block;
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: var(--st-hairline);
  pointer-events: none;
}

/* List page: title + subline match card content inset */
.list-wrap > h1.pg,
.list-wrap > p.muted{
  padding-left: 14px;
  padding-right: 14px;
  box-sizing: border-box;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media(min-width:481px){
  .list-wrap > h1.pg,
  .list-wrap > p.muted{
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* 再看 N 道 — centered auto-width pill */
.fz-more,
button.fz-more,
#fom.fz-more{
  display: block !important;
  width: auto !important;
  max-width: calc(100% - 8px) !important;
  min-width: 200px !important;
  margin: 16px auto 0 !important;
  padding: 10px 22px !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Week kit banner: same column/width as fridge card when placed after .fz */
.hero-l .wk-card,
.hero .wk-card#wkcard,
#wkcard.wk-card{
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 14px 0 0;
}
@media(min-width:1024px){
  /* hero-l is display:contents — pin wkcard to the fridge track (column 1 in st-decide-today) */
  .st-decide-today > #wkcard,
  .hero.st-decide-today #wkcard,
  .hero > #wkcard{
    grid-column: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin: 14px 0 0 !important;
    justify-self: stretch;
  }
  /* fallback if still outside hero */
  #app > #wkcard,
  main > #wkcard{
    width: calc((100% - 24px) * 7 / 12);
    max-width: 720px;
    margin-left: 0;
    margin-right: auto;
  }
}

/* Method heading + tools row — label shares 做法 left edge */
.st-method-head{
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  margin: 0 0 10px;
}
.st-method-head > h2{
  margin: 0 !important;
  flex: none;
  min-width: 0;
  padding: 0;
}
.st-tools-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  flex: none;
  width: 100%;
  min-width: 0;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
.st-tools-k{
  font: 600 12px/1.2 var(--sans, Inter, system-ui);
  color: #8A5A32;
  letter-spacing: .02em;
  white-space: nowrap;
  flex: none;
  margin: 0;
  padding: 0;
}
.st-tools-icons{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  min-width: 0;
}
.st-tool{
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #9b5a3e;
  cursor: default;
  flex: none;
  position: relative;
}
/* invisible 44px hit area */
.st-tool::after{
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 44px; height: 44px;
  transform: translate(-50%,-50%);
  border-radius: 12px;
}
.st-tool:hover,
.st-tool:focus-visible{
  background: rgba(155,90,62,.08);
  outline: none;
}
.st-tool:focus-visible{
  outline: 2px solid #C84316;
  outline-offset: 1px;
}
.st-tool .st-tool-ico,
.st-tool .st-line{
  width: 28px;
  height: 28px;
  display: block;
}
.st-tool-more{
  font: 700 11px/1 var(--sans, Inter, system-ui);
  color: #8A5A32;
  cursor: pointer;
  background: #F7E7D0;
  border-radius: 999px !important;
  width: auto !important;
  min-width: 32px;
  height: 32px !important;
  padding: 0 8px !important;
  z-index: 1;
}
@media(max-width:360px){
  .st-tools-row{ flex-wrap: wrap; }
  .st-tools-icons{ flex-wrap: wrap; width: 100%; }
}


/* Hide leftover cookware card if JS late */
.r-extra > section.box:has(h2 .zh):has(h2 .en) /* can't select by text */ { }

/* t494b: keep content clear of left note gutter (~4+36px) */
@media(max-width:700px){
  body.recipe-page .r-body,
  html.recipe .r-body{
    padding-left: 16px;
  }
  body.recipe-page ol.steps,
  html.recipe ol.steps,
  body.recipe-page .steps,
  html.recipe .steps{
    padding-left: 10px;
  }
  body.recipe-page .ingc,
  body.recipe-page .prep-list,
  html.recipe .ingc,
  html.recipe .prep-list{
    padding-left: 10px;
  }
  /* home / journal: nudge main cards off the gutter */
  #app > .card,
  #app .wkcard,
  #app .rl-rail,
  .collections main .card,
  .j-section{
    /* note sits in outer gutter; cards keep their own pad */
  }
}

/* t494c: true left gutter for note — content starts past ~40px note zone */
@media(max-width:700px){
  body:not(.recipe-page):not(.cooking) #app,
  body:not(.recipe-page):not(.cooking) main{
    padding-left: 44px !important;
  }
  /* collections / journal */
  body:not(.recipe-page) .collections,
  html:not(.recipe) .j-wrap,
  html:not(.recipe) .collections main{
    padding-left: 44px;
  }
}
@media(min-width:701px){
  /* desktop: keep note in gutter; content starts past ~44px */
  #st-note{ left: 4px !important; }
  main, #app{
    padding-left: 52px !important;
  }
}

/* st-v304: add-all confirmation + undo toast */
#st-note .sn-go.sn-added,
#st-note .sn-go.sn-added:disabled{
  opacity:1;
  box-shadow:0 6px 16px rgba(200,67,22,.22);
  background:var(--color-primary, #C84316);
  color:#fff;
  cursor:default;
}
#st-note .sn-go.sn-all-on:disabled,
#st-note .primary.sn-go.sn-all-on:disabled{
  opacity:1;
  background:#F3E7D6;
  color:#8A6A4E;
  box-shadow:none;
  border:1px solid #E0CDB6;
  cursor:default;
}
.sn-toast{
  position:fixed;
  left:50%;
  bottom:calc(88px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(8px);
  z-index:80;
  display:flex;
  align-items:center;
  gap:10px;
  max-width:min(340px, calc(100vw - 24px));
  padding:8px 8px 8px 14px;
  border-radius:999px;
  background:#FFF9EF;
  color:#3F2A1A;
  border:1px solid #E5D2B8;
  box-shadow:0 10px 28px rgba(60,30,10,.18);
  font:500 13px/1.3 var(--sans);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.sn-toast.on{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.sn-toast[hidden]{display:none!important}
.sn-toast-msg{flex:1 1 auto;min-width:0;font:500 13px/1.3 var(--sans);color:#5A4636}
.sn-toast-undo{
  flex:none;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  border:0;
  background:var(--color-primary, #C84316);
  color:#fff;
  font:700 13px/1 var(--sans);
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(200,67,22,.28);
}
.sn-toast-undo:active{transform:translateY(1px)}
@media(max-width:400px){
  .sn-toast{max-width:calc(100vw - 16px);padding:7px 7px 7px 12px;font-size:12px}
  .sn-toast-undo{min-height:30px;padding:0 10px;font-size:12px}
}

/* st-v305: in-place calm strike + floating translucent note overlay */

/* Page stays full width — no reserved left gutter for the note. */
@media(max-width:700px){
  body:not(.recipe-page):not(.cooking) #app,
  body:not(.recipe-page):not(.cooking) main,
  body:not(.recipe-page) .collections,
  html:not(.recipe) .j-wrap,
  html:not(.recipe) .collections main{
    padding-left: max(16px, env(safe-area-inset-left)) !important;
  }
}
@media(min-width:701px){
  main, #app{
    padding-left: max(16px, env(safe-area-inset-left)) !important;
  }
}

/* Floating overlay panel — warm cream glass, page shows through, no dark scrim. */
#st-note .sn-sheet{
  background: rgba(255,250,242,0.82) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  backdrop-filter: blur(12px) saturate(1.2);
}
#st-note .sn-list li{
  background: rgba(255,253,249,0.92);
  min-height: 44px;
  box-sizing: border-box;
}
#st-note .sn-name,
#st-note .sn-sheet-h b,
#st-note .sn-form input,
#st-note .sn-go,
#st-note .sn-go-list,
#st-note .sn-clr,
#st-note .sn-to-list{
  /* keep type and controls fully opaque for AA contrast */
}

/* Open sheet sits at rest — do not inherit the closed-pill collision lift or its 0.22s drop. */
#st-note.sn-open,
#st-note.open{
  --sn-lift: 0px !important;
  transform: none !important;
  transition: opacity .2s ease !important;
}

/* Strike: color/opacity only, in place, no transform / bounce / reflow. */
#st-note .sn-list,
#st-note .sn-list li,
#st-note .sn-strike,
#st-note .sn-name,
#st-note .sn-to-list{
  transform: none !important;
}
#st-note .sn-list li,
#st-note .sn-list li *{
  animation: none !important;
}
#st-note .sn-list li .sn-name{
  transition: color 140ms ease, opacity 140ms ease;
}
#st-note .sn-list li.done .sn-name{
  text-decoration: line-through;
  color: #9A7A5C;
  opacity: .8;
  transition: color 140ms ease, opacity 140ms ease;
}
#st-note .sn-strike{
  transition: background-color 140ms ease, color 140ms ease;
}
#st-note .sn-list li.done .sn-strike{
  background: #E8D9C6;
  color: #8A6A4E;
}
#st-note .sn-list button:active,
#st-note .sn-strike:active,
#st-note .sn-to-list:active,
#st-note .sn-list li:active{
  transform: none !important;
  opacity: 1 !important;
}
#st-note .sn-to-list{
  min-width: 6.5em;
  flex: none;
}
#st-note .sn-to-list.sn-idle,
#st-note .sn-clr.is-idle{
  visibility: hidden;
  pointer-events: none;
}
#st-note .sn-clr{
  /* always reserved so revealing it cannot shift the list */
  visibility: visible;
}

/* Scroll lock: hide overflow without the scrollbar gap shifting the page. */
html.sn-scroll-lock,
body.sn-scroll-lock{
  overflow: hidden !important;
  padding-right: var(--sn-sb, 0px) !important;
  overscroll-behavior: none;
}

@media (prefers-reduced-motion: reduce){
  #st-note,
  #st-note.sn-open,
  #st-note.open,
  #st-note .sn-list li .sn-name,
  #st-note .sn-list li.done .sn-name,
  #st-note .sn-strike{
    transition: none !important;
  }
}


/* 5-lang st-i18n: scoped so global html.zh .en rules don't clobber BL() elsewhere,
   and es/ko/zht hide sibling spans without a global .en wipe. */
.st-i18n > .zht,
.st-i18n > .es,
.st-i18n > .ko{display:none}
html.zh .st-i18n > .en,
html.zh .st-i18n > .zht,
html.zh .st-i18n > .es,
html.zh .st-i18n > .ko{display:none}
html.zh .st-i18n > .zh{display:inline}
html.zht .st-i18n > .zh,
html.zht .st-i18n > .en,
html.zht .st-i18n > .es,
html.zht .st-i18n > .ko{display:none}
html.zht .st-i18n > .zht{display:inline}
html[lang="es"] .st-i18n > .en,
html[lang="es"] .st-i18n > .zh,
html[lang="es"] .st-i18n > .zht,
html[lang="es"] .st-i18n > .ko{display:none}
html[lang="es"] .st-i18n > .es{display:inline}
html[lang="ko"] .st-i18n > .en,
html[lang="ko"] .st-i18n > .zh,
html[lang="ko"] .st-i18n > .zht,
html[lang="ko"] .st-i18n > .es{display:none}
html[lang="ko"] .st-i18n > .ko{display:inline}


/* Shopping list: calm strike, per-row remove, reserved clear actions, light empty. */
.st-shopping .check li{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
}
.st-shopping .check li label span{
  transition: color 140ms ease, opacity 140ms ease;
}
.st-shopping .check li.done label span{
  text-decoration:line-through;
  text-decoration-color:rgba(59,50,44,.35);
  color:#9A7A5C;
  opacity:.8;
  transition: color 140ms ease, opacity 140ms ease;
}
.st-shopping .check li,
.st-shopping .check li *{
  animation:none !important;
}
.st-shopping .st-list-x{
  flex:none;
  margin-left:auto;
  width:28px;
  height:28px;
  min-width:28px;
  min-height:28px !important;
  padding:0 !important;
  border:0;
  background:transparent;
  color:#B89A82;
  font:500 18px/1 var(--sans, system-ui);
  border-radius:50%;
  cursor:pointer;
  opacity:.7;
}
.st-shopping .st-list-x:hover,
.st-shopping .st-list-x:focus-visible{
  opacity:1;
  color:#7A5232;
  background:rgba(155,90,62,.08);
  outline:none;
}
.st-list-clears{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  margin:18px 0 8px;
  flex-wrap:wrap;
}
.st-list-clears [data-clear-bought],
.st-list-clears [data-clear-all]{
  min-height:44px;
  padding:8px 14px;
  border:0;
  background:transparent;
  color:#8A5A32;
  font:600 14px/1.3 var(--sans, system-ui);
  cursor:pointer;
  border-radius:10px;
}
.st-list-clears [data-clear-bought][hidden]{
  /* reserve space so the row never jumps */
  visibility:hidden !important;
  display:inline-flex !important;
  pointer-events:none;
}
.st-list-clears [data-clear-all]{color:#C84316}
.st-list-clears [data-clear-bought]:hover,
.st-list-clears [data-clear-all]:hover,
.st-list-clears [data-clear-bought]:focus-visible,
.st-list-clears [data-clear-all]:focus-visible{
  background:rgba(200,67,22,.06);
  outline:none;
}
.st-list-cleared{
  display:grid;
  justify-items:center;
  text-align:center;
  gap:8px;
  padding:28px 22px;
  border:1px dashed #E3D2BF;
  border-radius:20px;
  background:#FFFDF8;
  margin:16px 0;
}
.st-list-cleared b{
  font:600 21px/1.25 var(--serif);
  color:var(--ink, #3F2A1A);
}
.st-list-cleared p{
  margin:0 0 6px;
  color:#6B5E52;
  font-size:15px;
  line-height:1.55;
  max-width:32ch;
}
.st-list-cleared a.primary,
.st-list-cleared .primary{
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
}


/* Closed note trigger: completely still. Fixed bottom-left, safe-area only,
   no lift transform, no vh, no scroll/resize reposition, no transitions. */
#st-note:not(.sn-open):not(.open){
  position:fixed !important;
  left:max(4px, env(safe-area-inset-left)) !important;
  right:auto !important;
  bottom:calc(16px + env(safe-area-inset-bottom) + var(--sn-dock, 0px)) !important;
  top:auto !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  opacity:.55 !important;
  --sn-lift: 0px !important;
}
#st-note:not(.sn-open):not(.open):hover,
#st-note:not(.sn-open):not(.open):focus-within,
#st-note:not(.sn-open):not(.open):active{
  opacity:1 !important;
}
#st-note:not(.sn-open):not(.open) .sn-pill,
#st-note:not(.sn-open):not(.open) .sn-pill *{
  transition:none !important;
  animation:none !important;
}
#st-note.sn-open,
#st-note.open{
  --sn-lift: 0px !important;
  --sn-dock: 0px !important;
  transform:none !important;
  top:auto !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
}


/* List chrome: one title (the sticky bar), one back link, no contradictory empty copy. */
.list-wrap:has(.gl-bar) > h1.pg{display:none!important}
.list-wrap:has(.st-list-cleared) .row.lf,
.list-wrap:has(.st-list-cleared) .st-shop-card,
.list-wrap:has(.st-list-cleared) #left{display:none!important}
body.on-list #gl-close,
html.list-page #gl-close,
.list-wrap #gl-close{display:none!important}

/* Compact shopping rows: checkbox, name, qty, ↗, × on one ~56px line. */
.st-shopping ul.check li,
html.glance .st-shopping .check li,
html.glance ul.check li{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  min-height:52px!important;
  max-height:60px;
  height:auto!important;
  padding:0 10px!important;
  box-sizing:border-box;
  overflow:hidden;
}
.st-shopping ul.check li:has(details[open]),
html.glance .st-shopping .check li:has(details[open]){
  flex-wrap:wrap!important;
  max-height:none;
  overflow:visible;
  height:auto!important;
}
.st-shopping .check li > label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none;
  padding:0!important;
  margin:0!important;
}
.st-shopping .check li > label > input[type=checkbox]{
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  flex:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1.8px solid #85725f!important;
  border-radius:5px!important;
  background-color:#fffdf8!important;
  background-image:none!important;
  background-size:auto!important;
  box-shadow:none!important;
}
.st-shopping .check li > label > input[type=checkbox]:checked{
  border-color:#C84316!important;
  background-color:#C84316!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-size:14px 14px!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.st-shopping .check li > label > span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.3;
}
.st-shopping .check li > .q{
  flex:none!important;
  white-space:nowrap!important;
  max-width:7em;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
}
.st-shopping .check li > .sto,
.st-shopping .check li > .st-list-x{
  flex:none!important;
  margin:0!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  padding:0!important;
}
.st-shopping .check li > .st-qty{
  flex:none;
  margin:0;
}
.st-shopping .check li > .st-qty:not([open]){
  width:32px;
}
.st-shopping .st-qty summary.st-edit-amt{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  font-size:0!important;
  color:#8A6A4E!important;
  background:transparent;
}
.st-shopping .st-qty summary.st-edit-amt svg{
  width:14px;
  height:14px;
  flex:none;
  opacity:.85;
}
.st-shopping .check li > .st-qty[open]{
  flex:1 0 100%;
  order:9;
  padding:4px 0 8px;
}
@media(max-width:480px){
  .st-shopping .check li{padding:0 8px!important}
}

/* Pack-2 doodle rasters: same boxes as the old inline SVGs. */
.fl-art-wrap{position:relative;display:block;flex:none;height:180px}
.fl-art-wrap .fl-art{height:180px;width:auto;max-width:140px;display:block;object-fit:contain;background:transparent}
.fl-badge{position:absolute;top:14px;left:16px;min-width:30px;height:30px;padding:0 6px;border-radius:50%;background:#C84316;color:#fff;font:700 15px/30px Inter,system-ui,sans-serif;text-align:center;pointer-events:none}
@media(max-width:360px){.fl-art-wrap{height:150px}.fl-art-wrap .fl-art{height:150px}}
.fz-empty .fl-art-wrap{height:64px;width:64px;flex:none}
.fz-empty .fl-art-wrap .fl-art{height:64px;width:64px;max-width:64px}
.season .leaf img{width:100%;height:auto;display:block;object-fit:contain}
#st-note .sn-svg, #st-note img.sn-svg{display:block;width:28px;height:28px;object-fit:contain;background:transparent}
.em-art, img.em-art{display:block;object-fit:contain;background:transparent}

/* Pack-2 follow-up: dark-card contrast and fridge header layout. */
.li-empty .ghost,
.li-empty a.ghost,
.li-empty button.ghost,
.fz-empty .ghost,
.fs-empty .ghost{
  background:#3A2F2A !important;
  color:#F6EBDD !important;
  border:1.5px solid #5A4A40 !important;
}
.fz-e2 .fz-eh{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.fz-e2 .fz-eh .fl-art-wrap,
.fz-empty .fz-eh .fl-art-wrap{
  flex:none;
  width:48px;
  height:48px;
  margin:0;
  align-self:center;
}
.fz-e2 .fz-eh .fl-art-wrap .fl-art,
.fz-empty .fz-eh img.fl-art{
  width:48px !important;
  height:48px !important;
  max-width:48px !important;
  display:block;
  object-fit:contain;
}
/* Do not leave the doodle as an orphan stack above the header. */
.fz-e2 > .fl-art-wrap{display:none}
.fz-et{min-width:0;flex:1}


/* Open note sheet: stay inside the viewport (grow up from the dock). Closed trigger unchanged. */
#st-note.sn-open,
#st-note.open,
#st-note:has(.sn-sheet:not([hidden])){
  max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px));
}
#st-note.sn-open .sn-sheet,
#st-note.open .sn-sheet,
#st-note:has(.sn-sheet:not([hidden])) .sn-sheet{
  max-height: min(70vh, calc(100dvh - 32px - env(safe-area-inset-bottom, 0px))) !important;
}

/* dowei-kitchen-brand-lockup:v310
   Wordmark + subtitle stay visible at every width. Overrides earlier compact/icon-only rules. */
header.top .brand,
.journal-page header.top .brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 1 auto!important;
  min-width:0!important;
  width:auto!important;
  overflow:visible!important;
  white-space:normal!important;
  font:600 18px/1.1 var(--serif)!important;
  letter-spacing:-.02em;
}
header.top .brand,
.journal-page header.top .brand{justify-content:flex-start!important}
header.top .brand-lockup,
.journal-page header.top .brand-lockup{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:1px;
  min-width:0;
  width:min-content; /* subtitle wraps to the wordmark width */
  max-width:none;
  line-height:1.1;
}
header.top .brand .wm,
header.top .brand .wm-full,
.journal-page header.top .brand .wm{
  display:block!important;
  font:600 18px/1.1 var(--serif)!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  color:inherit;
}
header.top .brand .wm-sub{
  display:block!important;
  margin:1px 0 0;
  font:500 10.5px/1.25 var(--sans,Inter,system-ui,sans-serif)!important;
  letter-spacing:.01em;
  color:var(--color-text-muted,#6B5E55);
  white-space:normal!important;
  width:100%;
  max-width:100%;
  overflow:visible!important;
}
header.top .brand .wm-zh,
header.top .brand .wm-short{display:none!important}
header.top .brand svg,
header.top .brand img,
header.top .brand [data-icon]{
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
}
header.top .brand [data-icon]{display:flex;align-items:center;justify-content:center}

@media(max-width:680px){
  header.top,
  .journal-page header.top{padding-left:10px!important;padding-right:10px!important;gap:8px!important}
  header.top .brand .wm,
  header.top .brand .wm-full{display:block!important;font:600 16px/1.1 var(--serif)!important}
  header.top .brand .wm-sub{font-size:10px!important;line-height:1.2!important}
  header.top .brand svg,
  header.top .brand img,
  header.top .brand [data-icon]{width:24px!important;height:24px!important;flex:0 0 24px!important}
  header.top .brand,
  header.top .brand-lockup{display:flex!important}
  header.top nav{flex:0 0 auto!important;min-width:0;justify-content:flex-end}
}

@media(max-width:390px){
  header.top .brand{gap:6px!important}
  header.top .brand .wm,
  header.top .brand .wm-full{font:600 15px/1.08 var(--serif)!important;letter-spacing:-.03em!important;white-space:nowrap!important;width:auto!important}
  header.top .brand .wm-sub{font-size:9.5px!important}
  header.top nav a,
  header.top nav button{padding:0 4px!important;font-size:12px!important}
}

/* 320: keep wordmark+subtitle; wrap nav to a second row so 44px targets never collide with the lockup. */
@media(max-width:340px){
  header.top,
  .journal-page header.top{
    flex-wrap:wrap!important;
    row-gap:0!important;
    column-gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  header.top .brand{flex:0 1 auto!important;gap:6px!important;justify-content:flex-start!important}
  header.top .brand .wm,
  header.top .brand .wm-full{font:600 15px/1.08 var(--serif)!important;white-space:nowrap!important;width:auto!important}
  header.top .brand .wm-sub{font-size:9.5px!important}
  header.top .brand svg,
  header.top .brand img,
  header.top .brand [data-icon]{width:22px!important;height:22px!important;flex:0 0 22px!important}
  header.top nav{
    flex:1 1 100%!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
}

/* ingredient-chips-tap:v310 — home/page chips are real buttons with the same selected state as the fridge picker */
button.fz-chip{
  display:inline-flex;align-items:center;gap:6px;
  margin:0;border:1px solid #E4D5C4;cursor:pointer;
  font:600 13px/1.2 var(--sans,Inter,system-ui,sans-serif);
  padding:6px 10px;border-radius:999px;background:#EFE6DA;color:#3A2F28;
  min-height:44px;
}
button.fz-chip .c2-i{width:28px;height:28px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:16px;flex:none}
button.fz-chip i{font-style:normal;font-size:12px;font-weight:700;color:var(--color-primary,#C84316)}
button.fz-chip-more{font-weight:700;color:var(--color-primary,#C84316);background:#FFF6EE}
