:root{--ink:#4d3940;--muted:#77686d;--paper:#fffaf4;--white:#fffefb;--line:#eadfdc;--pink:#f7b4c5;--pink-dark:#9b3e62;--peach:#ffd9c8;--blue:#cfe9fb;--mint:#ccebdd;--lavender:#dfd6fa;--yellow:#f8e8a6;--shadow:0 14px 30px rgba(107,72,80,.1);font-family:ui-rounded,"Nunito Sans","Avenir Next",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 4% 10%,rgba(247,180,197,.15),transparent 24%),var(--paper);padding-bottom:calc(84px + env(safe-area-inset-bottom))}button,input,select{font:inherit}.app-shell{max-width:980px;margin:auto;min-height:100vh}.topbar{height:68px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,244,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(234,223,220,.7)}.brand{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--ink);font-size:1.45rem;font-weight:900;letter-spacing:-.04em}.brand img{width:42px;height:42px;object-fit:contain}.install{border:2px solid #d790a6;background:#fff4f7;color:#7b3450;border-radius:999px;padding:9px 13px;font-size:.76rem;font-weight:850;cursor:pointer}main{padding:15px 15px 34px}.view{display:none}.view.active{display:block}.hero{display:grid;grid-template-columns:1.3fr .7fr;position:relative;overflow:hidden;min-height:250px;padding:30px;border:2px solid #efc6d0;border-radius:34px;background:linear-gradient(135deg,#ffdce5,#ffe9d4 65%,#fff4bc);box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;width:170px;height:170px;border-radius:47% 53% 61% 39%;background:#c9eadf;right:90px;bottom:-90px;opacity:.8}.hero-copy{position:relative;z-index:2}.brand-kicker{font-size:.7rem;letter-spacing:.16em;font-weight:900;color:#914767}.hero h1,.page-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.5rem,8vw,4.5rem);line-height:.9;letter-spacing:-.06em;margin:12px 0;color:#4e3840}.hero p{font-size:.98rem;line-height:1.55;margin:0;max-width:540px;color:#6a555d}.mascot-stage{position:relative;display:flex;align-items:flex-end;justify-content:center}.mascot-stage img{width:min(100%,230px);position:relative;z-index:2;filter:drop-shadow(0 12px 10px rgba(91,70,75,.12))}.doodle{position:absolute;font-size:2rem;color:#8e5870;font-weight:900}.star{left:0;top:15px}.heart{right:5px;top:55px;color:#d66d8c}.squiggle{left:10px;bottom:10px;color:#529786}.progress{margin:15px 2px 13px;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;color:#8b7a80;font-size:.75rem;font-weight:800;white-space:nowrap}.progress span{padding:6px 8px;border-radius:999px;background:#f5ece9}.progress span.active{background:var(--pink);color:#653448}.progress i{font-style:normal;color:#c4aeb4}.card{background:var(--white);border:2px solid var(--line);border-radius:25px;padding:20px;box-shadow:0 6px 16px rgba(102,72,79,.05)}.step-card{margin-bottom:12px}.step-card.peach{border-top-color:#f7b59d}.step-card.blue{border-top-color:#91c9ec}.step-card.yellow{border-top-color:#e7c852}.step-card.lavender{border-top-color:#b9a5e9}.step-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:16px}.step-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:var(--pink);color:#603246;font-weight:900;box-shadow:inset 0 -2px rgba(104,54,72,.1)}.blue .step-head>span{background:var(--blue)}.yellow .step-head>span{background:var(--yellow)}.lavender .step-head>span{background:var(--lavender)}.step-head h2{font-size:1.15rem;margin:2px 0 2px}.step-head p,.page-heading p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.grid{display:grid;gap:12px}.two{grid-template-columns:1fr 1fr}.nutrient-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.extra{margin-top:12px;padding-top:12px;border-top:1px dashed #dfcdca}label{display:block;font-size:.85rem;font-weight:850;margin:10px 0;color:#5b454d}label small{display:block;color:#917f84;font-size:.72rem;font-weight:650;margin-top:2px}input,select{width:100%;min-height:49px;border:2px solid #eadfdd;border-radius:14px;background:#fff;color:var(--ink);padding:12px;margin-top:7px;outline:none}input::placeholder{color:#b7a8ac}input:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible{border-color:#ae5373;box-shadow:0 0 0 4px rgba(247,180,197,.32);outline:none}.suffix,.prefix{position:relative}.suffix input{padding-right:34px}.suffix b{position:absolute;right:13px;top:22px;color:#8b777e}.prefix b{position:absolute;left:13px;top:22px;color:#8b777e}.prefix input{padding-left:30px}.tip{border:0;background:#f3e9ed;color:#8c4861;border-radius:50%;width:23px;height:23px;font-weight:900;cursor:pointer}.mini-tip{width:19px;height:19px;font-size:.72rem;vertical-align:1px}.expand{border:1px dashed #cc9aac;background:#fff5f7;color:#7d4057;border-radius:14px;padding:11px 14px;margin-top:12px;font-weight:850;cursor:pointer}.segmented{display:flex;background:#f2ebe8;padding:4px;border-radius:14px;margin:8px 0 14px}.segmented button{flex:1;border:0;background:transparent;border-radius:11px;padding:10px;font-weight:800;color:#7a696f}.segmented button.active{background:white;color:#7d4057;box-shadow:0 2px 7px rgba(86,61,68,.1)}.primary{min-height:54px;border:2px solid #8c3c5c;border-radius:16px;background:#a8476b;color:#fff;width:100%;padding:0 21px;font-weight:900;box-shadow:0 8px 17px rgba(155,62,98,.22);cursor:pointer}.primary span{margin-left:7px}.primary:hover{background:#963b60}.compact{width:auto;min-height:44px}.ghost,.small-cta{border:2px solid #dcb9c4;background:#fff7f9;color:#793f56;border-radius:13px;padding:10px 14px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.danger{color:#9c3f49;border-color:#e3adb1;background:#fff7f6}.sticky-cta{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom));z-index:8;padding:10px 0 3px;background:linear-gradient(transparent,var(--paper) 24%)}.friendly-prompt{display:flex;gap:13px;align-items:center;background:#fff5cf;border:2px solid #edcf63;border-radius:18px;padding:13px;margin-bottom:14px}.friendly-prompt img{width:72px;height:72px}.friendly-prompt strong{font-size:.98rem}.friendly-prompt p{font-size:.8rem;line-height:1.4;margin:3px 0 9px;color:var(--muted)}.error{color:#943e47;font-weight:750;font-size:.86rem;line-height:1.45;margin-top:10px}.hidden{display:none!important}.results{margin-top:22px}.results-hero{padding:25px;border:2px solid #edbac8;border-radius:28px;background:linear-gradient(140deg,#ffdbe4,#fff0ce);position:relative;overflow:hidden}.results-hero h2{font-family:Georgia,serif;font-size:2rem;letter-spacing:-.04em;margin:8px 0 4px}.results-hero p{margin:0;color:#735d64}.results-hero img{position:absolute;right:-15px;bottom:-40px;width:145px;opacity:.25}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:11px}.nutrient-card{border:2px solid #eadfdc;border-radius:21px;padding:16px;background:#fff;min-height:130px}.nutrient-card:nth-child(4n+1){background:#fff0f3}.nutrient-card:nth-child(4n+2){background:#eff8fe}.nutrient-card:nth-child(4n+3){background:#f2fbf6}.nutrient-card:nth-child(4n){background:#fff8dc}.nutrient-icon{font-size:1.15rem}.nutrient-card strong{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;margin:7px 0;color:#85445d}.nutrient-card .big{display:block;font-size:1.7rem;font-weight:950;letter-spacing:-.04em}.nutrient-card small{color:var(--muted);line-height:1.4}.result-card{margin-top:11px;border:2px solid var(--line);border-radius:23px;padding:19px;background:#fff}.result-card h3{font-size:1.15rem;margin:4px 0 11px}.result-card p{line-height:1.5;color:var(--muted);font-size:.9rem}.aafco-card{background:#f3eefc;border-color:#cdbfec}.status-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#fff;font-size:.78rem;font-weight:900}.status-chip.below{background:#fff0db;color:#81511e}.cat-plan{background:linear-gradient(135deg,#d7f0e6,#eefbf6);border-color:#a9d8c6}.plan-amount{font-family:Georgia,serif;font-size:2.1rem;margin:5px 0}.plan-points{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.plan-points div,.cost-grid div{background:rgba(255,255,255,.75);border-radius:14px;padding:11px}.plan-points small,.cost-grid small{display:block;color:var(--muted);font-size:.72rem}.cost-card{background:#fff4d1;border-color:#ead073}.cost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cost-grid b{font-size:1.05rem}.cost-per{display:inline-block;margin-top:12px;background:white;border-radius:12px;padding:9px 12px;font-weight:900}.save-row{display:flex;gap:10px;margin-top:12px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:12px 3px 21px}.page-heading h1{font-size:3rem;margin:8px 0}.stack{display:grid;gap:10px}.item,.saved-card{background:#fff;border:2px solid var(--line);border-radius:21px;padding:17px}.item{display:flex;justify-content:space-between;align-items:center;gap:14px}.item h3,.saved-card h3{margin:0 0 5px}.item p,.saved-card p{margin:0;color:var(--muted);font-size:.85rem}.item-actions{display:flex;gap:7px;flex-wrap:wrap}.mini{border:1px solid #decdd1;background:#fff9fa;color:#704453;border-radius:11px;padding:8px 10px;font-weight:800;cursor:pointer}.default-pill{display:inline-block;background:#dff3eb;color:#427766;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:900;margin-left:5px}.saved-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.saved-card{border-top-color:#f1aebe}.food-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.food-meta div{background:#faf2f0;border-radius:11px;padding:9px}.food-meta small{display:block;color:var(--muted);font-size:.67rem}.food-meta b{font-size:.85rem}.empty-state{text-align:center;padding:28px}.empty-state img{width:120px}.empty-state h3{font-family:Georgia,serif;font-size:1.45rem;margin:5px}.compare-choice{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--line);border-radius:16px;padding:12px;font-weight:800}.compare-choice input{width:22px;min-height:22px;margin:0}.compare-wrap{overflow-x:auto;margin-top:15px;border-radius:20px}.compare-table{min-width:650px;width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:2px solid var(--line)}.compare-table th,.compare-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:.84rem}.compare-table th{background:#f4d6df;color:#613646}.compare-table td:first-child{font-weight:850;color:#75646a}.compare-table tr:last-child td{border-bottom:0}.data-card,.install-card{margin-bottom:12px}.data-card h2,.install-card h2{margin-top:0}.row{display:flex;gap:9px}.wrap{flex-wrap:wrap}.file-label input{display:none}.install-card{display:flex;align-items:center;gap:16px;background:#ecf8f3;border-color:#b8dece}footer{padding:14px 20px 24px;color:var(--muted);font-size:.76rem;line-height:1.5}footer summary{font-weight:900;color:#704b58;cursor:pointer}footer a{display:inline-block;margin-top:9px;color:#7d4057}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:12;background:rgba(255,254,251,.95);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;justify-content:center;padding:8px 7px calc(8px + env(safe-area-inset-bottom))}.bottom-nav a{width:min(24%,150px);display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:#8c7b81;font-size:.69rem;font-weight:850}.bottom-nav span{display:grid;place-items:center;width:34px;height:27px;font-size:1.05rem;border-radius:12px}.bottom-nav a.active{color:#8b3d5c}.bottom-nav a.active span{background:#f8d4de}dialog{border:2px solid #e4c5ce;border-radius:23px;padding:22px;max-width:340px;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(77,57,64,.42);backdrop-filter:blur(3px)}dialog>button{float:right;border:0;background:transparent;font-size:1.5rem}dialog img{float:left;margin-right:12px}dialog p{line-height:1.5;margin:12px 0 0}.subtle{color:var(--muted);font-size:.85rem;line-height:1.5}
@media(max-width:620px){.hero{display:block;min-height:285px;padding:22px 145px 20px 20px}.hero h1{font-size:2.25rem}.hero p{font-size:.78rem;line-height:1.45}.mascot-stage{position:absolute;right:-8px;bottom:23px}.mascot-stage img{width:155px;max-width:none}.doodle.star{left:-8px;top:-30px}.doodle.heart{right:14px;top:-2px}.doodle.squiggle{left:4px;bottom:-3px}.two{grid-template-columns:1fr}.nutrient-grid{grid-template-columns:1fr 1fr}.saved-grid{grid-template-columns:1fr}.cost-grid{grid-template-columns:1fr 1fr}.page-heading{align-items:flex-start}.page-heading h1{font-size:2.35rem}.item{align-items:flex-start;flex-direction:column}.install{font-size:.68rem;padding:8px 10px}.progress{justify-content:flex-start;padding-bottom:2px}.progress i{display:none}.progress span{font-size:.7rem}.sticky-cta{bottom:calc(68px + env(safe-area-inset-bottom))}}@media(max-width:370px){main{padding-left:11px;padding-right:11px}.hero{padding-right:120px}.mascot-stage img{width:135px}.hero p{font-size:.76rem}.nutrient-grid{grid-template-columns:1fr 1fr}.card{padding:16px}}

/* Gataux candy-packaging brand layer */
:root{--ink:var(--gataux-text);--muted:#68575f;--paper:var(--gataux-cream);--white:#fffdf6;--line:var(--gataux-text);--pink:var(--gataux-coral);--pink-dark:#d94361;--peach:#ffb24a;--blue:var(--gataux-periwinkle);--mint:var(--gataux-mint);--lavender:var(--gataux-lavender);--yellow:var(--gataux-yellow);--orange:var(--gataux-orange);--shadow:5px 6px 0 var(--gataux-text)}
body{background:linear-gradient(90deg,rgba(255,111,127,.07) 1px,transparent 1px),linear-gradient(rgba(255,111,127,.07) 1px,transparent 1px),var(--paper);background-size:24px 24px;padding-bottom:calc(94px + env(safe-area-inset-bottom))}
.topbar{height:72px;background:rgba(255,247,234,.94);border-bottom:3px solid var(--ink)}
.brand{gap:7px;font-family:Georgia,serif;font-size:1.65rem;letter-spacing:-.07em}.brand span{background:linear-gradient(90deg,var(--pink),var(--orange) 43%,var(--blue) 72%,var(--orange));background-clip:text;-webkit-background-clip:text;color:transparent}
.install{border:3px solid var(--ink);background:var(--lavender);color:var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);font-weight:950}
.hero{grid-template-columns:1.25fr .75fr;min-height:248px;padding:29px;border:3px solid var(--ink);border-radius:28px;background:linear-gradient(135deg,var(--pink) 0 52%,var(--orange) 52% 76%,var(--gataux-periwinkle) 76%);box-shadow:var(--shadow)}
.hero:before{width:175px;height:175px;border-radius:50%;background:var(--gataux-cream);right:70px;bottom:-92px;border:3px solid var(--ink);opacity:1}
.hero h1,.page-heading h1{line-height:.87;color:var(--ink)}.hero p{line-height:1.45;color:var(--ink);font-weight:700}.brand-kicker{color:var(--ink);font-weight:1000}
.progress{margin:17px 2px 14px;color:var(--ink);font-weight:900}.progress span{padding:7px 10px;border:2px solid var(--ink);border-radius:10px;background:#fff}.progress span.active{background:var(--pink);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}
.card,.item,.saved-card,.compare-choice{border:3px solid var(--ink);border-radius:22px;box-shadow:4px 5px 0 rgba(47,35,48,.9)}
.step-card.peach{background:#fff1e5;border-top:8px solid var(--orange)}.step-card.blue{background:#f0efff;border-top:8px solid var(--blue)}.step-card.yellow{background:#fff8d8;border-top:8px solid var(--yellow)}.step-card.lavender{background:#f3efff;border-top:8px solid var(--lavender)}
.step-head>span{width:40px;height:40px;border:3px solid var(--ink);border-radius:12px;background:var(--pink);color:var(--ink);font-weight:1000;box-shadow:2px 2px 0 var(--ink)}
input,select{min-height:52px;border:3px solid var(--ink);border-radius:13px;background:#fffaf2;color:var(--ink);box-shadow:inset 0 -3px rgba(47,35,48,.06)}
.expand,.ghost,.small-cta,.mini{border:2px solid var(--ink);background:var(--gataux-cream);color:var(--ink);box-shadow:2px 2px 0 var(--ink);font-weight:950}.expand{background:var(--lavender)}
.primary{min-height:56px;border:3px solid var(--ink);border-radius:15px;background:var(--orange);color:var(--ink);font-weight:1000;box-shadow:4px 5px 0 var(--ink);transition:transform .12s,box-shadow .12s}.primary:hover{background:#ff8b58}.primary:active,.expand:active,.mini:active{transform:translate(3px,3px);box-shadow:1px 2px 0 var(--ink)}
.results-hero{border:3px solid var(--ink);background:linear-gradient(130deg,var(--pink) 0 64%,var(--orange) 64%);box-shadow:5px 6px 0 var(--ink)}.results-hero p{color:var(--ink);font-weight:800}.results-hero img{opacity:1;width:150px;bottom:-34px}
.nutrient-card,.result-card{border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink)}.nutrient-card:nth-child(4n+1){background:#ffd8de}.nutrient-card:nth-child(4n+2){background:#e6e2ff}.nutrient-card:nth-child(4n+3){background:#dff5ed}.nutrient-card:nth-child(4n){background:#fff1a8}.aafco-card{background:#dcd6ff}.cat-plan{background:#ccebdd}.cost-card{background:var(--gataux-yellow)}
.empty-state{background:var(--lavender);border:3px solid var(--ink);box-shadow:5px 6px 0 var(--ink)}.empty-state img{width:145px}.install-card{background:var(--pink);border:3px solid var(--ink)}
.cat-plan{overflow:hidden}.plan-mascot{float:right;width:106px;height:106px;object-fit:contain;margin:-10px -8px 4px 12px}.install-card>img{width:96px;height:96px;object-fit:contain;flex:0 0 auto}
.warning{color:#684514;background:#fff1b8;border:2px solid #e1a82e;border-radius:14px;padding:11px 13px;font-size:.84rem;font-weight:750;line-height:1.45;margin-top:12px}.warning:empty{display:none}.compare-cat-card{margin-bottom:12px;background:var(--orange);border:3px solid var(--ink);box-shadow:4px 5px 0 var(--ink)}.compare-cat-card label{margin:0}.compare-context{background:var(--lavender);border:2px solid var(--ink);border-radius:14px;padding:11px 13px;font-size:.85rem}
.topbar-actions{display:flex;gap:6px;align-items:center}.topbar-actions .install{text-decoration:none;white-space:nowrap}.auth-shell{max-width:680px}.auth-shell main{padding-top:18px}.auth-hero{background:var(--pink);border:3px solid var(--ink);border-radius:28px;box-shadow:5px 6px 0 var(--ink);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden}.auth-hero h1{font-family:Georgia,serif;font-size:clamp(2.2rem,8vw,3.8rem);line-height:.95;letter-spacing:-.06em;margin:10px 0}.auth-hero p{font-weight:750;line-height:1.4}.auth-hero img{width:32%;min-width:95px}.auth-card{margin-top:18px;border:3px solid var(--ink);box-shadow:5px 6px 0 var(--ink);background:var(--cream)}.auth-card h2{font-family:Georgia,serif;font-size:1.8rem;line-height:1.1}.auth-card .primary{margin-top:12px}.text-button{display:inline-block;border:0;background:none;color:var(--ink);font-weight:850;text-decoration:underline;padding:12px;cursor:pointer}.auth-message{margin-top:15px;background:var(--lavender);border:2px solid var(--ink);border-radius:14px;padding:12px;font-weight:750}.auth-message.bad{background:#ffe4ca}.paywall-price{font-size:2.4rem;font-weight:950;margin:16px 0}.paywall-price small{font-size:.95rem}.auth-card p{line-height:1.5}.account-details div{padding:11px 0;border-bottom:1px solid var(--ink)}.account-details dt{font-size:.74rem;text-transform:uppercase;font-weight:900}.account-details dd{margin:4px 0 0;font-weight:750}.auth-card .ghost{margin:10px 10px 0 0}.auth-card .small-cta{margin-top:10px}#pending{text-align:center;background:var(--lavender)}#paywall{background:#ffe6a0}#account{background:var(--lavender)}@media(max-width:390px){.topbar-actions .install{font-size:.68rem;padding:8px}.auth-hero img{min-width:85px}}
.plan-intro{margin:14px 0 8px;font-weight:950}.pricing-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pricing-card{min-width:0;min-height:154px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;border:3px solid var(--ink);border-radius:var(--gataux-card-radius);padding:16px;background:var(--gataux-billing-monthly);color:var(--ink);box-shadow:3px 4px 0 var(--ink);cursor:pointer;text-align:left}.pricing-card.annual{background:var(--gataux-billing-annual)}.pricing-card strong{font-family:var(--gataux-heading-font);font-size:1.25rem}.pricing-card .plan-price{font-size:2.25rem;line-height:1;font-weight:1000}.pricing-card small{font-size:.86rem;font-weight:850}.pricing-card .plan-selected{position:absolute;top:11px;left:12px;border:2px solid transparent;border-radius:999px;padding:4px 7px;font-size:.7rem;font-weight:950}.pricing-card:not(.selected) .plan-selected{color:var(--muted)}.pricing-card.selected{outline:4px solid var(--cream);outline-offset:-7px;box-shadow:5px 6px 0 var(--ink);transform:translateY(-2px)}.pricing-card.selected .plan-selected{border-color:var(--ink);background:var(--cream)}.plan-badge{position:absolute;top:10px;right:10px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);padding:4px 7px;font-size:.68rem;font-weight:1000}.pricing-card:focus-visible{outline:4px solid var(--cream);outline-offset:2px}.savings-note{margin:12px 0 0;font-size:.82rem;font-weight:800}.account-details dd small{display:block;margin-top:3px;color:var(--muted);font-size:.82rem}@media(max-width:430px){.pricing-options{grid-template-columns:1fr}.pricing-card{min-height:132px}.pricing-card .plan-price{font-size:2rem}}
.bottom-nav{background:rgba(255,247,234,.97);border-top:3px solid var(--ink);padding:9px 7px calc(9px + env(safe-area-inset-bottom))}.bottom-nav a{color:#78666d;font-size:.76rem;font-weight:950}.bottom-nav span{width:40px;height:31px;font-size:1.25rem;border-radius:10px}.bottom-nav a.active{color:var(--ink)}.bottom-nav a.active span{background:var(--pink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}
@media(max-width:620px){.hero{min-height:270px;padding:20px 145px 18px 18px}.hero h1{font-size:2.2rem}.hero p{font-size:.79rem}.mascot-stage{right:-3px;bottom:18px}.mascot-stage img{width:155px}.progress{background:var(--gataux-cream);border:2px solid var(--ink);border-radius:14px;padding:6px}.sticky-cta{bottom:calc(76px + env(safe-area-inset-bottom))}.nutrient-card{min-height:138px}.bottom-nav a{font-size:.74rem}}

/* Compact mobile-app identity bar. Auth keeps its existing membership header. */
.app-topbar{min-height:calc(var(--gataux-topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--gataux-topbar-background) 94%,transparent);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(47,35,48,.16)}
.peek-brand{height:var(--gataux-topbar-height);min-width:0;display:flex;align-items:center;gap:7px;color:var(--ink);text-decoration:none}
.mascot-peek{width:43px;height:var(--gataux-topbar-height);display:block;align-self:flex-end;overflow:hidden;flex:0 0 43px;position:relative}
.mascot-peek img{position:absolute;width:52px;height:52px;max-width:none;left:-4px;bottom:-8px;object-fit:contain}
.peek-wordmark{font-family:var(--gataux-heading-font);font-size:1.3rem;font-weight:900;letter-spacing:-.065em;line-height:1;background:linear-gradient(90deg,var(--pink),var(--orange) 43%,var(--blue) 72%,var(--orange));background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap}
.account-button{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border:2px solid var(--ink);border-radius:50%;background:var(--lavender);color:var(--ink);box-shadow:2px 2px 0 var(--ink);text-decoration:none}
.account-button:active{transform:translate(2px,2px);box-shadow:none}
.account-glyph{width:20px;height:20px;display:block;position:relative}
.account-glyph:before{content:"";position:absolute;width:7px;height:7px;border:2px solid currentColor;border-radius:50%;left:50%;top:0;transform:translateX(-50%);background:var(--gataux-topbar-background)}
.account-glyph:after{content:"";position:absolute;width:17px;height:9px;border:2px solid currentColor;border-bottom:0;border-radius:12px 12px 0 0;left:50%;bottom:0;transform:translateX(-50%)}
@media(max-width:390px){.app-topbar{padding-left:11px;padding-right:11px}.peek-brand{gap:5px}.peek-wordmark{font-size:1.22rem}}

/* Product update: fixed grid, navigable Analyze steps, profiles, Build and Pantry. */
body{background:var(--paper);position:relative}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(255,111,127,.07) 1px,transparent 1px),linear-gradient(rgba(255,111,127,.07) 1px,transparent 1px);background-size:24px 24px}
.wordmark-image{width:92px;height:28px;display:block;object-fit:contain;object-position:left center}.solid-account{font-size:1.55rem;line-height:1}.solid-account span{transform:translateY(-1px)}
[data-icon-image]{display:inline-block;background:currentColor;-webkit-mask:var(--icon-url) center/contain no-repeat;mask:var(--icon-url) center/contain no-repeat;width:1.25em;height:1.25em}.solid-account [data-icon-image]{width:24px;height:24px;transform:none}
.progress{position:sticky;top:calc(var(--gataux-topbar-height) + env(safe-area-inset-top));z-index:10;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;background:rgba(255,247,234,.96);border:0;border-bottom:1px solid rgba(45,34,48,.22);border-radius:0;margin:0 -15px 14px;padding:8px 15px}.progress::-webkit-scrollbar{display:none}.progress button{flex:1;min-width:max-content;border:1px solid rgba(45,34,48,.35);border-radius:999px;background:var(--cream);color:var(--ink);padding:7px 12px;font-size:.78rem;font-weight:900;cursor:pointer}.progress button.active{background:var(--cream);border-color:var(--ink);box-shadow:inset 0 -3px var(--pink)}
.step-card{scroll-margin-top:120px}.results{scroll-margin-top:120px}.utility-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.utility-card{box-shadow:3px 4px 0 var(--ink)}.utility-card h2{margin:0 0 8px;font-size:1.12rem}.utility-card p{font-size:.86rem;line-height:1.45;min-height:42px}
.bottom-nav a{width:min(20%,130px)}.bottom-nav a small{font:inherit;font-size:.68rem;white-space:nowrap}
.build-flow{display:grid;gap:12px}.build-step{position:relative}.build-step h2{margin:0 0 10px;padding-left:42px}.step-chip{position:absolute;top:15px;left:16px;width:30px;height:30px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:10px;background:var(--pink);font-weight:950}.chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chip-grid label{margin:0;display:flex;align-items:center;gap:8px;border:2px solid var(--ink);border-radius:13px;background:var(--cream);padding:10px;font-size:.8rem}.chip-grid input{width:20px;min-height:20px;margin:0;accent-color:var(--pink)}.target-profile{margin-top:14px;background:var(--lavender)}.target-profile dl{display:grid;gap:8px}.target-profile dl div{background:rgba(255,255,255,.7);padding:11px;border-radius:12px}.target-profile dt{font-size:.72rem;font-weight:950;text-transform:uppercase}.target-profile dd{margin:3px 0 0}.inline-cta{display:inline-flex;width:auto;text-decoration:none;min-height:48px;align-items:center}.rotation-option{display:flex;align-items:center;gap:8px;border:1px solid rgba(45,34,48,.3);border-radius:12px;padding:7px;margin:7px 0}.rotation-option input{width:20px;min-height:20px;margin:0}.rotation-option img{object-fit:contain}
.cat-profile-list{display:grid;gap:14px}.cat-profile{background:var(--cream)}.cat-profile>header{display:flex;gap:14px;align-items:center}.cat-profile>header img{object-fit:contain}.cat-profile h2{margin:0}.cat-profile header p{margin:3px 0}.cat-profile section{margin-top:14px;border-top:2px solid rgba(45,34,48,.2);padding-top:12px}.cat-profile section h3{margin:0 0 8px}.profile-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(45,34,48,.15)}
.pantry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.pantry-grid .empty-state{grid-column:1/-1}.pantry-card{text-align:left;border:3px solid var(--ink);border-radius:18px;background:var(--cream);color:var(--ink);padding:14px;box-shadow:3px 4px 0 var(--ink);cursor:pointer}.pantry-card h3{margin:5px 0}.pantry-card p{margin:0 0 10px;font-size:.8rem}.pantry-card dl{display:grid;gap:6px;margin:0}.pantry-card dl div{background:rgba(255,255,255,.65);border-radius:9px;padding:7px}.pantry-card dt{font-size:.62rem;text-transform:uppercase;font-weight:900}.pantry-card dd{margin:2px 0 0;font-weight:900;font-size:.82rem}.rotation-badge{display:inline-block;margin-top:9px;background:var(--pink);border:1px solid var(--ink);border-radius:999px;padding:4px 7px;font-weight:900}
.food-dialog{width:min(92vw,620px);max-height:86vh;overflow:auto}.detail-table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td{padding:8px;border-bottom:1px solid rgba(45,34,48,.2);text-align:left;font-size:.82rem}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.radio-stack label{display:flex;gap:9px;align-items:center;border:2px solid var(--ink);border-radius:12px;padding:10px}.radio-stack input{width:20px;min-height:20px;margin:0}.stacked{flex-direction:column}.success-panel{margin-top:10px;border:2px solid var(--ink);border-radius:14px;background:var(--mint);padding:12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.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}
dialog{max-height:86vh;overflow:auto}dialog h2{font-family:var(--gataux-heading-font);font-size:1.7rem}.dialog-close{position:sticky;top:0;float:right;z-index:2;background:var(--cream);border:2px solid var(--ink);border-radius:50%;width:38px;height:38px}
.action-dialog{width:min(88vw,390px);border:3px solid var(--ink);border-radius:var(--gataux-card-radius);background:var(--cream);box-shadow:6px 7px 0 var(--ink);padding:24px}.action-dialog h2{margin:4px 0 8px;line-height:1.05}.action-dialog p{margin:0;color:var(--muted);font-weight:750}.action-dialog-mark{width:42px;height:42px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:13px;background:var(--pink);box-shadow:2px 2px 0 var(--ink);font-family:var(--gataux-heading-font);font-size:1.5rem;font-weight:1000}.action-dialog-actions{justify-content:flex-end;margin-top:20px}.action-dialog-actions button{min-height:48px}.primary.destructive{background:var(--pink);color:var(--ink)}.primary.destructive:hover{background:#ff8b98}.action-dialog .error:not(:empty){margin-top:14px;padding:10px 12px;border:2px solid var(--ink);border-radius:12px;background:#ffe4ca}.action-dialog button:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:2px 2px 0 var(--ink)}
.account-notice{margin:0 0 12px;border:2px solid var(--ink);border-radius:var(--gataux-card-radius);background:var(--yellow);padding:12px 14px;font-size:.86rem;line-height:1.45;font-weight:750}.save-target-dialog{width:min(92vw,460px);background:var(--cream);border:3px solid var(--ink);box-shadow:5px 6px 0 var(--ink)}.save-target-dialog fieldset{border:0;padding:4px 0;margin:12px 0}.save-target-dialog .cat-choice{display:flex;align-items:center;gap:10px;border:2px solid var(--ink);border-radius:var(--gataux-input-radius);background:var(--gataux-card);padding:10px;margin:8px 0;font-weight:900}.save-target-dialog .cat-choice input{width:22px;min-height:22px;margin:0;accent-color:var(--gataux-orange)}.save-target-dialog .cat-choice img{width:38px;height:38px;object-fit:contain}.save-target-dialog .success-panel{margin-top:14px}
.dev-mode-badge{position:fixed;z-index:50;right:10px;top:calc(6px + env(safe-area-inset-top));border:2px solid var(--ink);border-radius:999px;background:var(--yellow);color:var(--ink);padding:5px 9px;font-size:.66rem;font-weight:950;box-shadow:2px 2px 0 var(--ink);pointer-events:none}
@media(max-width:620px){.utility-grid{grid-template-columns:1fr}.utility-card p{min-height:0}.progress{top:calc(var(--gataux-topbar-height) + env(safe-area-inset-top));padding-left:11px;padding-right:11px}.progress button{flex:0 0 auto}.bottom-nav a{font-size:.66rem}.bottom-nav a small{font-size:.62rem}.bottom-nav span{width:34px}.success-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:370px){.pantry-card{padding:11px}.pantry-grid{gap:8px}.chip-grid{grid-template-columns:1fr}}
