@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@400;600;700;800&display=swap";:root{--bg: #fdf7ef;--card: #ffffff;--text: #3a2c22;--muted: #8a7566;--accent: #f07a4f;--accent-strong: #c14e22;--peach: #ffe1d1;--peach-deep: #7a3b1e;--peach-mid: #c06a44;--mint: #d6f0e0;--mint-deep: #1e5c38;--sun: #ffe9a8;--sun-deep: #7f6212;--lilac: #ece3f8;--lilac-deep: #5b4694;--danger: #c0453f;--danger-soft: #fbe3e1;--border: rgba(122, 59, 30, .1);--shadow-soft: 0 6px 24px rgba(122, 59, 30, .08);--bounce: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;font-family:Nunito,Avenir Next,system-ui,sans-serif;background:radial-gradient(circle at 8% -4%,rgba(255,205,170,.5),transparent 32%),radial-gradient(circle at 96% 4%,rgba(214,240,224,.55),transparent 30%),var(--bg);color:var(--text)}#root{max-width:720px;margin:0 auto;padding:16px 14px 110px}h1,h2,h3{margin:0;font-family:"Baloo 2",Nunito,sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.08}p{margin:0}button{font:inherit;font-weight:700;cursor:pointer;color:var(--text);border:1px solid var(--border);background:var(--card);border-radius:16px;padding:10px 14px;transition:transform .16s var(--bounce),background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}button:hover{transform:translateY(-1px) scale(1.02)}button:active{transform:scale(.96)}:where(button,input,select,textarea,a):focus-visible{outline:3px solid rgba(193,78,34,.35);outline-offset:2px}button.primary{width:100%;padding:14px 16px;font-weight:800;font-size:1rem;color:#fff;border:none;border-radius:18px;background:var(--accent-strong);box-shadow:0 8px 20px #c14e2247}button.primary:hover{background:#ad441c}button.danger{color:var(--danger);border-color:#c0453f40;background:var(--danger-soft)}button.icon-btn{border:none;background:#ffffffb3;color:var(--peach-deep);font-size:16px;padding:9px 12px;border-radius:14px}input,select,textarea{width:100%;font:inherit;font-weight:600;color:var(--text);padding:13px 15px;border:2px solid rgba(122,59,30,.12);border-radius:16px;background:var(--card);transition:border-color .16s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder{color:#b39c8b}label{display:block;margin:2px 0 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.screen{padding:22px 4px}.hint{color:var(--muted);font-size:14px;line-height:1.5}.error-text{color:var(--danger)}.screen-auth{display:grid;gap:18px;min-height:calc(100vh - 48px);align-content:center}.auth-topbar{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--peach-mid)}.auth-card,.setup-screen:not(.sheet-form){display:grid;gap:16px;padding:28px 24px;border-radius:28px;background:var(--card);box-shadow:var(--shadow-soft);animation:rise-in .48s var(--bounce) both}.auth-card h1,.setup-screen h1{font-size:clamp(2.1rem,7vw,3rem)}.auth-intro{max-width:32rem;color:var(--muted);font-size:1rem;line-height:1.6}.stack-form{display:grid;gap:10px}.app-shell{display:grid;gap:14px}.app-header{position:sticky;top:10px;z-index:20}.hero-card{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 20px;border-radius:26px;color:var(--peach-deep);background:var(--peach);box-shadow:var(--shadow-soft);animation:rise-in .42s var(--bounce) both}.hero-main{display:grid;gap:4px}.hero-card .eyebrow{color:var(--peach-mid)}.baby-name{justify-self:start;padding:0;border:none;border-radius:8px;color:inherit;background:none;font-family:"Baloo 2",sans-serif;font-size:clamp(1.8rem,6vw,2.5rem);font-weight:800;text-align:left}.hero-age{font-size:.95rem;font-weight:700;color:var(--peach-mid)}.hero-actions{display:flex;gap:8px;align-items:start}.progress-panel{grid-column:1 / -1;display:grid;gap:8px}.progress-copy{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.progress-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--peach-mid)}.progress-text{font-size:.95rem;font-weight:800}.progress-bar{height:10px;border-radius:999px;overflow:hidden;background:#ffffffd9}.progress-bar>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#ffb347);transition:width .7s var(--bounce)}.lang-toggle{padding:9px 12px;border-radius:14px;border:none;background:#ffffffb3;color:var(--peach-deep);font-size:12px;font-weight:800;letter-spacing:.08em}.controls-card{display:grid;gap:12px;padding:12px;border-radius:24px;background:var(--card);box-shadow:var(--shadow-soft)}.toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;border-radius:18px;background:#f4ebdf}.toolbar.setup-mode{grid-template-columns:repeat(2,1fr)}.toolbar button{border:none;background:transparent;border-radius:14px;padding:11px 6px;font-size:12.5px;font-weight:800;line-height:1.15;color:var(--muted)}.toolbar button.active{color:var(--mint-deep);background:var(--mint);box-shadow:0 4px 12px #1e5c3824}.search-wrap{position:relative}.search-wrap .search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none}.search-wrap input{padding-left:42px}.food-groups{display:grid;gap:12px}.category-section{padding:12px;border-radius:24px;background:var(--card);box-shadow:var(--shadow-soft)}.category-header{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;border:none;background:none;padding:4px 4px 8px}.category-header.static{cursor:default}.category-title{display:flex;align-items:center;gap:8px;font-family:"Baloo 2",sans-serif;font-size:1.15rem;font-weight:700}.category-count{font-size:12px;font-weight:800;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.category-count .chevron{display:inline-block;transition:transform .22s var(--bounce)}.category-header[aria-expanded=false] .chevron{transform:rotate(-90deg)}.food-row{display:flex;align-items:center;gap:12px;width:100%;margin-top:6px;text-align:left;padding:10px 12px;border-radius:18px;border:none;background:#fdf9f3;animation:row-in .36s ease both;animation-delay:calc(min(var(--i, 0),12)*26ms)}.food-row:hover{background:#fbf3e8;transform:translateY(-1px)}.food-row:hover .food-tile{transform:rotate(-8deg) scale(1.08)}.food-row.dimmed{opacity:.55}.food-tile{flex:none;width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .22s var(--bounce)}.food-main{flex:1;min-width:0;display:grid;gap:2px}.food-name{font-size:.95rem;font-weight:800;line-height:1.25}.food-subline{font-size:12px;font-weight:600;color:var(--muted)}.meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.meta-icons{display:flex;gap:6px;align-items:center;font-size:17px}.taste-count{font-weight:800}.badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;background:var(--sun);color:var(--sun-deep);font-size:11px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.badge.highlight{background:var(--lilac);color:var(--lilac-deep)}.check-chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--mint);color:var(--mint-deep);font-size:13px;font-weight:800}.flag{color:var(--danger)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding-top:48px;background:#4a2a1859;animation:fade-in .2s ease both}.sheet{width:100%;max-width:720px;max-height:90vh;overflow-y:auto;border-radius:28px 28px 0 0;background:var(--bg);box-shadow:0 -8px 34px #4a2a182e;animation:sheet-up .42s var(--bounce) both}.sheet-handle{width:52px;height:6px;margin:12px auto 0;border-radius:999px;background:#7a3b1e2e}.sheet-header{display:flex;justify-content:space-between;align-items:center;padding:8px 18px 0}.sheet-header h2{font-size:1.6rem}.sheet-body{padding:12px 18px 32px}.sheet-intro{display:flex;align-items:center;gap:10px;margin-bottom:12px}.sheet-form{display:grid;gap:10px}.secondary-action{width:100%;font-weight:800;color:var(--mint-deep);border:none;background:var(--mint)}.reaction-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 6px}.reaction-row .reaction{display:grid;justify-items:center;gap:4px;min-height:76px;padding:12px 6px;border-radius:18px;border:2px solid transparent;background:#f6efe4;font-weight:800;font-size:12px;color:var(--muted)}.reaction-row .reaction-emoji{font-size:26px;line-height:1;transition:transform .22s var(--bounce)}.reaction-row .reaction.selected{color:var(--mint-deep);border-color:#1e5c3859;background:var(--mint)}.reaction-row .reaction.selected .reaction-emoji{animation:pop .36s var(--bounce);transform:scale(1.15)}.effects-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.effects-row label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 12px;border-radius:999px;background:var(--card);border:2px solid rgba(122,59,30,.1);color:var(--text);font-size:13px;font-weight:700;text-transform:none;letter-spacing:normal;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.effects-row label:has(input:checked){background:var(--danger-soft);border-color:#c0453f59;color:var(--danger)}.effects-row input[type=checkbox]{width:auto;accent-color:var(--danger)}.share-code-input{text-transform:uppercase;letter-spacing:.2em;font-weight:800;text-align:center}.share-section{display:grid;gap:8px;margin-top:20px;padding-top:16px;border-top:2px dashed rgba(122,59,30,.15)}.share-code-display{padding:14px;border-radius:16px;background:var(--lilac);color:var(--lilac-deep);font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:.22em;text-align:center;-webkit-user-select:all;user-select:all}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tasting-item{margin-top:10px;padding:12px 14px;border-radius:18px;background:var(--card);box-shadow:var(--shadow-soft)}.summary{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;border:none;background:none;font-weight:800}.tasting-editor{margin-top:12px;animation:rise-in .26s ease both}.fab{position:fixed;right:max(18px,calc(50% - 336px));bottom:22px;z-index:60;border:none;border-radius:999px;padding:16px 20px;color:#fff;font-weight:800;background:var(--accent-strong);box-shadow:0 10px 24px #c14e2259}.fab:hover{transform:translateY(-2px) scale(1.05)}.toast{position:fixed;left:50%;bottom:88px;z-index:200;transform:translate(-50%);padding:12px 16px;border-radius:16px;background:var(--danger);color:#fff;font-weight:700;animation:rise-in .26s var(--bounce) both}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none}.celebration span{position:absolute;left:50%;top:55%;font-size:24px;animation:confetti 1.2s ease-out both;animation-delay:var(--delay, 0ms)}.celebration .celebration-core{font-size:52px;animation:pop-fade 1.1s var(--bounce) both}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes row-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(48px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.35)}to{transform:scale(1.15)}}@keyframes confetti{0%{opacity:1;transform:translate(-50%,-50%) scale(.4) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, -80px))) scale(1.1) rotate(var(--rot, 220deg))}}@keyframes pop-fade{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}75%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60%) scale(.9)}}@media (max-width: 720px){#root{padding-inline:12px}.hero-card{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.fab{right:14px;bottom:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.celebration{display:none}}
