:root{--bg: #f6efe3;--bg-soft: #fbf7ef;--card: rgba(255, 251, 244, .92);--card-strong: #fff9f0;--terracotta: #b56442;--terracotta-deep: #8d482f;--sage: #7e8e68;--olive: #5e6c46;--gold: #d1a15d;--text: #3c3128;--muted: #6d6056;--border: rgba(87, 74, 59, .14);--shadow: 0 18px 42px rgba(76, 55, 35, .12);--shadow-soft: 0 10px 28px rgba(76, 55, 35, .08);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(181,100,66,.14),transparent 30%),radial-gradient(circle at top right,rgba(126,142,104,.16),transparent 28%),radial-gradient(circle at 20% 80%,rgba(209,161,93,.08),transparent 22%),linear-gradient(180deg,#fbf5ea,#f4ecde);font-family:ui-rounded,Avenir Next,Segoe UI,SF Pro Text,Helvetica Neue,Arial,sans-serif}button,input{font:inherit}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(181,100,66,.38);outline-offset:3px}img{display:block;max-width:100%}.app-shell{min-height:100vh;max-width:1240px;margin:0 auto;padding:14px 14px 104px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 16px}.brand-lockup{display:flex;align-items:center;gap:12px;background:transparent;color:inherit;padding:0;text-align:left}.brand-mark{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--terracotta),#cf8c61);color:#fff;font-weight:800;box-shadow:var(--shadow-soft)}.brand-copy,.hero-copy,.detail-intro,.cook-copy{min-width:0}.eyebrow,.brand-tag,.section-kicker{margin:0}.eyebrow{font-weight:800;letter-spacing:.02em}.brand-tag{color:var(--muted);font-size:.92rem}.topbar-action,.text-link{background:transparent;color:var(--terracotta-deep);font-weight:700;padding:10px 12px;min-height:44px}.main-content{display:block}.stack{display:grid;gap:18px}.section-block,.hero-card,.info-panel,.tested-card,.empty-state,.recipe-card,.detail-hero,.cook-mode,.search-wrap,.sticky-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.hero-card{padding:18px;display:grid;gap:16px;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:220px;height:220px;right:-70px;bottom:-90px;background:radial-gradient(circle,rgba(181,100,66,.16),transparent 68%)}.hero-note{position:relative;z-index:1;padding:14px 16px;border-radius:20px;background:#fff9f1d1;border:1px solid rgba(87,74,59,.1)}.section-block{padding:16px}.sticky-card{position:sticky;top:10px;z-index:2}.section-kicker{color:var(--olive);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:800}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(2.4rem,8vw,4.8rem);line-height:.96;margin-bottom:10px}h2{font-size:clamp(1.45rem,5vw,2.15rem);margin-bottom:0}h3{font-size:1.12rem;margin-bottom:8px}.hero-text{color:var(--muted);line-height:1.65;font-size:1.04rem}.hero-badges,.pill-row,.ratings-row,.card-topline,.card-footer,.tested-meta,.progress-labels,.step-meta,.hero-note{display:flex;flex-wrap:wrap;gap:10px}.badge,.pill,.kosher-badge,.chip,.rating-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:800}.badge.terracotta,.kosher-badge.meat{background:#b5644224;color:var(--terracotta-deep)}.badge.sage,.kosher-badge.pareve{background:#7e8e682e;color:var(--olive)}.badge.cream,.kosher-badge.dairy{background:#d1a15d2e;color:#8d6b2f}.featured-carousel,.recipe-grid,.tested-grid,.recent-grid,.swap-grid,.step-preview-list{display:grid;gap:14px}.featured-carousel{grid-auto-flow:column;grid-auto-columns:minmax(82%,1fr);overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.featured-carousel>*,.recipe-grid>*,.tested-grid>*{scroll-snap-align:start}.recipe-grid{grid-template-columns:1fr}.recipe-card,.tested-card{overflow:hidden}.recipe-card{display:grid}.recipe-card.compact .card-footer .secondary-button{display:none}.resume-card{padding:16px}.resume-layout{display:grid;gap:14px}.resume-copy{display:grid;gap:10px}.card-body{padding:14px;display:grid;gap:12px}.card-topline{justify-content:space-between;align-items:flex-start}.favorite-button{width:42px;height:42px;border-radius:50%;background:#fffbf4eb;border:1px solid rgba(87,74,59,.12);color:var(--terracotta-deep);box-shadow:var(--shadow-soft);flex:0 0 auto;font-size:1rem}.favorite-button.active{background:#b564421f}.card-blurb,.detail-intro .hero-text,.tested-card p,.info-panel p,.swap-card p,.step-preview p,.empty-state p{color:var(--muted);line-height:1.6}.copycat-of{margin:-4px 0 0;font-size:.86rem;font-weight:700;color:var(--olive)}.card-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.9rem}.card-meta span{background:#574a3b0d;border-radius:999px;padding:6px 10px}.card-footer{align-items:center}.primary-button,.secondary-button{min-height:44px;border-radius:16px;padding:0 16px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.primary-button{background:linear-gradient(145deg,var(--terracotta),#d2855a);color:#fff;box-shadow:0 12px 24px #b5644247}.secondary-button{background:#fffbf4f0;border:1px solid rgba(87,74,59,.12);color:var(--text)}.primary-button:hover,.secondary-button:hover,.chip:hover,.topbar-action:hover,.text-link:hover,.brand-lockup:hover,.favorite-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.section-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.chip-row{display:flex;flex-wrap:wrap;gap:10px}.shelf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shelf-card{display:grid;gap:8px;text-align:left;border-radius:22px;padding:14px;min-height:124px;background:linear-gradient(180deg,#fffbf4f2,#fff7edeb);border:1px solid rgba(87,74,59,.1);box-shadow:var(--shadow-soft)}.shelf-card strong{font-size:1.4rem;line-height:1;color:var(--terracotta-deep)}.shelf-label{color:var(--olive);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.shelf-card span:last-child{color:var(--muted);font-size:.86rem;line-height:1.35}.chip{background:#fffbf4d6;border:1px solid rgba(87,74,59,.12);color:var(--text);padding-inline:14px}.chip.active{background:#b5644224;color:var(--terracotta-deep)}.search-wrap{margin:12px 0 14px;padding:8px 12px}.search-input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:8px 2px}.search-hint{margin:6px 0 0;color:var(--muted);font-size:.84rem;line-height:1.45}.library-toolbar{display:grid;gap:12px}.sort-control{display:grid;gap:6px;font-size:.86rem;font-weight:800;color:var(--olive)}.sort-control select{min-height:44px;border-radius:16px;border:1px solid rgba(87,74,59,.12);background:#fffbf4eb;color:var(--text);padding:0 14px}.detail-hero{padding:14px;display:grid;gap:14px}.detail-toprow{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-nav{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 2px;scroll-snap-type:x proximity}.detail-nav a{flex:0 0 auto;padding:9px 12px;border-radius:999px;background:#fffbf4d1;border:1px solid rgba(87,74,59,.12);color:var(--text);font-weight:800;white-space:nowrap}.detail-nav a:hover{color:var(--terracotta-deep)}.info-panel[id],.resume-card,.section-block[id]{scroll-margin-top:108px}.kosher-check{padding:12px 14px;border-radius:18px;background:#7e8e681f;border:1px solid rgba(126,142,104,.16);line-height:1.5}.detail-intro{display:grid;gap:12px}.info-panel,.tested-card,.empty-state{padding:16px}.note-list,.checklist{margin:0;padding:0;list-style:none;display:grid;gap:10px}.note-list li,.swap-card,.step-preview,.callout{border-radius:18px;background:#fffbf4cc;border:1px solid rgba(87,74,59,.08);padding:12px 14px}.step-preview{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}.step-number{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#7e8e6829;color:var(--olive);font-weight:800}.confidence-row{display:grid;gap:12px}.confidence-bar{width:100%;height:14px;overflow:hidden;border-radius:999px;background:#574a3b14}.confidence-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--terracotta))}.swap-grid{grid-template-columns:1fr}.swap-title{font-weight:800;margin-bottom:6px;color:var(--text)}.art-frame{position:relative;overflow:hidden;min-height:180px;border-radius:24px;background:radial-gradient(circle at 20% 20%,rgba(209,161,93,.22),transparent 20%),linear-gradient(135deg,#b564422e,#7e8e682e);border:1px solid rgba(87,74,59,.1);box-shadow:var(--shadow-soft)}.art-frame.tall{min-height:240px}.art-frame.compact{min-height:170px}.art-frame img,.art-fallback{width:100%;height:100%;object-fit:cover}.art-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.45),transparent 22%),linear-gradient(135deg,#b564422e,#7e8e6833);color:var(--text);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.art-orb{position:absolute;border-radius:50%;filter:blur(2px)}.art-orb-one{width:86px;height:86px;left:14px;top:18px;background:#ffffff42}.art-orb-two{width:120px;height:120px;right:-10px;top:-8px;background:#d1a15d2e}.art-orb-three{width:110px;height:110px;right:24px;bottom:-20px;background:#7e8e6829}.art-label{position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:#fffbf4e0;border:1px solid rgba(87,74,59,.12);font-size:.72rem;font-weight:800;color:var(--terracotta-deep)}.cook-mode{padding:14px;display:grid;gap:14px}.cook-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.cook-hero{display:grid;gap:14px}.progress-wrap{display:grid;gap:10px}.progress-track{width:100%;height:14px;border-radius:999px;background:#574a3b14;overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--terracotta))}.progress-labels{justify-content:space-between;align-items:center}.ingredient-drawer{padding:14px;border-radius:22px;background:#fffbf4d9;border:1px solid rgba(87,74,59,.1)}.ingredient-drawer.collapsed{display:none}.check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.45;padding:4px 0}.check-row input{margin-top:3px;width:18px;height:18px;accent-color:var(--terracotta)}.step-card{padding:16px;border-radius:24px;background:#fffbf4e6;border:1px solid rgba(87,74,59,.1)}.step-instruction{margin:12px 0 14px;font-size:1.08rem;line-height:1.65}.callout{margin-top:10px}.callout.warning{background:#b5644214}.cook-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cook-actions.docked{position:sticky;bottom:94px;z-index:4;padding-top:2px;background:linear-gradient(180deg,#f6efe300,#f6efe3f2 26%)}.recent-grid{grid-template-columns:1fr}.mini-progress{width:100%;height:10px;border-radius:999px;background:#574a3b14;overflow:hidden}.mini-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--sage),var(--terracotta))}.tested-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:12px}.rating-badge{gap:8px;background:#574a3b0f;color:var(--text);white-space:nowrap}.rating-badge strong{font-size:.96rem}.rating-badge span{color:var(--muted)}.bottom-nav{position:fixed;left:12px;right:12px;bottom:12px;z-index:5;display:flex;gap:8px;padding:10px;background:#fffbf4eb;border:1px solid rgba(87,74,59,.12);border-radius:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-x:auto}.nav-pill{min-height:44px;border-radius:16px;background:transparent;color:var(--muted);font-weight:800;flex:1 0 80px;white-space:nowrap}.nav-pill.active,.nav-pill[aria-pressed=true]{background:#b5644224;color:var(--terracotta-deep)}@media (min-width: 760px){.app-shell{padding-inline:18px}.hero-card{grid-template-columns:1.6fr .9fr;align-items:end}.recipe-grid,.tested-grid,.swap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero{grid-template-columns:.95fr 1.05fr;align-items:start}.cook-hero{grid-template-columns:.95fr 1.05fr;align-items:center}.cook-actions{max-width:420px;margin-left:auto}.resume-layout{grid-template-columns:minmax(220px,300px) 1fr;align-items:start}.library-toolbar{grid-template-columns:1fr auto;align-items:end}.sort-control{min-width:190px}.shelf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}.nav-pill{flex:initial}}@media (min-width: 1080px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tested-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.swap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shelf-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
