:root{--bg: #f6efe3;--bg-soft: #fbf7ef;--card: rgba(255, 251, 244, .92);--card-strong: #fff9f0;--ink: #32271f;--terracotta: #b56442;--terracotta-deep: #8d482f;--tomato: #a83f27;--sage: #7e8e68;--olive: #5e6c46;--gold: #d1a15d;--butter: #f4d690;--blue-dairy: #d7e5df;--text: #3c3128;--muted: #6d6056;--border: rgba(87, 74, 59, .14);--shadow: 0 18px 42px rgba(76, 55, 35, .14);--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:repeating-linear-gradient(90deg,rgba(99,75,47,.025) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,rgba(99,75,47,.018) 0 1px,transparent 1px 10px),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:Avenir Next,Trebuchet MS,Segoe UI,SF Pro Text,Helvetica Neue,Arial,sans-serif}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;opacity:.45;background-image:radial-gradient(circle at 12% 18%,rgba(181,100,66,.08) 0 2px,transparent 3px),radial-gradient(circle at 72% 24%,rgba(94,108,70,.08) 0 2px,transparent 3px),radial-gradient(circle at 38% 82%,rgba(209,161,93,.08) 0 2px,transparent 3px);background-size:180px 180px,220px 220px,260px 260px}button,input,textarea{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:58px;height:48px;border-radius:18px 18px 18px 6px;display:grid;place-items:center;gap:0;padding:8px 6px;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%),linear-gradient(145deg,var(--terracotta),#cf8c61);color:#fff;font-family:Georgia,Times New Roman,serif;font-size:.72rem;font-weight:900;line-height:.9;letter-spacing:.02em;box-shadow:var(--shadow-soft);transform:rotate(-2deg)}.brand-mark span:last-child{font-size:.67rem}.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:20px;display:grid;gap:20px;position:relative;overflow:hidden;background:linear-gradient(110deg,#fffbf4f5,#fcf0dedb),radial-gradient(circle at 100% 10%,rgba(181,100,66,.18),transparent 34%);border:2px solid rgba(87,74,59,.12)}.hero-card:after{content:"";position:absolute;width:170px;height:170px;right:-48px;top:-52px;border-radius:50%;background:radial-gradient(circle,rgba(255,251,244,.92) 0 30%,transparent 31%),repeating-conic-gradient(from 6deg,rgba(181,100,66,.2) 0 10deg,transparent 10deg 20deg);opacity:.9}.hero-card:before,.section-block:before,.info-panel:before,.recipe-card:before,.detail-hero:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:calc(var(--radius-xl) - 10px);border:1px dashed rgba(94,108,70,.18);pointer-events:none}.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;position:relative;overflow:hidden}.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-family:Georgia,Iowan Old Style,Times New Roman,serif;font-size:clamp(3rem,12vw,6.8rem);line-height:.86;margin-bottom:10px;letter-spacing:-.065em;color:var(--ink)}h2{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-size:clamp(1.45rem,5vw,2.15rem);margin-bottom:0;letter-spacing:-.035em;color:var(--ink)}h3{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-size:1.12rem;margin-bottom:8px;letter-spacing:-.018em;color:var(--ink)}.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{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:#b5644229;color:var(--terracotta-deep)}.badge.sage,.kosher-badge.pareve{background:#7e8e682e;color:var(--olive)}.badge.cream,.kosher-badge.dairy{background:var(--blue-dairy);color:#48665f}.cookbook-cover{position:relative;z-index:1;display:grid;gap:12px;padding:14px;border-radius:26px;background:linear-gradient(180deg,#fffbf4f5,#f6e5cae6),radial-gradient(circle at 20% 20%,rgba(181,100,66,.14),transparent 30%);border:1px solid rgba(87,74,59,.14);box-shadow:0 20px 38px #4c372329;transform:rotate(1deg)}.cover-ribbon{position:absolute;top:14px;left:14px;z-index:2;padding:8px 12px;border-radius:999px;background:var(--tomato);color:#fff8ed;font-size:.74rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--shadow-soft)}.cover-note{padding:12px;border-radius:20px;background:#fffbf4e6;border:1px solid rgba(87,74,59,.1)}.cover-note p{color:var(--muted);line-height:1.45}.cover-meta{display:flex;flex-wrap:wrap;gap:8px}.cover-meta span{padding:6px 9px;border-radius:999px;background:#7e8e6821;color:var(--olive);font-size:.78rem;font-weight:800}.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;position:relative;isolation:isolate;background:linear-gradient(180deg,#fffbf4f2,#fff6e9eb);transition:transform .18s ease,box-shadow .18s ease}.recipe-card:hover{transform:translateY(-2px) rotate(-.15deg);box-shadow:0 22px 44px #4c372329}.recipe-card:nth-child(3n+2){border-radius:34px 24px}.recipe-card:nth-child(3n){border-radius:24px 34px}.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-stamp{width:fit-content;margin:-2px 0 0;padding:7px 10px;border:1px solid rgba(181,100,66,.22);border-radius:999px;color:var(--terracotta-deep);background:#b5644214;font-size:.78rem;font-weight:900;letter-spacing:.02em;transform:rotate(-1deg)}.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,#fffbf4f0,#f8ebd5eb),radial-gradient(circle at right bottom,rgba(181,100,66,.12),transparent 40%);border:1px dashed rgba(87,74,59,.18);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.shelf-card:after{content:"";position:absolute;right:-24px;bottom:-28px;width:84px;height:84px;border-radius:50%;background:#7e8e681f}.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;position:relative;overflow:hidden;background:linear-gradient(180deg,#fffbf4f5,#faefdeeb),radial-gradient(circle at 100% 0,rgba(126,142,104,.12),transparent 32%)}.detail-toprow{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-nav{display:flex;gap:10px;overflow-x:auto;padding:8px 2px 10px;scroll-snap-type:x proximity;position:sticky;top:10px;z-index:3;background:linear-gradient(180deg,#f6efe3f0,#f6efe3c7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px}.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;border-left:5px solid var(--sage)}.quick-jumps{display:flex;flex-wrap:wrap;gap:10px}.quick-jumps a{padding:9px 12px;border-radius:999px;background:#b564421a;color:var(--terracotta-deep);border:1px solid rgba(181,100,66,.14);font-weight:800}.detail-intro{display:grid;gap:12px}.info-panel,.tested-card,.empty-state{padding:16px;position:relative;overflow:hidden}.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}.note-list li{border-left:4px solid rgba(181,100,66,.3)}.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 img{transition:transform .28s ease,filter .28s ease}.recipe-card:hover .art-frame img{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}.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;background:linear-gradient(180deg,#fffbf48f,#f6efe34d),radial-gradient(circle at 10% 0,rgba(181,100,66,.1),transparent 30%)}.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:linear-gradient(180deg,#fffbf4f5,#fff6e9eb);border:1px solid rgba(87,74,59,.12);box-shadow:var(--shadow-soft)}.step-instruction{margin:12px 0 14px;font-size:clamp(1.18rem,4.8vw,1.65rem);line-height:1.65;color:var(--ink)}.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}.personal-note{margin-top:14px;padding:12px;border-radius:20px;background:linear-gradient(180deg,#fffbf4eb,#faf1e1e0);border:1px dashed rgba(181,100,66,.24)}.personal-note label{display:grid;gap:8px}.personal-note label span{color:var(--terracotta-deep);font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem}.personal-note textarea{width:100%;min-height:112px;resize:vertical;border:1px solid rgba(87,74,59,.12);border-radius:16px;padding:12px;color:var(--text);background:repeating-linear-gradient(180deg,rgba(94,108,70,.04) 0 1px,transparent 1px 30px),#fffbf4e6;line-height:1.55}.note-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:10px}.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))}}
