/* v5.1 — premium, phone-first kitchen workspace */
:root{
  --green:#a6402d;
  --green2:#8f3425;
  --greenBright:#d67a56;
  --greenSoft:#f8e9e2;
  --bg:#f4f0e9;
  --surface:#fffdf9;
  --surface2:#f3eee6;
  --text:#282620;
  --muted:#655f56;
  --line:#e2dbd0;
  --red:#b8322c;
  --shadow:0 18px 55px rgba(62,48,37,.09);
  --radius:20px;
  --accent-dark:#26483d;
  --accent-soft:#e7efe9;
}

body{
  background:
    radial-gradient(circle at 92% 5%,rgba(166,64,45,.055),transparent 25rem),
    var(--bg);
  color:var(--text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.008em;
}

button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{
  outline-color:color-mix(in srgb,var(--green) 38%,transparent);
}

.topbar{
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  border-bottom-color:color-mix(in srgb,var(--line) 80%,transparent);
  box-shadow:0 1px 0 rgba(255,255,255,.75);
}

.logo{
  border-radius:50%;
  background:var(--green);
  font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;
  font-weight:700;
  box-shadow:none;
}

.brand strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.05rem;letter-spacing:-.02em}
.brand small{font-size:.66rem;letter-spacing:.035em}
.top-actions{align-items:center}
.sync-status{background:transparent;border:1px solid var(--line)}

.layout{grid-template-columns:220px 1fr}
.sidebar{background:color-mix(in srgb,var(--surface) 76%,transparent);padding:22px 12px}
.sidebar nav{gap:3px}
.nav{min-height:44px;border-radius:12px;padding:10px 12px;font-weight:650}
.nav.active,.nav:hover{background:var(--surface);color:var(--text);box-shadow:0 5px 18px rgba(63,46,32,.06)}
.nav.active{box-shadow:inset 3px 0 var(--green),0 5px 18px rgba(63,46,32,.05)}
.side-note{margin:8px 4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);font-size:.72rem}
.side-note strong{color:var(--text)}

#main{padding-top:38px}
.heading h1,.hero-copy h1{
  font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;
  font-weight:650;
  letter-spacing:-.045em;
}
.eyebrow{color:var(--green);font-size:.66rem;letter-spacing:.16em}

.primary,.secondary,.danger,.icon,.back{border-radius:12px}
.primary{background:var(--green);font-weight:800;box-shadow:0 8px 20px color-mix(in srgb,var(--green) 15%,transparent)}
.primary:hover{background:var(--green2)}
.secondary{background:var(--surface);border-color:var(--line)}
.secondary:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--greenSoft) 42%,var(--surface))}

.recipe-card{border-color:var(--line);box-shadow:0 8px 26px rgba(62,48,37,.045)}
.recipe-card:hover{box-shadow:var(--shadow)}
.visual{
  position:relative;
  height:118px;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 28% 30%,rgba(255,255,255,.38) 0 11%,transparent 12%),
    linear-gradient(140deg,#be5b3d,#8c3327);
}
.visual .emoji{font-size:50px;filter:drop-shadow(0 8px 13px rgba(59,23,15,.22))}
.visual.has-photo>.card-meal-preview{position:absolute;inset:0;display:block;overflow:hidden;background:var(--surface2)}
.card-meal-preview>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.card-meal-layer{z-index:1}
.meal-preview-stage.image-failed,.recipe-art-stage.image-failed,.card-meal-preview.image-failed{display:grid;place-items:center;background:linear-gradient(145deg,#f3dfc5,#dcb79a)}
.meal-preview-stage.image-failed::after,.recipe-art-stage.image-failed::after,.card-meal-preview.image-failed::after{content:"Recipe art unavailable";padding:16px;color:#6d4938;font-size:.76rem;font-weight:800;text-align:center}
.card-body{padding:19px}
.card-body h2{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.28rem}

.hero{
  border-color:var(--line);
  border-radius:26px;
  box-shadow:0 20px 60px rgba(64,49,37,.055);
}
.hero-main{grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);min-height:300px;background:var(--surface)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:36px 38px}
.hero-copy h1{font-size:clamp(2.35rem,5vw,4.25rem);margin:2px 0 13px}
.hero-copy>p:not(.eyebrow){max-width:650px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.tags{margin-top:19px}
.tag{background:transparent;border:1px solid var(--line);padding:5px 10px}

.hero-illustration{
  position:relative;
  display:block;
  min-width:0;
  min-height:300px;
  margin:0;
  overflow:hidden;
  padding:0;
  background:var(--surface2);
}
.recipe-art-stage,.meal-preview-stage{position:absolute;inset:0;overflow:hidden;border:0;border-radius:0;background:var(--surface2);box-shadow:none}
.hero-illustration img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-meal-preview{position:relative;isolation:isolate}
.meal-preview-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.meal-preview-layer{z-index:2;animation:finish-arrive .22s ease-out both}
@keyframes finish-arrive{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.hero-composition{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:34px;
  color:#f9f1e8;
  background:
    radial-gradient(circle at 78% 16%,rgba(255,255,255,.12),transparent 30%),
    linear-gradient(145deg,#315447,#213d34);
}
.hero-monogram{align-items:center;text-align:center}.hero-monogram>span{font-size:5rem;filter:drop-shadow(0 10px 18px rgba(0,0,0,.16))}
.hero-monogram.onion-visual{
  position:relative;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;overflow:hidden;
  background:
    radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 25%),
    radial-gradient(circle at 18% 82%,rgba(59,19,44,.2),transparent 27%),
    linear-gradient(145deg,#6b204d 0%,#a44771 53%,#df9a82 100%);
}
.hero-monogram.onion-visual figcaption{color:#fff8ef;font-size:.65rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.pickle-jar{
  position:relative;display:block;width:154px;height:174px;border:6px solid rgba(255,250,242,.92);
  border-radius:24px 24px 38px 38px;background:rgba(255,255,255,.14);
  box-shadow:0 22px 48px rgba(48,11,37,.25),inset 12px 0 18px rgba(255,255,255,.08);overflow:visible;
}
.pickle-jar::after{content:"";position:absolute;inset:10px auto 18px 12px;width:7px;border-radius:99px;background:rgba(255,255,255,.25)}
.pickle-jar .jar-lid{position:absolute;z-index:5;left:-11px;right:-11px;top:-24px;height:30px;border:5px solid #fffaf2;border-radius:10px;background:linear-gradient(#d8b8a7,#aa756b);box-shadow:0 5px 10px rgba(49,14,38,.16)}
.pickle-jar .brine{position:absolute;z-index:1;left:8px;right:8px;bottom:8px;height:76%;border-radius:15px 15px 29px 29px;background:linear-gradient(180deg,rgba(255,213,193,.56),rgba(164,42,92,.7))}
.pickle-jar .onion-ribbon{position:absolute;z-index:2;display:block;border:8px solid rgba(255,225,224,.95);border-left-color:rgba(124,30,76,.88);border-radius:50%;filter:drop-shadow(0 3px 2px rgba(91,22,59,.18))}
.pickle-jar .ribbon-one{width:98px;height:55px;left:22px;top:34px;transform:rotate(-14deg)}
.pickle-jar .ribbon-two{width:105px;height:63px;left:20px;top:83px;transform:rotate(16deg)}
.pickle-jar .ribbon-three{width:76px;height:45px;left:38px;top:119px;transform:rotate(-8deg)}
.pickle-jar.mini{width:62px;height:70px;border-width:3px;border-radius:9px 9px 15px 15px;box-shadow:0 12px 22px rgba(48,11,37,.24)}
.pickle-jar.mini::after{inset:5px auto 8px 5px;width:3px}.pickle-jar.mini .jar-lid{left:-5px;right:-5px;top:-11px;height:14px;border-width:2px;border-radius:4px}.pickle-jar.mini .brine{left:3px;right:3px;bottom:3px;border-radius:6px 6px 12px 12px}.pickle-jar.mini .onion-ribbon{border-width:3px}.pickle-jar.mini .ribbon-one{width:41px;height:23px;left:8px;top:14px}.pickle-jar.mini .ribbon-two{width:43px;height:25px;left:8px;top:37px}
.hero-composition>p{margin:0 0 18px;color:#d8e5de;font-size:.65rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.hero-composition>small{margin-top:18px;color:#c4d5cd;font-weight:650}
.composition-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center}
.composition-row>div{min-width:0;padding:15px 13px;border:1px solid rgba(255,255,255,.17);border-radius:15px;background:rgba(255,255,255,.065)}
.composition-row strong,.composition-row span{display:block}
.composition-row strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.18rem;color:#fff}
.composition-row span{margin-top:3px;color:#c4d5cd;font-size:.7rem;line-height:1.3}
.composition-row>b{color:#8eaa9d;font-weight:400}

.variant-box{padding:17px 22px;background:color-mix(in srgb,var(--surface2) 35%,var(--surface))}
.variant-label,.variable-label{color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.variant-btn,.scale-btn,.variable-btn{min-height:39px;border-radius:999px;padding:7px 13px;background:var(--surface)}
.variant-btn.active,.scale-btn.active,.variable-btn.active{background:var(--accent-dark);border-color:var(--accent-dark);box-shadow:none}
.variant-note{border:1px solid var(--line);background:var(--surface);line-height:1.45}
.meta-strip{background:var(--line)}
.meta-cell{padding:13px;background:var(--surface)}
.meta-cell strong{font-size:.93rem}
.hero-actions{align-items:center;padding:14px 20px;background:var(--surface)}
.hero-actions .primary{min-width:136px}
.hero-actions .reheat-action{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));color:var(--accent-dark);font-weight:850}
.hero-actions .reheat-action:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 92%,var(--surface))}
.action-menu{border-radius:16px;padding:8px;box-shadow:0 22px 60px rgba(45,35,28,.17)}

.tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  overflow:visible;
  margin-top:18px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:16px 16px 0 0;
  background:color-mix(in srgb,var(--surface2) 55%,var(--surface));
}
.tabs::-webkit-scrollbar{display:none}
.tab{min-width:0;min-height:44px;padding:10px 8px;border-radius:11px;background:transparent;color:var(--muted);font-size:.86rem;font-weight:800}
.tab-label-short{display:none}
.tab.active{background:var(--surface);color:var(--text);box-shadow:0 5px 15px rgba(50,39,30,.075)}
.panel{border-color:var(--line);background:var(--surface);border-radius:0 0 18px 18px}

.ingredient-group{padding:17px 22px 20px}
.ingredient-group h3{margin-bottom:10px;color:var(--muted);font-size:.68rem;letter-spacing:.12em}
.ingredient-line.checkable{margin:0;padding:11px 4px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:0}
.ingredient-group .ingredient-line:first-of-type{border-top:0}
.ingredient-line.checkable:hover{background:color-mix(in srgb,var(--surface2) 55%,transparent)}
.ingredient-amount{font-size:.86rem;line-height:1.35}
.ingredient-name-wrap>span:last-child{font-size:.88rem;font-weight:650;line-height:1.4}
.ingredient-name-wrap small{font-size:.69rem;font-weight:550}

.instruction{grid-template-columns:48px minmax(0,1fr);gap:8px;padding:23px 25px 24px 16px}
.num{display:grid;place-items:center;width:31px;height:31px;margin:1px auto 0;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:.76rem;font-weight:800}
.instruction h3{font-size:1.08rem;margin:1px 0 8px}
.instruction>div>p{max-width:850px;color:var(--muted);font-size:.98rem;line-height:1.62}
.instruction-key{
  padding:0;
  background:none!important;
  color:var(--text)!important;
  font-weight:850;
}
.amounts{margin-top:14px;padding-top:11px;border-top:1px dashed var(--line)}
.step-amt{grid-template-columns:minmax(120px,175px) 1fr;color:var(--muted);font-size:.88rem}
.step-amt span:first-child{color:var(--text);font-weight:850}

.recipe-guides{padding:17px 20px;background:var(--surface)}
.recipe-guide{padding:0;border:0;background:transparent}
.recipe-guide-head{margin:0 0 10px}
.recipe-guide-head h2{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.guide-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}
.guide-map-item{grid-template-columns:auto minmax(0,1fr);gap:9px;padding:12px;border:0;border-radius:0;background:var(--surface2)}
.guide-map-item>span{min-width:25px;height:25px;border:0;background:var(--surface);color:var(--green)}
.guide-map-item strong{font-size:.76rem}
.guide-map-item p{font-size:.68rem}

.prep-header{padding:19px 21px}
.prep-header .card-actions{gap:8px}
.prep-scope-note,.workflow-note{border-left-color:var(--accent-dark);background:var(--accent-soft)}
.prep-card{padding:20px 22px}
.prep-check strong{font-size:1rem}
.prep-check p{color:var(--muted);font-size:.96rem;line-height:1.58}
.prep-tools details,.advance{border-radius:12px}

.store-panel{padding:18px}
.store-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:13px}
.store-action{display:grid;align-content:center;gap:3px;min-height:74px;padding:13px 15px;text-align:left}
.store-action span{font-size:.86rem;font-weight:850}.store-action small{font-size:.69rem;font-weight:650;line-height:1.35;opacity:.76}
.store-keyline{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.store-keyline span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.7rem;font-weight:750}
.storage-reference,.later-flow-card{margin:10px 0 0;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--surface)}
.storage-reference>summary,.later-flow-card>summary{display:grid;gap:3px;padding:15px 16px;cursor:pointer;list-style:none}.storage-reference>summary::-webkit-details-marker,.later-flow-card>summary::-webkit-details-marker{display:none}
.storage-reference>summary::after,.later-flow-card>summary::after{content:"+";grid-column:2;grid-row:1/3;align-self:center;color:var(--green);font-size:1.2rem;font-weight:500}.storage-reference[open]>summary::after,.later-flow-card[open]>summary::after{content:"–"}
.storage-reference>summary span,.later-flow-card>summary span{font-size:.85rem;font-weight:850}.storage-reference>summary small,.later-flow-card>summary small{color:var(--muted);font-size:.69rem}
.storage-reference[open]>summary,.later-flow-card[open]>summary{border-bottom:1px solid var(--line)}
.storage-grid{gap:10px;padding:12px}
.storage-card{border-radius:15px;background:color-mix(in srgb,var(--surface2) 52%,var(--surface));box-shadow:none}
.storage-card h3{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.05rem}
.later-flow-card{margin-bottom:0}.later-flow-intro{padding:12px 16px 0}.later-flow-intro p{margin:0;color:var(--muted);font-size:.78rem}

.serving-plan{border-color:var(--line);background:var(--surface2);box-shadow:none}
.serving-chip{background:var(--surface);border-color:var(--line)}
.serving-chip.off{opacity:1;color:#5b574f;background:var(--surface2)}
.serving-chip.ready{border-color:color-mix(in srgb,var(--accent-dark) 35%,var(--line));color:var(--accent-dark)}

.nutrition-wrap{padding:22px}
.meal-nutrition{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:0 12px 35px rgba(54,42,32,.055)}
.meal-nutrition>header{display:grid;grid-template-columns:minmax(160px,.55fr) minmax(250px,1fr);gap:24px;align-items:end;padding:23px 24px 18px;background:linear-gradient(145deg,#fffdf9,#f4ede4)}
.meal-nutrition>header p{margin:0 0 3px;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.meal-nutrition>header>div:first-child>strong{display:block;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:2.6rem;line-height:1;color:var(--text)}
.meal-nutrition>header>div:first-child>strong small{font-family:inherit;font-size:1rem;font-weight:600;color:var(--muted)}
.meal-nutrition>header>div:first-child>span{display:block;margin-top:7px;color:var(--muted);font-size:.74rem}
.meal-nutrition .macro-schematic{margin:0}
.macro-segment{min-width:0}
.macro-bar{display:block;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;box-shadow:none;background:#e7e0d6}
.macro-track{fill:#e7e0d6}
.macro-segment.protein{fill:#3f725f}.macro-segment.carbs{fill:#d9903b}.macro-segment.fat{fill:#b74f3c}
.macro-legend{justify-content:flex-end;margin-top:8px;font-size:.65rem}
.meal-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.meal-metric{padding:15px 17px;border-right:1px solid var(--line)}
.meal-metric:last-child{border-right:0}
.meal-metric span,.meal-metric strong{display:block}
.meal-metric span{color:var(--muted);font-size:.66rem;font-weight:750}
.meal-metric strong{margin-top:2px;font-size:1rem}
.meal-metric strong small{margin-left:2px;color:var(--muted);font-size:.7rem;font-weight:650}
.meal-breakdown{padding:0 20px}
.meal-breakdown>summary{cursor:pointer;padding:15px 0;color:var(--accent-dark);font-size:.76rem;font-weight:850}
.meal-breakdown>div{padding-bottom:16px}
.meal-part{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);font-size:.78rem}
.meal-part>span{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px}
.meal-part>span>small{grid-column:2;color:var(--muted);font-size:.66rem}
.meal-part>strong{white-space:nowrap;font-size:.75rem}
.part-dot{display:block;grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#b8ada1}
.part-dot.base{background:var(--green)}.part-dot.eggs{background:#edae27}.part-dot.pita{background:#c28a54}.part-dot.feta{background:#d8d1c8}.part-dot.garlic_yogurt{background:#eee7dd}.part-dot.pickled_onion{background:#9d4b7b}.part-dot.herbs{background:#4f8a5c}.part-dot.finish_oil{background:#b88e29}
.base-nutrition{margin-top:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.base-nutrition>summary{cursor:pointer;padding:14px 16px;color:var(--muted);font-size:.78rem;font-weight:850}
.base-nutrition>div{display:grid;gap:8px;padding:0 12px 12px}
.base-nutrition-card{padding:12px;border-radius:11px;background:var(--surface2)}
.base-nutrition-card>div{display:flex;justify-content:space-between;gap:12px}.base-nutrition-card span{font-size:.75rem;font-weight:800}.base-nutrition-card strong{font-size:.78rem}.base-nutrition-card p{margin:5px 0 0;color:var(--muted);font-size:.68rem}
.nutrition-disclaimer{margin:14px 3px 0;line-height:1.5}

.completion-status{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.completion-check{flex:0 0 auto;width:48px;height:48px;margin:0;background:var(--accent-dark);box-shadow:none;font-size:1.5rem}
.completion-status strong,.completion-status span{display:block}.completion-status strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.2rem}.completion-status span{margin-top:2px;color:var(--muted);font-size:.78rem}
.meal-nutrition.compact{margin:0}
.completion-inventory{border-left-color:var(--accent-dark)}

.component-shelf-warning{border-color:#d9b765;background:#fff4d6}
.cook-plan{background:var(--accent-soft);color:var(--accent-dark)}
.cook-count{color:var(--green)}
.cook h3{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-weight:650}
.progress,.progress::-webkit-progress-bar{background:var(--line)}
.progress::-webkit-progress-value,.progress::-moz-progress-bar{background:var(--green)}

body.dark{
  --bg:#181714;
  --surface:#211f1b;
  --surface2:#2c2924;
  --text:#f3eee6;
  --muted:#b8b0a5;
  --line:#3c3831;
  --green:#d17152;
  --green2:#e28b6c;
  --greenSoft:#3b2822;
  --accent-dark:#75a590;
  --accent-soft:#22382f;
}
body.dark .meal-nutrition>header{background:linear-gradient(145deg,#292620,#211f1b)}
body.dark .macro-track{fill:#403a32}
body.dark .topbar{box-shadow:none}
body.dark .serving-chip.off{color:#d8d0c5}
body.dark .primary{background:#9f3d2b;color:#fff}
body.dark .primary:hover{background:#b64b35}
body.dark .variant-btn.active,body.dark .scale-btn.active,body.dark .variable-btn.active{background:#315e4f;border-color:#315e4f;color:#fff}

@media(max-width:1000px){
  .layout{grid-template-columns:1fr}
}

@media(max-width:760px){
  #main{padding:20px 12px 78px}
  .hero{display:flex;flex-direction:column;border-radius:20px}
  .hero-main{display:contents;min-height:0;padding-bottom:0}
  .hero-copy{order:1;padding:23px 20px}
  .hero-copy h1{font-size:clamp(2rem,10vw,3rem)}
  .hero-copy>p:not(.eyebrow){display:block;-webkit-line-clamp:unset;font-size:.92rem;line-height:1.55}
  .hero-composition{padding:21px 18px;order:7}
  .hero-main{background:var(--surface)}
  .hero-illustration{order:7;min-height:0;aspect-ratio:16/9;padding:0}
  .recipe-art-stage,.meal-preview-stage{inset:0;border-radius:0}
  .hero-illustration img{object-fit:cover;object-position:center}
  .hero-meal-preview .meal-preview-stage>img{object-fit:cover}
  .hero-composition>p{margin-bottom:12px}
  .composition-row{gap:7px}
  .composition-row>div{padding:11px 9px;border-radius:12px}
  .composition-row strong{font-size:.92rem}
  .composition-row span{font-size:.61rem}
  .hero-composition>small{margin-top:12px;font-size:.68rem}
  .variant-box{order:2;padding:14px}
  .meal-finish-bar{order:3}
  .production-resume{order:4}
  .resume-cooking{order:4}
  .meta-strip{order:6}
  .taste-live{order:8}
  .variant-label,.variable-label{min-width:100%;margin-top:4px}
  .variant-btn,.scale-btn,.variable-btn{min-height:39px}
  .hero-actions{position:sticky;z-index:25;bottom:76px;order:5;display:grid;grid-template-columns:1fr 1.25fr 74px;gap:8px;padding:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 -8px 22px rgba(39,31,25,.08);backdrop-filter:blur(16px)}
  .hero-actions.has-reheat{grid-template-columns:repeat(3,minmax(0,1fr)) 74px}
  .hero-actions .primary,.hero-actions .secondary{min-height:46px}
  .hero-actions.has-reheat>button{min-width:0;padding-inline:8px}
  .hero-actions .action-menu{bottom:calc(100% + 7px)}
  .tabs{position:sticky;top:64px;z-index:12;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:12px;padding:5px;border-radius:14px 14px 0 0;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 8px 22px rgba(39,31,25,.07);backdrop-filter:blur(16px)}
  .tabs .tab{display:block;min-width:0!important;padding:10px 3px;font-size:.72rem}
  .panel{border-radius:0 0 15px 15px}
  .instruction{grid-template-columns:38px minmax(0,1fr);padding:19px 14px 20px 8px}
  .num{width:28px;height:28px;font-size:.7rem}
  .instruction>div>p{font-size:.93rem;line-height:1.58}
  .step-amt{grid-template-columns:minmax(95px,34%) 1fr;font-size:.82rem}
  .guide-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;border-radius:12px}
  .guide-map-item{min-width:0}
  .recipe-guides{padding:14px}
  .prep-header{padding:16px 14px}
  .prep-header .card-actions{grid-template-columns:1fr 1fr}
  .prep-card{padding:17px 14px}
  .store-panel{padding:12px}.store-actions{grid-template-columns:1fr;gap:8px}.store-action{min-height:64px}.storage-grid{padding:10px}.storage-reference>summary,.later-flow-card>summary{padding:14px}
  .nutrition-wrap{padding:14px}
  .meal-nutrition>header{grid-template-columns:1fr;gap:16px;padding:19px 17px 15px}
  .meal-nutrition>header>div:first-child>strong{font-size:2.25rem}
  .macro-legend{justify-content:flex-start}
  .meal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .meal-metric{padding:12px 13px;border-bottom:1px solid var(--line)}
  .meal-metric:nth-child(3){border-right:0}.meal-metric:nth-child(n+4){border-bottom:0}
  .meal-breakdown{padding-inline:15px}
  .completion-status{margin-bottom:14px}
}

@media(max-width:430px){
  .topbar-inner{gap:8px}
  .brand strong{font-size:.98rem}
  .composition-row{grid-template-columns:1fr 1fr 1fr}
  .composition-row>b{display:none}
  .composition-row>div{padding:10px 7px}
  .hero-actions{grid-template-columns:1fr 1.2fr 70px}
  .hero-actions.has-reheat{grid-template-columns:repeat(3,minmax(0,1fr)) 70px}
  .prep-header .card-actions{grid-template-columns:1fr}
  .meal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .meal-metric:nth-child(2n){border-right:0}.meal-metric:nth-child(3){border-right:1px solid var(--line)}.meal-metric:nth-child(4){border-bottom:1px solid var(--line)}
  .meal-part{align-items:center}
  .meal-part>span>small{display:none}
  .guide-map{grid-template-columns:1fr}
}

/* v5.2 — direct meal setup, bounded dialogs, and reliable mobile navigation */
.mobile-app-nav{display:none}
#recipeTabsAnchor{height:0;scroll-margin-top:76px}

.meal-finish-bar{margin:0;border-width:1px 0;border-radius:0;padding:17px 20px;background:linear-gradient(90deg,var(--accent-soft),color-mix(in srgb,var(--surface) 84%,var(--accent-soft)))}
.meal-finish-bar .eyebrow{margin:0 0 3px;font-size:.61rem}
.meal-finish-bar h3{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.08rem}
.meal-finish-bar .serving-chips{margin-top:12px}
.serving-chip.finish-toggle{appearance:none;min-height:38px;padding:7px 11px;color:var(--text);text-decoration:none;transition:background .15s,border-color .15s,transform .15s}
.serving-chip.finish-toggle:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-dark) 35%,var(--line))}
.serving-chip.finish-toggle>span:first-child{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent-dark);color:#fff;font-size:.66rem;line-height:1}
.serving-chip.finish-toggle>span:last-child{display:flex;align-items:baseline;gap:5px}
.serving-chip.finish-toggle small{color:var(--muted);font-size:.62rem;font-weight:700}
.serving-chip.finish-toggle.off{opacity:1;color:var(--muted);background:transparent;border-style:dashed;text-decoration:none}
.serving-chip.finish-toggle.off>span:first-child{background:var(--surface);border:1px solid var(--line);color:var(--muted)}

.card-quick-actions{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}
.card-quick-actions button{display:grid;gap:2px;min-height:54px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);text-align:left}
.card-quick-actions button:hover{border-color:color-mix(in srgb,var(--accent-dark) 35%,var(--line));background:var(--accent-soft)}
.card-quick-actions strong{font-size:.76rem}.card-quick-actions small{color:var(--muted);font-size:.62rem;line-height:1.3}
.open-card{z-index:1}.recipe-card .fav{z-index:4}

#componentDialog{overflow:hidden}
#componentForm{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:min(720px,calc(100dvh - 28px));max-height:none;overflow:hidden;padding:0}
.component-dialog-head{padding:22px 22px 0}.component-dialog-head .eyebrow{margin-bottom:6px}.component-dialog-head h2{margin-bottom:8px}.component-dialog-head .dialog-body{margin:0}
.component-dialog-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 22px 18px}
.component-setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.component-setup-fields:has(> #freshPrepWindowWrap.hidden){grid-template-columns:1fr}
.component-setup-fields .reheat-serving-picker{display:grid;grid-template-columns:minmax(112px,150px) minmax(0,1fr);gap:12px;align-items:end;min-width:0;margin:0;padding:12px}
.component-setup-fields .reheat-serving-picker label{min-width:0}.component-setup-fields .reheat-serving-picker input{width:100%;min-height:44px}.component-setup-fields .reheat-serving-picker>span{min-width:0;padding-bottom:8px;line-height:1.35}
#componentForm .component-options{min-height:0;max-height:none;margin:0;overflow:visible;padding:0}
#componentForm>.dialog-actions{position:relative;z-index:2;margin:0;padding:14px 22px calc(14px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface)}
.dialog-finish-set{padding:2px 0 14px;border-bottom:1px solid var(--line)}
.dialog-finish-set>strong{display:block;margin-bottom:8px;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.dialog-finish-set>div{display:flex;gap:7px;flex-wrap:wrap}
.dialog-meal-summary{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 0;color:var(--muted);font-size:.72rem;font-weight:750}
.dialog-meal-summary span{padding:5px 8px;border-radius:999px;background:var(--surface2)}
.dialog-finish-chip{min-height:37px;padding:7px 10px;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.76rem;font-weight:800}
.dialog-finish-chip.selected{border-style:solid;border-color:color-mix(in srgb,var(--accent-dark) 35%,var(--line));background:var(--accent-soft);color:var(--accent-dark)}
.component-decision-list{display:grid;gap:10px;padding:14px 0 1px}
.component-decision{padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface2)}
.component-decision.ready{display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--accent-soft)}
.component-decision.ready strong,.component-decision.ready span{display:block}.component-decision.ready span{margin-top:2px;color:var(--muted);font-size:.72rem}.component-decision.ready b{color:var(--accent-dark);font-size:.72rem}
.component-decision-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.component-decision-head strong,.component-decision-head strong span{display:block}.component-decision-head strong span{margin-top:3px;color:var(--muted);font-size:.69rem;font-weight:650}
.component-ready-choice{display:flex;flex:0 0 auto;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.component-ready-choice button{flex:1;min-width:92px;min-height:36px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:800;white-space:nowrap}
.component-ready-choice button[aria-pressed="true"]{background:var(--accent-dark);color:#fff}
.component-choice-outcome{margin:9px 0 0;padding-top:9px;border-top:1px dashed var(--line);color:var(--muted);font-size:.72rem;line-height:1.4}
.component-methods{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.component-methods button{display:grid;gap:2px;min-height:58px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);text-align:left}
.component-methods button[aria-pressed="true"]{border-color:var(--accent-dark);box-shadow:inset 0 0 0 1px var(--accent-dark);background:var(--accent-soft)}
.component-methods strong{font-size:.74rem}.component-methods small{color:var(--muted);font-size:.63rem;line-height:1.35}
.component-all-ready{display:grid;gap:3px;padding:20px;border:1px dashed var(--line);border-radius:14px;text-align:center}.component-all-ready span{color:var(--muted);font-size:.75rem}

.resume-cooking{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:15px 20px;border-top:1px solid color-mix(in srgb,var(--accent-dark) 22%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--accent-dark) 22%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,var(--accent-soft) 82%,var(--surface)),var(--surface))}
.resume-cooking>div{display:grid;gap:2px;min-width:0}
.resume-cooking span{color:var(--accent-dark);font-size:.62rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.resume-cooking strong{overflow:hidden;color:var(--text);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}
.resume-cooking small{color:var(--muted);font-size:.69rem;line-height:1.35}
.resume-cooking button{flex:0 0 auto;min-width:104px}
.resume-cooking .resume-actions{display:flex;grid-auto-flow:column;gap:8px;align-items:center}
.revision-warning{display:grid;gap:3px;margin:12px 0;padding:11px 12px;border-left:4px solid #c17b24;border-radius:9px;background:#fff1d6;color:#6b4916;font-size:.76rem;line-height:1.4}
.revision-warning strong{color:#5d3e11}.revision-warning span{display:block}
.inventory-card.revision-mismatch{border-color:#d5a45e;background:color-mix(in srgb,#fff1d6 38%,var(--surface))}
.shopping-row{grid-template-columns:28px minmax(100px,170px) minmax(0,1fr) auto auto}
body.dark .revision-warning{background:#49361b;color:#f3d49c}body.dark .revision-warning strong{color:#ffe2ad}

@media(max-width:760px){
  #main{padding-bottom:104px}
  .tabs{top:72px}
  .mobile-app-nav{position:fixed;z-index:60;left:8px;right:8px;bottom:max(7px,var(--safe-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:62px;padding:5px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 40px rgba(39,31,25,.18);backdrop-filter:blur(18px)}
  .mobile-nav-item{position:relative;display:grid;place-items:center;align-content:center;gap:1px;min-width:0;border:0;border-radius:13px;background:transparent;color:var(--muted)}
  .mobile-nav-item>span{font-size:1rem;line-height:1}.mobile-nav-item>small{font-size:.59rem;font-weight:800}
  .mobile-nav-item.active{background:var(--accent-soft);color:var(--accent-dark)}
  .mobile-nav-item .nav-badge{position:absolute;top:4px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 4px;font-size:.54rem}
  #menuBtn{display:none}
  .sidebar{bottom:76px}
  .sidebar-backdrop{bottom:70px}
  .toast{bottom:84px}
  .meal-finish-bar{padding:15px 14px}
  .meal-finish-bar .serving-chips{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .serving-chip.finish-toggle{width:100%;justify-content:flex-start;text-align:left}
  #componentDialog{width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);margin:auto 6px 6px;border-radius:22px}
  #componentForm{height:calc(100dvh - 12px);padding:0}
  .component-dialog-head{padding:18px 15px 0}
  .component-dialog-scroll{padding-inline:15px}
  .component-setup-fields{grid-template-columns:1fr;gap:8px;margin:13px 0}
  #componentForm>.dialog-actions{margin:0;padding-inline:15px}
  .component-decision-head{align-items:stretch;flex-direction:column}
  .component-ready-choice{display:flex;width:100%}
  .component-ready-choice button{min-width:0;padding-inline:7px}
  .resume-cooking{align-items:stretch;padding:13px 14px}
  .resume-cooking button{min-width:88px}
  .shopping-row{grid-template-columns:26px 90px minmax(0,1fr) auto}
  .shopping-row [data-shopping-onhand]{grid-column:3;grid-row:2;justify-self:start}
  .shopping-row .icon{grid-column:4;grid-row:1}
}

@media(max-width:430px){
  .tab-label-full{display:none}.tab-label-short{display:inline}
  .component-methods{grid-template-columns:1fr}
  .card-quick-actions{grid-template-columns:1fr}
  .resume-cooking{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .resume-cooking small{max-width:220px}
}

@media print{
  .hero-composition{display:none}
  .storage-flow{color:#000;background:#fff;border:1px solid #ddd}
  .meal-nutrition{box-shadow:none}
  .instruction-key{font-weight:800!important;text-decoration:none!important}
}

@media(prefers-reduced-motion:reduce){.meal-preview-layer{animation:none}}

/* v5.15 — cookware-aware ChatGPT recipe transfer */
.heading-note{max-width:720px;margin:7px 0 0;color:var(--muted);line-height:1.5}
.cookware-heading{align-items:flex-start}.cookware-heading .primary{min-height:46px}
.cookware-intro{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;margin:0 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent-dark) 25%,var(--line));border-radius:15px;background:var(--accent-soft)}
.cookware-intro>div{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent-dark);color:#fff;font-size:1.15rem}.cookware-intro p{margin:0;color:var(--accent-dark);font-size:.86rem;line-height:1.5}
.cookware-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cookware-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 8px 24px rgba(62,48,37,.035)}
.cookware-card.unavailable{opacity:.72;background:color-mix(in srgb,var(--surface2) 62%,var(--surface))}.cookware-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cookware-card header>div{min-width:0}.cookware-card h2{margin:7px 0 3px;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.18rem;line-height:1.2}.cookware-card header p{margin:0;color:var(--muted);font-size:.72rem}.cookware-badges,.cookware-specs{display:flex;gap:6px;flex-wrap:wrap}.cookware-badges span,.cookware-specs span{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.64rem;font-weight:800}.cookware-badges .preferred{background:var(--accent-soft);color:var(--accent-dark)}.cookware-badges .paused{background:#f5e7d0;color:#7b5000}.cookware-specs{margin:13px 0 0}.cookware-specs span{border:1px solid var(--line);background:transparent;color:var(--text)}.cookware-capabilities,.cookware-notes{margin:12px 0 0;color:var(--muted);font-size:.79rem;line-height:1.45}.cookware-capabilities strong{color:var(--text)}.cookware-card .inventory-actions{margin-top:auto;padding-top:15px}
.cookware-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;height:min(760px,calc(100dvh - 28px));padding:0!important;overflow:hidden}.cookware-form>.card-head{padding:20px 22px 10px}.cookware-form>.card-head h2{margin:3px 0 0}.cookware-form-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:13px;padding:8px 22px 18px}.cookware-form>.dialog-actions{margin:0;padding:14px 22px calc(14px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface)}.cookware-status-row{display:flex;gap:10px;flex-wrap:wrap}.cookware-status-row label{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.cookware-status-row input{width:20px;height:20px}.cookware-more{border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.cookware-more>summary{padding:13px 14px;cursor:pointer;font-weight:850}.cookware-more>div{display:grid;gap:13px;padding:2px 14px 15px}

.ai-import-flow{display:grid;gap:16px;max-width:980px}.ai-import-step{padding:0;overflow:hidden}.step-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:21px 22px 16px}.step-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.step-heading .eyebrow{margin:1px 0 2px}.step-heading h2{margin:0;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.45rem}.step-heading p:last-child{margin:5px 0 0;color:var(--muted);line-height:1.45}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0 22px 18px;border:0}.mode-picker label{position:relative;display:block;cursor:pointer}.mode-picker input{position:absolute;opacity:0;pointer-events:none}.mode-picker span{display:grid;gap:3px;min-height:75px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface2);transition:.15s}.mode-picker small{color:var(--muted);line-height:1.35}.mode-picker input:checked+span{border-color:var(--accent-dark);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-dark)}.mode-picker input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--green) 38%,transparent);outline-offset:2px}
.source-fields{display:grid;gap:13px;padding:0 22px 20px}.source-fields label{display:grid;gap:6px;font-weight:800}.source-fields input,.source-fields textarea{width:100%}.source-fields textarea{min-height:120px;resize:vertical}.prompt-ready{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--line);background:linear-gradient(90deg,var(--accent-soft),color-mix(in srgb,var(--surface) 82%,var(--accent-soft)))}.prompt-ready>div{display:grid;gap:2px}.prompt-ready span,.prompt-ready small{color:var(--muted);font-size:.75rem}.prompt-ready .primary{min-height:46px;white-space:nowrap}.prompt-review{border-top:1px solid var(--line);background:var(--surface2)}.prompt-review>summary{padding:12px 22px;cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:850}.prompt-review pre{max-height:420px;margin:0;padding:18px 22px;overflow:auto;border-top:1px solid var(--line);background:var(--surface);color:var(--text);font:500 .74rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.import-brief{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 22px 20px;padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface2)}.import-brief legend{padding:0 7px;color:var(--text);font-weight:850}.import-brief label{display:grid;min-width:0;gap:6px;align-content:start;font-weight:800;line-height:1.35}.import-brief input,.import-brief select,.import-brief textarea{width:100%;min-width:0}.import-brief textarea{min-height:108px;resize:vertical}.import-brief .brief-wide{grid-column:1/-1}html.font-120 .import-brief,html.font-130 .import-brief{grid-template-columns:minmax(0,1fr)}html.font-120 .import-brief .brief-wide,html.font-130 .import-brief .brief-wide{grid-column:auto}
.result-box{display:block;width:calc(100% - 44px);min-height:190px;margin:0 22px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.5}.import-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px 20px}.import-actions button{min-height:44px}.import-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;margin:0 22px 22px;padding:15px;border:1px solid #d6a94f;border-radius:13px;background:#fff4d6}.import-feedback h3{margin:2px 0 4px}.import-feedback p{margin:0;color:#6c5632;font-size:.83rem}.import-feedback ul{margin:10px 0 0;padding-left:20px;color:#5e4725;font-size:.8rem;line-height:1.45}.existing-import{padding:0}.existing-import>summary{padding:18px 21px;cursor:pointer;font-weight:850}.existing-import>p{margin:0;padding:0 21px 13px;color:var(--muted)}.existing-import .dropzone{margin:0 21px 21px;min-height:105px}
.import-preview-dialog{width:min(860px,calc(100% - 28px))}.import-preview-dialog .card-head>div>p:last-child{margin:5px 0 0;color:var(--muted);line-height:1.45}.import-preview-content{display:grid;gap:12px;margin-top:17px}.import-preview-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--surface2)}.import-preview-card h3{margin:3px 0 5px;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.4rem}.import-preview-card header p:last-child{margin:0;color:var(--muted);line-height:1.45}.preview-metrics{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.preview-metrics span{padding:6px 8px;border-radius:9px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-size:.72rem}.preview-metrics strong{color:var(--text)}.preview-mealprep{display:grid;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-dark) 25%,var(--line));border-radius:13px;background:var(--surface)}.preview-mealprep>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.preview-mealprep>div:first-child{border-top:0}.preview-mealprep span{color:var(--muted);font-size:.72rem;font-weight:800}.preview-mealprep strong{font-size:.8rem}.preview-plan-title{background:var(--accent-soft)}.preview-plan-title strong{color:var(--accent-dark)}.preview-mealprep>p{margin:0;padding:11px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;line-height:1.45}.preview-mealprep.unspecified{display:block;padding:12px}.preview-mealprep.unspecified p{padding:0;border:0;margin-top:4px}.preview-warnings{margin-top:11px;padding:12px;border-left:4px solid #d6a94f;border-radius:9px;background:#fff4d6}.preview-warnings ul{margin:7px 0 0;padding-left:18px;font-size:.78rem;line-height:1.45}
body.dark .cookware-badges .paused,body.dark .import-feedback,body.dark .preview-warnings{background:#44361e;color:#f6d596}body.dark .import-feedback p{color:#ead6ae}

@media(max-width:760px){
  .cookware-heading{display:grid;gap:13px}.cookware-heading .primary{width:100%}.cookware-grid{grid-template-columns:1fr}.cookware-intro{grid-template-columns:32px minmax(0,1fr);padding:12px}.cookware-intro>div{width:32px;height:32px}.cookware-form{height:calc(100dvh - 20px)}
  .mode-picker{grid-template-columns:1fr}.step-heading,.source-fields{padding-inline:16px}.mode-picker{padding-inline:16px}.import-brief{grid-template-columns:minmax(0,1fr);margin-inline:16px;padding:15px}.import-brief .brief-wide{grid-column:auto}.prompt-ready{align-items:stretch;flex-direction:column;padding:15px 16px}.prompt-ready .primary{width:100%}.prompt-review>summary,.prompt-review pre{padding-inline:16px}.result-box{width:calc(100% - 32px);margin-inline:16px}.import-actions{display:grid;grid-template-columns:1fr 1fr;padding-inline:16px}.import-feedback{grid-template-columns:1fr;margin-inline:16px}.import-feedback .secondary{width:100%}.existing-import>summary{padding-inline:16px}.existing-import>p{padding-inline:16px}.existing-import .dropzone{margin-inline:16px}.preview-mealprep>div{grid-template-columns:88px minmax(0,1fr)}
}
@media(max-width:430px){.import-actions{grid-template-columns:1fr}.step-heading{grid-template-columns:36px minmax(0,1fr);gap:10px}.step-heading>span{width:34px;height:34px}.cookware-card header{display:grid}.cookware-card header .secondary{justify-self:start}.cookware-status-row{display:grid}.cookware-status-row label{width:100%}.preview-metrics{display:grid;grid-template-columns:1fr 1fr}.preview-mealprep>div{grid-template-columns:1fr;gap:3px}}

/* v5.18 — composable recipes and production planning */
.composition-plan{display:grid;gap:16px}.composition-plan .serving-plan-head{align-items:flex-start}.composition-plan .serving-plan-head .secondary{flex:0 0 auto}
.composition-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-group{min-width:0;margin:0;padding:13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface2) 65%,var(--surface))}.choice-group legend{display:grid;gap:2px;padding:0 6px}.choice-group legend strong{font-size:.78rem}.choice-group legend small{color:var(--muted);font-size:.64rem;font-weight:650}.choice-group .serving-chips{display:flex;gap:7px;flex-wrap:wrap}.serving-chip.locked{cursor:default}.serving-chip.locked::after{content:"Required";align-self:center;margin-left:3px;color:var(--muted);font-size:.56rem;font-weight:850;text-transform:uppercase}
.composition-groups.compact{grid-template-columns:1fr}.composition-groups.compact .choice-group{padding:9px 10px}.composition-groups.compact legend small{display:none}
.production-resume{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;border-block:1px solid color-mix(in srgb,var(--green) 22%,var(--line));background:linear-gradient(90deg,var(--greenSoft),var(--surface))}.production-resume h3,.production-resume p{margin:0}.production-resume h3{font-size:1rem}.production-resume p:last-child{margin-top:3px;color:var(--muted);font-size:.72rem}.production-resume .card-actions{flex:0 0 auto}
.production-dialog{width:min(900px,calc(100% - 28px));overflow:hidden}.production-dialog form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(780px,calc(100dvh - 28px));padding:0}.production-dialog .card-head{padding:20px 22px 10px}.production-dialog .card-head h2{margin:2px 0 4px}.production-dialog .card-head p:last-child{margin:0;color:var(--muted);line-height:1.45}.production-form-scroll{min-height:0;overflow-y:auto;display:grid;align-content:start;gap:14px;padding:8px 22px 20px}.production-components{margin:0;padding:13px;border:1px solid var(--line);border-radius:14px}.production-components legend{padding:0 6px;font-weight:850}.production-components>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.production-components label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface2)}.production-components input{width:20px;height:20px}.production-components span,.production-components strong,.production-components small{display:block}.production-components small{margin-top:2px;color:var(--muted);font-size:.66rem;line-height:1.35}
.production-plan-summary{display:grid;gap:12px}.production-plan-summary>section{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.production-plan-summary h3{margin:0 0 10px;font-size:1rem}.production-selection p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.production-output{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.production-output:first-of-type{border-top:0}.production-output>div:first-child{display:grid;gap:2px}.production-output>div:first-child span{color:var(--muted);font-size:.7rem}.production-output-counts{display:grid;grid-template-columns:repeat(3,auto);gap:6px}.production-output-counts span{display:grid;place-items:center;min-width:54px;padding:6px 7px;border-radius:9px;background:var(--surface);color:var(--muted);font-size:.58rem;text-transform:uppercase}.production-output-counts b{color:var(--text);font-size:.86rem}.calibration-flag{grid-column:1/-1;color:#8b5b12;font-weight:750}.production-actions{margin:0!important;padding:14px 22px calc(14px + var(--safe-bottom))!important;border-top:1px solid var(--line);background:var(--surface)}
.freezer-builders{display:grid;gap:12px;margin-bottom:20px}.section-heading h2{margin:2px 0 0;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif}.freezer-builder{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr) auto;gap:18px;align-items:center;padding:18px;border:1px solid color-mix(in srgb,var(--accent-dark) 30%,var(--line));border-radius:17px;background:linear-gradient(110deg,var(--accent-soft),var(--surface));box-shadow:0 8px 24px rgba(62,48,37,.035)}.freezer-builder h2{margin:3px 0 5px;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif}.freezer-builder p:last-child{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.freezer-builder ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.freezer-builder li{display:flex;justify-content:space-between;gap:10px;padding:5px 7px;border-radius:8px;background:color-mix(in srgb,var(--surface) 72%,transparent);font-size:.68rem}.freezer-builder li.missing strong{color:var(--red)}.freezer-builder .card-actions{display:grid}.inventory-portion{display:flex;justify-content:space-between;gap:12px;margin:11px 0;padding:9px 10px;border-radius:10px;background:var(--surface2);font-size:.7rem}.inventory-portion span{color:var(--muted);text-align:right}
body.dark .calibration-flag{color:#f0c67d}
html.font-120 .composition-groups,html.font-130 .composition-groups{grid-template-columns:1fr}html.font-120 .freezer-builder,html.font-130 .freezer-builder{grid-template-columns:1fr}
@media(max-width:760px){.composition-plan .serving-plan-head{display:grid;gap:10px}.composition-plan .serving-plan-head .secondary{justify-self:start}.composition-groups{grid-template-columns:1fr}.choice-group .serving-chips{display:grid;grid-template-columns:1fr 1fr}.production-resume{display:grid;align-items:stretch;padding:14px}.production-resume .card-actions{display:grid;grid-template-columns:1fr 1fr}.production-resume .card-actions .danger{grid-column:1/-1}.production-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);margin:auto 6px 6px;border-radius:22px}.production-dialog form{height:calc(100dvh - 12px)}.production-dialog .card-head,.production-form-scroll,.production-actions{padding-inline:15px!important}.production-components>div{grid-template-columns:1fr}.production-output{grid-template-columns:1fr}.production-output-counts{justify-content:start}.freezer-builder{grid-template-columns:1fr;gap:12px}.freezer-builder .card-actions{grid-template-columns:1fr 1fr}.inventory-portion{display:grid}.inventory-portion span{text-align:left}}
@media(max-width:430px){.choice-group .serving-chips{grid-template-columns:1fr}.production-actions{display:grid;grid-template-columns:1fr}.freezer-builder .card-actions{grid-template-columns:1fr}}

/* v5.19 UX pass — fast cooking, optional inventory, and calmer hierarchy */
.hero{overflow:visible}
.hero-main{min-height:238px;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);overflow:hidden;border-radius:25px 25px 0 0}
.hero-copy{padding:26px 30px}.hero-copy h1{font-size:clamp(2.2rem,4.5vw,3.35rem);margin-bottom:10px}.hero-copy>p:not(.eyebrow){font-size:.94rem;line-height:1.52}.tags{margin-top:14px}
.hero-illustration{min-height:238px}
.quick-recipe-actions{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.1fr) minmax(128px,.9fr) minmax(92px,.7fr);gap:9px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quick-recipe-actions>button,.quick-recipe-actions>.action-wrap,.quick-recipe-actions>.action-wrap>button{width:100%;min-width:0}.quick-recipe-actions>.action-wrap>button{min-height:44px}
.quick-recipe-actions .action-menu{top:calc(100% + 7px);bottom:auto}.quick-recipe-actions .plan-action-wrap .action-menu{right:auto;left:0}
.composition-disclosure{border-bottom:1px solid var(--line);background:var(--surface)}
.composition-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;cursor:pointer;list-style:none}.composition-disclosure>summary::-webkit-details-marker{display:none}
.composition-disclosure>summary>span:first-child{display:grid;gap:3px;min-width:0}.composition-disclosure>summary small{color:var(--muted);font-size:.61rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.composition-disclosure>summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.composition-cue{flex:0 0 auto;color:var(--accent-dark);font-size:.72rem;font-weight:850}.composition-cue::after{content:" +"}.composition-disclosure[open] .composition-cue::after{content:" –"}
.composition-disclosure .composition-plan{border-width:1px 0 0}.composition-disclosure[open]>summary{background:var(--surface2)}
.component-dialog-scroll{overflow-x:hidden}.component-setup-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.component-setup-fields:has(> #freshPrepWindowWrap.hidden){grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.component-setup-fields .reheat-serving-picker{grid-template-columns:minmax(0,1fr);align-items:start}.component-setup-fields .reheat-serving-picker label,.component-setup-fields .reheat-serving-picker select{width:100%;min-width:0}.component-setup-fields .reheat-serving-picker>span{padding-bottom:0}
.reheat-source-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin:4px 0 10px;padding:14px;border:1px solid color-mix(in srgb,var(--accent-dark) 28%,var(--line));border-radius:15px;background:linear-gradient(105deg,var(--accent-soft),var(--surface))}.reheat-source-card>div:first-child{display:grid;gap:3px}.reheat-source-card .eyebrow{margin:0}.reheat-source-card small{color:var(--muted);font-size:.7rem;line-height:1.4}
.reheat-segment{display:flex;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.reheat-segment button{min-height:36px;padding:6px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:850}.reheat-segment button[aria-pressed="true"]{background:var(--accent-dark);color:#fff}.reheat-segment button:disabled{cursor:not-allowed;opacity:.5}
.reheat-physical-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.reheat-physical-choice{display:grid;gap:7px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.reheat-physical-choice>span{color:var(--muted);font-size:.66rem;font-weight:850}.reheat-physical-choice .reheat-segment button{flex:1}
.reheat-presets{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 9px}.reheat-presets>span{font-size:.72rem;font-weight:900}.reheat-presets>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.reheat-sections{display:grid;gap:10px}.reheat-section{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.reheat-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:var(--surface2)}.reheat-section>summary::-webkit-details-marker{display:none}.reheat-section>summary>span{display:grid;gap:3px;min-width:0}.reheat-section>summary strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1rem}.reheat-section>summary small{overflow-wrap:anywhere;color:var(--muted);font-size:.68rem;line-height:1.4}.reheat-section>summary b{flex:0 0 auto;color:var(--accent-dark);font-size:.64rem}.reheat-section>summary b::after{content:" +"}.reheat-section[open]>summary{border-bottom:1px solid var(--line)}.reheat-section[open]>summary b::after{content:" –"}
.dialog-choice-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:11px}.dialog-choice-group{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:12px}.dialog-choice-group legend{display:grid;gap:2px;padding:0 5px}.dialog-choice-group legend strong{font-size:.74rem}.dialog-choice-group legend small{color:var(--muted);font-size:.61rem;font-weight:650;line-height:1.35}.dialog-choice-group>div{display:grid;gap:6px;margin-top:3px}
.dialog-choice-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);text-align:left}.dialog-choice-option>span:last-child{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.dialog-choice-option strong{font-size:.72rem;line-height:1.3}.dialog-choice-option small{flex:0 0 auto;color:var(--muted);font-size:.55rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.dialog-choice-option.selected{border-color:color-mix(in srgb,var(--accent-dark) 38%,var(--line));background:var(--accent-soft);color:var(--accent-dark)}.dialog-choice-option:disabled{cursor:default;opacity:1}.dialog-choice-option:disabled:not(.selected){opacity:.48}
.component-all-ready.untracked{border-style:solid;background:var(--surface2)}
@media(max-width:760px){
  .hero{display:flex;flex-direction:column}.hero-main{order:1;border-radius:20px 20px 0 0}.hero-copy{padding:20px 18px 18px}.hero-copy h1{font-size:clamp(2rem,9vw,2.75rem)}.hero-illustration{min-height:0}
  .quick-recipe-actions{position:static;order:2;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px;box-shadow:none;backdrop-filter:none}.quick-recipe-actions .action-menu{top:calc(100% + 7px);bottom:auto}.quick-recipe-actions .plan-action-wrap .action-menu{left:0;right:auto}
  .composition-disclosure{order:3}.variant-box{order:4}.production-resume,.resume-cooking{order:5}.meta-strip{order:6}.taste-live{order:7}
  .composition-disclosure>summary{padding:13px 14px}.composition-disclosure>summary strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.composition-cue{align-self:flex-start}
  .reheat-source-card{grid-template-columns:1fr;align-items:stretch}.reheat-source-card .reheat-segment{width:100%}.reheat-source-card .reheat-segment button{flex:1}.reheat-physical-grid,.dialog-choice-groups{grid-template-columns:1fr}.dialog-choice-groups{padding:9px}.reheat-presets{align-items:flex-start;flex-direction:column}.reheat-presets>div{justify-content:flex-start}
}
@media(max-width:430px){.quick-recipe-actions{grid-template-columns:1fr 1fr}.quick-recipe-actions>button,.quick-recipe-actions>.action-wrap>button{padding-inline:8px}.reheat-physical-grid{grid-template-columns:1fr}.reheat-segment button{padding-inline:7px}}
@media print{.composition-disclosure,.quick-recipe-actions{display:none!important}}

/* v5.19 art and convenience pass — living cookbook selections */
.selection-art{display:block;width:48px;height:48px;flex:0 0 auto;overflow:visible;filter:saturate(.96) contrast(1.01)}
.mediterranean-hero{position:relative;isolation:isolate;overflow:hidden;background:#d9c9af}
.mediterranean-backdrop{position:absolute;inset:0;z-index:-2}.mediterranean-backdrop img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.9) brightness(.78);transform:scale(1.025)}
.mediterranean-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,rgba(35,32,25,.15),rgba(31,27,21,.5) 72%,rgba(24,21,17,.62));pointer-events:none}
.mediterranean-palette{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;width:100%;min-height:238px;padding:14px 16px;color:#fff;text-shadow:0 1px 4px rgba(26,20,15,.42)}
.palette-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.palette-heading span{font-size:.55rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.palette-heading strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:.94rem}
.palette-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:center}.palette-group{display:grid;grid-template-columns:minmax(52px,.72fr) minmax(0,1fr);align-items:center;gap:5px;min-height:41px;padding:4px 6px;border:1px solid rgba(255,255,255,.24);border-radius:11px;background:rgba(39,32,24,.38);box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(7px)}
.palette-group>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.palette-group>div{display:flex;align-items:center;justify-content:flex-end;min-width:0;padding-right:2px}.palette-group .selection-art{width:34px;height:34px;margin-left:-10px;filter:drop-shadow(0 2px 3px rgba(25,18,13,.26))}.palette-group .selection-art:first-child{margin-left:0}.palette-group b{display:grid;place-items:center;width:25px;height:25px;margin-left:-6px;border-radius:50%;background:#f5e6cd;color:#5d3d2d;text-shadow:none;font-size:.57rem}

.choice-group .serving-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.serving-chip.finish-toggle.has-selection-art,.serving-chip.has-selection-art{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);gap:9px;align-items:center;min-height:70px;width:100%;padding:8px 28px 8px 8px;border-style:solid;text-align:left;overflow:hidden}
.serving-chip-state{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent-dark);color:#fff;font-size:.66rem;line-height:1}
.serving-chip.has-selection-art .serving-chip-state{position:absolute;z-index:2;top:7px;right:7px;box-shadow:0 1px 3px rgba(31,25,19,.18)}
.serving-chip-art{width:50px;height:50px;transition:filter .16s,opacity .16s,transform .16s}.serving-chip-copy{display:grid;gap:3px;min-width:0}.serving-chip-copy strong{font-size:.69rem;line-height:1.28}.serving-chip-copy small{display:block;font-size:.55rem!important;line-height:1.2;text-transform:uppercase;letter-spacing:.045em}
.serving-chip.finish-toggle.has-selection-art:hover .serving-chip-art{transform:translateY(-1px) scale(1.025)}
.serving-chip.finish-toggle.has-selection-art.off{border-style:solid;background:color-mix(in srgb,var(--surface2) 72%,var(--surface));opacity:.78}.serving-chip.finish-toggle.has-selection-art.off .serving-chip-art{filter:saturate(.35) contrast(.92);opacity:.72}.serving-chip.finish-toggle.has-selection-art.off .serving-chip-state{background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.serving-chip.finish-toggle.has-selection-art[aria-pressed="true"]{border-color:color-mix(in srgb,var(--accent-dark) 52%,var(--line));background:linear-gradient(110deg,var(--accent-soft),var(--surface));box-shadow:0 6px 18px rgba(65,48,36,.07)}
.serving-chip.locked.has-selection-art::after{position:absolute;right:7px;bottom:5px;margin:0}

.dialog-choice-option.has-selection-art{position:relative;grid-template-columns:43px minmax(0,1fr);min-height:64px;padding:7px 27px 7px 7px}.dialog-choice-state{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.65rem}.dialog-choice-option.has-selection-art .dialog-choice-state{position:absolute;z-index:2;top:6px;right:6px}.dialog-choice-art{width:43px;height:43px}.dialog-choice-copy{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}.dialog-choice-option.selected .dialog-choice-state{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.dialog-choice-option:not(.selected) .dialog-choice-art{filter:saturate(.4);opacity:.7}

.quick-recipe-actions{grid-template-columns:minmax(285px,1.55fr) repeat(4,minmax(116px,.72fr));align-items:stretch}.quick-cook-cluster{display:grid;grid-template-columns:auto minmax(132px,1fr);gap:7px;padding:7px;border:1px solid color-mix(in srgb,var(--accent-dark) 28%,var(--line));border-radius:13px;background:linear-gradient(105deg,var(--accent-soft),var(--surface))}.quick-serving-picker{display:grid;grid-template-columns:repeat(3,32px);align-content:center;gap:4px}.quick-serving-picker>span{grid-column:1/-1;color:var(--muted);font-size:.51rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.quick-serving-picker button{display:grid;place-items:center;width:32px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.69rem;font-weight:900}.quick-serving-picker button[aria-pressed="true"]{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.quick-cook-button,.stock-freezer-action{display:grid!important;align-content:center;gap:2px;text-align:left}.quick-cook-button strong,.stock-freezer-action strong{font-size:.75rem}.quick-cook-button small,.stock-freezer-action small{font-size:.56rem;font-weight:700;line-height:1.25;opacity:.82}.active-production-actions{grid-template-columns:minmax(180px,1.25fr) repeat(3,minmax(130px,1fr))}
.ingredient-scale-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin:0 0 12px;padding:14px 17px;border:1px solid color-mix(in srgb,var(--accent-dark) 28%,var(--line));border-radius:15px;background:linear-gradient(110deg,var(--accent-soft),var(--surface))}.ingredient-scale-card>div:first-child{display:grid;gap:2px}.ingredient-scale-card .eyebrow{margin:0}.ingredient-scale-card strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.12rem}.ingredient-scale-card small{color:var(--muted);font-size:.67rem;line-height:1.35}.ingredient-scale-options{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.ingredient-scale-options .scale-btn{min-width:36px;height:36px;padding:0 8px}
.fresh-plan-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fresh-plan-glance>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.fresh-plan-glance span{color:var(--muted);font-size:.56rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.fresh-plan-glance strong{font-size:.75rem;line-height:1.25}.fresh-plan-note{margin:11px 0 0!important;color:var(--text)!important;font-size:.75rem!important}.fresh-plan-details{margin-top:9px}.fresh-plan-details summary{cursor:pointer;color:var(--accent-dark);font-size:.68rem;font-weight:850}.fresh-plan-details p{margin:7px 0 0!important;color:var(--muted)!important;font-size:.68rem!important;line-height:1.45}.production-resume .card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.production-resume .subtle-danger{background:transparent;color:var(--red);box-shadow:none}

/* Guided cooking is a control surface, not a text page. */
.cook{width:min(1120px,calc(100% - 24px));height:min(820px,calc(100dvh - 24px));border-radius:25px}.cook>header{padding:17px 21px}.cook>main{padding:16px 18px 20px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface2) 78%,var(--surface)),var(--surface));scrollbar-gutter:stable}.cook-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:0 0 13px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--greenSoft) 52%,var(--surface))}.cook-plan-primary{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.cook-plan-primary strong{font-size:.68rem}.cook-plan-primary span{padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--surface) 80%,transparent);color:var(--muted);font-size:.57rem;font-weight:800}.cook-plan details{position:relative}.cook-plan summary{cursor:pointer;color:var(--green2);font-size:.62rem;font-weight:900}.cook-plan details p{position:absolute;z-index:3;right:0;width:min(430px,80vw);margin:7px 0 0;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 14px 38px rgba(34,28,23,.16);color:var(--text);font-size:.66rem;line-height:1.45}
.cook-workspace{display:grid;grid-template-columns:180px minmax(0,1fr) 270px;grid-template-areas:"steps focus amounts";gap:13px;align-items:start}.cook-step-nav{grid-area:steps;display:grid;gap:6px}.cook-step-nav button{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:43px;padding:6px 8px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);text-align:left}.cook-step-nav button span{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:.61rem;font-weight:900}.cook-step-nav button b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.62rem;line-height:1.28}.cook-step-nav button.current{border-color:color-mix(in srgb,var(--accent-dark) 35%,var(--line));background:var(--accent-soft);color:var(--accent-dark)}.cook-step-nav button.current span{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.cook-step-nav button.done span{border-color:var(--green);background:var(--green);color:#fff}
.cook-focus-card{grid-area:focus;min-height:330px;padding:clamp(20px,3vw,34px);border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:0 12px 36px rgba(63,48,36,.055)}.cook-focus-card .cook-count{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}.cook-focus-card h3{max-width:760px;margin:8px 0 18px;font-size:clamp(1.65rem,2.7vw,2.35rem);line-height:1.1}.cook-instruction-lead{margin:0!important;font-size:clamp(1rem,1.5vw,1.16rem)!important;line-height:1.62!important}.cook-instruction-points{display:grid;gap:9px;margin:16px 0 0;padding:0;list-style:none}.cook-instruction-points li{display:grid;gap:3px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-left:3px solid color-mix(in srgb,var(--accent) 72%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--paper) 70%,var(--surface));font-size:.88rem;line-height:1.5}.cook-instruction-points li strong{color:var(--accent-dark);font-size:.68rem;letter-spacing:.02em}.cook-next-preview{display:grid;gap:2px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line)}.cook-next-preview span{color:var(--muted);font-size:.56rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.cook-next-preview strong{font-size:.7rem}
.cook-amounts-panel{grid-area:amounts;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 10px 26px rgba(63,48,36,.04)}.cook-amounts-panel>.eyebrow{display:block;margin:0 0 10px}.cook-amounts{margin:0;padding:0;border:0;gap:0}.cook-amt{grid-template-columns:minmax(68px,.62fr) minmax(0,1fr);gap:8px;padding:9px 0;border-top:1px solid var(--line);font-size:.74rem}.cook-amt:first-child{border-top:0}.cook-amt span:first-child{color:var(--accent-dark);font-weight:950}.cook-amounts-empty{margin:0;color:var(--muted);font-size:.69rem;line-height:1.4}.cook-workspace.complete{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"focus amounts"}.cook-workspace.complete .cook-focus-card{min-height:0}
.cook>footer{padding:13px 18px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 -8px 28px rgba(54,43,34,.04)}.cook>footer button{min-width:128px;min-height:46px}

@media(max-width:900px){.quick-recipe-actions{grid-template-columns:minmax(255px,1.45fr) repeat(2,minmax(125px,1fr));}.quick-recipe-actions>.action-wrap:last-child{grid-column:auto}.cook-workspace{grid-template-columns:145px minmax(0,1fr);grid-template-areas:"steps focus" "steps amounts"}.cook-amounts-panel{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px}.cook-amounts-panel>.eyebrow{margin:4px 0 0}.cook-workspace.complete{grid-template-columns:1fr;grid-template-areas:"focus" "amounts"}}
@media(max-width:760px){.mediterranean-hero{order:2}.mediterranean-palette{min-height:220px;padding:11px 12px}.palette-groups{gap:5px}.palette-group{min-height:38px}.palette-group .selection-art{width:31px;height:31px}.quick-recipe-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-cook-cluster{grid-column:1/-1}.active-production-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-scale-card{grid-template-columns:1fr}.ingredient-scale-options{justify-content:flex-start}.production-resume .card-actions{display:grid;grid-template-columns:1fr 1fr}.production-resume .card-actions .danger{grid-column:auto}.cook{width:calc(100% - 12px);height:calc(100dvh - 12px);border-radius:20px}.cook>header{padding:13px 14px}.cook>main{padding:11px}.cook-plan{grid-template-columns:1fr}.cook-plan details p{left:0;right:auto;width:100%}.cook-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"steps" "focus" "amounts"}.cook-step-nav{display:flex;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}.cook-step-nav button{flex:0 0 54px;display:grid;grid-template-columns:1fr;place-items:center;min-height:48px;padding:5px}.cook-step-nav button b{display:none}.cook-focus-card{min-height:0;padding:20px 17px}.cook-focus-card h3{font-size:clamp(1.45rem,7vw,2rem)}.cook-amounts-panel{display:block}.cook-workspace.complete{grid-template-columns:1fr;grid-template-areas:"focus" "amounts"}.cook>footer{padding:10px 12px}.cook>footer button{min-width:0;min-height:46px}}
@media(max-width:520px){.palette-group{grid-template-columns:minmax(48px,.72fr) minmax(0,1fr)}.choice-group .serving-chips{grid-template-columns:1fr}.quick-cook-cluster{grid-template-columns:1fr}.quick-serving-picker{grid-template-columns:repeat(3,1fr)}.quick-serving-picker button{width:100%}.quick-cook-button{text-align:center}.fresh-plan-glance{grid-template-columns:1fr}.ingredient-scale-options .scale-btn{flex:1 0 36px}.production-resume .card-actions{grid-template-columns:1fr}.cook-plan-primary{align-items:flex-start}.cook-plan-primary strong{width:100%}}

/* v5.19 — Taste Guide and physical freezer workflow */
.home-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:24px}.home-outcome-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:0 8px 24px rgba(62,48,37,.035)}.home-outcome-card>header{display:flex;align-items:center;gap:11px;padding:15px 16px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,var(--surface2),var(--surface))}.home-outcome-card.ready>header{background:linear-gradient(100deg,var(--accent-soft),var(--surface))}.home-outcome-card>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-dark);color:#fff;font-weight:900}.home-outcome-card h2{margin:1px 0 0;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.05rem}.home-outcome-card .eyebrow{margin:0;font-size:.58rem}.home-outcome-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left}.home-outcome-card>header+.home-outcome-row{border-top:0}.home-outcome-row:hover{background:var(--surface2)}.home-outcome-row span{display:grid;gap:2px;min-width:0}.home-outcome-row strong,.home-outcome-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-outcome-row small{color:var(--muted)}.home-outcome-row b{flex:0 0 auto;color:var(--accent-dark);font-size:.72rem}.home-outcome-empty{display:grid;gap:3px;padding:15px 16px;color:var(--muted)}.home-outcome-empty strong{color:var(--text)}.home-outcome-empty span{font-size:.72rem;line-height:1.4}
.taste-live{display:grid;gap:13px;padding:18px 20px;border-block:1px solid color-mix(in srgb,var(--accent-dark) 25%,var(--line));background:linear-gradient(110deg,color-mix(in srgb,var(--accent-soft) 78%,var(--surface)),var(--surface))}
.taste-live.error{border-color:#d49a44;background:#fff5df}.taste-live.loading{color:var(--muted)}
.taste-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.taste-live h3{margin:2px 0 0;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.18rem}.taste-live p{margin:0;color:var(--muted);line-height:1.45}
.taste-tier{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font:900 .68rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.04em}.tier-s{background:#dff1d1;color:#315b18}.tier-a{background:#e7f0db;color:#486229}.tier-b{background:#f4edcf;color:#725c16}.tier-c{background:#f8dfcd;color:#834c23}.tier-caution{background:#f7d8d4;color:#8a302a}
.taste-estimate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.taste-estimate-grid>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.taste-estimate-grid span{color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.taste-estimate-grid strong{font-size:.76rem;line-height:1.35}
.taste-suggestion{padding:10px 12px;border-left:4px solid var(--accent-dark);border-radius:9px;background:var(--surface)}.taste-rate{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}.taste-rate>span{font-size:.72rem;font-weight:850}.taste-rate>div{display:flex;gap:5px}.taste-rate button{min-width:40px}
.taste-context-label{justify-self:start;padding:5px 8px;border-radius:8px;background:var(--surface);color:var(--muted);font-size:.66rem;font-weight:800}
.taste-guide-dialog{width:min(1000px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow:hidden}.taste-guide-dialog>.dialog-scroll{display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;height:min(820px,calc(100dvh - 28px));padding:0}.taste-guide-dialog .card-head{padding:21px 22px 11px}.taste-guide-toolbar{display:flex;gap:7px;overflow-x:auto;padding:10px 22px;border-block:1px solid var(--line);background:var(--surface2);scrollbar-width:thin}.taste-guide-toolbar button{flex:0 0 auto}.taste-guide-toolbar button.active{border-color:var(--accent-dark);background:var(--accent-soft);color:var(--accent-dark)}.taste-guide-content{min-height:0;overflow-y:auto;padding:18px 22px}.taste-guide-dialog>.dialog-actions,.taste-guide-dialog>.dialog-scroll>.dialog-actions{margin:0;padding:14px 22px calc(14px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface)}
.taste-pairing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.taste-pairing{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid var(--line);border-radius:15px;background:var(--surface2)}.taste-pairing header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.taste-pairing header>div{display:flex;align-items:center;gap:8px}.taste-pairing h3{margin:0;font-size:.96rem}.taste-rank{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--accent-dark);color:#fff;font-size:.7rem;font-weight:900}.taste-favorite{flex:0 0 auto;color:var(--muted)}.taste-favorite.on{color:#b63236;background:#f8e1df}.taste-composition{margin:12px 0 8px!important;color:var(--text)!important;font-weight:800}.taste-pairing p{margin:0 0 10px;color:var(--muted);font-size:.76rem;line-height:1.45}.taste-meta{display:flex;gap:6px;flex-wrap:wrap;margin:auto 0 12px}.taste-meta span{padding:4px 6px;border-radius:7px;background:var(--surface);color:var(--muted);font-size:.6rem;font-weight:750}.taste-personal{padding:8px;border-radius:9px;background:var(--accent-soft)}.taste-history-actions{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}.taste-history{display:grid;gap:9px;margin:0;padding:0;list-style:none}.taste-history li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.taste-history span{color:var(--muted);font-size:.66rem}.taste-history p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.76rem}
.inventory-form-row{display:grid;grid-template-columns:2fr 1fr;gap:10px}.inventory-form-row label{display:grid;gap:6px;font-weight:800}
.freeze-wave-plan{display:grid;gap:9px}.freeze-wave-plan>p{margin:0;color:var(--muted)}.freeze-wave-plan article{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.freeze-wave-plan header{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft)}.freeze-wave-plan header span{color:var(--muted);font-size:.68rem}.freeze-wave-plan ul{display:grid;gap:6px;margin:0;padding:11px 12px;list-style:none}.freeze-wave-plan li{font-size:.75rem}.freeze-wave-plan li b{display:inline-grid;place-items:center;min-width:25px;height:22px;margin-right:5px;border-radius:7px;background:var(--surface2)}
.freezing-wip{display:grid;gap:8px}.freezing-wip>h3{margin-bottom:2px}.freezing-wip article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #7ba1c5;border-radius:12px;background:#edf6ff}.freezing-wip article>div{display:grid;gap:2px}.freezing-wip article span{color:var(--muted);font-size:.68rem}.freezing-wip article button{flex:0 0 auto}
body.dark .taste-live.error{background:#49361b}body.dark .tier-s,body.dark .tier-a{background:#2d4223;color:#dcefd0}body.dark .tier-b{background:#433b1e;color:#f1e2a6}body.dark .tier-c{background:#482f20;color:#f4c8a8}body.dark .tier-caution{background:#4a2826;color:#f3bbb6}body.dark .freezing-wip article{background:#1f3345}
@media(max-width:760px){.home-outcomes{grid-template-columns:1fr}.taste-live{padding:15px 14px}.taste-live-head{display:grid}.taste-live-head button{justify-self:start}.taste-estimate-grid{grid-template-columns:1fr}.taste-rate{align-items:flex-start;flex-direction:column}.taste-guide-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);margin:auto 6px 6px;border-radius:22px}.taste-guide-dialog>.dialog-scroll{height:calc(100dvh - 12px)}.taste-guide-dialog .card-head,.taste-guide-toolbar,.taste-guide-content,.taste-guide-dialog>.dialog-actions,.taste-guide-dialog>.dialog-scroll>.dialog-actions{padding-inline:15px}.taste-pairing-grid{grid-template-columns:1fr}.inventory-form-row{grid-template-columns:1fr}.freezing-wip article{align-items:stretch;flex-direction:column}.taste-history-actions{display:grid;grid-template-columns:1fr}}

/* v5.19 ux4 — freezer-first workflow launcher */
.workflow-launcher{border-block:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,var(--accent-soft));overflow:visible}.workflow-launcher-head{display:flex;align-items:end;justify-content:space-between;gap:22px;padding:17px 20px 13px}.workflow-launcher-head .eyebrow{margin:0 0 2px}.workflow-launcher-head h2{margin:0;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.32rem;line-height:1.15}.workflow-launcher-head>span{max-width:360px;color:var(--muted);font-size:.72rem;line-height:1.4;text-align:right}.workflow-primary-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:11px;padding:0 20px 11px}.workflow-card{position:relative;display:grid;grid-template-columns:126px minmax(0,1fr);min-width:0;min-height:178px;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-dark) 28%,var(--line));border-radius:18px;background:var(--surface);color:var(--text);text-align:left;box-shadow:0 9px 24px rgba(37,40,32,.07);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.workflow-card:hover{transform:translateY(-2px);border-color:var(--accent-dark);box-shadow:0 13px 30px rgba(37,40,32,.12)}.workflow-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-dark) 50%,transparent);outline-offset:2px}.freezer-workflow-card{background:linear-gradient(130deg,color-mix(in srgb,var(--accent-soft) 88%,var(--surface)),var(--surface) 67%)}.reheat-workflow-card{background:linear-gradient(130deg,color-mix(in srgb,#dfeee2 72%,var(--surface)),var(--surface) 70%)}.workflow-card-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:20px 18px 17px 8px}.workflow-kicker{margin-bottom:5px;color:var(--accent-dark);font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.workflow-card-copy>strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.48rem;line-height:1.05}.workflow-card-copy>small{max-width:360px;margin-top:7px;color:var(--muted);font-size:.72rem;font-weight:650;line-height:1.4}.workflow-facts{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-top:11px;color:var(--muted);font-size:.66rem;font-weight:750}.workflow-facts b{color:var(--text);font-size:.82rem}.workflow-facts i{font-style:normal;opacity:.5}.workflow-cta{margin-top:auto;padding-top:10px;color:var(--accent-dark);font-size:.72rem;font-weight:900}.workflow-art{position:relative;align-self:stretch;display:block;min-width:0;overflow:hidden;background:radial-gradient(circle at 45% 48%,rgba(255,255,255,.83),rgba(255,255,255,0) 68%)}.workflow-medallion{position:absolute;width:62px;height:62px;filter:drop-shadow(0 5px 7px rgba(44,42,31,.16))}.workflow-medallion:nth-child(1){left:13px;top:18px;z-index:4}.workflow-medallion:nth-child(2){left:55px;top:28px;z-index:3}.workflow-medallion:nth-child(3){left:21px;top:72px;z-index:5}.workflow-medallion:nth-child(4){left:63px;top:86px;z-index:2}.workflow-medallion:nth-child(5){left:42px;top:119px;width:48px;height:48px;z-index:6}.reheat-workflow-art:after{content:"";position:absolute;left:18px;right:10px;bottom:21px;height:44px;border-radius:8px 8px 40px 40px;background:linear-gradient(#e9e1ce,#c9bda1);opacity:.62}.fresh-workflow-row{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 20px 11px;min-height:82px;padding:8px 12px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.fresh-workflow-row>.workflow-art{height:64px}.fresh-workflow-row .workflow-medallion{width:47px;height:47px}.fresh-workflow-row .workflow-medallion:nth-child(1){left:2px;top:3px}.fresh-workflow-row .workflow-medallion:nth-child(2){left:34px;top:8px}.fresh-workflow-row .workflow-medallion:nth-child(3){left:67px;top:3px}.fresh-workflow-row .workflow-medallion:nth-child(n+4){display:none}.fresh-workflow-row>span:not(.workflow-art){display:grid;gap:3px}.fresh-workflow-row strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.06rem}.fresh-workflow-row small{color:var(--muted);font-size:.7rem;line-height:1.35}.fresh-workflow-row>button{min-height:46px}.workflow-launcher-tools{display:flex;justify-content:flex-end;gap:8px;padding:0 20px 15px}.workflow-launcher-tools>.action-wrap>button{min-height:42px}.workflow-resume-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;border-bottom:1px solid color-mix(in srgb,var(--accent-dark) 30%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--accent-soft) 88%,var(--surface)),var(--surface))}.workflow-resume-banner>div:first-child{display:grid;gap:2px;min-width:0}.workflow-resume-banner strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.workflow-resume-banner small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.resume-kicker{color:var(--accent-dark);font-size:.55rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.workflow-resume-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.workflow-resume-actions>button{min-height:40px}.resume-plan-menu{position:relative}.resume-plan-menu>summary{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;font-weight:900;list-style:none}.resume-plan-menu>summary::-webkit-details-marker{display:none}.resume-plan-menu>div{position:absolute;z-index:30;right:0;top:calc(100% + 6px);display:grid;min-width:155px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.resume-plan-menu>div button{border:0;background:transparent;text-align:left}.fresh-cook-dialog{width:min(680px,calc(100% - 24px))}.fresh-cook-dialog>form{padding:0}.fresh-cook-dialog .card-head{padding:23px 24px 14px}.fresh-cook-dialog .card-head h2{margin:2px 0 5px;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.7rem}.fresh-cook-dialog .card-head p:last-child{max-width:540px;margin:0;color:var(--muted);line-height:1.45}.fresh-cook-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 24px 22px}.fresh-cook-choices button{display:grid;justify-items:center;min-height:150px;padding:16px 10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--surface2));color:var(--text)}.fresh-cook-choices button:hover,.fresh-cook-choices button:focus-visible{border-color:var(--accent-dark);background:var(--accent-soft)}.fresh-cook-choices strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:2.2rem;line-height:1}.fresh-cook-choices span{font-weight:900}.fresh-cook-choices small{color:var(--muted);font-size:.65rem}.fresh-cook-track{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px calc(16px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--surface2)}.fresh-cook-track>div{display:grid;gap:2px}.fresh-cook-track span{color:var(--muted);font-size:.68rem;line-height:1.35}
body.dark .reheat-workflow-card{background:linear-gradient(130deg,#23382a,var(--surface) 72%)}body.dark .workflow-card{box-shadow:none}body.dark .workflow-art{background:radial-gradient(circle at 45% 48%,rgba(255,255,255,.08),rgba(255,255,255,0) 68%)}
.fresh-cook-choices{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.workflow-launcher-tools>.action-wrap>button,.workflow-resume-actions>button,.ingredient-scope-tabs .phase-filter,.ingredient-scope-bar>button{min-height:44px}.resume-plan-menu>summary{width:44px;height:44px}.resume-plan-menu>div button{min-height:44px}.ingredient-component-kicker{font-size:.62rem}.ingredient-component-title>small{font-size:.7rem}.ingredient-component-count{font-size:.65rem}
.generic-selection-art{display:block;border-radius:50%;background:radial-gradient(circle at 37% 34%,rgba(255,255,255,.94) 0 13%,transparent 14%),radial-gradient(ellipse at 42% 57%,#d78568 0 24%,transparent 25%),radial-gradient(ellipse at 63% 54%,#708d60 0 22%,transparent 23%),radial-gradient(circle at 52% 52%,#efe2c6 0 57%,#c9b48e 58% 64%,transparent 65%);filter:drop-shadow(0 5px 7px rgba(44,42,31,.13))}.generic-workflow-art .generic-selection-art{left:28px;top:47px;width:74px;height:74px}
@media(max-width:760px){.hero:has(.workflow-launcher) .hero-copy{order:1;padding:18px 17px 14px}.hero:has(.workflow-launcher) .hero-copy h1{margin-bottom:0;font-size:clamp(2rem,10vw,2.65rem)}.hero:has(.workflow-launcher) .hero-copy>p:not(.eyebrow),.hero:has(.workflow-launcher) .hero-copy .tags{display:none}.workflow-launcher{order:2}.mediterranean-hero{order:3}.hero:has(.workflow-launcher) .composition-disclosure{order:4}.hero:has(.workflow-launcher) .variant-box{order:5}.hero:has(.workflow-launcher) .meta-strip{order:6}.hero:has(.workflow-launcher) .taste-live{order:7}.mediterranean-palette{min-height:154px}.workflow-launcher-head{align-items:start;padding:14px 14px 11px}.workflow-launcher-head>span{display:none}.workflow-launcher-head h2{font-size:1.18rem}.workflow-primary-grid{grid-template-columns:1fr;gap:9px;padding:0 12px 9px}.workflow-card{grid-template-columns:105px minmax(0,1fr);min-height:150px}.workflow-card-copy{padding:16px 14px 14px 5px}.workflow-card-copy>strong{font-size:1.35rem}.workflow-medallion{width:54px;height:54px}.workflow-medallion:nth-child(1){left:6px;top:15px}.workflow-medallion:nth-child(2){left:43px;top:23px}.workflow-medallion:nth-child(3){left:11px;top:64px}.workflow-medallion:nth-child(4){left:49px;top:75px}.workflow-medallion:nth-child(5){display:none}.fresh-workflow-row{grid-template-columns:76px minmax(0,1fr);margin:0 12px 9px;padding:8px}.fresh-workflow-row>.workflow-art{height:58px}.fresh-workflow-row .workflow-medallion{width:42px;height:42px}.fresh-workflow-row .workflow-medallion:nth-child(1){left:0}.fresh-workflow-row .workflow-medallion:nth-child(2){left:27px}.fresh-workflow-row .workflow-medallion:nth-child(3){display:none}.fresh-workflow-row>button{grid-column:1/-1;width:100%}.workflow-launcher-tools{display:grid;grid-template-columns:1fr 1fr;padding:0 12px 12px}.workflow-launcher-tools>.action-wrap>button{width:100%}.workflow-launcher-tools .plan-action-wrap .action-menu{left:0;right:auto;width:min(260px,calc(100vw - 24px));max-height:min(60vh,360px);overflow:auto}.workflow-resume-banner{align-items:stretch;padding:11px 12px;flex-direction:column;gap:9px}.workflow-resume-actions{display:grid;grid-template-columns:1fr 1fr auto}.workflow-resume-actions>button{width:100%}.fresh-cook-dialog{width:calc(100% - 12px);margin:auto 6px 6px;border-radius:22px}.fresh-cook-dialog .card-head{padding:20px 17px 12px}.fresh-cook-choices{gap:7px;padding:8px 14px 17px}.fresh-cook-choices button{min-height:132px;padding:13px 5px}.fresh-cook-track{align-items:stretch;flex-direction:column;padding:14px}.fresh-cook-track button{width:100%}}
@media(max-width:760px){.workflow-launcher-tools .action-menu{width:min(260px,calc(100vw - 24px));max-height:min(60vh,360px);overflow:auto}.workflow-launcher-tools .action-menu button{min-height:44px}.workflow-launcher-tools .plan-action-wrap .action-menu{left:0;right:auto}.workflow-launcher-tools .action-wrap:not(.plan-action-wrap) .action-menu{left:auto;right:0}}

/* Freezer-aware Ingredients workspace */
.ingredient-run-summary{padding:21px;border-bottom:1px solid color-mix(in srgb,var(--accent-dark) 25%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--accent-soft) 76%,var(--surface)),var(--surface) 64%)}.ingredient-run-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.ingredient-run-heading .eyebrow{margin:0}.ingredient-run-heading h2{margin:2px 0 3px;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.55rem}.ingredient-run-heading p:last-child{margin:0;color:var(--muted);font-size:.76rem}.ingredient-target-options{display:flex;gap:6px}.ingredient-target-options button{display:grid;place-items:center;min-width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-weight:900}.ingredient-target-options button.active{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.ingredient-plan-locked{padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent-dark) 28%,var(--line));border-radius:999px;background:var(--surface);color:var(--accent-dark);font-size:.65rem;font-weight:850}.ingredient-run-metrics{display:grid;grid-template-columns:.8fr .8fr .95fr 1.45fr;gap:8px;margin-top:17px}.ingredient-run-metrics>div{display:grid;align-content:start;gap:4px;min-height:72px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 91%,transparent)}.ingredient-run-metrics span{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.ingredient-run-metrics strong{font-size:.76rem;line-height:1.3}.ingredient-run-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:13px}.ingredient-run-actions button{min-height:44px}.ingredient-scope-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.ingredient-scope-tabs{display:flex;gap:6px;flex-wrap:wrap}.ingredient-scope-tabs .phase-filter{min-height:42px}.ingredient-scope-bar>button{min-height:42px}.ingredient-run-section{padding:20px;background:var(--surface)}.ingredient-run-section+.ingredient-run-section{border-top:1px solid var(--line)}.ingredient-run-section>header{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 1px 13px}.ingredient-run-section>header .eyebrow{margin:0}.ingredient-run-section>header h2{margin:2px 0 0;font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.32rem}.ingredient-run-section>header>span{max-width:430px;color:var(--muted);font-size:.68rem;line-height:1.4;text-align:right}.ingredient-component-card{margin-top:9px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface2)}.ingredient-component-card[open]{background:var(--surface)}.ingredient-component-card>summary{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:78px;padding:10px 14px 10px 10px;cursor:pointer;list-style:none}.ingredient-component-card>summary::-webkit-details-marker{display:none}.ingredient-component-card>summary:after{content:"⌄";grid-column:3;grid-row:1;color:var(--muted);font-size:1rem;transform:rotate(-90deg)}.ingredient-component-card[open]>summary:after{transform:none}.ingredient-component-art{width:58px;height:58px;filter:drop-shadow(0 5px 7px rgba(44,42,31,.13))}.ingredient-component-title{display:grid;gap:2px;min-width:0}.ingredient-component-kicker{color:var(--accent-dark);font-size:.55rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.ingredient-component-title>strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.08rem;line-height:1.2}.ingredient-component-title>small{overflow:hidden;color:var(--muted);font-size:.65rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.ingredient-component-count{grid-column:3;grid-row:1;align-self:end;margin-bottom:5px;padding-right:22px;color:var(--muted);font-size:.6rem;font-weight:750}.ingredient-component-body{border-top:1px solid var(--line);padding:4px 16px 9px 84px}.ingredient-card-line{display:grid;grid-template-columns:minmax(120px,175px) minmax(0,1fr);gap:13px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.ingredient-card-line:first-child{border-top:0}.ingredient-card-line>strong{font-variant-numeric:tabular-nums;font-size:.78rem}.ingredient-card-line>span{display:grid;gap:2px}.ingredient-card-line b{font-size:.78rem}.ingredient-card-line small{color:var(--muted);font-size:.65rem;line-height:1.35}.ingredient-stocked-group{margin-top:12px;border:1px dashed color-mix(in srgb,var(--accent-dark) 35%,var(--line));border-radius:13px;background:var(--surface2)}.ingredient-stocked-group>summary{padding:12px 14px;cursor:pointer;color:var(--muted);font-size:.72rem;font-weight:850}.ingredient-stocked-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px}.ingredient-stocked-card{display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.ingredient-stocked-art{width:44px;height:44px}.ingredient-stocked-card span{display:grid;gap:2px}.ingredient-stocked-card strong{font-size:.72rem}.ingredient-stocked-card small{color:var(--muted);font-size:.61rem;line-height:1.3}.ingredient-context-empty{display:grid;justify-items:start;gap:3px;padding:19px;border:1px dashed var(--line);border-radius:13px;background:var(--surface2)}.ingredient-context-empty span{color:var(--muted);font-size:.72rem}.fresh-ingredient-section{background:color-mix(in srgb,#eff6ea 40%,var(--surface))}body.dark .fresh-ingredient-section{background:color-mix(in srgb,#253427 45%,var(--surface))}
@media(max-width:760px){.ingredient-run-summary{padding:16px 14px}.ingredient-run-heading{display:grid}.ingredient-target-options{width:100%}.ingredient-target-options button{flex:1}.ingredient-plan-locked{justify-self:start}.ingredient-run-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:13px}.ingredient-run-metrics>div{min-height:66px}.ingredient-run-actions{display:grid;grid-template-columns:1fr}.ingredient-run-actions button{width:100%}.ingredient-scope-bar{align-items:stretch;flex-direction:column;padding:10px 12px}.ingredient-scope-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.ingredient-scope-tabs .phase-filter:last-child{grid-column:1/-1}.ingredient-scope-bar>button{width:100%}.ingredient-run-section{padding:16px 12px}.ingredient-run-section>header{align-items:start;flex-direction:column;gap:4px;margin-inline:2px}.ingredient-run-section>header>span{text-align:left}.ingredient-component-card>summary{grid-template-columns:54px minmax(0,1fr) auto;min-height:72px;padding:8px 10px 8px 8px}.ingredient-component-art{width:52px;height:52px}.ingredient-component-count{display:none}.ingredient-component-title>small{white-space:normal}.ingredient-component-body{padding:3px 12px 8px}.ingredient-card-line{grid-template-columns:1fr;gap:2px;padding:9px 2px}.ingredient-card-line>strong{font-size:.82rem}.ingredient-stocked-group>div{grid-template-columns:1fr}}

/* v5.19 ux5 — shopping is a purchasing checklist, not a pantry ledger. */
.shopping-summary{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px 16px;align-items:center;margin:0 0 22px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--accent-dark) 24%,var(--line));border-radius:16px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent-soft) 66%,var(--surface)),var(--surface) 68%)}
.shopping-summary-copy{display:grid;gap:3px;min-width:0}.shopping-summary-copy strong{font-family:ui-serif,"Iowan Old Style",Charter,Georgia,serif;font-size:1.08rem;line-height:1.2}.shopping-summary-copy span{color:var(--muted);font-size:.875rem;line-height:1.4}
.shopping-filters{display:inline-grid;grid-auto-flow:column;gap:3px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.shopping-filter{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.875rem;font-weight:850;white-space:normal;flex-wrap:wrap}.shopping-filter:hover{background:var(--surface2);color:var(--text)}.shopping-filter.active{background:var(--accent-dark);color:#fff;box-shadow:0 4px 11px color-mix(in srgb,var(--accent-dark) 17%,transparent)}
.shopping-filter strong{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);font-size:.75rem}.shopping-filter.active strong{background:rgba(255,255,255,.18)}
.shopping-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.shopping-list-actions button{min-height:44px}.shopping-list-actions button:disabled{opacity:.45}
.shopping-section{display:grid;gap:8px;margin-bottom:23px}.shopping-section h2{margin:0 0 2px;padding:0 2px;color:var(--muted);font-size:.75rem;letter-spacing:.11em;text-transform:uppercase}
.shopping-row{display:grid;grid-template:"check amount name coverage delete" auto "check amount name coverage delete" auto / 44px minmax(118px,158px) minmax(0,1fr) auto 44px;column-gap:12px;row-gap:2px;align-items:center;min-height:68px;padding:10px 11px;border:1px solid var(--line);border-radius:14px;background:var(--surface);opacity:1;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.shopping-row.buy:hover{border-color:color-mix(in srgb,var(--accent-dark) 28%,var(--line));box-shadow:0 7px 20px rgba(62,48,37,.045)}.shopping-row.covered{border-color:color-mix(in srgb,var(--accent-dark) 32%,var(--line));background:linear-gradient(105deg,color-mix(in srgb,var(--accent-soft) 72%,var(--surface)),var(--surface) 78%)}.shopping-row.done{background:color-mix(in srgb,var(--surface2) 60%,var(--surface))}
.shopping-row.checked{opacity:1}.shopping-row.checked strong,.shopping-row.checked .shopping-name{text-decoration:none}.shopping-row.done .shopping-name{text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--muted) 55%,transparent);color:var(--muted)}.shopping-row.covered .shopping-name{text-decoration:none;color:var(--text)}
.shopping-row .shopping-check{grid-area:check;display:grid;place-items:center;align-self:center;justify-self:center;width:44px;height:44px;margin:0;border-radius:10px}.shopping-row .shopping-check input{width:24px;height:24px;margin:0;accent-color:var(--accent-dark)}
.shopping-row .shopping-amount{grid-area:amount;display:grid;gap:2px;min-width:0;color:var(--text);font-size:1rem;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.2}.shopping-row.buy .shopping-amount{color:var(--green2)}.shopping-row.covered .shopping-amount{color:var(--accent-dark)}.shopping-row.done .shopping-amount{color:var(--muted)}.shopping-row .shopping-amount small{display:block;color:var(--muted);font-size:.75rem;font-weight:700;line-height:1.3}
.shopping-row .shopping-name{grid-area:name;min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:1rem;font-weight:800;line-height:1.25}.shopping-row .shopping-source{min-width:0;margin-top:3px;color:var(--muted);font-size:.75rem;font-weight:500;line-height:1.35}
.shopping-row .shopping-coverage{grid-area:coverage;justify-self:end;min-height:44px;max-width:220px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--muted);font-size:.875rem;font-weight:850;line-height:1.2;text-align:center;white-space:normal}.shopping-row.buy .shopping-coverage:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:var(--greenSoft);color:var(--green2)}.shopping-row.covered .shopping-coverage{border-color:color-mix(in srgb,var(--accent-dark) 32%,var(--line));background:var(--surface);color:var(--accent-dark)}
.shopping-row .shopping-delete{grid-area:delete;align-self:center;justify-self:end;width:40px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:11px}.shopping-row .shopping-check:has(input:focus-visible),.shopping-row :is(.shopping-coverage,.shopping-delete):focus-visible,.shopping-filter:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-dark) 38%,transparent);outline-offset:2px}
html.font-120 .shopping-summary,html.font-130 .shopping-summary{grid-template-columns:1fr}html.font-120 .shopping-filters,html.font-130 .shopping-filters{justify-self:start}html.font-120 .shopping-list-actions,html.font-130 .shopping-list-actions{justify-content:start}
@media(max-width:760px){.shopping-summary{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:18px;padding:14px}.shopping-filters{grid-auto-flow:initial;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.shopping-filter{min-width:0;min-height:58px;padding-inline:6px;flex-direction:column;gap:4px}.shopping-list-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.shopping-list-actions button{width:100%;min-height:44px}.shopping-section{gap:7px;margin-bottom:20px}.shopping-section h2{padding-left:3px}.shopping-row{grid-template:"check name name delete" auto "check name name delete" auto "amount amount coverage coverage" auto / 44px minmax(70px,.55fr) minmax(0,1fr) 44px;column-gap:9px;row-gap:3px;min-height:0;padding:10px}.shopping-row .shopping-check{align-self:start}.shopping-row .shopping-name{align-self:end;padding-top:2px;font-size:1rem}.shopping-row .shopping-amount{align-self:center;margin-top:7px;padding-left:2px;font-size:1rem}.shopping-row .shopping-coverage{align-self:center;justify-self:end;max-width:100%;min-height:44px;margin-top:7px;padding-inline:10px}.shopping-row .shopping-delete{align-self:start}}
@media(max-width:430px){.shopping-summary{padding:12px}.shopping-filter{gap:3px;padding-inline:4px;font-size:.875rem}.shopping-filter strong{min-width:17px;height:17px;padding-inline:4px}.shopping-row{column-gap:7px;padding:9px}.shopping-row .shopping-coverage{font-size:.875rem}}
@media print{.shopping-summary,.shopping-coverage,.shopping-delete{display:none!important}.shopping-row{grid-template-columns:28px 120px minmax(0,1fr);border:0;border-bottom:1px solid #ddd;border-radius:0;background:#fff!important;box-shadow:none!important}}

.shopping-review-note{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);font-size:.875rem;line-height:1.5}
@media(max-width:760px){html.font-120 .shopping-filters,html.font-130 .shopping-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){#shoppingView .heading{flex-direction:column;align-items:stretch;gap:12px}#shoppingView .heading h1{margin-bottom:0}.shopping-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#mobileNav button{min-width:0;overflow-wrap:anywhere;white-space:normal}}

/* ux6: readable controls, calm empty states, and bounded dialogs. */
.home-outcomes:empty{display:none}.home-outcomes:has(>.home-outcome-card:only-child){grid-template-columns:1fr}
.home-helper{grid-column:1/-1;margin:0;padding:13px 16px;border-left:3px solid var(--accent-dark);background:var(--surface);color:var(--muted);font-size:.875rem;line-height:1.5}.home-helper strong{color:var(--text)}
.home-outcome-row strong,.home-outcome-row small{white-space:normal;overflow:visible}.home-outcome-row small,.home-outcome-row b{font-size:.8rem}.home-outcome-card .eyebrow{font-size:.72rem}
.shopping-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.shopping-row.covered .shopping-name{text-decoration:line-through;color:var(--muted)}
.import-preferences{margin:18px 0;border-block:1px solid var(--line)}.import-preferences>summary{padding:16px 0;font-weight:700;cursor:pointer}.import-preferences .import-brief{margin-top:0}.prompt-review>small{display:block;margin:12px 0;color:var(--muted)}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-grid section{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.guide-grid h2{margin-top:0}.guide-grid p{line-height:1.65}.guide-grid summary{cursor:pointer;font-weight:700;padding-block:10px}
.taste-guide-dialog>.dialog-scroll{max-height:none}.taste-guide-dialog .card-head{margin:0}.taste-guide-toolbar button,.taste-rate button,.taste-favorite{min-height:44px;min-width:44px}.taste-meta,.taste-context-label,.taste-rank{font-size:.8rem}.taste-details{margin-top:14px}.taste-details>summary{font-weight:700;cursor:pointer;padding-block:10px}.taste-estimate-grid{margin-top:10px}.meal-metric>span,.macro-legend,.meal-part small{font-size:.8rem}.macro-caption{display:block;margin-bottom:8px;font-size:.8rem;color:var(--muted)}
input[readonly]{background:var(--surface2);color:var(--muted)}
@media(max-width:1000px){#sidebar{visibility:hidden}#sidebar.open{visibility:visible}.mobile-app-nav .mobile-nav-item small{font-size:.75rem}}
@media(max-width:760px){.guide-grid{grid-template-columns:1fr}.guide-grid section{padding:18px}.taste-guide-dialog>.dialog-scroll{height:calc(100dvh - 12px)}.taste-guide-dialog .card-head{padding-top:15px}.taste-guide-toolbar{padding-block:8px}}

#tasteGuideDialog{width:min(1000px,calc(100% - 24px));max-width:calc(100% - 24px);height:min(820px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);margin:auto}#tasteGuideDialog>.dialog-scroll{height:100%;max-height:100%}#homeView>.heading>button{white-space:nowrap;font-size:.85rem;padding-inline:16px}@media(max-width:760px){#tasteGuideDialog{width:calc(100% - 12px);max-width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}}

.hero h1,.heading h1{overflow-wrap:anywhere}.serving-chip-copy{min-width:0;overflow-wrap:anywhere}
/* ux7: one tray plan, readable at every screen size. */
#productionDialog{width:min(900px,calc(100% - 24px));max-width:calc(100% - 24px);height:min(820px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);margin:auto}#productionDialog form{height:100%;min-width:0;max-width:100%}.production-form-scroll,.production-plan-summary{min-width:0}.production-dialog .card-head>div{min-width:0}.production-dialog .card-head h2{overflow-wrap:anywhere}.production-dialog .card-head>.icon{flex-shrink:0}
.tray-inventory{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);margin:8px 0 20px}
.tray-inventory p{margin:0 0 14px;line-height:1.5;font-size:.875rem;color:var(--muted)}.tray-inventory p:last-child{margin:14px 0 0}.tray-inventory strong{color:var(--text)}
.tray-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tray-counts label{min-width:0;font-size:.875rem;line-height:1.5}.tray-counts input{width:100%;min-height:44px;margin-top:6px}
.optimized-trays{margin-top:20px}.optimized-trays>h3{margin-bottom:8px}.optimized-trays p{line-height:1.6}.tray-cycle{padding:18px;margin:16px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.tray-cycle h4{font-size:1.05rem;margin:0 0 8px}.tray-cycle>p{margin:0 0 16px;color:var(--muted);font-size:.875rem}
.tray-allocation{padding:12px 0;border-top:1px solid var(--line)}.tray-allocation>strong{font-size:.95rem}.tray-allocation ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:7px}.tray-allocation li{line-height:1.5;font-size:.9rem;overflow-wrap:anywhere}.tray-allocation li b{font-variant-numeric:tabular-nums}.tray-allocation li span,.tray-unused{color:var(--muted)}
.tray-buying{margin-top:16px;border-top:1px solid var(--line)}.tray-buying summary{padding:16px 0;cursor:pointer;font-weight:700;line-height:1.5}.tray-comparison{max-width:100%;overflow-x:auto}.tray-comparison table{width:100%;border-collapse:collapse;font-size:.875rem}.tray-comparison th,.tray-comparison td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}.tray-comparison th{font-weight:700}.recipe-time-note{font-size:.875rem;line-height:1.65;color:var(--muted);margin:12px 0 20px}
@media(max-width:520px){.tray-counts{grid-template-columns:1fr;gap:10px}.tray-counts label{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:12px;align-items:center}.tray-counts input{margin:0}.tray-inventory,.tray-cycle{padding:14px}.tray-comparison th,.tray-comparison td{padding-inline:5px}}
@media(max-width:760px){#productionDialog{width:calc(100% - 12px);max-width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)}}
@media(max-width:380px){.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.tabs .tab{width:auto;min-width:0;white-space:normal;padding-inline:6px}.meal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
