@font-face{font-family:IranYekan;src:url(/assets/IRANYekanXFaNum-Regular-NJOSFezJ.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IranYekan;src:url(/assets/IRANYekanXFaNum-Medium-DtIGUAVZ.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IranYekan;src:url(/assets/IRANYekanXFaNum-DemiBold-DOu07JpD.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IranYekan;src:url(/assets/IRANYekanXFaNum-Bold-DnKohisb.woff2)format("woff2");font-weight:700 900;font-style:normal;font-display:swap}@font-face{font-family:Gramophone;src:url(/assets/GramophoneDotStyle1FaNum-Regular-MH1sHF1j.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gramophone;src:url(/assets/GramophoneDotStyle1FaNum-SemiBold-DQSBhrzx.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Gramophone;src:url(/assets/GramophoneDotStyle1FaNum-Bold-DUoi1ICE.woff2)format("woff2");font-weight:700 900;font-style:normal;font-display:swap}:root{--bg:#f8f7f2;--surface:#fffefa;--surface-hover:#f3f0e8;--text:#26322b;--text-2:#69756d;--text-3:#98a198;--border:#e8e6dc;--border-strong:#d9d5c8;--accent:#2f715d;--accent-hover:#245b4a;--accent-text:#fff;--danger-bg:#fff0ee;--danger-border:#f5c4bd;--danger-text:#b3483c;--positive-bg:#e4f4e8;--positive-text:#28704d;--caution-bg:#fff5d9;--caution-text:#a46516;--radius:22px;--radius-sm:15px;--sans:"IranYekan", Tahoma, Arial, sans-serif}*{box-sizing:border-box}body{min-width:320px;font:16px/1.55 var(--sans);background:var(--bg);color:var(--text);font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0}button{font-family:inherit}#root{min-height:100svh}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,opacity .15s,transform .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn:not(:disabled):active{transform:scale(.98)}.btn-secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:not(:disabled):hover{background:var(--surface-hover)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:not(:disabled):hover{color:var(--text)}.result{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:20px;padding:20px;display:flex;box-shadow:0 10px 28px #26322b0d}.result-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.result-title{letter-spacing:-.2px;margin:0;font-size:19px;font-weight:600}.confidence{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500}.confidence-high{background:var(--positive-bg);color:var(--positive-text)}.confidence-medium{background:var(--caution-bg);color:var(--caution-text)}.confidence-low{background:var(--danger-bg);color:var(--danger-text)}.macro-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.macro-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;padding:14px 8px;display:flex}.macro-value{letter-spacing:-.2px;font-size:17px;font-weight:600}.macro-label{color:var(--text-3);font-size:12px}.item-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:0;list-style:none}.item{flex-direction:column;gap:5px;padding:14px 16px;display:flex}.item+.item{border-top:1px solid var(--border)}.item-main{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.item-name{font-size:15px;font-weight:500}.item-kcal{color:var(--text-2);white-space:nowrap;font-size:14px}.item-sub{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px;display:flex}.item-note{color:var(--text-3);margin:0;font-size:13px;font-style:italic}.section-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);margin:0 0 8px;font-size:13px;font-weight:600}.follow-up-list{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:14px;display:flex}.disclaimer{color:var(--text-3);margin:0;font-size:12px;line-height:1.5}.result-actions{flex-direction:column;gap:6px;display:flex}.result-actions .btn-primary{min-height:51px}.review-note{color:var(--text-2);margin:-8px 0 1px;font-size:13px;line-height:1.8}.smart-edit{color:var(--accent);font:700 11px var(--sans);cursor:pointer;background:#eff8f1;border:0;border-radius:99px;margin-right:auto;padding:5px 9px;transition:transform .16s,background .16s}.smart-edit:hover{background:#dff1e3;transform:translate(-2px)}.smart-edit span{font-size:14px}.accuracy-callout{border-radius:var(--radius-sm);color:var(--text-2);background:#f6f3ea;align-items:center;gap:10px;padding:12px;font-size:12px;display:flex}.accuracy-callout span{color:#c18b24;font-size:18px}.accuracy-callout p{margin:0}.achievement-page{box-sizing:border-box;color:#292043;background:#faf9ff;flex-direction:column;width:min(100%,620px);min-height:100svh;margin:0 auto;padding:30px 24px 34px;display:flex}.achievement-header{justify-content:space-between;align-items:center;font-size:16px;font-weight:700;display:flex}.achievement-header p{margin:0}.achievement-header button{color:#493a68;cursor:pointer;background:0 0;border:1.5px solid #9186ae;border-radius:50%;width:42px;height:42px;font-size:30px;line-height:1}.achievement-content{text-align:center;flex-direction:column;flex:1;align-items:center;padding-top:clamp(70px,13vh,130px);display:flex}.achievement-medal{background:linear-gradient(145deg,#ca9dff,#7651c6);border-radius:42% 58% 50% 50%;place-items:center;width:184px;height:184px;animation:.8s cubic-bezier(.2,1.3,.4,1) both medal-arrive;display:grid;position:relative;transform:rotate(30deg);box-shadow:inset 12px 12px 24px #ffffff38,inset -14px -12px 22px #2b176647,0 22px 34px #53379138}.medal-ring{background:radial-gradient(circle at 35% 28%,#7363b5,#382a75);border:10px solid #ebd6ffbd;border-radius:38px;width:124px;height:124px;box-shadow:inset 5px 5px 13px #ffffff1f}.medal-star{color:#f9efff;text-shadow:0 4px 10px #291a60;font-size:68px;position:absolute;transform:rotate(-30deg)}.achievement-kicker{color:#9165d9;margin:48px 0 7px;font-size:13px;font-weight:700}.achievement-page h1{letter-spacing:-.8px;margin:0;font-family:Gramophone,IranYekan,sans-serif;font-size:34px}.achievement-copy{color:#716987;max-width:330px;margin:12px 0 24px;font-size:14px;line-height:1.9}.achievement-rule{color:#615479;background:#f0ecfa;border-radius:99px;align-items:center;gap:12px;padding:8px 14px;font-size:12px;display:flex}.achievement-rule span{color:#fff;background:#8d6bd1;border-radius:50%;place-items:center;min-width:23px;height:23px;font-size:11px;display:grid}.achievement-rule span:last-child{background:#55a987}.achievement-rule p{margin:0}.achievement-total{flex-direction:column;margin-top:18px;display:flex}.achievement-total strong{font-size:23px}.achievement-total span{color:#817991;font-size:11px}.achievement-actions{flex-direction:column;gap:8px;display:flex}.achievement-actions .btn{background:#7351bc;min-height:54px}.achievement-actions .btn:hover{background:#6043a0}.achievement-actions p{text-align:center;color:#817991;margin:0;font-size:11px}@keyframes medal-arrive{0%{opacity:0;transform:rotate(-8deg)scale(.65)translateY(20px)}to{opacity:1;transform:rotate(30deg)scale(1)}}.error-banner{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.45}.picker{flex-direction:column;gap:12px;display:flex}.picker-zone{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;border-style:dashed;justify-content:center;align-items:center;min-height:260px;transition:border-color .15s,background-color .15s;display:flex;overflow:hidden}.picker-zone:hover{border-color:var(--border-strong)}.picker-zone-dragging{border-color:var(--text-2);background:var(--surface-hover)}.picker-preview{object-fit:contain;width:100%;max-height:340px;display:block}.picker-empty{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:32px 20px;display:flex}.picker-icon{width:32px;height:32px;color:var(--text-3);margin-bottom:8px}.picker-hint{color:var(--text-2);margin:0;font-size:15px;font-weight:500}.picker-subhint{color:var(--text-3);margin:0;font-size:13px}.picker-actions{gap:10px;display:flex}.picker-actions .btn{flex:1}@media (hover:hover) and (pointer:fine){.picker-camera-btn{display:none}}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.voice-recorder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:70svh;display:flex}.voice-recorder .back-link{align-self:flex-start;margin-top:auto}.voice-orb{width:132px;height:132px;color:var(--accent);background:#e1f2e5;border-radius:50%;place-items:center;font-size:55px;display:grid}.voice-orb.listening{animation:1.5s ease-in-out infinite voice-pulse}.voice-orb.processing{color:#b17a26;background:#f2ebdb}.voice-wave{align-items:center;gap:5px;height:30px;display:flex}.voice-wave i{background:var(--accent);border-radius:9px;width:4px;height:10px;animation:.8s ease-in-out infinite alternate wave}.voice-wave i:nth-child(2){height:25px;animation-delay:.15s}.voice-wave i:nth-child(3){height:18px;animation-delay:.3s}.voice-wave i:nth-child(4){height:28px;animation-delay:.45s}.voice-wave i:nth-child(5){height:13px;animation-delay:.6s}.voice-recorder h1{margin:0;font-size:26px}.voice-recorder p:not(.eyebrow){max-width:310px;color:var(--text-2);margin:0}@keyframes voice-pulse{50%{transform:scale(1.04);box-shadow:0 0 0 18px #2f715d1a}}@keyframes wave{to{transform:scaleY(.45)}}.page{flex-direction:column;gap:20px;width:min(100%,620px);min-height:100svh;margin:0 auto;padding:24px 20px 48px;animation:.35s both page-in;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.brand small{color:var(--text-3);margin-right:auto;font-size:12px;font-weight:500}.achievement-link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:12px;font-weight:700}.brand-mark{background:var(--accent);color:#fff;border-radius:11px;place-items:center;width:31px;height:31px;font-size:18px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.02em;margin:0 0 4px;font-size:12px;font-weight:800}.progress-card{background:#dff1df;border-radius:26px;padding:22px;box-shadow:0 12px 30px #2e644914}.progress-topline,.calorie-row,.progress-footer,.section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.progress-topline h1,.section-heading h2,.review-intro h1,.capture-intro h1{letter-spacing:-.7px;margin:0;font-size:25px;line-height:1.2}.streak-badge{white-space:nowrap;color:#485548;background:#ffffffb3;border-radius:99px;padding:7px 10px;font-size:12px;font-weight:700}.calorie-row{align-items:end;margin-top:28px}.calorie-row div{flex-direction:column;display:flex}.calorie-row strong{letter-spacing:-1.5px;font-size:38px;line-height:1}.calorie-row span,.calorie-row p,.progress-footer{color:#597060;font-size:13px}.calorie-row p{margin:0 0 2px}.progress-track{background:#30715d24;border-radius:99px;height:10px;margin:17px 0 9px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--accent);min-width:5%;height:100%;transition:width .7s cubic-bezier(.2,.9,.3,1);display:block}.progress-footer{justify-content:space-between;display:flex}.log-meal-card{background:var(--accent);color:#fff;cursor:pointer;text-align:right;border:0;border-radius:24px;align-items:center;width:100%;min-height:137px;padding:22px;transition:transform .18s,background .18s;display:flex;box-shadow:0 14px 28px #245b4a38}.log-meal-card:hover{background:var(--accent-hover);transform:translateY(-2px)}.log-meal-card:active{transform:scale(.985)}.log-icon{background:#ffffff2b;border-radius:19px;flex:none;place-items:center;width:58px;height:58px;font-size:36px;display:grid;transform:rotate(-22deg)}.log-copy{flex-direction:column;gap:3px;margin-right:16px;display:flex}.log-copy strong{font-size:21px}.log-copy small{color:#ffffffc2;font-size:13px}.log-arrow{margin-right:auto;font-size:23px}.missions{padding:8px 2px 0}.section-heading{margin-bottom:12px}.section-heading span{color:var(--text-2);background:var(--surface-hover);border-radius:99px;padding:5px 9px;font-size:12px}.mission-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.mission{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);align-items:center;gap:12px;min-height:74px;padding:13px;transition:transform .2s,border-color .2s;display:flex}.mission-complete{background:#f1fbf2;border-color:#b9dfbf;animation:.35s both mission-pop}.mission-icon{width:37px;height:37px;color:var(--accent);background:#f2efe6;border-radius:13px;flex:none;place-items:center;font-weight:900;display:grid}.mission-complete .mission-icon{background:var(--accent);color:#fff}.mission div{flex-direction:column;display:flex}.mission strong{font-size:14px}.mission small{color:var(--text-3);font-size:12px}.mission-done{color:var(--positive-text);margin-right:auto;font-size:11px;font-weight:800}.home-note{text-align:center;color:var(--text-3);margin:4px 0 0;font-size:12px}.back-link{color:var(--text-2);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:4px 0;font-size:14px}.capture-intro,.review-intro{margin:4px 0 2px}.capture-intro p:not(.eyebrow),.review-intro p:not(.eyebrow){color:var(--text-2);margin:7px 0 0;font-size:14px}.page-actions{flex-direction:column;gap:7px;display:flex}.analyze-btn{width:100%;min-height:54px;font-size:16px}.quick-fix{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:28px;padding:30px 24px;box-shadow:0 12px 34px #3441350f}.quick-fix-orb{width:58px;height:58px;color:var(--accent);background:#e7f4e6;border-radius:50%;place-items:center;margin:0 auto 15px;font-size:25px;animation:2.6s ease-in-out infinite float;display:grid}.quick-fix h2{letter-spacing:-.7px;margin:0;font-size:26px}.quick-fix-lead{color:var(--text-2);margin:6px 0 18px;font-size:14px}.quick-fix-progress{background:var(--surface-hover);border-radius:99px;height:6px;overflow:hidden}.quick-fix-progress span{background:var(--accent);border-radius:inherit;height:100%;transition:width .25s;display:block}.question-count{color:var(--text-3);margin:10px 0 25px;font-size:12px}.quick-fix h3{margin:0;font-size:20px}.question-subtitle{color:var(--text-2);margin:7px 0 20px;font-size:13px}.choice-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.choice-grid .btn{padding:14px 7px;font-size:14px}.success-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 0;display:flex}.success-illustration{place-items:center;width:170px;height:150px;margin-bottom:14px;display:grid;position:relative}.success-plate{width:112px;height:112px;color:var(--accent);background:#fffefa;border:9px solid #d9eee0;border-radius:50%;place-items:center;font-size:42px;animation:.7s cubic-bezier(.2,1.4,.4,1) both success-pop;display:grid;box-shadow:0 18px 30px #2c684d24}.success-spark{color:#e5a638;font-size:28px;animation:1.5s ease-in-out infinite sparkle;position:absolute}.spark-one{top:6px;right:15px}.spark-two{animation-delay:.35s;bottom:31px;left:16px}.success-screen h1{letter-spacing:-1px;margin:0;font-size:36px}.success-screen>p:not(.eyebrow){color:var(--text-2);margin:7px 0 25px}.success-stats{grid-template-columns:repeat(3,1fr);gap:7px;width:100%;display:grid}.success-stats div{background:var(--surface);border:1px solid var(--border);border-radius:15px;flex-direction:column;gap:2px;padding:13px 7px;display:flex}.success-stats strong{font-size:17px}.success-stats span{color:var(--text-3);font-size:10px}.continue-btn{width:100%;min-height:54px;margin-top:24px;font-size:16px}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes mission-pop{0%{transform:scale(.97)}60%{transform:scale(1.015)}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(-5px)}}@keyframes success-pop{0%{opacity:0;transform:scale(.4)rotate(-20deg)}to{opacity:1;transform:scale(1)}}@keyframes sparkle{50%{opacity:.55;transform:scale(1.25)}}@media (width<=390px){.page{padding-inline:16px}.calorie-row strong{font-size:34px}.choice-grid{grid-template-columns:1fr}.progress-topline h1{font-size:22px}}.home-shortcuts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.voice-log-card,.report-shortcut{width:100%;color:var(--text);text-align:right;cursor:pointer;background:#f1faf2;border:1px solid #cce5d0;border-radius:20px;align-items:center;gap:9px;padding:15px 13px;transition:transform .18s,box-shadow .18s;display:flex}.voice-log-card:hover,.report-shortcut:hover{transform:translateY(-2px);box-shadow:0 9px 18px #2e644914}.voice-log-card>span,.report-shortcut>span{background:#dcefe0;border-radius:12px;place-items:center;width:35px;height:35px;display:grid}.voice-log-card div,.report-shortcut div{flex-direction:column;display:flex}.voice-log-card strong,.report-shortcut strong{font-size:13px}.voice-log-card small,.report-shortcut small{color:var(--text-2);font-size:10px}.voice-log-card b,.report-shortcut b{color:var(--accent);margin-right:auto}.report-shortcut{background:#faf6ff;border-color:#e5d8f1}.report-shortcut>span{color:#7651b5;background:#efe4fb}.transcript-review textarea{resize:vertical;border:1px solid var(--border);text-align:right;width:100%;min-height:110px;font:500 15px var(--sans);outline-color:var(--accent);background:#fff;border-radius:15px;padding:13px}.reports-intro h1{letter-spacing:-.7px;margin:0;font-size:28px}.reports-intro p:not(.eyebrow){color:var(--text-2);margin:7px 0 0;font-size:14px}.report-hero{background:#e5f3e7;border-radius:26px;justify-content:space-between;align-items:center;padding:21px;display:flex;box-shadow:0 12px 28px #2e644914}.report-hero>div:first-child{flex-direction:column;display:flex}.report-hero strong{font-size:38px;line-height:1.1}.report-hero span,.report-hero small{color:#5c7565;font-size:12px}.report-ring{background:conic-gradient(var(--accent) 0 68%,#cae1cf 68%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:90px;height:90px;display:flex;position:relative}.report-ring:before{content:"";background:#e5f3e7;border-radius:50%;position:absolute;inset:9px}.report-ring>*{position:relative}.report-ring span{color:var(--text);font-size:16px;font-weight:800}.report-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:19px}.weekly-chart{direction:rtl;justify-content:space-between;align-items:flex-end;gap:8px;height:145px;margin-top:13px;display:flex}.weekly-chart div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.weekly-chart span{background:#cde4d1;border-radius:9px 9px 5px 5px;width:100%;max-width:25px;transition:height .5s}.weekly-chart .today-bar span{background:var(--accent);box-shadow:0 5px 10px #2f715d33}.weekly-chart small{color:var(--text-3);font-size:11px}.report-numbers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.report-numbers div{text-align:center;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);flex-direction:column;padding:13px 7px;display:flex}.report-numbers strong{font-size:17px}.report-numbers span{color:var(--text-3);font-size:10px}.insight-card,.tip-card{border-radius:var(--radius);background:#f5f0ff;gap:12px;padding:16px;display:flex}.insight-card>span{color:#7651b5;background:#e5d8f8;border-radius:12px;flex:none;place-items:center;width:35px;height:35px;display:grid}.insight-card h2{margin:0;font-size:15px}.insight-card p:not(.eyebrow),.tip-card p{color:var(--text-2);margin:5px 0 0;font-size:12px;line-height:1.75}.tip-card{background:#fff8e8}.tip-card>span{font-size:24px}.tip-card strong{font-size:14px}
