@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{color-scheme:light;--sand: #efe4d1;--sand-dark: #e2d3bd;--moss: #6c7a4b;--moss-dark: #4e5c35;--clay: #a56b4d;--clay-dark: #7b4b34;--river: #3e6b73;--ink: #2f2a25;--ink-soft: #4a433c;--white: #fffaf1;--shadow: 0 12px 24px rgba(60, 50, 40, .12);--stroke: rgba(47, 42, 37, .2);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background-color:var(--sand);background-image:radial-gradient(rgba(58,54,45,.08) 1px,transparent 1px),radial-gradient(rgba(58,54,45,.05) 1px,transparent 1px),linear-gradient(120deg,#587a602e,#a06e4e14);background-size:4px 4px,11px 11px,100% 100%;background-position:0 0,7px 9px,0 0;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;background:#fffaf1e0;border-bottom:1px solid rgba(47,42,37,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header-inner{max-width:1200px;margin:0 auto;padding:16px clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700}.site-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav-link{font-size:13px;font-weight:600;color:var(--ink-soft);padding:8px 14px;border-radius:999px;border:1px solid transparent;background:transparent;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.nav-link:hover{background:#2f2a2514;color:var(--ink)}.nav-link.router-link-active:not(.nav-cta){background:var(--ink);color:var(--white);border-color:var(--ink)}button.nav-link{cursor:pointer;font-family:inherit}.nav-cta{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:0 8px 16px #2f2a2529}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2f2a2533}.nav-user{font-size:12px;font-weight:600;color:var(--ink-soft);padding:6px 10px;border-radius:999px;border:1px solid rgba(47,42,37,.12);background:#fffaf1b3}.account-dropdown{position:relative}.account-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink);background:#fffaf1e6;border:1px solid rgba(47,42,37,.2);border-radius:999px;cursor:pointer;font-family:inherit;transition:background .2s ease}.account-btn:hover{background:#2f2a2514}.dropdown-menu{position:absolute;right:0;top:calc(100% + 10px);width:240px;background:var(--white);border:1px solid rgba(47,42,37,.12);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:10px;z-index:200}.dropdown-email{display:block;font-size:13px;font-weight:600;color:var(--ink);padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-email:hover{text-decoration:underline}.dropdown-sep{height:1px;background:#2f2a251f;margin:6px 0}.dropdown-item{display:block;width:100%;text-align:left;padding:10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none}.dropdown-item:hover:not(:disabled){background:#2f2a2514}.dropdown-item.danger{color:#b5462c}.dropdown-item.danger:hover:not(:disabled){background:#b5462c1a}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;margin:0 0 12px;letter-spacing:-.01em}.brand-title{font-weight:700;font-size:16px}p{margin:0 0 16px;line-height:1.6}code{font-family:Space Grotesk,Segoe UI,sans-serif;background:#2f2a2514;padding:2px 6px;border-radius:6px;font-size:.95em}a{color:inherit;text-decoration:none}.page{max-width:1200px;margin:0 auto;padding:28px clamp(20px,4vw,56px) 80px;display:flex;flex-direction:column;gap:64px}.beta-banner{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#fffaf1e6;border:1px solid rgba(47,42,37,.15);box-shadow:var(--shadow);font-size:13px;color:var(--ink-soft);width:fit-content}.beta-pill{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--ink);color:var(--white)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:32px 24px;background:#fffaf199;border-radius:var(--radius-lg);border:1px solid rgba(47,42,37,.12);box-shadow:var(--shadow)}.hero-title{font-size:clamp(36px,5vw,56px);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--moss-dark);font-weight:600}.hero-sub{font-size:18px;color:var(--ink-soft);max-width:640px}.hero-hint{font-size:13px;color:var(--ink-soft);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;border:1px solid var(--ink);font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.button.primary{background:var(--ink);color:var(--white);box-shadow:0 10px 18px #2f2a2526}.button.ghost{background:transparent;color:var(--ink)}.button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2f2a2526}.hero-lookup{width:min(640px,100%);justify-content:center}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(720px,100%)}.hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.hero-result,.hero-result-grid{align-self:stretch;width:min(960px,100%);text-align:left;margin-top:12px}.typed-text{color:var(--clay-dark);font-weight:700;margin-left:6px}.typed-text:empty{display:inline-block;min-width:120px}.typed-cursor{color:var(--clay-dark)}@keyframes typedCursorBlink{0%,to{opacity:1}50%{opacity:0}}.typed-cursor{animation:typedCursorBlink .8s infinite}.section{display:flex;flex-direction:column;gap:28px}.soup-hero{align-items:flex-start;text-align:left}.soup-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--ink-soft);font-size:14px}.filter-row{display:flex;flex-wrap:wrap;gap:10px}.filter-button{border:1px solid rgba(47,42,37,.2);border-radius:999px;padding:8px 16px;background:#fffaf1cc;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.filter-button.active{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:var(--shadow)}.source-pills{display:flex;flex-wrap:wrap;gap:8px}.source-pill{background:#3e6b731f;color:var(--river);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex;gap:8px;align-items:center}.source-meta{font-size:11px;font-weight:500;color:#2f2a2599}.make-page .hero{align-items:flex-start;text-align:left}.make-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:24px;width:100%;align-items:start}.make-hero-summary{background:#fffaf1f2;border:1px solid rgba(47,42,37,.12);border-radius:var(--radius-md);padding:18px;display:flex;flex-direction:column;gap:12px}.ingredient-list{display:flex;flex-direction:column;gap:10px}.ingredient-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.ingredient-meta{display:inline-flex;align-items:center;gap:8px}.ingredient-remove{border:none;background:transparent;color:#2f2a2599;font-size:12px;cursor:pointer}.ingredient-remove:hover{color:var(--ink)}.stepper{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.step{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fffaf1e6;border:1px solid rgba(47,42,37,.12);font-size:12px;color:var(--ink-soft)}.step.active{background:var(--ink);color:var(--white)}.step-index{font-weight:700}.wizard-card{background:#fffaf1d9;border:1px solid rgba(47,42,37,.12);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.field input{padding:12px 14px;border-radius:12px;border:1px solid rgba(47,42,37,.2);font-size:14px}.search-row{display:flex;flex-wrap:wrap;gap:12px}.search-row input{flex:1;min-width:220px;padding:12px 14px;border-radius:12px;border:1px solid rgba(47,42,37,.2)}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.result-card{background:#fffaf1f2;border:1px solid rgba(47,42,37,.12);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}.result-title{font-weight:700}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#2f2a251a;font-size:11px;font-weight:600;width:fit-content}.wizard-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.source-row{display:grid;grid-template-columns:1.2fr 2fr .8fr auto;gap:10px}.source-row input,.source-row select{padding:10px 12px;border-radius:12px;border:1px solid rgba(47,42,37,.2)}.simmer-card{align-items:center;text-align:center}.simmer-badge{background:#3e6b7329;color:var(--river);padding:6px 14px;border-radius:999px;font-weight:600}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;width:100%}.preview-card{border-radius:16px;padding:16px;background:#fffaf1e6;border:1px solid rgba(47,42,37,.12);text-align:left}.serve-card{align-items:flex-start}.nav-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2f2a2566;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.modal-card{width:min(520px,100%);background:var(--white);border-radius:var(--radius-lg);border:1px solid rgba(47,42,37,.12);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.modal-card select{padding:10px 12px;border-radius:12px;border:1px solid rgba(47,42,37,.2)}@media (max-width: 900px){.source-row,.make-hero-grid{grid-template-columns:1fr}}.section-title h2{font-size:clamp(28px,4vw,36px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.soup-cauldron{position:relative;padding:5rem 1rem;border-radius:32px 32px 26px 26px;background:linear-gradient(180deg,#3e6b7333,#3e6b730d);border:1px solid rgba(47,42,37,.16);box-shadow:var(--shadow);overflow:hidden;width:480px;margin:0 auto}.soup-cauldron:before{content:"";position:absolute;left:8%;right:8%;top:10px;height:16px;border-radius:999px;background:#2f2a2533;box-shadow:inset 0 1px #fffaf166}.soup-cauldron:after{content:"";position:absolute;left:14%;right:14%;bottom:-18px;height:28px;border-radius:0 0 24px 24px;background:#2f2a252e}.soup-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.soup-bubble{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);padding:4px 8px;font-size:11px;border-radius:999px;border:1px dashed rgba(47,42,37,.2);color:var(--ink-soft);background:#fffaf1cc;animation:bubbleFloat var(--d) ease-in-out infinite;opacity:.7}.soup-cauldron .stats-grid{position:relative;z-index:1}@keyframes bubbleFloat{0%{transform:translate(-50%,-50%);opacity:.35}45%{transform:translate(-50%,-70%);opacity:.9}to{transform:translate(-50%,-90%);opacity:.25}}.stat-card{padding:20px;border-radius:var(--radius-md);background:#fffaf1cc;border:1px solid rgba(47,42,37,.12);box-shadow:var(--shadow)}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.stat-value{font-size:28px;font-weight:700;margin:6px 0}.stat-note{font-size:13px;color:var(--ink-soft);margin:0}.panel{background:#fffaf1e6;border-radius:var(--radius-lg);border:1px solid rgba(47,42,37,.12);padding:24px;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-badge{padding:6px 12px;border-radius:999px;background:#4c61461f;color:var(--moss-dark);font-size:12px;font-weight:600}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.content-card{--card-accent: var(--ink-soft);background:var(--white);border-radius:var(--radius-md);padding:0;border:1px solid rgba(47,42,37,.1);display:flex;flex-direction:column;gap:0;box-shadow:0 8px 16px #2f2a2514;text-decoration:none;color:inherit;min-height:0;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.content-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px #2f2a251f;border-color:#2f2a252e}.content-card:focus-visible{outline:2px solid var(--card-accent);outline-offset:2px}.content-card[data-type=video]{--card-accent: var(--river)}.content-card[data-type=article]{--card-accent: var(--clay)}.content-card[data-type=podcast]{--card-accent: var(--moss)}.content-thumb{width:100%;aspect-ratio:16 / 9;background:#2f2a2514}.content-thumb img{width:100%;height:100%;object-fit:cover;display:block}.content-body{padding:12px 14px 14px;border-top:3px solid var(--card-accent);display:flex;flex-direction:column;gap:6px}.content-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em}.content-type{font-weight:700;color:var(--card-accent)}.content-date{font-weight:600}.content-title{margin:0;font-size:18px;line-height:1.3}.content-author{margin:0;font-size:13px;color:var(--ink-soft)}.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;background:#fffaf1bf;padding:28px;border-radius:var(--radius-lg);border:1px solid rgba(47,42,37,.12)}.card-list{display:grid;gap:14px}.stack-card{background:var(--white);padding:16px 18px;border-radius:var(--radius-sm);border:1px solid rgba(47,42,37,.08);box-shadow:0 8px 16px #2f2a2514}.lookup{display:flex;gap:12px;flex-wrap:wrap}.lookup input{flex:1 1 260px;padding:12px 14px;border-radius:999px;border:1px solid rgba(47,42,37,.2);font-size:14px;background:#fffaf1e6}.lookup input:focus{outline:2px solid rgba(62,107,115,.35)}.profile-card{display:grid;grid-template-columns:2fr 1fr;gap:18px;background:#fffaf1e6;border-radius:var(--radius-md);padding:20px;border:1px solid rgba(47,42,37,.1)}.profile-meta{display:grid;gap:10px;align-content:start}.callout{background:linear-gradient(120deg,#587a6033,#7b4f3426);border-radius:var(--radius-lg);padding:28px;border:1px solid rgba(47,42,37,.12);display:flex;flex-direction:column;gap:18px}.callout-actions{display:flex;gap:12px;flex-wrap:wrap}.footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--ink-soft);font-size:14px}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.error{color:#b5462c;font-weight:600}.muted{color:var(--ink-soft)}@media (max-width: 720px){.profile-card{grid-template-columns:1fr}.hero{padding:28px 18px}}
