:root{--nouri-ui:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--nouri-display:Georgia,"Times New Roman",serif;--ink:#173028;--muted:#6c7b74;--sage:#dfeadb;--lime:#d9f66f;--cream:#f7f4ea;--white:#fff;--line:#dfe5df;--orange:#ee8d62;--blue:#82b5b3;--shadow:0 18px 50px rgba(26,54,45,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f7f2;color:var(--ink);font-family:var(--nouri-ui);line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 28px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px 12px 4px 12px;background:var(--ink);color:var(--lime);font-family:var(--nouri-display);font-style:italic}.avatar{border:0;background:var(--sage);width:38px;height:38px;border-radius:50%;font-weight:800}.onboarding{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 1fr;max-width:1240px;margin:auto;padding:48px 28px 80px;gap:9vw;align-items:center}.onboard-copy h1,.greeting h1{font-family:var(--nouri-display);font-size:clamp(44px,6vw,78px);font-weight:400;line-height:1.02;margin:12px 0 24px}.onboard-copy h1 em{color:#62815c}.onboard-copy>p{max-width:540px;color:var(--muted);font-size:18px}.eyebrow,.step-label{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:900;color:#668060}.steps{display:flex;gap:8px;margin-top:44px}.steps span{width:42px;height:5px;border-radius:9px;background:#d8ddd7}.steps span.active{background:var(--ink)}.onboard-card{background:var(--white);padding:36px;border-radius:28px;box-shadow:var(--shadow)}.onboard-card h2{font-family:var(--nouri-display);font-size:32px;font-weight:400;margin:6px 0 26px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:7px;font-size:12px;font-weight:800;margin-bottom:15px}input,select{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa;outline:none}input:focus,select:focus{border-color:#789875;box-shadow:0 0 0 3px #dfeadb}fieldset{border:0;padding:0;margin:0 0 22px}legend{font-size:12px;font-weight:800;margin-bottom:8px}.segmented{display:flex;background:#f1f4ef;padding:4px;border-radius:12px}.segmented label{flex:1;display:block;text-align:center;padding:10px;margin:0;border-radius:9px}.segmented input{width:auto;margin-right:5px}.primary,.secondary,.ghost,.pill,.text-btn{border:0;border-radius:12px;padding:13px 18px;font-weight:850}.primary{background:var(--ink);color:#fff}.onboard-card>.step-panel>.primary{width:100%;display:flex;justify-content:space-between;margin-top:8px}.secondary{background:var(--sage)}.ghost{background:#eef1ec}.actions{display:flex;gap:10px}.actions .primary{flex:1}.choice-stack label,.plan-options label{grid-template-columns:auto 1fr auto;align-items:center;border:1px solid var(--line);border-radius:14px;padding:15px;margin-bottom:10px}.choice-stack input,.plan-options input{width:auto}.choice-stack small,.plan-options small{display:block;color:var(--muted);font-weight:500}.choice-stack i{font-size:24px;font-style:normal}.plan-options .advanced{background:#f2f7e8;border-color:#bdd37a}.plan-options strong{font-size:15px}.plan-options strong small{display:inline}.calorie-result{background:var(--ink);color:white;padding:18px;border-radius:16px;margin-bottom:16px}.calorie-result b{font-size:30px}.calorie-result span{color:#bdd0c8}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}.fineprint{font-size:10px;color:var(--muted)}.app-shell{max-width:1240px;margin:auto;padding:28px 28px 110px}.greeting{display:flex;justify-content:space-between;align-items:flex-start;margin:22px 0 38px}.greeting h1{font-size:48px;margin:2px 0 8px}.greeting h1 span{color:#63805e;font-style:italic}.greeting p{margin:0;color:var(--muted)}.pill{background:var(--white);border:1px solid var(--line)}.water-card{border-radius:24px;padding:28px}.dark{background:var(--ink);color:#fff}.water-card{background:#dfeef0;display:grid;grid-template-columns:1fr auto;position:relative;overflow:hidden}.water-card h2{font-size:38px;margin:6px 0}.water-card h2 small{font-size:14px;color:var(--muted)}.water-card p{font-size:12px;color:var(--muted)}.water-card button{grid-column:1/-1;margin-top:18px}.water-vessel{width:70px;height:130px;border:2px solid #76a7ae;border-radius:8px 8px 20px 20px;position:relative;overflow:hidden;display:grid;place-items:center}.water-vessel div{position:absolute;bottom:0;left:0;right:0;height:40%;background:#8dccdb;transition:.3s}.water-vessel span{z-index:1;font-size:22px}.section{margin-top:52px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-head h2{font-family:var(--nouri-display);font-size:34px;font-weight:400;margin:4px 0}.section-head p{color:var(--muted);margin:0}.text-btn{background:transparent}.meal-tabs{display:flex;border-bottom:1px solid var(--line);gap:28px;overflow:auto}.meal-tabs button{border:0;background:transparent;padding:12px 4px;font-weight:800;white-space:nowrap;color:var(--muted);border-bottom:3px solid transparent}.meal-tabs button.active{color:var(--ink);border-color:var(--ink)}.meal-tabs small{display:block;font-weight:500}.meal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.meal-card{background:white;border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(26,54,45,.05)}.meal-image{height:145px;display:grid;place-items:center;font-size:70px;background:linear-gradient(145deg,#eff3e7,#e3d7c0)}.meal-body{padding:18px}.meal-body h3{margin:0 0 5px;font-family:var(--nouri-display);font-size:21px}.meal-body p{font-size:12px;color:var(--muted);min-height:36px}.meal-meta{display:flex;gap:12px;font-size:11px;font-weight:800}.meal-body button{width:100%;margin-top:14px}.locked{position:relative}.locked:after{content:"Advanced · unlock all 5";position:absolute;inset:0;background:rgba(247,244,234,.87);display:grid;place-items:center;text-align:center;font-weight:900;padding:20px}.workout-section{background:#e8eddf;padding:30px;border-radius:26px}.workout-preview{display:grid;grid-template-columns:1.4fr .7fr;gap:28px}.exercise{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #cbd5c5}.exercise .num{width:36px;height:36px;border-radius:50%;background:white;display:grid;place-items:center;font-weight:900}.exercise b,.exercise small{display:block}.exercise small{color:var(--muted)}.exercise>span:last-child{font-weight:800}.workout-preview aside{background:white;border-radius:18px;padding:20px}.week{display:flex;gap:8px}.week span{flex:1;text-align:center;background:#f1f3ef;border-radius:10px;padding:9px 3px;font-weight:900}.week small{display:block;font-size:8px;color:var(--muted)}.week .done{background:var(--ink);color:white}.coach-note{font-size:12px;color:var(--muted);border-left:3px solid var(--lime);padding-left:12px;margin-top:22px}.chart-card{background:white;border-radius:22px;padding:24px;display:grid;grid-template-columns:1fr auto;align-items:center}.chart-bars{height:150px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--line)}.chart-bars span{flex:1;max-width:50px;background:var(--sage);border-radius:7px 7px 0 0;position:relative}.chart-bars span:last-child{background:var(--ink)}.chart-bars i{position:absolute;top:-24px;font-size:9px;font-style:normal}.chart-card>div:last-child{padding:24px}.chart-card b{display:block;font-size:28px}.chart-card small{color:var(--muted)}.bottom-nav{position:fixed;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);background:rgba(23,48,40,.96);border-radius:18px;padding:7px;display:flex;box-shadow:var(--shadow)}.bottom-nav button{border:0;background:transparent;color:#9eb0a9;width:82px;padding:8px;border-radius:12px;font-size:18px}.bottom-nav button.active{background:#324e44;color:var(--lime)}.bottom-nav span{display:block;font-size:9px}.toast{position:fixed;z-index:99;top:20px;left:50%;transform:translate(-50%,-120px);background:var(--ink);color:white;padding:13px 20px;border-radius:12px;transition:.3s}.toast.show{transform:translate(-50%,0)}dialog{border:0;border-radius:22px;padding:0;box-shadow:var(--shadow);max-width:410px;width:calc(100% - 30px)}dialog::backdrop{background:rgba(15,32,26,.55)}dialog form{padding:30px}.dialog-x{float:right;border:0;background:transparent;font-size:24px}.workout-live{position:fixed;z-index:30;inset:0;background:#f4f6ef;overflow:auto}.live-top{height:74px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.live-top button{border:0;background:transparent;color:white}.live-top>div{text-align:center}.live-top small,.live-top b{display:block}.live-inner{max-width:680px;margin:50px auto;padding:0 22px}.live-inner h1{font-family:var(--nouri-display);font-size:48px;margin:6px 0}.live-inner>p{color:var(--muted)}.set-rows{background:white;border-radius:18px;padding:10px 18px;margin:28px 0}.set-row{display:grid;grid-template-columns:55px 1fr 1fr 38px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}.set-row input{text-align:center;padding:10px}.set-row.done{opacity:.55}.big{width:100%;padding:17px}.live-nav{display:flex;justify-content:space-between;margin-top:18px}.live-nav button{border:0;background:transparent;font-weight:800}.admin{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.admin aside{background:var(--ink);color:white;padding:28px 20px;display:flex;flex-direction:column}.admin nav{display:grid;gap:7px;margin-top:50px}.admin nav button,.admin aside>button{border:0;background:transparent;color:#b9c8c2;text-align:left;padding:12px;border-radius:10px}.admin nav button.active{background:#304c42;color:var(--lime)}.admin aside>button{margin-top:auto}.admin-main{padding:50px;max-width:1200px}.admin-main h1{font-family:var(--nouri-display);font-size:48px;margin:6px 0}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:35px 0}.admin-stats article{background:white;padding:22px;border-radius:18px}.admin-stats b{display:block;font-size:32px}.admin-stats span{font-size:11px;color:#63805e}.admin-table{background:white;padding:22px;border-radius:20px}.admin-table table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:13px}.status{padding:5px 9px;border-radius:20px}.status.good{background:#e3f2dc}.status.warn{background:#fff0d5}.security-note{font-size:11px;color:var(--muted);margin-top:16px}
@media(max-width:800px){.topbar{height:62px;padding:0 18px}.onboarding{display:block;padding:22px 16px 50px}.onboard-copy{margin-bottom:28px}.onboard-copy h1{font-size:43px}.onboard-copy>p{font-size:15px}.steps{margin-top:24px}.onboard-card{padding:22px;border-radius:22px}.grid2{grid-template-columns:1fr 1fr}.app-shell{padding:10px 15px 110px}.greeting{margin:15px 0 25px}.greeting h1{font-size:35px}.greeting>button{font-size:0;padding:12px}.greeting>button:first-letter{font-size:14px}.water-card{padding:20px}.section{margin-top:38px}.section-head{align-items:flex-start}.section-head h2{font-size:28px}.meal-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;margin-right:-15px;padding-right:15px}.meal-card{min-width:82vw;scroll-snap-align:start}.meal-image{height:130px}.workout-section{padding:20px}.workout-preview{grid-template-columns:1fr}.workout-preview aside{display:none}.bottom-nav{bottom:8px;width:calc(100% - 20px);justify-content:space-around}.bottom-nav button{width:auto;flex:1}.chart-card{grid-template-columns:1fr}.chart-card>div:last-child{padding:18px 0 0}.admin{grid-template-columns:1fr}.admin aside{display:none}.admin-main{padding:24px 16px}.admin-stats{grid-template-columns:1fr}.admin-table{overflow:auto}.live-inner h1{font-size:38px}.set-row{grid-template-columns:42px 1fr 1fr 30px}}

/* Nouri / s4-inspired accessible visual layer */
:root{--ink:#063f2d;--sage:#dcecdf;--lime:#d8fa63;--cream:#fff;--shadow:0 16px 42px rgba(6,63,45,.08)}
body{background:#fff}.brand img{display:block;width:128px;height:auto}.onboard-copy h1,.greeting h1,.onboard-card h2,.section-head h2,.meal-body h3,.live-inner h1,.admin-main h1{font-family:var(--nouri-ui);font-weight:950;letter-spacing:-.05em;line-height:1}.primary,.secondary,.ghost,.pill,.text-btn{border-radius:16px;padding:16px 20px;min-height:52px;font-weight:900}.section-head h2{font-size:38px}.shop-layout{display:grid;grid-template-columns:1.5fr .7fr;gap:18px}.shop-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:13px}.food-thumb{width:58px;height:58px;border-radius:14px;background:#eef4ec;display:grid;place-items:center;font-size:30px}.shop-item b,.shop-item small{display:block}.shop-item small{color:var(--muted)}.shop-item strong{font-size:17px}.scanner{height:180px;border-radius:18px;background:#102e25;display:grid;place-items:center;position:relative;overflow:hidden;margin-bottom:18px}.scanner div{position:absolute;left:10%;right:10%;height:2px;background:var(--lime);box-shadow:0 0 12px var(--lime)}.scanner span{color:#fff;font-size:70px}.swap-verdict{padding:15px;border-radius:14px;background:#e7f4df;margin-top:14px}.swap-verdict.warn{background:#fff0d6}.milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.milestone{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.milestone b{font-size:22px}.milestone p{color:var(--muted);font-size:12px}.share-row{display:flex;gap:6px}.share-row button{border:0;border-radius:10px;background:var(--sage);padding:9px;font-weight:900}.target-hit{background:var(--lime);padding:18px;border-radius:18px}.admin .brand img{width:120px;filter:brightness(0) invert(1)}.admin .brand small{font-size:9px;letter-spacing:.2em}
@media(max-width:800px){.grid2{grid-template-columns:1fr}.shop-layout{grid-template-columns:1fr}.section-head{flex-wrap:wrap}.milestones{grid-template-columns:1fr}.brand img{width:110px}}
.auth-shell{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;padding:5vw max(6vw,24px)}.auth-copy h1{font-size:clamp(3.2rem,7vw,7.5rem);line-height:.86;margin:.2em 0}.auth-copy p{max-width:620px;font-size:1.15rem}.auth-card{background:#fff;border:1px solid #d7dfd4;border-radius:28px;padding:clamp(22px,4vw,44px);box-shadow:0 24px 70px #173d2920}.auth-card form{display:grid;gap:16px}.auth-tabs{display:flex;margin-bottom:26px}.auth-tabs button{flex:1;padding:13px;border:0;border-radius:999px;background:transparent;font-weight:800}.auth-tabs .active{background:#173d29;color:#fff}.form-error{color:#a52c22;min-height:1.4em}.admin-main form{display:grid;gap:14px;max-width:680px}@media(max-width:760px){.auth-shell{grid-template-columns:1fr;gap:22px;padding-top:35px}.auth-copy h1{font-size:3.7rem}.auth-copy p{font-size:1rem}}
.topbar{max-width:1380px;height:84px}.brand img{width:132px;height:auto}.site-nav{display:flex;gap:28px}.site-nav a{color:var(--ink);text-decoration:none;font-size:13px;font-weight:800}.public-actions{display:flex;gap:10px}.public-actions button{padding:11px 18px}.landing{background:#fbfcf8}.landing-hero{min-height:700px;max-width:1380px;margin:auto;padding:72px 38px 86px;display:grid;grid-template-columns:1.04fr .96fr;gap:7vw;align-items:center}.hero-copy h1{font-family:var(--nouri-display);font-size:clamp(58px,6.7vw,104px);font-weight:400;line-height:.91;letter-spacing:-.045em;margin:18px 0 28px}.hero-copy h1 em{color:#5e805d}.hero-copy>p{font-size:19px;color:var(--muted);max-width:650px}.hero-actions{display:flex;align-items:center;gap:18px;margin:34px 0 25px}.big-cta{padding:17px 24px;font-size:16px}.hero-proof{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;font-weight:800;color:#587161}.product-preview{background:var(--ink);color:#fff;padding:28px;border-radius:34px;box-shadow:0 30px 80px #17302830;transform:rotate(1.2deg)}.preview-top span,.product-preview small{font-size:10px;letter-spacing:.12em;color:#9fb2aa;font-weight:900}.preview-top b{display:block;font-family:var(--nouri-display);font-size:32px;margin:6px 0 22px}.preview-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.preview-grid article,.preview-meal{border-radius:20px;padding:20px}.preview-energy{background:#2b4a40}.preview-energy strong,.preview-water strong{display:block;font-size:44px;line-height:1}.preview-energy span,.preview-water span{font-size:12px;color:#b8c7c1}.preview-bar{height:8px;border-radius:9px;background:#48655b;margin:20px 0 12px}.preview-bar i{display:block;width:38%;height:100%;background:var(--lime);border-radius:9px}.preview-energy p{font-size:12px;margin:0}.preview-water{background:#dceef0;color:var(--ink)}.preview-water small,.preview-water span{color:#617a7b}.preview-water div{font-size:40px;margin-top:26px}.preview-meal{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:#fff;color:var(--ink);margin-top:12px}.preview-meal>span{font-size:40px}.preview-meal b{display:block}.preview-meal p{margin:2px 0;color:var(--muted);font-size:11px}.preview-meal>i{font-style:normal;font-size:25px}.landing-strip{background:var(--lime);display:flex;justify-content:center;align-items:center;gap:28px;padding:18px;overflow:hidden;white-space:nowrap;font-size:11px;font-weight:950;letter-spacing:.12em}.landing-strip i{width:5px;height:5px;border-radius:50%;background:var(--ink)}.feature-section{max-width:1380px;margin:auto;padding:110px 38px}.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-items:end;margin-bottom:50px}.section-intro .eyebrow{grid-column:1/-1}.section-intro h2,.how-section h2,.landing-cta h2{font-family:var(--nouri-display);font-size:clamp(44px,5vw,72px);font-weight:400;line-height:1;margin:8px 0}.section-intro>p:last-child{color:var(--muted);font-size:18px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;min-height:270px}.feature-grid article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sage);font-size:11px;font-weight:900}.feature-grid h3{font-family:var(--nouri-display);font-size:25px;margin:60px 0 10px}.feature-grid p{font-size:13px;color:var(--muted)}.how-section{background:#e8eee4;padding:100px max(38px,calc((100vw - 1304px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.how-section ol{margin:0;padding:0;list-style:none;counter-reset:steps}.how-section li{counter-increment:steps;display:grid;grid-template-columns:52px 1fr;padding:20px 0;border-bottom:1px solid #c8d4c5}.how-section li:before{content:"0" counter(steps);font-weight:900;color:#678064}.how-section li b,.how-section li span{grid-column:2}.how-section li b{font-size:19px}.how-section li span{color:var(--muted);margin-top:5px}.landing-cta{text-align:center;max-width:900px;margin:auto;padding:120px 24px}.landing-cta>p:not(.eyebrow){color:var(--muted);font-size:18px}.landing-cta button{margin-top:18px}.landing-footer{border-top:1px solid var(--line);max-width:1380px;margin:auto;padding:32px 38px;display:flex;align-items:center;gap:28px}.landing-footer img{width:110px}.landing-footer p{color:var(--muted);flex:1}.auth-dialog{max-width:520px}.auth-dialog .auth-card{border:0;box-shadow:none}.auth-dialog .dialog-x{margin:-10px -8px 6px 0}.auth-card h2{font-family:var(--nouri-display);font-size:34px;margin:4px 0 18px}
@media(max-width:800px){.topbar{height:72px;padding:0 20px}.brand img{width:116px}.site-nav{display:none}.public-actions .ghost{display:none}.public-actions .primary{padding:10px 14px;font-size:12px}.landing-hero{min-height:auto;padding:58px 20px 64px;display:flex;flex-direction:column;gap:48px;align-items:stretch}.hero-copy h1{font-size:clamp(48px,14vw,67px);line-height:.92;margin:15px 0 22px}.hero-copy>p{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column;margin:28px 0 20px;gap:8px}.hero-actions .text-btn{text-align:center}.hero-proof{gap:10px 16px}.product-preview{padding:18px;border-radius:25px;transform:none}.preview-top b{font-size:25px}.preview-grid{grid-template-columns:1fr 1fr}.preview-grid article{padding:16px}.preview-energy strong,.preview-water strong{font-size:34px}.preview-meal{padding:15px;gap:10px}.preview-meal>span{font-size:30px}.landing-strip{justify-content:flex-start;gap:18px}.feature-section{padding:76px 20px}.section-intro{display:block;margin-bottom:30px}.section-intro h2,.how-section h2,.landing-cta h2{font-size:45px}.section-intro>p:last-child{font-size:16px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:220px}.feature-grid h3{margin-top:40px}.how-section{padding:76px 20px;display:block}.how-section ol{margin-top:35px}.landing-cta{padding:85px 20px}.landing-footer{padding:28px 20px;display:grid;grid-template-columns:1fr auto}.landing-footer p{grid-column:1/-1;grid-row:2}.auth-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px)}.auth-dialog .auth-card{padding:24px}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom));}.app-shell{padding-bottom:130px}}
