:root{--bg:#f3f5f0;--bg-warm:#eef1eb;--surface:#ffffffd6;--surface-strong:#fff;--surface-muted:#f6f9f5f0;--surface-dark:#1a2622;--surface-dark-soft:#1a2622f0;--line:#161e1a14;--line-strong:#161e1a24;--ink:#15201c;--ink-soft:#32413a;--muted:#67746d;--accent:#3e6758;--accent-strong:#24473b;--accent-soft:#dce7e0;--olive:#426f5d;--olive-soft:#e3eee7;--rose:#a85d4e;--rose-soft:#f2dcda;--sun:#eee6bf;--shadow-lg:0 24px 56px #1a221e14;--shadow-md:0 14px 30px #1a221e0f;--shadow-sm:0 8px 18px #1a221e0d;--radius-2xl:30px;--radius-xl:24px;--radius-lg:18px;--radius-md:16px;--radius-sm:12px;--font-display:"Space Grotesk", "Noto Sans KR", sans-serif;--font-body:"Noto Sans KR", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 12%, #b9d2c24d, transparent 24%), radial-gradient(circle at 86% 14%, #e7dcbf61, transparent 26%), linear-gradient(180deg, #f8faf7 0%, var(--bg) 54%, #eef2ed 100%);min-height:100vh;color:var(--ink);font-family:var(--font-body);margin:0;overflow-x:hidden}button,input,textarea{font:inherit}body:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#1b231e04 1px,#0000 1px),linear-gradient(90deg,#1b231e04 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:56px 56px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000059,#0000 82%);mask-image:linear-gradient(#00000059,#0000 82%)}a{color:inherit}.background-orb{z-index:0;filter:blur(28px);pointer-events:none;position:fixed}.orb-a{background:#7299831f;border-radius:50%;width:16rem;height:16rem;top:1rem;left:-5rem}.orb-b{background:#ded3ac2e;border-radius:42%;width:18rem;height:18rem;bottom:4rem;right:-6rem}.background-grid{display:none}.page-shell{z-index:1;max-width:1280px;margin:0 auto;padding:32px 22px 56px;position:relative}.site-footer{z-index:1;padding:0 22px 32px;position:relative}.site-footer-inner{border-top:1px solid var(--line);max-width:1280px;color:var(--muted);justify-content:space-between;align-items:center;gap:18px;margin:0 auto;padding:20px 0 0;display:flex}.site-footer strong{color:var(--ink);font-size:.95rem;display:block}.site-footer p{margin:6px 0 0;font-size:.88rem}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:.88rem;font-weight:700;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--accent-strong)}.policy-shell{z-index:1;max-width:920px;margin:0 auto;padding:34px 22px 56px;position:relative}.policy-panel{border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#ffffffe6;margin-top:18px;padding:34px}.policy-panel h1,.policy-panel h2{font-family:var(--font-display);letter-spacing:0;margin:0}.policy-panel h1{margin-top:10px;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.policy-panel h2{font-size:1.08rem;line-height:1.35}.policy-panel section{margin-top:26px}.policy-panel p{color:var(--ink-soft);margin:10px 0 0;line-height:1.75}.policy-updated{color:var(--muted);font-weight:700}.hero,.app-grid{gap:18px;display:grid}.hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);margin-bottom:18px}.hero-copy,.hero-side,.panel{border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hero-copy:after,.hero-side:after,.panel:after{content:"";border-radius:inherit;border:1px solid var(--line);pointer-events:none;position:absolute;inset:0}.hero-copy{color:var(--ink);background:radial-gradient(circle at 100% 0,#c8d9cfa6,#0000 30%),linear-gradient(145deg,#fffffff5 0%,#f6f9f5f0 100%);padding:34px}.hero-copy:before{content:"";background:linear-gradient(90deg, var(--accent) 0%, #7ba290 52%, #d7c9a2 100%);width:100%;height:6px;position:absolute;top:0;left:0}.hero-copy-top,.hero-side-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow,.section-label,.hero-tag,.summary-label,.group-label,.results-overline,.board-category,.section-caption,.legend-item{letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:.77rem;font-weight:700;display:inline-flex}.hero-count-pill{color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;background:#3e675814;border:1px solid #3e675824;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-size:.78rem;font-weight:700;display:inline-flex}.hero h1,.hero h2,.panel h3,.recipe-title,.restock-panel h4{font-family:var(--font-display);letter-spacing:-.06em;margin:0;line-height:1.02}.hero h1{max-width:10ch;margin-top:16px;font-size:clamp(3rem,6vw,5.3rem)}.hero h2{color:var(--ink);margin-top:18px;font-size:clamp(2rem,4vw,3rem)}.hero-text,#heroSubtitle,.mini-caption,.question-subtitle,.question-description,.recipe-summary,.recipe-why,.recipe-tip,.recipe-note,.results-state,.results-aside p,.restock-panel p,.summary-card p,.board-status,.question-status{line-height:1.72}.hero-text{max-width:42rem;color:var(--ink-soft);margin:18px 0 0;font-size:1.06rem}.hero-feature-list{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.feature-pill{color:var(--ink-soft);background:#ffffffd1;border:1px solid #161e1a14;border-radius:999px;align-items:center;padding:10px 13px;font-size:.92rem;display:inline-flex}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.metric-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border:1px solid #161e1a14;border-radius:20px;padding:18px}.metric-card strong{font-family:var(--font-display);letter-spacing:-.05em;font-size:1.45rem;display:block}.metric-card span{color:var(--muted);margin-top:6px;font-size:.93rem;display:block}.hero-side,.panel{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffa3}.hero-tag,.section-label,.results-overline{color:var(--accent-strong)}.hero-tag{color:#f0f7f3;background:#ffffff1a;border-radius:999px;padding:10px 14px}.hero-percent{text-align:right}.hero-percent strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:1.7rem;line-height:1;display:block}.hero-percent span{color:#f6f9f6b8;margin-top:3px;font-size:.88rem;display:block}#heroSubtitle,.mini-caption,.results-aside p,.summary-card p,.restock-panel p,.board-status{color:var(--muted)}.hero-side #heroSubtitle{color:#f6f9f6c7}.progress-card{border-radius:var(--radius-lg);background:#ffffff14;border:1px solid #ffffff1a;margin-top:26px;padding:18px}.progress-track{background:#ffffff1f;border-radius:999px;width:100%;height:14px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#9cc3b0 0%,#f0e2b2 48%,#f4c17f 100%);width:0;height:100%;transition:width .22s;display:block}.progress-meta{color:#f6f9f6c2;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;font-size:.92rem;display:flex}#heroHint{text-align:right}.app-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.panel h3{margin-top:6px;font-size:1.55rem}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.mini-caption{text-align:right;font-size:.92rem}.question-card{border-radius:var(--radius-xl);min-height:300px;box-shadow:var(--shadow-sm);background:radial-gradient(circle at 88% 18%,#bcd5c647,#0000 28%),linear-gradient(#fffffffa,#f7faf7f2);border:1px solid #181e1a0f;padding:28px;position:relative;overflow:hidden}.question-card:before{content:"";background:linear-gradient(#3e675814,#d6ccaa14);border-radius:28px;width:10rem;height:10rem;position:absolute;top:1.3rem;right:1.3rem;transform:rotate(18deg)}.question-topline{z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.question-index,.question-status,.meta-pill,.availability-badge,.match-badge,.meta-token,.ingredient-chip,.board-status-badge{border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.question-index{color:var(--muted);background:#181e1a0f;padding:9px 13px;font-size:.84rem}.question-status{color:var(--ink-soft);background:#fff9;padding:9px 13px;font-size:.82rem}.question-glyph{font-family:var(--font-display);color:#181e1a0a;pointer-events:none;font-size:9.5rem;font-weight:700;line-height:1;position:absolute;bottom:.2rem;right:1.4rem}.question-title{z-index:1;max-width:20rem;margin:18px 0 10px;font-size:clamp(2.35rem,3vw,3.3rem);position:relative}.question-subtitle,.question-description{z-index:1;max-width:34rem;margin:0;position:relative}.question-description{color:var(--ink-soft);margin-top:10px}.question-meta{z-index:1;flex-wrap:wrap;gap:10px;margin-top:18px;display:flex;position:relative}.meta-pill{color:var(--ink-soft);background:#ffffffc7;border:1px solid #181e1a0f;padding:9px 13px;font-size:.88rem}.answer-actions,.question-footer{gap:12px;display:grid}.answer-actions{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.question-footer{grid-template-columns:1fr 1.2fr;margin-top:12px}.answer-button,.ghost-button,.primary-button,.board-button,.recipe-card{transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}.answer-button,.ghost-button,.primary-button,.board-button{cursor:pointer;border:none}.answer-button:hover,.ghost-button:hover,.primary-button:hover,.board-button:hover,.recipe-card:hover{transform:translateY(-2px)}.answer-button{box-shadow:var(--shadow-sm);border-radius:18px;padding:17px 18px;font-size:1rem;font-weight:800}.ghost-button,.primary-button{border-radius:18px;padding:15px 18px;font-weight:800}.ghost-button{color:var(--ink);background:#ffffffd6;border:1px solid #181e1a14}.primary-button{background:linear-gradient(135deg, var(--accent) 0%, #4c7b69 52%, #29483d 100%);color:#f8fcfa;box-shadow:0 16px 24px #3e67582e}.ghost-button:disabled,.primary-button:disabled,.answer-button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.board-legend{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.legend-item{color:var(--ink-soft);background:#ffffffb8;border-radius:999px;padding:8px 10px}.legend-item.yes{background:var(--olive-soft);color:var(--olive)}.legend-item.no{background:var(--rose-soft);color:var(--rose)}.legend-item.unknown{color:#8c6724;background:#f7eeba}.legend-item.pending{background:#fffc}.ingredient-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.board-button{text-align:left;background:#ffffffdb;border:1px solid #181e1a0f;border-radius:20px;grid-template-columns:1fr auto;align-items:start;gap:12px;width:100%;padding:15px 16px;display:grid;box-shadow:inset 0 1px #ffffff73}.board-main{flex-direction:column;gap:6px;display:flex}.board-category{color:var(--muted);font-size:.7rem}.board-title{font-size:1.02rem;font-weight:800}.board-status-badge{color:var(--ink-soft);background:#ffffffbf;padding:8px 11px;font-size:.8rem}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.summary-card{background:#ffffffe0;border:1px solid #181e1a0f;border-radius:20px;padding:18px}.summary-label{color:var(--olive)}.results-overview{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:14px;display:grid}.results-state,.results-aside{background:#ffffffe6;border:1px solid #181e1a0f;border-radius:24px;padding:22px}.results-state{color:var(--ink-soft);font-size:1.08rem}.results-aside p{margin:10px 0 0}.results-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.recipe-card{box-shadow:var(--shadow-md);background:linear-gradient(#fffffffa,#f7faf7f2);border:1px solid #181e1a0f;border-radius:28px;flex-direction:column;grid-column:span 6;gap:14px;padding:24px;display:flex}.recipe-card.is-featured{color:#f8f4ed;background:radial-gradient(circle at 100% 0,#bed5c91f,#0000 28%),linear-gradient(145deg,#17231f 0%,#20302b 52%,#294039 100%);grid-column:span 6}.results-grid .recipe-card:nth-child(2),.results-grid .recipe-card:nth-child(3){grid-column:span 3}.results-grid .recipe-card:nth-child(2):last-child{grid-column:span 6}.results-grid .recipe-card.is-featured:only-child{grid-column:1/-1}.recipe-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recipe-title{margin-top:10px;font-size:1.68rem}.recipe-card.is-featured .recipe-title{font-size:clamp(1.9rem,3vw,2.6rem)}.match-badge,.availability-badge,.meta-token{padding:8px 11px;font-size:.84rem}.recipe-card.is-featured .match-badge,.recipe-card.is-featured .availability-badge{color:#fff3df;background:#ffffff1a}.recipe-card.is-featured .recipe-summary,.recipe-card.is-featured .recipe-why,.recipe-card.is-featured .recipe-tip,.recipe-card.is-featured .recipe-note,.recipe-card.is-featured .section-caption{color:#f8f4eddb}.recipe-meta{flex-wrap:wrap;gap:8px;display:flex}.meta-token{color:var(--ink);background:#181e1a0f}.recipe-card.is-featured .meta-token{color:#fff5e8;background:#ffffff1a}.recipe-section{flex-direction:column;gap:8px;display:flex}.section-caption{color:var(--muted)}.recipe-why,.recipe-tip,.recipe-note{margin:0}.ingredient-group{flex-direction:column;gap:8px;display:flex}.group-label{color:var(--ink-soft)}.chip-group{flex-wrap:wrap;gap:8px;display:flex}.ingredient-chip{border:1px solid #181e1a0f;padding:8px 11px;font-size:.86rem}.recipe-card.is-featured .ingredient-chip{border-color:#ffffff14}.recipe-card.is-featured .ingredient-chip.yes{color:#f5fbf7;background:#ddebe129}.recipe-card.is-featured .ingredient-chip.bonus{color:#fff1c9;background:#f8eeba24}.recipe-card.is-featured .ingredient-chip.missing{color:#ffe1d8;background:#f4dbd329}.recipe-details{border-top:1px solid #181e1a14;padding-top:12px}.recipe-details summary{cursor:pointer;padding-right:18px;font-weight:800;list-style:none;position:relative}.recipe-details summary:after{content:"+";position:absolute;top:0;right:0}.recipe-details[open] summary:after{content:"-"}.recipe-details summary::-webkit-details-marker{display:none}.recipe-steps{margin:12px 0 0;padding-left:18px;line-height:1.72}.restock-panel{background:radial-gradient(circle at 100% 0,#c3d6ca2e,#0000 24%),#ffffffeb;border:1px solid #181e1a0f;border-radius:24px;margin-top:18px;padding:20px}.restock-panel[hidden]{display:none}.restock-panel h4{font-size:1.25rem}.restock-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.restock-pill{background:#ffffffd6;border:1px solid #181e1a0f;border-radius:18px;padding:14px}.restock-pill strong{font-size:.95rem;display:block}.restock-pill span{color:var(--muted);margin-top:6px;font-size:.85rem;line-height:1.52;display:block}.hero-copy,.hero-side,.panel{animation:.7s both rise-in}.hero-side{animation-delay:60ms}.question-panel{animation-delay:.12s}.board-panel{animation-delay:.16s}.results-panel{animation-delay:.2s}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1180px){.hero,.app-grid,.results-overview{grid-template-columns:1fr}.results-grid .recipe-card,.results-grid .recipe-card.is-featured,.results-grid .recipe-card:nth-child(2),.results-grid .recipe-card:nth-child(3),.results-grid .recipe-card:nth-child(2):last-child{grid-column:span 6}.restock-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:860px){.page-shell{padding:18px 14px 36px}.hero-copy,.hero-side,.panel{border-radius:26px;padding:20px}.hero-metrics,.summary-grid,.question-footer,.restock-list,.ingredient-board,.answer-actions{grid-template-columns:1fr}.panel-head,.recipe-top,.hero-copy-top,.hero-side-head,.progress-meta{flex-direction:column;align-items:flex-start}.hero-percent,#heroHint,.mini-caption{text-align:left}.results-grid .recipe-card,.results-grid .recipe-card.is-featured,.results-grid .recipe-card:nth-child(2),.results-grid .recipe-card:nth-child(3),.results-grid .recipe-card:nth-child(2):last-child{grid-column:1/-1}.question-card{min-height:260px;padding:22px}.question-glyph{font-size:7rem;right:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-side,.panel,.answer-button,.ghost-button,.primary-button,.board-button,.recipe-card,.progress-track span{transition:none;animation:none}}:root{--bg:#fbf2e8;--bg-warm:#fff7f0;--surface:#ffffffe6;--surface-strong:#fff;--surface-muted:#fff8f3;--surface-dark:#4d70f4;--surface-dark-soft:#4062df;--line:#efb99242;--line-strong:#e48a5057;--ink:#2b241f;--ink-soft:#544940;--muted:#7b6f64;--accent:#f18f50;--accent-strong:#e07839;--accent-soft:#fff0e5;--olive:#5f8a72;--olive-soft:#edf7ef;--rose:#c67868;--rose-soft:#fff0ed;--sun:#fff1c9;--shadow-lg:0 14px 34px #77523614;--shadow-md:0 10px 22px #7752360f;--shadow-sm:0 6px 14px #7752360d;--font-display:"Noto Sans KR", sans-serif}body{background:radial-gradient(circle at 10% 10%,#ffd6b66b,#0000 24%),radial-gradient(circle at 90% 10%,#f8e4cba8,#0000 30%),linear-gradient(#fff8f1 0%,#fbf2e8 54%,#f8efe5 100%)}body:before{background:0 0}.orb-a{background:#ffc69a29;width:14rem;height:14rem;top:0;left:-5rem}.orb-b{background:#ffe7c957;width:15rem;height:15rem;bottom:2rem;right:-5rem}.page-shell{max-width:760px;padding:26px 16px 52px}.hero,.app-grid,.results-overview{grid-template-columns:1fr;gap:14px}.hero-copy,.hero-side,.panel{box-shadow:var(--shadow-lg);border-radius:28px}.hero-copy:after,.hero-side:after,.panel:after{border-color:var(--line)}.hero-copy{text-align:center;background:radial-gradient(circle at 100% 0,#ffdec685,#0000 28%),linear-gradient(#fffffff5,#fffaf5f0);padding:28px 24px 24px}.hero-copy:before{background:linear-gradient(90deg,#f5a067 0%,#f2874b 52%,#efbe98 100%);height:5px}.hero-copy-top{flex-wrap:wrap;justify-content:center;gap:10px}.eyebrow{color:var(--ink-soft)}.hero-count-pill{color:var(--accent-strong);background:#fff3ea;border-color:#e4783929}.hero h1{letter-spacing:-.05em;max-width:none;margin-top:14px;font-size:clamp(2.6rem,7.8vw,3.8rem)}.hero-text{max-width:34rem;color:var(--ink-soft);margin-left:auto;margin-right:auto}.hero-feature-list{justify-content:center}.feature-pill{color:var(--ink-soft);background:#fff;border-color:#efb99257}.hero-metrics{margin-top:24px}.metric-card{background:#fff;border-color:#efb99247;border-radius:18px}.hero-side{color:var(--ink);background:linear-gradient(#fff6f0fa,#fffffff0);padding:22px 22px 20px}.hero-side-head{align-items:center}.hero-tag{color:var(--accent-strong);background:#ffefe4}.hero-side h2,.hero-side #heroSubtitle,.hero-side .hero-percent strong,.hero-side .progress-meta{color:var(--ink)}.hero-side #heroSubtitle,.hero-side .hero-percent span,.hero-side .progress-meta{color:var(--muted)}.hero-percent strong{color:var(--accent-strong)}.progress-card{background:#fff;border-color:#efb99242;margin-top:20px}.progress-track{background:#f7ebe1}.progress-track span{background:linear-gradient(90deg,#ffb172 0%,#ff9254 56%,#f18145 100%)}.panel{background:#ffffffeb;padding:22px}.section-label,.results-overline{color:var(--accent-strong)}.mini-caption,#heroSubtitle,.results-aside p,.summary-card p,.restock-panel p,.board-status,.question-description,.question-subtitle,.recipe-summary,.recipe-why,.recipe-tip,.recipe-note,.results-state{color:var(--muted)}.question-card{background:radial-gradient(circle at 100% 0,#ffe0cc6b,#0000 28%),linear-gradient(#fffefe 0%,#fff8f3 100%);border-color:#efb99247;min-height:250px;padding:24px}.question-card:before{background:linear-gradient(#f18f501a,#f18f5005);width:7rem;height:7rem;top:1rem;right:1rem}.question-card.is-complete{background:radial-gradient(circle at 100% 0,#ffddc66b,#0000 28%),linear-gradient(#fffefe 0%,#fff8f3 100%)}.question-glyph{display:none}.question-index{color:var(--accent-strong);background:#fff1e6}.question-status,.meta-pill{color:var(--ink-soft);background:#fffaf6;border:1px solid #efb99238}.meta-pill.is-category{color:var(--accent-strong)}.answer-actions{gap:10px}.answer-button{box-shadow:none;border-radius:16px}.answer-button.yes{background:var(--olive-soft);color:#4e7e65}.answer-button.no{background:var(--rose-soft);color:var(--rose)}.answer-button.maybe{color:#8a6b2e;background:#fff3cf}.question-footer{grid-template-columns:1fr}.ghost-button{background:#fff;border-color:#efb99247}.primary-button{color:#fff;background:linear-gradient(135deg,#6f8cff 0%,#5c7ef9 52%,#4e6ee4 100%);box-shadow:0 12px 20px #4f6ce433}.board-legend{margin-bottom:12px}.legend-item{color:var(--ink-soft);background:#fff;border:1px solid #efb9923d}.legend-item.yes{background:var(--olive-soft)}.legend-item.no{background:var(--rose-soft)}.legend-item.unknown{background:#fff4d5}.ingredient-board{gap:8px}.board-button{box-shadow:none;background:#fff;border-color:#efb99238;border-radius:18px;padding:14px}.board-button.is-active{border-color:#e4783961;box-shadow:0 0 0 3px #f18f5014}.board-button.state-yes{background:#f3fbf4}.board-button.state-no{background:#fff4f1}.board-button.state-unknown{background:#fff7df}.board-status-badge{background:#fff8f3}.summary-card,.results-state,.results-aside,.restock-panel,.restock-pill{background:#fff;border-color:#efb9923d}.results-aside{background:linear-gradient(#fff8f3 0%,#fff 100%)}.recipe-card,.results-grid .recipe-card:nth-child(2),.results-grid .recipe-card:nth-child(3){box-shadow:var(--shadow-md);background:#fff;border-color:#efb9923d;border-radius:24px;grid-column:span 1}.recipe-card.is-featured,.results-grid .recipe-card.is-featured:only-child,.results-grid .recipe-card:nth-child(2):last-child{grid-column:1/-1}.recipe-card.is-featured{color:#fff;background:linear-gradient(135deg,#6f8cff 0%,#5b7df6 55%,#4765d4 100%)}.match-badge{color:var(--accent-strong);background:#fff2e8}.availability-badge{color:var(--ink-soft);background:#f7efe8}.recipe-card.is-featured .match-badge,.recipe-card.is-featured .availability-badge,.recipe-card.is-featured .meta-token{color:#fff;background:#ffffff2e}.recipe-summary{color:var(--ink-soft)}.recipe-card.is-featured .recipe-summary,.recipe-card.is-featured .recipe-why,.recipe-card.is-featured .recipe-tip,.recipe-card.is-featured .recipe-note,.recipe-card.is-featured .section-caption,.recipe-card.is-featured .group-label,.recipe-card.is-featured .recipe-steps{color:#ffffffeb}.meta-token{background:#faf5ef}.ingredient-chip{border-color:#efb99233}.ingredient-chip.yes{color:#4f7e66;background:#f3fbf4}.ingredient-chip.bonus{color:#8c6e31;background:#fff4d8}.recipe-card.is-featured .ingredient-chip{color:#fff;background:#ffffff29;border-color:#ffffff24}.recipe-details{border-top-color:#efb9923d}.recipe-card.is-featured .recipe-details{border-top-color:#ffffff29}@media (max-width:860px){.page-shell{padding:20px 14px 40px}.hero-copy,.hero-side,.panel{border-radius:24px;padding:18px}.hero-copy-top,.hero-side-head,.panel-head,.progress-meta{text-align:left;align-items:flex-start}.hero-copy{text-align:left}.hero-text{margin-left:0;margin-right:0}.hero-feature-list{justify-content:flex-start}.hero-metrics,.summary-grid,.ingredient-board,.answer-actions,.results-grid,.restock-list{grid-template-columns:1fr}.results-grid .recipe-card,.results-grid .recipe-card.is-featured,.results-grid .recipe-card:nth-child(2),.results-grid .recipe-card:nth-child(3),.results-grid .recipe-card:nth-child(2):last-child{grid-column:1/-1}.hero-percent,#heroHint,.mini-caption{text-align:left}}.page-shell{max-width:1060px}.selection-hero{grid-template-columns:minmax(0,1fr) 260px;gap:14px;margin-bottom:14px;display:grid}.selection-hero>div{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:radial-gradient(circle at 100% 0,#ffd8be85,#0000 30%),linear-gradient(#fffffff7,#fff9f4f0);border-radius:28px;position:relative;overflow:hidden}.selection-hero>div:first-child{padding:30px 26px}.selection-hero h1{max-width:11ch;font-family:var(--font-display);letter-spacing:-.07em;margin:12px 0 0;font-size:clamp(2.8rem,6vw,4.9rem);line-height:.98}.hero-count-card{color:#fff;flex-direction:column;justify-content:space-between;padding:24px;display:flex;background:linear-gradient(135deg,#6f8cff 0%,#5b7df6 55%,#4765d4 100%)!important}.hero-count-card span{letter-spacing:.06em;font-size:.86rem;font-weight:800}.hero-count-card strong{font-family:var(--font-display);letter-spacing:-.08em;margin-top:12px;font-size:3.3rem;line-height:1;display:block}.hero-count-card p{color:#ffffffd1;margin:20px 0 0;line-height:1.6}.selection-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.38fr);align-items:start;gap:14px;display:grid}.ingredient-picker-panel,.selected-panel{min-width:0}.ingredient-picker-head{align-items:center}.ingredient-search{flex-direction:column;gap:9px;margin-bottom:16px;display:flex}.ingredient-search span{color:var(--ink-soft);font-size:.9rem;font-weight:800}.ingredient-search input{width:100%;min-height:58px;color:var(--ink);background:#fffaf6;border:1px solid #efb99261;border-radius:20px;outline:none;padding:0 18px;font-size:1rem;box-shadow:inset 0 1px #ffffffb8}.ingredient-section-list{gap:12px;display:grid}.ingredient-category-card{background:linear-gradient(#fffefe 0%,#fff8f3 100%);border:1px solid #efb9923d;border-radius:24px;padding:18px}.category-head{gap:6px;margin-bottom:14px;display:grid}.category-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.category-head h4{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:1.18rem}.category-head p{color:var(--muted);margin:6px 0 0;font-size:.9rem;line-height:1.55}.category-title-row span{color:var(--accent-strong);background:#fff1e6;border-radius:999px;flex:none;padding:7px 10px;font-size:.82rem;font-weight:800}.ingredient-chip-grid{flex-wrap:wrap;gap:9px;display:flex}.selectable-ingredient-chip{min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #efb99252;border-radius:999px;align-items:center;gap:8px;padding:10px 13px 10px 10px;font-weight:800;transition:transform .17s,border-color .17s,background .17s,box-shadow .17s;display:inline-flex}.selectable-ingredient-chip:hover{border-color:#f18f507a;transform:translateY(-1px)}.selectable-ingredient-chip.is-selected{color:var(--accent-strong);background:linear-gradient(135deg,#fff2e8 0%,#ffe7d8 100%);border-color:#f18f50a3;box-shadow:0 9px 18px #f18f501f}.chip-mark{width:24px;height:24px;color:var(--accent-strong);background:#fff3ea;border-radius:999px;justify-content:center;align-items:center;font-size:.88rem;line-height:1;display:inline-flex}.ingredient-search-empty,.selected-empty-state{color:var(--muted);background:#fffaf6;border:1px dashed #f18f5061;border-radius:22px;padding:22px;line-height:1.62}.ingredient-search-empty strong,.selected-empty-state strong{color:var(--ink);display:block}.ingredient-search-empty span,.selected-empty-state p{margin:6px 0 0;display:block}.selected-panel{flex-direction:column;gap:16px;display:flex;position:sticky;top:16px}.selected-panel-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.selected-panel-top strong{color:var(--accent-strong);font-family:var(--font-display);letter-spacing:-.04em;background:#fff1e6;border-radius:999px;padding:9px 12px}.selected-pill-list{flex-wrap:wrap;gap:8px;display:flex}.selected-pill{color:#4a63c8;cursor:pointer;background:#f5f7ff;border:1px solid #4f6ce424;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:9px 11px 9px 13px;font-weight:800;display:inline-flex}.selected-pill span:last-child{background:#4f6ce41f;border-radius:999px;justify-content:center;align-items:center;width:19px;height:19px;display:inline-flex}.selected-actions{gap:9px;display:grid}.recommendation-cta{min-height:56px}.mobile-selection-bar{display:none}.results-panel{grid-column:1/-1}@media (max-width:900px){.selection-hero,.selection-layout{grid-template-columns:1fr}.selected-panel{position:static}}@media (max-width:860px){.page-shell{padding-bottom:128px}.selection-hero h1{max-width:9ch;font-size:clamp(2.55rem,13vw,3.7rem)}.selection-hero>div:first-child,.hero-count-card,.ingredient-category-card{padding:20px}.ingredient-picker-head{flex-direction:column;align-items:flex-start}.selectable-ingredient-chip{min-height:42px;padding-right:12px;font-size:.95rem}.mobile-selection-bar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #efb9926b;border-radius:22px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:12px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 18px 34px #7752362e}.mobile-selection-bar span{color:var(--muted);font-size:.78rem;font-weight:800;display:block}.mobile-selection-bar strong{font-family:var(--font-display);letter-spacing:-.06em;margin-top:2px;font-size:1.35rem;display:block}.mobile-clear-button{min-height:44px;color:var(--accent-strong);background:#fff3ea;border:0;border-radius:999px;padding:0 10px;font-size:.86rem;font-weight:900}.mobile-cta{white-space:nowrap;border-radius:999px;min-height:44px;padding:0 14px}}@media (max-width:430px){.page-shell{padding-left:12px;padding-right:12px}.selection-hero,.selection-layout,.ingredient-section-list{gap:12px}.hero-count-card strong{font-size:2.8rem}.ingredient-chip-grid,.selected-pill-list{gap:7px}.mobile-selection-bar{grid-template-columns:1fr auto}.mobile-clear-button{display:none}}.results-grid .recipe-card,.results-grid .recipe-card.is-featured,.results-grid .recipe-card.is-featured:only-child,.results-grid .recipe-card:nth-child(2),.results-grid .recipe-card:nth-child(3),.results-grid .recipe-card:nth-child(2):last-child{grid-column:span 1}.recipe-card{gap:15px;min-height:100%}.recipe-card.is-featured{background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 34%),linear-gradient(135deg,#5f7df6 0%,#4f6ee0 55%,#415fc5 100%)}.recipe-badge-row{flex-wrap:wrap;gap:7px;display:flex}.rank-badge{color:var(--ink-soft);background:#fff8f3;border-radius:999px;justify-content:center;align-items:center;padding:8px 11px;font-size:.84rem;font-weight:800;display:inline-flex}.recipe-card.is-featured .rank-badge{color:#fff;background:#ffffff2e}.recipe-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.recipe-quick-grid div,.detail-meta-grid div{background:#fff8f3;border:1px solid #efb99238;border-radius:18px;padding:13px}.recipe-quick-grid span,.detail-meta-grid span{color:var(--muted);font-size:.78rem;font-weight:800;display:block}.recipe-quick-grid strong,.detail-meta-grid strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.04em;margin-top:4px;font-size:1.05rem;display:block}.recipe-card.is-featured .recipe-quick-grid div{background:#ffffff29;border-color:#ffffff24}.recipe-card.is-featured .recipe-quick-grid span,.recipe-card.is-featured .recipe-quick-grid strong{color:#fff}.recipe-card-note{min-height:4.9em;color:var(--muted);margin:0;font-size:.92rem;line-height:1.65}.recipe-card.is-featured .recipe-card-note{color:#ffffffdb}.ingredient-chip.missing{color:#8c6e31;background:#fff7df}.ingredient-chip.is-empty{opacity:.78}.recipe-view-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6f8cff 0%,#5c7ef9 52%,#4e6ee4 100%);border:0;border-radius:18px;justify-content:center;align-items:center;width:100%;min-height:50px;margin-top:auto;font-weight:900;text-decoration:none;transition:transform .17s,box-shadow .17s;display:inline-flex;box-shadow:0 12px 20px #4f6ce42e}.recipe-view-button:hover{transform:translateY(-1px);box-shadow:0 16px 26px #4f6ce438}.recipe-card.is-featured .recipe-view-button{color:#455fd1;box-shadow:none;background:#fff}.home-recipe-preview{border:1px solid var(--line);box-shadow:var(--shadow-md);background:#ffffffeb;border-radius:28px;margin-top:18px;padding:22px}.home-recipe-preview-head{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.home-recipe-preview-head h2{color:var(--ink);font-family:var(--font-display);letter-spacing:0;margin:4px 0 0;font-size:clamp(1.5rem,2.4vw,2.1rem)}.home-recipe-preview-head a{color:var(--accent-strong);flex:none;font-weight:900;text-decoration:none}.home-recipe-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.home-recipe-preview-card{color:var(--ink);background:#fff;border:1px solid #efb99247;border-radius:22px;text-decoration:none;transition:transform .17s,box-shadow .17s;overflow:hidden;box-shadow:0 12px 28px #56402d14}.home-recipe-preview-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #56402d21}.home-recipe-preview-image{aspect-ratio:16/9;background:#fff4e6;position:relative;overflow:hidden}.home-recipe-preview-image img{object-fit:cover;width:100%;height:100%;display:block}.home-recipe-preview-image span{background:#ffffffe6;border-radius:16px;place-items:center;width:42px;height:42px;font-size:1.45rem;display:grid;position:absolute;bottom:10px;right:10px;box-shadow:0 8px 18px #1f170f21}.home-recipe-preview-body{gap:7px;padding:14px;display:grid}.home-recipe-preview-body strong{color:var(--ink);font-family:var(--font-display);letter-spacing:0;font-size:1.22rem}.home-recipe-preview-body p{min-height:3.3em;color:var(--muted);margin:0;font-size:.9rem;line-height:1.55}.home-recipe-preview-body em{color:var(--accent-strong);font-size:.86rem;font-style:normal;font-weight:900}.recipe-detail-shell{z-index:1;max-width:1060px;margin:0 auto;padding:28px 16px 64px;position:relative}.back-link{color:var(--accent-strong);align-items:center;margin-bottom:14px;font-weight:900;text-decoration:none;display:inline-flex}.detail-hero-card,.detail-panel,.detail-empty-card{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fffffff0;border-radius:28px;position:relative;overflow:hidden}.detail-hero-card{background:radial-gradient(circle at 100% 0,#ffd8be85,#0000 32%),linear-gradient(#fffffff7,#fff9f4f0);grid-template-columns:minmax(0,1fr) 280px;gap:16px;padding:28px;display:grid}.detail-hero-copy h1,.detail-steps-panel h2,.detail-empty-card h1{font-family:var(--font-display);letter-spacing:-.07em;margin:12px 0 0;line-height:1}.detail-hero-copy h1{font-size:clamp(2.7rem,6vw,5rem)}.detail-hero-copy p,.detail-empty-card p,.detail-tip-card p,.detail-tip-card small{color:var(--ink-soft);line-height:1.72}.detail-meta-grid{align-content:end;gap:10px;display:grid}.detail-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;margin-top:14px;display:grid}.detail-panel{padding:22px}.detail-steps-panel h2{font-size:clamp(1.9rem,3vw,2.7rem)}.detail-step-list{gap:11px;margin:20px 0 0;padding:0;list-style:none;display:grid}.detail-step-list li{background:#fff8f3;border:1px solid #efb99238;border-radius:20px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.detail-step-list span{width:38px;height:38px;color:var(--accent-strong);font-family:var(--font-display);background:#fff1e6;border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.detail-step-list p{color:var(--ink-soft);margin:0;line-height:1.72}.detail-side-stack{gap:14px;display:grid}.ingredient-tray .chip-group{margin-top:12px}.measured-ingredient-tray{gap:14px;display:grid}.measured-tray-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.measured-tray-head small{color:var(--muted);font-weight:800}.measured-ingredient-list{gap:9px;display:grid}.measured-ingredient-row{background:#fff8f3;border:1px solid #efb99238;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.measured-ingredient-row div{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.measured-ingredient-row strong{color:var(--ink);font-weight:900}.measured-ingredient-row span{color:var(--accent-strong);background:#fff1e6;border-radius:999px;align-items:center;padding:4px 7px;font-size:.72rem;font-weight:900;display:inline-flex}.measured-ingredient-row small{color:var(--muted);flex-basis:100%;line-height:1.5}.measured-ingredient-row em{color:var(--accent-strong);text-align:right;white-space:nowrap;font-style:normal;font-weight:900}.recipe-insight-grid,.recipe-quality-grid{gap:14px;margin-top:14px;display:grid}.detail-jump-nav{display:none}.cooking-layout,.detail-side-stack,.recipe-quality-grid,.completion-share-card,.detail-steps-panel{scroll-margin-top:86px}.recipe-insight-grid{grid-template-columns:minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.4fr)}.recipe-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.recipe-insight-card,.recipe-quality-card{gap:14px;display:grid}.recipe-quality-card-wide{grid-row:span 2}.ingredient-picker-panel,.results-panel,.home-recipe-preview{scroll-margin-top:92px}.recipe-quality-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.recipe-quality-card summary::-webkit-details-marker{display:none}.recipe-quality-card summary:after{content:"+";border:1px solid var(--color-border);background:var(--color-surface-2);width:30px;height:30px;color:var(--color-brand-ink);border-radius:50%;flex:none;place-items:center;font-size:1rem;font-weight:900;display:inline-grid}.recipe-quality-card[open] summary:after{content:"-"}.recipe-quality-card summary:focus-visible{outline:3px solid var(--color-brand-line);outline-offset:4px;border-radius:var(--radius-ref-md)}.recipe-quality-card:not([open]){gap:0}.recipe-quality-card-body{gap:14px;display:grid}.recipe-insight-card p,.recipe-quality-card p{color:var(--ink-soft);margin:0;line-height:1.72}.compact-text-list{flex-wrap:wrap;gap:8px;display:flex}.compact-text-list span{color:var(--ink-soft);background:#fff8f3;border:1px solid #efb99238;border-radius:999px;align-items:center;padding:8px 10px;font-size:.88rem;font-weight:900;display:inline-flex}.quality-note-list,.substitution-list{gap:10px;display:grid}.quality-note-row,.substitution-row{background:#fff8f3;border:1px solid #efb99238;border-radius:18px;gap:7px;padding:13px;display:grid}.quality-note-row strong,.substitution-row strong{color:var(--ink);font-weight:900;line-height:1.35}.substitution-row div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.substitution-row span{color:var(--accent-strong);background:#fff1e6;border-radius:999px;align-items:center;padding:4px 8px;font-size:.75rem;font-weight:900;display:inline-flex}.completion-share-card{background:radial-gradient(circle at 100% 0,#cef5e194,#0000 32%),linear-gradient(145deg,#fff 0%,#f8fcfa 100%);grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:18px;margin-top:14px;display:grid}.completion-share-copy{gap:12px;min-width:0;display:grid}.completion-share-copy h2{color:var(--color-text-primary);font-family:var(--font-display);margin:0;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.08}.completion-share-copy p{max-width:40rem;color:var(--color-text-secondary);margin:0;line-height:1.72}.completion-share-actions{flex-wrap:wrap;gap:9px;display:flex}.completion-share-actions .ghost-button,.completion-share-actions .primary-button{flex:138px;min-height:46px;padding:0 16px}.completion-share-status{font-weight:900;color:var(--color-brand-ink)!important}.completion-photo-preview{aspect-ratio:4/5;border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:24px;place-items:center;min-height:260px;display:grid;overflow:hidden}.completion-photo-preview img{object-fit:cover;width:100%;height:100%}.completion-photo-preview div{text-align:center;gap:8px;padding:18px;display:grid}.completion-photo-preview strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:1.4rem;line-height:1.1}.completion-photo-preview span{color:var(--color-text-muted);font-weight:900}.completion-photo-input{display:none}.detail-tip-card p{margin:12px 0 0}.detail-tip-card small{margin-top:10px;display:block}.detail-empty-card{text-align:center;max-width:620px;margin:72px auto 0;padding:30px}.detail-empty-card .recipe-view-button{max-width:240px;margin:20px auto 0}@media (max-width:960px){.results-grid,.home-recipe-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero-card,.detail-layout{grid-template-columns:1fr}}@media (max-width:640px){.results-grid,.recipe-quick-grid,.home-recipe-preview-grid{grid-template-columns:1fr}.home-recipe-preview{border-radius:24px;padding:16px}.home-recipe-preview-head{align-items:start;display:grid}.recipe-detail-shell{padding:20px 12px 44px}.detail-hero-card,.detail-panel,.detail-empty-card{border-radius:24px}.detail-hero-card,.detail-panel{padding:18px}.detail-step-list li{grid-template-columns:34px minmax(0,1fr);padding:12px}.detail-step-list span{width:34px;height:34px}}.cooking-layout{align-items:stretch}.cooking-mode-card{background:radial-gradient(circle at 100% 0,#ffe1c980,#0000 32%),linear-gradient(#fff 0%,#fff8f3 100%);flex-direction:column;gap:18px;display:flex}.cooking-mode-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cooking-mode-head strong{min-width:74px;color:var(--accent-strong);font-family:var(--font-display);letter-spacing:-.04em;background:#fff1e6;border-radius:999px;justify-content:center;align-items:center;padding:10px 13px;display:inline-flex}.cooking-progress{background:#f5e8dc;border-radius:999px;height:13px;overflow:hidden}.cooking-progress span{border-radius:inherit;background:linear-gradient(90deg,#ffb172 0%,#ff9254 56%,#6f8cff 100%);height:100%;transition:width .18s;display:block}.current-step-card{min-height:250px;box-shadow:var(--shadow-md);background:#fff;border:1px solid #efb9923d;border-radius:26px;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:18px;padding:24px;display:grid}.current-step-card>span{color:#fff;width:86px;height:86px;font-family:var(--font-display);letter-spacing:-.08em;background:linear-gradient(135deg,#6f8cff 0%,#5c7ef9 52%,#4e6ee4 100%);border-radius:28px;justify-content:center;align-items:center;font-size:2.4rem;font-weight:900;display:inline-flex}.current-step-card p{color:var(--muted);margin:2px 0 10px;font-weight:900}.current-step-card h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.16}.cooking-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cooking-controls button{cursor:pointer;border:0;border-radius:20px;min-height:64px;font-size:1.02rem;font-weight:900}.cooking-controls button:first-child{color:var(--accent-strong);background:#fff1e6}.cooking-controls button:last-child{color:#fff;background:linear-gradient(135deg,#6f8cff 0%,#5c7ef9 52%,#4e6ee4 100%);box-shadow:0 12px 20px #4f6ce42e}.cooking-controls button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.ingredient-chip.neutral{color:var(--ink-soft);background:#fff8f3}.detail-steps-panel{margin-top:14px}.detail-step-list li{background:0 0;padding:0}.detail-step-list li button{cursor:pointer;text-align:left;background:#fff8f3;border:1px solid #efb99238;border-radius:20px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:14px;display:grid}.detail-step-list li.is-active button{background:#f6f8ff;border-color:#4f6ce457;box-shadow:0 0 0 3px #4f6ce414}.detail-step-list li.is-active span{color:#fff;background:#6f8cff}@media (max-width:640px){.detail-hero-card{gap:14px}.detail-hero-copy h1{font-size:clamp(2.55rem,13vw,4rem)}.detail-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-meta-grid div{padding:12px 9px}.detail-meta-grid strong{font-size:1rem}.cooking-mode-card{gap:16px}.current-step-card{grid-template-columns:1fr;min-height:310px;padding:22px}.current-step-card>span{border-radius:24px;width:76px;height:76px;font-size:2.2rem}.current-step-card h2{font-size:clamp(1.9rem,8vw,2.7rem);line-height:1.22}.cooking-controls{gap:8px}.cooking-controls button{border-radius:19px;min-height:68px;font-size:1.06rem}.detail-step-list li button{grid-template-columns:34px minmax(0,1fr);padding:13px}.detail-step-list p{font-size:1rem;line-height:1.66}}:root{--primary:#e07839;--primary-strong:#b95c27;--primary-soft:#fff0e5;--primary-rgb:224, 120, 57;--cream:#fff8f1;--card-radius:28px;--inner-radius:20px;--chip-radius:999px}body{background:radial-gradient(circle at 12% 8%,#ffd9bc66,#0000 24%),radial-gradient(circle at 92% 8%,#ffefdeb8,#0000 32%),linear-gradient(#fffaf4 0%,#fbf2e8 58%,#f8efe5 100%);line-height:1.6}:root{--ink-soft:#443a33;--muted:#5f554d}:where(a,button,input,summary):focus-visible{outline:3px solid rgba(var(--primary-rgb), .28);outline-offset:3px}:where(button){-webkit-tap-highlight-color:transparent}.panel,.selection-hero>div,.detail-hero-card,.detail-panel,.detail-empty-card,.recipe-card,.ingredient-category-card,.restock-panel{border-radius:var(--card-radius);border-color:rgba(var(--primary-rgb), .2)}.ingredient-category-card,.results-state,.results-aside,.summary-card,.restock-pill,.detail-step-list li button,.current-step-card,.recipe-quick-grid div,.detail-meta-grid div{border-radius:var(--inner-radius)}.section-label,.results-overline,.eyebrow,.group-label,.summary-label{color:var(--primary-strong)}.selection-hero h1,.detail-hero-copy h1,.hero h1{color:var(--ink);line-height:1.08}.hero-count-card{color:var(--ink);background:radial-gradient(circle at 82% 14%,#ffe8d685,#0000 34%),linear-gradient(160deg,#fff8f1 0%,#fff 100%)!important}.hero-count-card strong{color:var(--primary-strong)}.hero-count-card p{color:var(--muted)}.hero-text,.category-head p,.results-state,.results-aside p,.recipe-summary,.recipe-card-note,.selected-empty-state p,.ingredient-search-empty span,.feedback-banner span,.state-card p{color:var(--ink-soft)}.selected-panel{z-index:4;top:max(16px, env(safe-area-inset-top));scrollbar-gutter:stable;overscroll-behavior:contain;max-height:calc(100svh - 32px);overflow-y:auto}.selected-actions{background:linear-gradient(#fff0,#fffcf9fa 34%);margin:auto -4px -4px;padding:14px 4px 4px;position:sticky;bottom:0}.results-panel{z-index:1;position:relative}.primary-button,.recipe-view-button,.cooking-controls button:last-child{background:linear-gradient(135deg, var(--primary) 0%, #d66f34 58%, var(--primary-strong) 100%);color:#fff;box-shadow:0 12px 22px rgba(var(--primary-rgb), .18)}.primary-button:hover,.recipe-view-button:hover,.cooking-controls button:last-child:hover{box-shadow:0 16px 28px rgba(var(--primary-rgb), .22)}.ghost-button,.mobile-clear-button,.cooking-controls button:first-child{background:var(--primary-soft);color:var(--primary-strong);border:1px solid rgba(var(--primary-rgb), .18)}.primary-button,.ghost-button,.recipe-view-button,.mobile-clear-button,.cooking-controls button,.selectable-ingredient-chip,.selected-pill{border-radius:var(--chip-radius)}.primary-button,.ghost-button,.recipe-view-button{min-height:54px}.primary-button:disabled,.ghost-button:disabled,.recipe-view-button:disabled,.mobile-clear-button:disabled,.cooking-controls button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;transform:none}.selectable-ingredient-chip{border-color:rgba(var(--primary-rgb), .24)}.selectable-ingredient-chip.is-selected{border-color:rgba(var(--primary-rgb), .56);color:var(--primary-strong);box-shadow:0 9px 18px rgba(var(--primary-rgb), .12);background:linear-gradient(135deg,#fff5ed 0%,#ffe8d8 100%)}.chip-mark,.is-selected .chip-mark{background:var(--primary-soft);color:var(--primary-strong)}.is-selected .chip-mark{background:var(--primary);color:#fff}.selected-pill{border-color:rgba(var(--primary-rgb), .18);color:var(--primary-strong);background:#fff5ed}.recipe-card.is-featured{color:var(--ink);border-color:rgba(var(--primary-rgb), .28);background:radial-gradient(circle at 100% 0,#ffe1c97a,#0000 34%),linear-gradient(160deg,#fff8f1 0%,#fff 100%)}.recipe-card.is-featured .recipe-title,.recipe-card.is-featured .recipe-summary,.recipe-card.is-featured .recipe-card-note,.recipe-card.is-featured .group-label,.recipe-card.is-featured .section-caption,.recipe-card.is-featured .recipe-quick-grid span,.recipe-card.is-featured .recipe-quick-grid strong{color:var(--ink-soft)}.recipe-card.is-featured .recipe-title,.recipe-card.is-featured .recipe-quick-grid strong{color:var(--ink)}.recipe-card.is-featured .rank-badge,.recipe-card.is-featured .match-badge,.recipe-card.is-featured .availability-badge,.recipe-card.is-featured .meta-token{background:var(--primary-soft);color:var(--primary-strong)}.recipe-card.is-featured .recipe-quick-grid div,.recipe-card.is-featured .ingredient-chip{border-color:rgba(var(--primary-rgb), .16);color:var(--ink-soft);background:#fff8f3}.recipe-card.is-featured .recipe-view-button{background:linear-gradient(135deg, var(--primary) 0%, #d66f34 58%, var(--primary-strong) 100%);color:#fff}.current-step-card>span,.detail-step-list li.is-active span{background:linear-gradient(135deg, var(--primary) 0%, #d66f34 58%, var(--primary-strong) 100%)}.detail-step-list li.is-active button{border-color:rgba(var(--primary-rgb), .34);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .08);background:#fff6ef}.detail-step-list li{display:block}.detail-step-list li button{align-items:flex-start;gap:18px;min-width:0;display:flex}.detail-step-list li button>span{flex:0 0 52px;width:52px;height:52px;font-size:1.18rem}.detail-step-list li button>p{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;flex:auto;min-width:0;max-width:none;margin:0}.current-step-card>div{min-width:0}.current-step-card h2{word-break:keep-all;overflow-wrap:anywhere}.ingredient-chip{border-radius:var(--chip-radius)}.ingredient-chip.yes,.ingredient-chip.neutral,.ingredient-chip.bonus,.ingredient-chip.missing{color:var(--ink-soft);border-color:rgba(var(--primary-rgb), .18);background:#fff8f3}.ingredient-chip.yes{color:var(--primary-strong)}.ingredient-chip.bonus,.ingredient-chip.missing{color:#8a6b2e;background:#fff4df}.feedback-banner,.state-card{border:1px solid rgba(var(--primary-rgb), .22);border-radius:var(--inner-radius);background:#fff;margin-top:14px;padding:18px}.feedback-banner{align-items:flex-start;gap:10px;display:flex}.feedback-banner strong,.state-card>span{color:var(--primary-strong);letter-spacing:.06em;flex:none;font-size:.82rem;font-weight:900}.feedback-banner span,.state-card p{color:var(--ink-soft);line-height:1.65}.feedback-banner.success{background:linear-gradient(#fff 0%,#fff8f3 100%)}.feedback-banner.error,.state-card.error{background:#fff8f3}.state-card{gap:7px;display:grid}.state-card strong{font-family:var(--font-display);letter-spacing:-.04em;font-size:1.35rem}.state-card p{margin:0}.loading-grid{margin-top:16px}.loading-card{border:1px solid rgba(var(--primary-rgb), .18);border-radius:var(--card-radius);min-height:260px;box-shadow:var(--shadow-md);background:#fff;gap:14px;padding:24px;display:grid}.loading-line,.loading-pill{border-radius:var(--chip-radius);background:linear-gradient(90deg,#fff2e8 0%,#fffaf6 50%,#fff2e8 100%) 0 0/200% 100%;animation:1.1s ease-in-out infinite loading-shimmer;display:block;overflow:hidden}.loading-pill{width:96px;height:32px}.loading-line{width:72%;height:18px}.loading-line.wide{width:92%;height:28px}.loading-line.short{width:48%}@keyframes loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:1100px){.selection-layout{grid-template-columns:1fr}.selected-panel{max-height:none;position:static;overflow:visible}.selected-actions{background:0 0;margin:0;padding:0;position:static}}@media (max-width:760px){.detail-jump-nav{z-index:7;border:1px solid var(--color-border);border-radius:var(--radius-ref-pill);box-shadow:var(--shadow-ref-sm);-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none;background:#ffffffdb;gap:8px;margin-top:14px;padding:8px;display:flex;position:sticky;top:8px;overflow-x:auto}.detail-jump-nav::-webkit-scrollbar{display:none}.detail-jump-nav a{border-radius:var(--radius-ref-pill);background:var(--color-brand-soft);min-width:62px;min-height:38px;color:var(--color-brand-ink);flex:none;justify-content:center;align-items:center;padding:0 13px;font-size:.88rem;font-weight:900;text-decoration:none;display:inline-flex}.page-shell{padding:18px 12px 128px}.panel,.selection-hero>div,.detail-hero-card,.detail-panel,.detail-empty-card,.recipe-card,.ingredient-category-card,.restock-panel{border-radius:24px}.panel-head,.selected-panel-top,.recipe-top,.category-head{gap:10px}.feedback-banner{display:grid}}@media (max-width:640px){.detail-step-list li button{gap:12px;padding:13px}.detail-step-list li button>span{flex-basis:38px;width:38px;height:38px;font-size:1rem}}@media (min-width:701px) and (max-width:900px){.selection-hero{grid-template-columns:1fr}.selection-hero h1{max-width:10ch;font-size:clamp(2.4rem,7vw,3.4rem)}.selection-hero>div:first-child,.hero-count-card{padding:22px}.selection-hero>div.hero-copy-card{padding-right:138px}.hero-copy-mascot{width:96px;height:96px;bottom:20px;right:24px}}@media (min-width:641px){.mobile-selection-bar{display:none!important}}@media (max-width:640px){.mobile-selection-bar{display:grid!important}}@media (max-width:430px){.selection-hero h1,.detail-hero-copy h1{letter-spacing:-.06em}.hero-text,.results-state,.results-aside p,.category-head p,.selected-empty-state p{font-size:.95rem}.ingredient-category-card,.panel{padding:16px}.mobile-selection-bar{border-radius:22px;grid-template-columns:1fr auto}.mobile-cta{padding:0 13px}}@media (prefers-reduced-motion:reduce){.loading-line,.loading-pill{animation:none}}:root{--mint-50:#edfbf4;--mint-100:#d6f6e7;--mint-200:#abedcd;--mint-300:#74deac;--mint-400:#3dcb8b;--mint-500:#15b884;--mint-600:#0e9d6f;--mint-700:#0b7e5a;--mint-800:#0a5f45;--mint-900:#073f2e;--sage-50:#f4faf7;--sage-100:#eaf3ee;--sage-200:#e0ede7;--sage-300:#cbddd4;--sage-500:#7c9388;--sage-600:#5a6e64;--sage-700:#3e4e47;--sage-900:#131c18;--butter-100:#fff3d6;--butter-300:#ffd874;--coral-100:#ffe7df;--coral-500:#fb6f4c;--color-bg:var(--sage-50);--color-surface:#fff;--color-surface-sunken:var(--sage-100);--color-surface-2:#f8fcfa;--color-text-primary:var(--sage-900);--color-text-secondary:var(--sage-600);--color-text-tertiary:var(--sage-500);--color-border:var(--sage-200);--color-border-strong:var(--sage-300);--color-brand:var(--mint-500);--color-brand-hover:var(--mint-600);--color-brand-soft:var(--mint-100);--color-brand-line:var(--mint-200);--color-brand-ink:var(--mint-800);--color-on-brand:#fff;--color-warning-soft:var(--butter-100);--color-warning-ink:#8a6200;--color-danger-soft:var(--coral-100);--color-danger-ink:#a13418;--radius-ref-sm:12px;--radius-ref-md:18px;--radius-ref-lg:26px;--radius-ref-xl:34px;--radius-ref-pill:999px;--shadow-ref-sm:0 3px 10px #131c180d;--shadow-ref-md:0 12px 28px -16px #131c182e;--shadow-ref-lg:0 24px 52px -24px #0e5a4338;--font-display:"Jua", "Pretendard Variable", "Noto Sans KR", sans-serif;--font-body:"Pretendard Variable", "Noto Sans KR", system-ui, sans-serif}html{background:var(--color-bg)}body{background:radial-gradient(circle at 7% 5%, #abedcd8f, transparent 28%), radial-gradient(circle at 92% 7%, #fff3d6db, transparent 30%), linear-gradient(180deg, #fbf8f0 0%, var(--sage-50) 48%, #edf7f1 100%);color:var(--color-text-primary);font-family:var(--font-body);letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word}body:before{background-color:#0000;background-image:linear-gradient(#0b7e5a09 1px,#0000 1px),linear-gradient(90deg,#0b7e5a09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:linear-gradient(#00000059,#0000 78%);mask-image:linear-gradient(#00000059,#0000 78%)}button,input{font-family:var(--font-body)}.background-orb{filter:blur(22px)}.orb-a{background:#3dcb8b33}.orb-b{background:#ffd8743d}.page-shell,.recipe-detail-shell{width:min(100%,1180px)}.page-shell{padding:22px 22px 64px}.app-nav{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-ref-xl);box-shadow:var(--shadow-ref-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-bottom:18px;padding:14px 18px;display:grid;position:relative}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.logo-mark{flex:none;width:40px;height:40px}.logo-text{color:var(--color-brand-ink);font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:1.35rem}.nav-links{align-items:center;gap:8px;display:flex}.nav-links button{appearance:none;cursor:pointer;font:inherit;border-radius:var(--radius-ref-pill);color:var(--color-text-secondary);background:0 0;border:0;padding:9px 13px;font-size:.9rem;font-weight:800}.nav-links button:hover{background:var(--color-surface-2);color:var(--color-brand-ink)}.nav-links button:focus-visible{outline:3px solid var(--color-brand-line);outline-offset:2px}.nav-links .is-active{background:var(--color-brand-soft);color:var(--color-brand-ink)}.nav-avatar{border:1px solid var(--color-brand-line);background:var(--color-brand-soft);width:38px;height:38px;color:var(--color-brand-ink);border-radius:50%;place-items:center;font-weight:900;display:inline-grid}.nav-hub-link{border:1px solid var(--color-brand-line);border-radius:var(--radius-ref-pill);background:var(--color-brand-soft);min-height:38px;color:var(--color-brand-ink);white-space:nowrap;justify-content:center;align-items:center;padding:0 14px;font-size:.86rem;font-weight:900;text-decoration:none;display:inline-flex}.nav-hub-link:hover{border-color:var(--color-brand);background:#fff}.selection-hero{grid-template-columns:minmax(0,1fr) minmax(336px,360px);gap:18px;margin-bottom:18px}.selection-hero>div,.panel,.recipe-card,.detail-hero-card,.detail-panel,.detail-empty-card,.ingredient-category-card,.restock-panel{border:1px solid var(--color-border);border-radius:var(--radius-ref-xl);box-shadow:var(--shadow-ref-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6}.selection-hero>div:after,.panel:after{border-color:#0000}.selection-hero>div:first-child{background:radial-gradient(circle at 88% 18%,#abedcd73,#0000 30%),linear-gradient(135deg,#fff 0%,#f7fcf9 100%);padding:34px}.selection-hero>div.hero-copy-card{min-height:302px;padding-right:168px;position:relative;overflow:hidden}.hero-copy-card .eyebrow,.hero-copy-card h1,.hero-copy-card .hero-text{z-index:1;position:relative}.hero-copy-mascot{opacity:.95;pointer-events:none;width:118px;height:118px;position:absolute;bottom:22px;right:30px}.selection-hero h1{max-width:none;color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.035em;margin-top:10px;font-size:clamp(3rem,6vw,5.4rem);line-height:1.04}.selection-hero h1 em{color:var(--color-brand);font-style:normal}.eyebrow,.section-label,.results-overline,.group-label{color:var(--color-brand);letter-spacing:.06em;font-size:.78rem;font-weight:900}.hero-text{max-width:38rem;color:var(--color-text-secondary);font-size:1.05rem}.hero-count-card{min-height:220px;color:var(--color-text-primary);padding:26px;position:relative;overflow:hidden;background:radial-gradient(circle at 85% 15%, #fff3d6e6, transparent 35%), linear-gradient(160deg, var(--color-brand-soft) 0%, #fff 100%)!important}.hero-mascot{opacity:.9;width:128px;height:128px;position:absolute;bottom:-8px;right:-8px}.hero-count-card span{color:var(--color-brand)}.hero-count-card strong{color:var(--color-brand-ink);font-family:var(--font-display);font-size:3.5rem}.hero-count-card p{max-width:14rem;color:var(--color-text-secondary);position:relative}.hero-ad-slot{align-content:start;align-self:stretch;min-height:302px}.hero-ad-slot .ad-slot-stack{justify-items:center}.page-content{gap:18px;display:grid}.selection-layout{grid-template-columns:minmax(0,1fr) 340px;gap:18px}.panel{padding:24px}.panel h3,.recipe-title,.restock-panel h4,.detail-hero-copy h1,.detail-steps-panel h2,.detail-empty-card h1{font-family:var(--font-display);letter-spacing:-.025em}.panel-head{align-items:center}.mini-caption,.category-head p,.results-state,.results-aside p,.recipe-summary,.recipe-card-note,.restock-panel p,.selected-empty-state p,.ingredient-search-empty span,.detail-hero-copy p,.detail-tip-card p,.detail-tip-card small{color:var(--color-text-secondary)}.ingredient-search{margin-bottom:18px}.ingredient-search span{color:var(--color-text-secondary);font-weight:900}.ingredient-search input{border:1.5px solid var(--color-border);border-radius:var(--radius-ref-pill);background:var(--color-surface);min-height:56px;color:var(--color-text-primary)}.ingredient-search input:focus{border-color:var(--color-brand);box-shadow:0 0 0 4px #15b88424}.ingredient-section-list{gap:14px}.ingredient-category-card{background:linear-gradient(#fff 0%,#f8fcfa 100%);padding:20px}.category-title-row h4,.category-head h4{color:var(--color-text-primary);font-family:var(--font-display);font-size:1.25rem}.category-title-row span{background:var(--color-brand-soft);color:var(--color-brand-ink)}.ingredient-chip-grid{gap:10px}.selectable-ingredient-chip{border:1.5px solid var(--color-border);border-radius:var(--radius-ref-pill);background:var(--color-surface);min-height:46px;color:var(--color-text-primary);padding:10px 15px 10px 10px;font-weight:800}.selectable-ingredient-chip:hover{border-color:var(--color-brand-line);background:var(--mint-50)}.selectable-ingredient-chip.is-selected{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-ink);box-shadow:0 10px 18px #15b8841f}.chip-mark{background:var(--color-surface-sunken);width:22px;height:22px;color:var(--color-text-tertiary);border:1px solid var(--color-border)}.is-selected .chip-mark{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand)}.chip-emoji{font-size:1.08rem;line-height:1}.selected-panel{z-index:4;background:#fffffff5;max-height:calc(100svh - 36px);top:18px}.selected-panel-top strong{background:var(--color-brand-soft);color:var(--color-brand-ink)}.selected-pill{border:1px solid var(--color-brand-line);background:var(--color-brand-soft);color:var(--color-brand-ink);font-weight:800}.selected-pill span:last-child{background:#0b7e5a1f}.selected-actions{background:linear-gradient(#fff0,#fffffffa 34%)}.primary-button,.recipe-view-button,.cooking-controls button:last-child{border-radius:var(--radius-ref-pill);background:var(--color-brand);color:var(--color-on-brand);box-shadow:0 14px 22px #15b88433}.primary-button:hover,.recipe-view-button:hover,.cooking-controls button:last-child:hover{background:var(--color-brand-hover);box-shadow:0 18px 28px #15b8843d}.ghost-button,.mobile-clear-button,.cooking-controls button:first-child{border:1.5px solid var(--color-border);border-radius:var(--radius-ref-pill);background:var(--color-surface);color:var(--color-text-secondary)}.results-overview{grid-template-columns:minmax(0,1.1fr) minmax(260px,.55fr)}.results-state,.results-aside,.state-card,.feedback-banner{border:1px solid var(--color-border);border-radius:var(--radius-ref-lg);background:var(--color-surface)}.results-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recipe-card,.recipe-card.is-featured{background:var(--color-surface);min-height:100%;color:var(--color-text-primary);border-color:var(--color-border);padding:20px;grid-column:span 1!important}.recipe-card.is-featured{background:radial-gradient(circle at top right, #74deac59, transparent 38%), linear-gradient(145deg, var(--mint-700) 0%, var(--mint-800) 100%);color:#fff;box-shadow:var(--shadow-ref-lg);border-color:#ffffff29}.recipe-top{grid-template-columns:58px minmax(0,1fr) auto;align-items:start;display:grid}.recipe-thumb{background:var(--color-brand-soft);border-radius:18px;place-items:center;width:58px;height:58px;font-size:1.8rem;display:grid}.recipe-card.is-featured .recipe-thumb{background:#ffffff29}.rank-badge,.match-badge,.availability-badge,.ingredient-chip,.tag,.badge{border-radius:var(--radius-ref-pill)}.rank-badge,.match-badge,.availability-badge{background:var(--color-brand-soft);color:var(--color-brand-ink)}.rank-badge{background:var(--color-brand);color:var(--color-on-brand)}.recipe-card.is-featured .rank-badge,.recipe-card.is-featured .match-badge,.recipe-card.is-featured .availability-badge{color:#fff;background:#ffffff2b}.recipe-title{font-size:1.42rem}.recipe-card.is-featured .recipe-title{color:#fff;font-size:1.7rem}.recipe-card.is-featured .recipe-summary,.recipe-card.is-featured .recipe-card-note,.recipe-card.is-featured .group-label{color:#ffffffd1}.recipe-quick-grid div,.detail-meta-grid div{border-color:var(--color-border);background:var(--color-surface-2)}.recipe-card.is-featured .recipe-quick-grid div,.recipe-card.is-featured .ingredient-chip{color:#ffffffe6;background:#ffffff24;border-color:#ffffff29}.ingredient-chip.yes,.ingredient-chip.neutral{background:var(--color-brand-soft);color:var(--color-brand-ink);border-color:var(--color-brand-line)}.ingredient-chip.bonus{background:var(--color-warning-soft);color:var(--color-warning-ink);border-color:#f5df9d}.ingredient-chip.missing{background:var(--color-danger-soft);color:var(--color-danger-ink);border-color:#ffd1c4}.restock-list{grid-template-columns:repeat(5,minmax(0,1fr))}.restock-pill{border-color:var(--color-border);border-radius:var(--radius-ref-md);background:var(--color-surface-2)}.mobile-selection-bar{border-color:var(--color-border);border-radius:var(--radius-ref-lg);box-shadow:var(--shadow-ref-lg);background:#fffffff0}.recipe-detail-shell{padding:24px 22px 72px}.back-link{color:var(--color-brand-ink);font-weight:900}.detail-hero-card{background:radial-gradient(circle at 86% 12%,#abedcd94,#0000 30%),linear-gradient(145deg,#fff 0%,#f8fcfa 100%);grid-template-columns:minmax(0,1fr) 300px;padding:30px;position:relative;overflow:hidden}.detail-hero-copy{z-index:1;position:relative}.detail-recipe-emoji{background:var(--color-brand-soft);border-radius:24px;place-items:center;width:76px;height:76px;margin-top:18px;font-size:2.6rem;display:grid}.detail-mascot{opacity:.85;width:118px;height:118px;position:absolute;bottom:-10px;right:270px}.detail-hero-copy h1{color:var(--color-text-primary);font-size:clamp(3rem,6vw,5.2rem);line-height:1.02}.detail-meta-grid{z-index:1;position:relative}.detail-layout{grid-template-columns:minmax(0,1fr) 360px}.cooking-mode-card{background:radial-gradient(circle at 100% 0,#fff3d6b8,#0000 36%),linear-gradient(#fff 0%,#f8fcfa 100%)}.cooking-mode-head strong{background:var(--color-brand-soft);color:var(--color-brand-ink)}.cooking-progress{background:var(--color-surface-sunken)}.cooking-progress span{background:var(--color-brand)}.current-step-card{border-color:var(--color-border);background:var(--color-surface)}.current-step-card>span,.detail-step-list li.is-active span{background:var(--color-brand);color:var(--color-on-brand)}.current-step-card p{color:var(--color-brand)}.current-step-card h2{color:var(--color-text-primary);font-family:var(--font-display)}.measured-ingredient-row,.detail-step-list li button,.quality-note-row,.substitution-row,.compact-text-list span{border-color:var(--color-border);background:var(--color-surface-2)}.measured-ingredient-row em,.measured-ingredient-row span,.substitution-row span{color:var(--color-brand-ink)}.measured-ingredient-row span,.substitution-row span{background:var(--color-brand-soft)}.detail-step-list li.is-active button{border-color:var(--color-brand-line);background:var(--mint-50);box-shadow:0 0 0 3px #15b8841a}@media (max-width:1100px){.selection-hero,.selection-layout,.detail-hero-card,.detail-layout,.recipe-insight-grid,.recipe-quality-grid,.completion-share-card,.results-overview{grid-template-columns:1fr}.recipe-quality-card-wide{grid-row:auto}.detail-mascot{width:92px;height:92px;bottom:18px;right:24px}.selected-panel{max-height:none;position:static;overflow:visible}.selected-actions{background:0 0;margin:0;padding:0;position:static}}@media (max-width:900px){.app-nav{grid-template-columns:minmax(0,1fr) auto}.nav-links{display:none}.results-grid{grid-template-columns:1fr}.recipe-card,.recipe-card.is-featured{grid-column:1/-1!important}.restock-list{grid-template-columns:1fr 1fr}}@media (max-width:640px){.page-shell,.recipe-detail-shell{padding:14px 12px 128px}.app-nav{border-radius:24px;padding:10px 12px}.logo-mark{width:34px;height:34px}.logo-text{font-size:1.1rem}.selection-hero>div:first-child,.hero-count-card,.panel,.ingredient-category-card,.recipe-card,.detail-hero-card,.detail-panel,.detail-empty-card,.restock-panel{border-radius:24px;padding:18px}.selection-hero>div.hero-copy-card{min-height:268px;padding-right:104px}.hero-copy-mascot{width:78px;height:78px;bottom:16px;right:16px}.selection-hero h1{font-size:clamp(2.7rem,14vw,4rem)}.hero-mascot{width:92px;height:92px}.selected-panel{display:none}.recipe-top{grid-template-columns:52px minmax(0,1fr)}.recipe-top .availability-badge{grid-column:1/-1;justify-self:start}.recipe-thumb{border-radius:16px;width:52px;height:52px}.detail-mascot{display:none}.detail-recipe-emoji{border-radius:20px;width:64px;height:64px;font-size:2.2rem}.detail-hero-copy h1{font-size:clamp(2.6rem,14vw,4.3rem)}.detail-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.measured-ingredient-row{grid-template-columns:1fr}.measured-ingredient-row em{text-align:left}.restock-list{grid-template-columns:1fr}}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.recipe-card,.recipe-card.is-featured{min-height:auto}.recipe-top{grid-template-columns:58px minmax(0,1fr);align-items:start}.recipe-top>.availability-badge{grid-column:2;justify-self:start;margin-top:8px}.recipe-badge-row{gap:6px}.rank-badge,.match-badge,.availability-badge{padding:6px 9px;font-size:.78rem}.recipe-card-note{min-height:0}@media (max-width:900px){.results-grid{grid-template-columns:1fr}}.recommendation-mode-panel{grid-column:1/-1;gap:16px;display:grid}.recommendation-mode-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.recommendation-mode-head h3{color:var(--color-text);margin:6px 0 0;font-size:clamp(1.25rem,2.8vw,1.75rem);line-height:1.15}.recommendation-style-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.recommendation-style-chip{text-align:left;border:1.5px solid var(--color-border);border-radius:var(--radius-ref-md);min-height:82px;color:var(--color-text-secondary);cursor:pointer;background:#ffffffd1;gap:5px;padding:13px;transition:transform .18s,border-color .18s,background .18s;display:grid;box-shadow:0 12px 22px #38271b0d}.recommendation-style-chip:hover:not(:disabled){border-color:var(--color-brand-line);transform:translateY(-2px)}.recommendation-style-chip.is-active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-ink)}.recommendation-style-chip strong{color:var(--color-text);font-size:.94rem;font-weight:950}.recommendation-style-chip span{font-size:.78rem;font-weight:750;line-height:1.35}.recommendation-more-button{white-space:nowrap;min-height:44px;padding:0 15px;font-weight:950}@media (max-width:900px){.recommendation-style-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.recommendation-mode-head{display:grid}.recommendation-more-button{width:100%}}.selected-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.share-status{border:1px solid var(--color-brand-line);border-radius:var(--radius-ref-md);background:var(--color-brand-soft);color:var(--color-brand-ink);margin:0;padding:10px 12px;font-size:.84rem;font-weight:800;line-height:1.5}.share-status.inline{border-radius:var(--radius-ref-pill);padding:8px 11px;font-size:.82rem}.mobile-share-button{border:1.5px solid var(--color-border);border-radius:var(--radius-ref-pill);background:var(--color-surface);min-height:44px;color:var(--color-brand-ink);padding:0 12px;font-size:.86rem;font-weight:900}.detail-top-actions{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.detail-top-actions .back-link{margin-bottom:0}.detail-share-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.detail-share-button{min-height:42px;padding:0 15px}.recipe-card-actions{grid-template-columns:minmax(96px,.42fr) minmax(0,1fr);gap:9px;margin-top:auto;display:grid}.recipe-card-actions .recipe-view-button{margin-top:0}.recipe-save-button{border:1.5px solid var(--color-border);border-radius:var(--radius-ref-pill);background:var(--color-surface);min-height:54px;color:var(--color-brand-ink);cursor:pointer;justify-content:center;align-items:center;font-weight:900;transition:transform .17s,border-color .17s,background .17s;display:inline-flex}.recipe-save-button:hover{border-color:#15b88452;transform:translateY(-1px)}.recipe-save-button.is-saved,.detail-save-button.is-saved{background:var(--color-brand-soft);color:var(--color-brand-ink);border-color:#15b8845c}.recipe-card.is-featured .recipe-save-button{color:#fff;background:#ffffff1f;border-color:#ffffff47}.recipe-card.is-featured .recipe-save-button.is-saved{color:var(--color-brand-ink);background:#fff}.saved-recipes-panel{border:1px solid var(--color-border);border-radius:var(--radius-ref-lg);background:radial-gradient(circle at top right, #cef5e185, transparent 28%), var(--color-surface);gap:12px;margin-top:14px;padding:16px;display:grid}.saved-recipes-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.saved-recipes-head h4{margin:5px 0 0;font-size:1.05rem}.saved-recipes-head>span{color:var(--color-text-muted);flex:none;font-size:.86rem;font-weight:900}.saved-recipe-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.saved-recipe-item{border:1px solid var(--color-border);border-radius:var(--radius-ref-md);background:#ffffffb8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:13px;display:grid}.saved-recipe-item strong{min-width:0;color:var(--color-text-primary);align-items:center;gap:7px;display:flex}.saved-recipe-item strong span{flex:none}.saved-recipe-item p{color:var(--color-text-muted);margin:5px 0 0;font-size:.86rem}.saved-recipe-actions{gap:6px;display:flex}.saved-recipe-actions button{border:1px solid var(--color-border);border-radius:var(--radius-ref-pill);background:var(--color-surface);min-height:36px;color:var(--color-brand-ink);cursor:pointer;padding:0 11px;font-size:.82rem;font-weight:900}.detail-save-button{min-height:42px;padding:0 15px}@media (max-width:640px){.mobile-selection-bar{grid-template-columns:1fr auto auto auto}.detail-top-actions{flex-direction:column;align-items:flex-start}.detail-share-actions,.detail-share-button{width:100%}.detail-share-actions{justify-content:flex-start}.recipe-card-actions,.saved-recipe-list,.saved-recipe-item{grid-template-columns:1fr}.saved-recipes-head,.saved-recipe-actions{flex-direction:column;align-items:flex-start}.saved-recipe-actions,.saved-recipe-actions button{width:100%}}@media (max-width:430px){.mobile-selection-bar{grid-template-columns:1fr auto auto}.mobile-clear-button{display:none}}.ad-slot{border:1px solid var(--color-border);border-radius:var(--radius-ref-lg);min-height:112px;box-shadow:var(--shadow-ref-sm);background:linear-gradient(135deg,#ffffffe6,#f8fcfaeb),radial-gradient(circle at 92% 12%,#abedcd47,#0000 30%);gap:14px;padding:18px;display:grid;position:relative;overflow:hidden}.ad-slot:before{content:"";border-radius:calc(var(--radius-ref-lg) - 10px);pointer-events:none;border:1px dashed #0b7e5a24;position:absolute;inset:10px}.ad-slot-heading{z-index:1;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;min-height:0;display:flex;position:relative}.ad-slot-heading span{color:#67746d8f;letter-spacing:.08em;font-size:.62rem;font-weight:800}.ad-slot-heading strong{display:none}.ad-slot-stack{z-index:1;gap:10px;min-width:0;display:grid;position:relative}.ad-slot-stack .adfit-slot{justify-content:center;display:flex}.ad-slot .adsbygoogle{min-height:90px}.ad-slot-placeholder p{z-index:1;max-width:42rem;color:var(--color-text-secondary);margin:0;font-size:.92rem;line-height:1.6;position:relative}.ad-env-list{z-index:1;flex-wrap:wrap;gap:7px;display:flex;position:relative}.ad-env-list code{border:1px solid var(--color-brand-line);border-radius:var(--radius-ref-pill);background:var(--color-brand-soft);color:var(--color-brand-ink);font-family:var(--font-body);padding:7px 9px;font-size:.76rem;font-weight:800}.recipe-detail-shell>.ad-slot{margin-top:14px}@media (max-width:640px){.ad-slot{border-radius:22px;padding:16px}.ad-slot-heading{flex-direction:column;align-items:flex-start}}
