:root{font-family:Trebuchet MS,Avenir Next,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#3d3853;background:radial-gradient(circle at top left,rgba(255,234,194,.85),transparent 30%),radial-gradient(circle at top right,rgba(192,236,222,.8),transparent 25%),linear-gradient(180deg,#fff9ef,#fffefc);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sun: #ffd98b;--mint: #bfead8;--berry: #ffc3d1;--sky: #cae7ff;--peach: #ffd3bb;--ink: #3d3853;--card: rgba(255, 255, 255, .84);--card-strong: rgba(255, 255, 255, .94);--line: rgba(78, 66, 110, .12);--shadow: 0 24px 50px rgba(109, 84, 137, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{position:relative;min-height:100vh;padding:24px 16px 48px;overflow:hidden}.screen{position:relative;z-index:1;width:min(100%,1040px);margin:0 auto}.background-blobs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.blob{position:absolute;border-radius:999px;filter:blur(6px);opacity:.75}.blob-one{width:240px;height:240px;background:#ffd69973;top:-80px;left:-80px}.blob-two{width:220px;height:220px;background:#c8efde8c;top:20%;right:-80px}.blob-three{width:200px;height:200px;background:#ffc3d173;bottom:-60px;left:10%}.hero-card,.wizard-header,.assembling-card,.result-hero,.shopping-card,.recipes-overview-card,.recipes-header,.empty-state-card{background:var(--card);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card,.assembling-card,.result-hero,.shopping-card,.recipes-overview-card,.recipes-header,.empty-state-card{border-radius:32px}.hero-card{padding:30px 24px;text-align:center}.eyebrow{margin:0 0 8px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#3d3853b8}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:14px;font-size:clamp(2.7rem,9vw,4.8rem);line-height:.95}h2{font-size:clamp(2rem,6vw,3rem);line-height:1.05;margin-bottom:12px}h3{font-size:1.15rem;margin-bottom:8px}.hero-copy,.helper-text,.result-hero p,.shopping-header p,.recipes-header p,.empty-state-card p{color:#3d3853d1}.hero-copy{max-width:32rem;margin:0 auto 20px;font-size:1.05rem}.hero-illustration{display:flex;justify-content:center;gap:14px;margin-bottom:24px;font-size:clamp(2rem,8vw,3.4rem)}.hero-illustration span{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:22px;background:#ffffffb3;transform:rotate(calc(var(--i, 0) * 1deg))}.hero-illustration span:nth-child(1){transform:rotate(-6deg)}.hero-illustration span:nth-child(2){transform:rotate(4deg)}.hero-illustration span:nth-child(3){transform:rotate(-4deg)}.hero-illustration span:nth-child(4){transform:rotate(7deg)}.start-button,.primary-button,.secondary-button,.stepper-button{border:none;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.start-button,.primary-button{background:linear-gradient(135deg,#ffb9c7,#ffd98b);color:var(--ink);box-shadow:0 16px 28px #ffa8803d}.start-button{min-width:220px;padding:18px 28px;font-size:1.3rem;font-weight:800;animation:pulse 1.8s infinite}.primary-button,.secondary-button{padding:14px 20px;font-weight:700}.secondary-button{background:#ffffffd6;color:var(--ink);border:1px solid var(--line)}.start-button:hover,.primary-button:hover,.secondary-button:hover,.stepper-button:hover,.remove-button:hover,.recipe-toggle:hover{transform:translateY(-2px)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.helper-text{margin-top:14px;margin-bottom:0}.wizard-screen,.final-flow-screen{display:grid;gap:18px}.wizard-header{border-radius:30px;padding:24px 20px;border:2px solid rgba(255,255,255,.75)}.progress-row{display:none}.progress-pill{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-width:0;padding:8px 6px 12px;border:none;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#3d38539e;font-size:.82rem;font-weight:700;text-align:center;box-shadow:none}.progress-pill.current{border-bottom-color:#ffa880f2;color:var(--ink);transform:none}.progress-pill.done{color:#3d3853}.progress-pill span:first-child{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#ffffffb8;border:1px solid rgba(78,66,110,.08);font-size:1rem}.progress-pill.current span:first-child{background:linear-gradient(135deg,#ffb9c7f2,#ffd98bf2);border-color:#ffaa8461;box-shadow:0 10px 20px #5f468c1f}.progress-pill.done span:first-child{background:#ffffffe0;color:#3d3853eb}.step-count{margin-bottom:8px;font-weight:700}.snack-grid{display:grid;gap:14px}.snack-card{display:grid;grid-template-columns:70px 1fr;align-items:start;gap:14px;width:100%;padding:18px;border-radius:28px;border:2px solid transparent;background:var(--card-strong);box-shadow:var(--shadow);text-align:left}.snack-card.selected{border-color:#ffa084b3;background:linear-gradient(180deg,#fffbe8fa,#fff2e7fa);box-shadow:0 24px 42px #6d548924,inset 0 0 0 1px #ffb87140}.snack-emoji{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:22px;background:#ffffffc2;font-size:2rem}.snack-card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.snack-card-content{min-width:0}.snack-card-topline h3{margin:0;line-height:1.15;overflow-wrap:anywhere}.selected-badge{padding:6px 10px;border-radius:999px;background:#ffd68ba6;font-size:.82rem;font-weight:700;flex-shrink:0}.snack-card-content p{margin-top:12px;margin-bottom:0}.snack-meta,.prep-note,.recipe-quantity{margin-bottom:0;color:#3d3853b3}.wizard-footer{display:grid;gap:14px}.wizard-actions,.result-actions{display:flex;gap:12px;flex-wrap:wrap}.assembling-screen{display:grid;min-height:calc(100vh - 72px);place-items:center}.assembling-card{width:min(100%,560px);padding:30px 22px;text-align:center}.magic-orb{position:relative;width:200px;height:200px;margin:0 auto 20px}.magic-ring{position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:50%;border:2px dashed rgba(255,199,133,.7);opacity:.7;animation:spinRing 6s linear infinite}.ring-two{top:0;right:0;bottom:0;left:0;border-style:solid;border-width:1px;border-color:#ffbdcd73;animation-duration:7.5s;animation-direction:reverse}.ring-three{top:28px;right:28px;bottom:28px;left:28px;border-style:dotted;border-color:#cbe7ffcc;animation-duration:4.8s}.orb-core{position:absolute;top:30px;right:30px;bottom:30px;left:30px;border-radius:50%;background:radial-gradient(circle at top,#fffffff2,#ffd88acc 35%,#ffa4c1b3 70%,#cae7ff99);box-shadow:0 0 0 18px #ffffff59,0 0 50px #ffc49f59;animation:floaty 2.2s ease-in-out infinite,orbPulse 1.7s ease-in-out infinite}.spark{position:absolute;font-size:1.6rem;animation:orbit 2.4s ease-in-out infinite}.spark-one{top:10px;left:78px}.spark-two{top:82px;right:6px;animation-delay:-.6s}.spark-three{left:14px;bottom:28px;animation-delay:-1.2s}.spark-four{right:48px;bottom:0;animation-delay:-1.8s}.spark-five{top:104px;left:-2px;animation-delay:-.9s}.spark-six{top:34px;right:20px;animation-delay:-1.5s}.magic-dots{display:inline-flex;gap:8px;margin-top:12px}.magic-dots span{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#ffb9c7f2,#ffd98bf2);animation:dotBounce 1.2s ease-in-out infinite}.magic-dots span:nth-child(2){animation-delay:.18s}.magic-dots span:nth-child(3){animation-delay:.36s}.result-hero,.shopping-card,.recipes-header,.empty-state-card{padding:24px 20px}.result-card-stack,.shopping-sections,.recipe-stack{display:grid;gap:18px}.category-summary{padding:18px;border-radius:28px;background:#ffffffd6;box-shadow:var(--shadow)}.category-summary-header{display:flex;align-items:center;margin-bottom:8px}.category-summary-header .eyebrow{margin-bottom:0}.summary-list{display:grid;gap:12px}.summary-item{display:grid;gap:12px;padding:16px;border-radius:22px;background:#ffffffc2}.summary-item-copy{min-width:0}.summary-item-copy h3{margin-bottom:6px}.summary-item-copy p{margin-bottom:0;color:#3d3853cc}.summary-item-actions{display:grid;gap:10px;justify-items:start;align-content:start}.quantity-stepper{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.quantity-stepper label{display:flex}.quantity-stepper input{width:72px;padding:10px 12px;border-radius:16px;border:1px solid var(--line);background:#fff;text-align:center}.stepper-button{width:42px;height:42px;background:#ffffffe6;border:1px solid var(--line)}.quantity-unit{font-weight:700;color:#3d3853b8}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:999px;border:1px solid rgba(78,66,110,.12);background:#ffffffb8;color:#3d3853c7;box-shadow:none}.icon-button span{line-height:1}.remove-button{font-size:.98rem;justify-self:end}.recipe-toggle{border:none;background:transparent;color:var(--ink)}.final-flow-layout{display:grid;gap:18px}.shopping-header{margin-bottom:14px}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header-row h3{margin-bottom:0}.shopping-section{padding:18px;border-radius:24px;background:#ffffffbf}.shopping-section ul,.recipe-card ul,.recipe-card ol{margin:0;padding-left:20px}.shopping-section li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(78,66,110,.15)}.shopping-section li:last-child{border-bottom:none;padding-bottom:0}.recipes-overview-card{padding:24px 20px}.recipes-overview-header{margin-bottom:16px}.card-action-button{flex-shrink:0}.add-more-actions{display:flex;justify-content:center;margin-top:20px}.add-more-button{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(78,66,110,.12);border-radius:999px;background:#fffc;color:var(--ink);font-weight:700}.add-more-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff5e8f2;font-size:1.25rem;line-height:1}.recipe-toggle{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;width:100%;padding:0;border:none;background:transparent;text-align:left}.recipe-toggle-label{padding:10px 14px;border-radius:999px;background:#fff5e8f2;font-weight:700;white-space:nowrap}.recipe-card{padding:22px;border-radius:28px;background:#fffffff0;box-shadow:var(--shadow);break-inside:avoid}.recipe-card.expanded{box-shadow:var(--shadow),inset 0 0 0 1px #ffb8712e}.recipe-card-body{padding-top:18px}.recipe-card-body[hidden]{display:none}.recipe-columns{display:grid;gap:16px}.accent-sun{background:linear-gradient(180deg,#fff8e2fa,#ffffffd6),var(--card)}.accent-mint{background:linear-gradient(180deg,#e3faeff5,#ffffffd6),var(--card)}.accent-berry{background:linear-gradient(180deg,#ffecf1f5,#ffffffd6),var(--card)}.accent-sky{background:linear-gradient(180deg,#ecf6fff5,#ffffffd6),var(--card)}.accent-peach{background:linear-gradient(180deg,#fff0e8f5,#ffffffd6),var(--card)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 16px 28px #ffa8803d}50%{transform:scale(1.04);box-shadow:0 22px 34px #ffa8804d}}@keyframes floaty{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.03)}}@keyframes orbit{0%{transform:translateZ(0) scale(.92) rotate(0);opacity:.65}25%{transform:translate3d(8px,-8px,0) scale(1.02) rotate(8deg);opacity:1}50%{transform:translate3d(0,-14px,0) scale(1.08) rotate(0);opacity:1}75%{transform:translate3d(-8px,-4px,0) scale(1) rotate(-8deg);opacity:.9}to{transform:translateZ(0) scale(.92) rotate(0);opacity:.65}}@keyframes spinRing{0%{transform:rotate(0) scale(.98);opacity:.55}50%{transform:rotate(180deg) scale(1.03);opacity:.9}to{transform:rotate(360deg) scale(.98);opacity:.55}}@keyframes orbPulse{0%,to{box-shadow:0 0 0 18px #ffffff59,0 0 50px #ffc49f59}50%{box-shadow:0 0 0 26px #ffffff2e,0 0 70px #ffc49f7a}}@keyframes dotBounce{0%,80%,to{transform:translateY(0) scale(.85);opacity:.55}40%{transform:translateY(-7px) scale(1);opacity:1}}@media (max-width: 719px){.category-summary{padding:14px;border-radius:24px}.category-summary-header{margin-bottom:6px}.category-summary-header .eyebrow{font-size:.82rem}.summary-list{gap:10px}.summary-item{gap:10px;padding:14px;border-radius:20px}.summary-item-copy h3{font-size:1.05rem;line-height:1.15}.summary-item-copy p{font-size:.98rem;line-height:1.35}.summary-item-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.quantity-stepper{display:grid;grid-template-columns:auto minmax(64px,74px) minmax(0,1fr) auto;gap:6px;flex:1;min-width:0}.quantity-stepper label{min-width:0}.quantity-stepper input{width:100%;min-width:0;padding:8px 10px;border-radius:14px}.stepper-button{width:38px;height:38px}.quantity-unit{min-width:0;font-size:.88rem;overflow-wrap:anywhere}.icon-button{width:36px;height:36px}.remove-button{flex-shrink:0;justify-self:auto}}@media (min-width: 720px){.app-shell{padding:32px 24px 56px}.progress-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:18px;padding:0 2px 10px;border-bottom:1px dashed rgba(78,66,110,.18)}.snack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-item{grid-template-columns:1fr auto;align-items:start}.summary-item-actions{justify-items:end}.shopping-sections,.recipe-columns,.recipe-stack{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body{background:#fff}.background-blobs,.no-print,.recipes-header{display:none!important}.app-shell{padding:0;background:#fff;overflow:visible}.final-flow-screen{width:100%}.final-flow-screen.print-groceries .print-hide-groceries,.final-flow-screen.print-recipes .print-hide-recipes,.final-flow-screen.print-groceries .result-hero,.final-flow-screen.print-groceries .result-card-stack,.final-flow-screen.print-recipes .result-hero,.final-flow-screen.print-recipes .result-card-stack{display:none!important}.recipe-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-hero,.shopping-card,.recipes-overview-card,.recipe-card{box-shadow:none;border:1px solid #ddd;background:#fff}.recipe-toggle{transform:none!important}.final-flow-screen.print-recipes .recipe-card-body{display:block!important}}
