:root{color:#30271d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#fff1cc 0,#f7ddc0 22%,#f4efe7 58%,#efe7da 100%);font-family:Sora,Trebuchet MS,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body,button{font-family:Sora,Trebuchet MS,Segoe UI,sans-serif}button{cursor:pointer}img{max-width:100%;display:block}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100svh;padding:28px 18px 36px;position:relative;overflow:hidden}.ambient{filter:blur(10px);opacity:.7;pointer-events:none;border-radius:999px;position:absolute}.ambient-one{background:radial-gradient(circle,#ffb64873,#ffb64800);width:14rem;height:14rem;animation:10s ease-in-out infinite drift;top:-4rem;right:-2rem}.ambient-two{background:radial-gradient(circle,#71d6a74d,#71d6a700);width:12rem;height:12rem;animation:12s ease-in-out infinite reverse drift;top:22rem;left:-3rem}.ambient-three{background:radial-gradient(circle,#ff78784d,#ff787800);width:11rem;height:11rem;animation:8s ease-in-out infinite pulse;bottom:5rem;right:-2rem}.hero-panel,.content-grid{z-index:1;position:relative}.hero-panel{gap:22px;display:grid}.hero-copy,.glass-panel,.phone-card,.floating-note{-webkit-backdrop-filter:blur(22px)}.hero-copy{background:linear-gradient(160deg,#fff8ece6,#ffffff80),#fff6;border:1px solid #ffffffa6;border-radius:32px;padding:1.5rem;box-shadow:0 24px 60px #291c0c1f}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#8f5d18;align-items:center;gap:.45rem;font-size:.74rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(135deg,#ffbf47,#ff7e45);border-radius:999px;width:.7rem;height:.7rem;box-shadow:0 0 18px #ff7e4580}.eyebrow.soft{color:#6e6b61}.hero-copy h1{margin:1rem 0 .85rem;font-size:clamp(2.6rem,8vw,4.5rem);line-height:.95}.hero-text{color:#5f594d;max-width:30rem;font-size:1rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.9rem;margin-top:1.35rem;display:flex}.primary-action,.ghost-action{min-height:3.4rem;font:inherit;border:0;border-radius:999px;padding:.9rem 1.2rem;font-weight:700;transition:transform .22s,box-shadow .22s,background .22s}.upload-action{justify-content:center;align-items:center;display:inline-flex}.primary-action{color:#fff9f1;background:linear-gradient(135deg,#fb7f3f,#f0536f);box-shadow:0 18px 30px #f0536f47}.ghost-action{color:#2e281d;background:#ffffff94;border:1px solid #79603929}.primary-action:hover,.ghost-action:hover{transform:translateY(-2px)scale(1.01)}.ghost-action:disabled{cursor:wait;opacity:.7}.hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-guidance,.file-note,.status-message{margin-top:.9rem;font-size:.92rem;line-height:1.5}.upload-guidance,.file-note{color:#716a5d}.status-message.error{color:#a03838}.status-message.loading{color:#7d561b}.insight-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.5rem;display:grid}.insight-pill{background:#ffffff8c;border:1px solid #8f5d181f;border-radius:20px;padding:.85rem .8rem;animation:.7s both rise}.insight-pill strong,.step-item strong,.ingredients-strip strong{color:#18140d;display:block}.insight-pill span,.mini-label,.step-item p{color:#716a5d}.preview-stack{justify-items:center;padding:.5rem 0 1rem;display:grid;position:relative}.phone-card{background:linear-gradient(#2d231bfa,#13110ef5),#171411;border:1px solid #ffffff14;border-radius:36px;width:min(100%,23rem);padding:1rem;animation:5.5s ease-in-out infinite floatCard;position:relative;box-shadow:0 28px 80px #17141159,inset 0 1px #ffffff14}.phone-topbar{gap:.35rem;display:flex}.phone-topbar span{background:#ffffff73;border-radius:50%;width:.45rem;height:.45rem}.dish-orbit{place-items:center;min-height:16rem;margin:1rem 0 1.5rem;display:grid;position:relative}.dish-glow{filter:blur(18px);background:radial-gradient(circle,#ff996099,#ff996000);border-radius:50%;width:11rem;height:11rem;animation:4.4s ease-in-out infinite pulse;position:absolute}.has-preview .dish-glow{width:13rem;height:13rem}.upload-preview{z-index:1;object-fit:cover;border:1px solid #ffffff14;border-radius:32px;width:13rem;height:13rem;animation:5.5s ease-in-out infinite floatCard;position:relative;box-shadow:0 18px 42px #00000047,inset 0 0 0 1px #ffffff14}.dish-plate{background:radial-gradient(circle at 50% 42%,#f3efe8 0 38%,#e2d7cb 39%,#b6aa9a 74%,#6a6258 100%);border:1px solid #ffffff14;border-radius:50%;width:13rem;height:13rem;animation:8s linear infinite rotatePlate;position:relative;box-shadow:inset 0 0 0 8px #ffffff2e,0 16px 36px #00000047}.food{filter:saturate(1.08);border-radius:999px;position:absolute}.rice{background:radial-gradient(circle at 30% 30%,#fffaf0,#f1e0b6 75%);width:3.6rem;height:2.9rem;top:4.5rem;left:2.5rem;box-shadow:0 .2rem .9rem #e6ce9359}.avocado{background:radial-gradient(circle at 45% 30%,#a8e76d,#4e9637 78%);width:3rem;height:4.2rem;top:2.6rem;right:2rem;transform:rotate(28deg)}.salmon{background:linear-gradient(135deg,#ff9967,#ff6d5f 56%,#f4574d);width:4.3rem;height:2.5rem;bottom:2.4rem;right:2.3rem;transform:rotate(-24deg);box-shadow:inset 0 0 0 1px #ffffff1f}.greens{background:radial-gradient(circle at 50% 40%,#95d964,#387d3c 72%);width:3.2rem;height:2.4rem;bottom:2.8rem;left:2rem}.scan-ring{border:1px solid #ffffff3d;border-radius:50%;position:absolute}.scan-ring-one{width:14rem;height:14rem;animation:3.5s ease-out infinite ping}.scan-ring-two{width:16rem;height:16rem;animation:3.5s ease-out 1.2s infinite ping}.nutrition-card,.ingredients-strip,.floating-note{background:#ffffff0f;border:1px solid #ffffff14}.nutrition-card,.ingredients-strip{border-radius:24px;padding:.9rem 1rem}.nutrition-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.nutrition-card h2{color:#fff8ef;margin:.2rem 0 0;font-size:1.25rem}.mini-label{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;display:inline-block}.calorie-badge{color:#fff6dc;background:linear-gradient(135deg,#ff855c47,#ffc15e2e);border-radius:999px;padding:.55rem .8rem;font-weight:800}.macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:.9rem 0;display:grid}.macro-pill{text-align:left;color:#fff5eb;border-radius:20px;padding:.85rem .7rem}.macro-pill span{opacity:.78;font-size:.8rem;display:block}.macro-pill strong{font-size:1.1rem}.protein{background:linear-gradient(#ff966159,#ff96612e)}.carbs{background:linear-gradient(#ffce6c47,#ffce6c29)}.fats{background:linear-gradient(#73d1aa52,#73d1aa29)}.ingredients-strip{margin-top:.2rem}.ingredients-list{flex-wrap:wrap;gap:.55rem;margin-top:.7rem;display:flex}.ingredient-chip{color:#fff5eb;background:#ffffff14;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;gap:.12rem;min-width:8rem;padding:.6rem .75rem;font-size:.84rem;display:flex}.ingredient-chip strong{color:#fff8ef;font-size:.86rem}.ingredient-chip span,.ingredient-chip em{color:#fff5ebc7;font-size:.72rem;font-style:normal}.floating-note{border-radius:22px;width:min(84%,18rem);margin-top:-1.2rem;padding:.95rem 1rem;animation:4s ease-in-out infinite bob;box-shadow:0 20px 40px #110e0c33}.floating-note p{color:#f4ece0;margin-top:.45rem}.content-grid{gap:1rem;margin-top:1.2rem;display:grid}.glass-panel{background:#fffcf69e;border:1px solid #ffffffa3;border-radius:28px;padding:1.25rem;box-shadow:0 18px 40px #38270f14}.panel-heading h3{margin:.45rem 0 .65rem;font-size:1.4rem}.steps-list{gap:.95rem;margin-top:1rem;display:grid}.highlights-panel{grid-column:1/-1}.highlights-list{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.highlight-chip{color:#473c2d;background:#ffffff94;border:1px solid #79603924;border-radius:999px;padding:.8rem 1rem}.step-item{background:#ffffff8a;border-radius:22px;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:.9rem;display:grid}.step-index{color:#fff8ef;background:linear-gradient(135deg,#e76d45,#f1aa39);border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;font-weight:800;display:grid;box-shadow:0 12px 20px #e76d453d}.reveal{animation:.78s cubic-bezier(.2,.8,.2,1) both revealUp}.reveal-1{animation-delay:.12s}.reveal-2{animation-delay:.24s}.reveal-3{animation-delay:.36s}@media (width>=900px){.app-shell{padding:40px 28px 52px}.hero-panel{grid-template-columns:1.05fr .95fr;align-items:center;gap:28px}.content-grid{grid-template-columns:.9fr 1.1fr;gap:1.1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@keyframes revealUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-8px,14px)scale(1.06)}}@keyframes pulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:.9;transform:scale(1.04)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floatCard{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}@keyframes ping{0%{opacity:.7;transform:scale(.82)}to{opacity:0;transform:scale(1.08)}}@keyframes rotatePlate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
