@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexMono-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/IBMPlexMono-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/fonts/IBMPlexSans-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Oswald-400-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Oswald-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Oswald-500-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Oswald-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Oswald-600-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Oswald-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f3ed;--card:#fffdf9;--ink:#171715;--muted:#79766f;--line:#e7e2d8;--lime:#b9f35b;--lime-dark:#597d16;--orange:#ff8a5b;--coral:#ff6f61;--yellow:#ffd85e;--blue:#6f7cff;--purple:#b180ff;--mint:#74d9b8;--pink:#f77da8;--cyan:#65cbd8;--protein:#ff7b64;--fat:#f4c44f;--carb:#7284ff;--fiber:#6ac49a;--c-breakfast:#ffbd4a;--c-lunch:#ff725e;--c-dinner:#7180ff;--c-snack:#67c88c;--c-lottery:#a777ef;--shadow:0 16px 50px #2e271917;--shadow-sm:0 8px 24px #2e271914;--radius:26px;--radius-sm:18px;--sheet-max:540px;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-display:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{color:var(--ink);font-family:var(--font-body);background:var(--bg);margin:0;font-size:16px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}button:active{transform:scale(.975)}button:disabled{opacity:.45;cursor:default}input,select{outline:none}#root{min-height:100dvh}.app-bg{min-height:100dvh;position:relative;overflow-x:hidden}.ambient{filter:blur(80px);opacity:.28;pointer-events:none;border-radius:50%;width:420px;height:420px;position:fixed}.ambient.a{background:#c8f87b;top:-150px;left:-220px}.ambient.b{background:#caa5ff;bottom:12vh;right:-260px}.sheet{width:100%;max-width:var(--sheet-max);background:#faf9f5f0;min-height:100dvh;margin:0 auto;padding-bottom:104px;position:relative;overflow:hidden;box-shadow:0 0 80px #211c1414}.page{min-height:calc(100dvh - 92px)}h1,h2,h3,p{margin:0}.topbar h1{letter-spacing:-.055em;font-size:2.35rem;font-weight:700;line-height:1.03}.topbar p{color:var(--muted);max-width:360px;margin-top:8px}.section-heading p{color:var(--muted);margin-top:6px;font-size:.9rem}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-size:.68rem;font-weight:700}.eyebrow.light{color:#ffffffbd}.soft,.muted-note{color:var(--muted)}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)scale(.995)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.88)translateY(8px)}70%{transform:scale(1.025)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@keyframes pulse{0%,to{box-shadow:0 0 #b9f35b59}50%{box-shadow:0 0 0 9px #b9f35b00}}@keyframes shine{0%{transform:translate(-120%)rotate(18deg)}to{transform:translate(220%)rotate(18deg)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{transform:translate3d(calc((var(--i) - 9)*5px),150px,0) rotate(480deg);opacity:0}}.screen-in{animation:.42s cubic-bezier(.2,.8,.2,1) both pageIn}.pop-in{animation:.45s cubic-bezier(.2,.9,.2,1.15) both pop}.topbar{justify-content:space-between;align-items:flex-start;gap:14px;padding:28px 22px 22px;display:flex}.hero-head{padding-bottom:16px}.colorful-head,.pick-head,.shop-head,.profile-form-head{padding-bottom:28px;position:relative;overflow:hidden}.colorful-head:after,.pick-head:after,.shop-head:after,.profile-form-head:after{content:"";z-index:-1;border-radius:45% 55% 60% 40%;width:150px;height:150px;position:absolute;top:-45px;right:-54px;transform:rotate(25deg)}.colorful-head:after{background:#d5f7a0}.pick-head:after{background:#e1ccff}.shop-head:after{background:#ffe0a0}.profile-form-head:after{background:#c7efe2}.header-orb{background:var(--card);width:58px;height:58px;box-shadow:var(--shadow-sm);border-radius:20px;place-items:center;font-size:1.7rem;animation:4s ease-in-out infinite floaty;display:grid}.section-block{padding:20px 22px}.section-block+.section-block{padding-top:12px}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.score-chip{color:#49670f;font:700 .68rem var(--font-mono);text-transform:uppercase;background:#edf8d8;border-radius:999px;flex:none;padding:7px 11px}.score-chip.purple{color:#6d42ad;background:#eee4ff}.score-chip.mint{color:#267a60;background:#ddf6ed}.score-chip.orange{color:#a75230;background:#ffeadf}.mini-card{border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:14px;margin:8px 22px 22px;display:flex;padding:18px!important}.mini-card h3{margin-top:3px;font-size:1.15rem}.mini-card p{color:var(--muted);margin-top:5px;font-size:.84rem}.hero-card{color:#fff;border-radius:30px;justify-content:space-between;align-items:center;gap:18px;margin:0 22px 12px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #4d46b72e}.hero-card:before{content:"";border:1px solid #ffffff2e;border-radius:50%;width:210px;height:210px;position:absolute;top:-115px;right:-90px}.hero-card:after{content:"";background:#ffffff14;border-radius:34px;width:110px;height:110px;position:absolute;bottom:-60px;left:-55px;transform:rotate(32deg)}.day-quest{background:linear-gradient(135deg,#42407f,#7181ff 57%,#9b80ff)}.shopping-progress{background:linear-gradient(135deg,#d7773f,#ff9e59 55%,#f6bf5e)}.profile-level{background:linear-gradient(135deg,#245e51,#4eaa87 58%,#77cf9e)}.hero-card-copy,.hero-card>div{z-index:1;position:relative}.hero-card h2{letter-spacing:-.035em;margin-top:5px;font-size:1.55rem;line-height:1.1}.hero-card p{color:#ffffffd1;margin-top:8px;font-size:.87rem}.quest-pills{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.quest-pills span{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff21;border-radius:999px;padding:6px 9px;font-size:.72rem}.progress-ring{background:conic-gradient(var(--lime) var(--p),#ffffff29 0);border-radius:50%;flex:none;place-items:center;width:104px;height:104px;display:grid;position:relative}.progress-ring:before{content:"";-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1a1b397a;border-radius:50%;position:absolute;inset:8px}.profile-level .progress-ring:before{background:#144e408a}.shopping-progress .progress-ring:before{background:#93461b73}.progress-ring-inner{z-index:1;text-align:center;flex-direction:column;gap:0;position:relative;display:flex!important}.progress-ring strong{font-size:1.5rem;line-height:1}.progress-ring span{font-size:.68rem}.progress-ring small{color:#ffffffa6;font-size:.58rem}.level-bubble{width:58px;height:58px;box-shadow:var(--shadow-sm);background:#fff4db;border-radius:20px;grid-template-rows:auto auto;grid-template-columns:auto auto;place-content:center;column-gap:3px;display:grid}.level-bubble>span{grid-row:1/3;align-self:center;font-size:1rem}.level-bubble b{font-size:1.05rem;line-height:1}.level-bubble small{color:var(--muted);text-transform:uppercase;font-size:.55rem}.macro-strip{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.macro-strip>div{background:var(--card);border-radius:16px;flex-direction:column;align-items:flex-start;min-width:0;padding:11px 8px;display:flex;box-shadow:0 5px 16px #2521190d}.macro-strip>div>span{border-radius:50%;width:8px;height:8px;margin-bottom:7px}.macro-strip b{font-size:.86rem}.macro-strip small{color:var(--muted);white-space:nowrap;font-size:.6rem}.energy-track{background:#eae6df;border-radius:999px;height:34px;margin-top:11px;position:relative;overflow:hidden}.energy-track i{background:linear-gradient(90deg,var(--lime),#8dda65);border-radius:inherit;transition:width .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.energy-track span{font:700 .67rem var(--font-mono);place-items:center;display:grid;position:absolute;inset:0}.meal-cards{flex-direction:column;gap:12px;display:flex}.today-meal-card{background:var(--card);box-shadow:var(--shadow-sm);border-radius:22px;grid-template-columns:105px 1fr;transition:transform .2s,opacity .2s;display:grid;position:relative;overflow:visible}.today-meal-card:before{content:"";background:var(--meal-c);border-radius:999px;width:6px;position:absolute;top:18px;bottom:18px;left:-3px}.today-meal-card.eaten{opacity:.69}.today-meal-card.eaten .photo img{filter:saturate(.55)}.meal-photo-btn{height:100%;min-height:132px;padding:0}.meal-photo-btn .photo{border-radius:22px 0 0 22px;height:100%}.today-meal-main{min-width:0;padding:14px 14px 13px 13px}.today-meal-top{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.65rem;display:flex}.meal-label{font:700 .62rem var(--font-mono);text-transform:uppercase;color:var(--ink);background:color-mix(in srgb,var(--meal-c) 24%,white);border-radius:999px;padding:4px 7px}.meal-name-btn{text-align:left;width:100%;margin-top:8px}.meal-name-btn strong{font-size:.98rem;line-height:1.18;display:block}.meal-stats{color:var(--muted);flex-wrap:wrap;gap:7px;margin-top:7px;font-size:.66rem;display:flex}.meal-actions{gap:7px;margin-top:11px;display:flex}.complete-btn{background:var(--ink);color:#fff;border-radius:12px;flex:1;padding:8px 10px;font-size:.72rem;font-weight:700}.complete-btn.done{color:#247050;background:#dff5e8}.icon-btn{background:#f2efe8;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.icon-btn.large{border-radius:16px;width:46px;height:46px}.swap-sheet{background:#f7f4ee;border-radius:15px;grid-column:1/-1;margin-top:12px;padding:11px}.swap-sheet>b{margin-bottom:6px;font-size:.75rem;display:block}.swap-sheet button{text-align:left;border-top:1px solid var(--line);justify-content:space-between;gap:8px;width:100%;padding:8px 0;font-size:.72rem;display:flex}.swap-sheet small{color:var(--muted);white-space:nowrap}.round-action{background:var(--lime);border-radius:50%;width:52px;height:52px;font-size:1.35rem;font-weight:700;box-shadow:0 7px 18px #74a11d2e}.search-panel{background:var(--card);box-shadow:var(--shadow-sm);border-radius:24px;margin:0 22px 10px;padding:14px}.searchbox{background:#f1efe8;border-radius:15px;align-items:center;gap:8px;height:48px;padding:0 13px;display:flex}.searchbox span{color:var(--muted);font-size:1.4rem}.searchbox input{background:0 0;border:0;width:100%;min-width:0;font-size:.94rem}.scroll-pills{scrollbar-width:none;gap:7px;margin-top:12px;padding-bottom:1px;display:flex;overflow-x:auto}.scroll-pills::-webkit-scrollbar{display:none}.scroll-pills.wrap{flex-wrap:wrap;overflow:visible}.pill,.filter-btn{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:7px 11px;font-size:.72rem}.pill[aria-pressed=true],.filter-btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.ingredient-pill[aria-pressed=true]{color:#216a54;background:#dff6ed;border-color:#a8dfcc}.filter-row{gap:7px;margin-top:10px;display:flex}.filter-row select{border:1px solid var(--line);background:#fff;border-radius:999px;flex:1;min-width:0;padding:7px 10px;font-size:.72rem}.filter-row.secondary{flex-wrap:wrap;margin-top:7px}.filter-row.secondary .filter-btn{padding:7px 13px;font-size:.7rem}.clear-filter-btn{color:#8a5b1c;background:#fff3e6;border-color:#f2d4b0}.filter-hint{color:var(--muted);margin-top:9px;font-size:.67rem}.recipe-feed{flex-direction:column;gap:12px;display:flex}.recipe-card{background:var(--card);box-shadow:var(--shadow-sm);text-align:left;border-radius:22px;grid-template-columns:116px 1fr;gap:0;width:100%;display:grid;position:relative;overflow:hidden}.recipe-card:after{content:"";background:var(--meal-c);height:4px;position:absolute;top:0;left:0;right:0}.recipe-card>.photo{border-radius:0;height:100%;min-height:146px}.recipe-card-body{flex-direction:column;min-width:0;padding:13px 13px 12px;display:flex}.recipe-card-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.meal-dot{color:var(--muted);text-transform:uppercase;font-size:.62rem;font-weight:700}.rating-pill{font:.7rem var(--font-mono);color:#785d05;background:#fff6d9;border-radius:999px;padding:3px 6px}.rec-name{margin-top:8px;font-size:1rem;line-height:1.18}.rec-meta{color:var(--muted);flex-wrap:wrap;gap:7px;margin-top:7px;font-size:.64rem;display:flex}.recipe-card-bottom{align-items:center;gap:7px;margin-top:auto;padding-top:10px;font-size:.66rem;display:flex}.recipe-card-bottom>b{font-size:.72rem}.recipe-card-bottom>span{color:var(--muted)}.recipe-card-bottom em{color:#387154;background:#eaf7ef;border-radius:999px;margin-left:auto;padding:3px 6px;font-style:normal}.empty-card{text-align:center;background:var(--card);border-radius:22px;padding:32px 18px}.empty-card>span{font-size:2rem}.empty-card h3{margin-top:7px}.empty-card p{color:var(--muted);margin-top:5px;font-size:.84rem}.photo{background:linear-gradient(145deg,color-mix(in srgb,var(--meal-c) 24%,#fff),#f7f1e6);min-height:100px;position:relative;overflow:hidden}.photo img{object-fit:cover;filter:saturate(1.06)contrast(1.02);width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:block}.recipe-card:active .photo img,.meal-photo-btn:active .photo img{transform:scale(1.045)}.photo.compact{border-radius:24px;height:260px}.photo-fallback{text-align:center;background:radial-gradient(circle at 30% 20%,#ffffffd1,transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--meal-c) 36%,#fff),#f7eee3);flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.photo-fallback>span{font-size:2.5rem}.photo-fallback>b{max-width:160px;margin-top:5px;font-size:.75rem;line-height:1.15}.photo-fallback small{color:var(--muted);margin-top:4px;font-size:.55rem}.photo-shine{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff2e,#0000);width:34%;height:150%;position:absolute;top:-25%;left:-40%}.photo:hover .photo-shine{animation:.9s shine}.small .photo-fallback>span{font-size:1.8rem}.spin-zone{padding-top:10px}.wheel-stage{place-items:center;height:250px;margin:6px auto 8px;display:grid;position:relative}.dinner-wheel{will-change:transform;border:8px solid #fff;border-radius:50%;width:218px;height:218px;transition:transform 2.2s cubic-bezier(.12,.68,.18,1);position:relative;box-shadow:0 14px 38px #35265026,inset 0 0 0 2px #00000014}.dinner-wheel:after{content:"";border:2px dashed #ffffff80;border-radius:50%;position:absolute;inset:22px}.dinner-wheel i{transform-origin:14px 14px;z-index:2;width:28px;height:43%;font-size:1.15rem;font-style:normal;position:absolute;top:calc(50% - 14px);left:calc(50% - 14px)}.wheel-center{z-index:3;background:#fff;border-radius:50%;place-items:center;width:54px;height:54px;font-size:1.35rem;font-weight:800;display:grid;position:absolute;inset:calc(50% - 27px);box-shadow:0 4px 12px #00000021}.wheel-pointer{z-index:5;color:#302e3b;filter:drop-shadow(0 3px 1px #0000001a);font-size:1.65rem;position:absolute;top:3px}.mega-btn{background:var(--ink);color:#fff;border-radius:17px;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-weight:700;display:flex;box-shadow:0 8px 20px #17171521}.mega-btn.purple{background:linear-gradient(135deg,#6c4aa2,#a774ec)}.mega-btn.compact{margin-top:12px;padding:11px 13px}.winner-card{background:var(--card);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:135px 1fr;margin-top:14px;display:grid;overflow:hidden}.winner-card .photo{border-radius:0;height:100%}.winner-copy{padding:14px}.winner-copy h3{margin-top:5px;font-size:1.1rem;line-height:1.15}.winner-copy p{color:var(--muted);margin-top:6px;font-size:.72rem}.pantry-group{border-bottom:1px solid var(--line);padding:13px 0}.pantry-group h3{font-size:.82rem}.matches{padding-top:24px}.shop-group{background:var(--card);box-shadow:var(--shadow-sm);border-radius:22px;margin-bottom:12px;padding:8px 14px}.shop-group-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 1px 10px;display:flex}.shop-group-head span{font:.7rem var(--font-mono);color:var(--muted)}.shop-row{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:8px;width:100%;padding:12px 0;display:grid}.check-circle{border:1.5px solid #c8c3b9;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:.72rem;display:grid}.shop-row.checked .check-circle,.ingredient.checked .check-circle{background:var(--mint);border-color:var(--mint);color:#184b3b}.shop-amount{font:.72rem var(--font-mono);color:var(--muted)}.ghost-btn{width:100%;color:var(--muted);padding:12px;font-size:.75rem}.profile-title{align-items:center;gap:12px;display:flex}.avatar{width:58px;height:58px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#d8f39e,#7fdaac);border-radius:20px;place-items:center;font-size:1.5rem;font-weight:800;display:grid}.profile-head h1{font-size:1.8rem}.profile-head p{margin-top:3px;font-size:.76rem}.xp-track{background:#ffffff24;border-radius:999px;height:30px;margin-top:14px;position:relative;overflow:hidden}.xp-track i{background:var(--lime);position:absolute;inset:0 auto 0 0}.xp-track span{font:.61rem var(--font-mono);place-items:center;display:grid;position:absolute;inset:0}.profile-macros{grid-template-columns:repeat(3,1fr)}.muted-note{margin-top:12px;font-size:.75rem}.week-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.day-dot{text-align:center;background:#eeeae2;border-radius:14px;flex-direction:column;align-items:center;padding:8px 2px;display:flex}.day-dot>span{color:var(--muted);text-transform:uppercase;font-size:.52rem}.day-dot>b{margin-top:2px;font-size:.76rem}.day-dot>i{background:#ddd7cd;border-radius:50%;place-items:center;width:16px;height:16px;margin-top:5px;font-size:.58rem;font-style:normal;display:grid}.day-dot.done{background:#e0f4e8}.day-dot.done>i{background:var(--mint);color:#1b5742}.achievement{opacity:.65;background:#efebe4;border-radius:18px;gap:8px;min-height:92px;padding:12px;display:flex}.achievement>span{background:#ddd7cd;border-radius:12px;flex:none;place-items:center;width:34px;height:34px;display:grid}.achievement b{font-size:.76rem;line-height:1.15;display:block}.achievement small{color:var(--muted);margin-top:4px;font-size:.6rem;line-height:1.25;display:block}.achievement.unlocked{opacity:1;background:var(--card);box-shadow:var(--shadow-sm);border:1px solid color-mix(in srgb,var(--badge) 35%,#fff)}.achievement.unlocked>span{background:color-mix(in srgb,var(--badge) 20%,#fff)}.settings-actions{flex-direction:column;gap:8px;display:flex}.secondary-btn{background:#ece8df;border-radius:15px;padding:12px;font-weight:700}.danger-link{color:#a95a50;padding:10px;font-size:.76rem}.form-card{background:var(--card);box-shadow:var(--shadow);border-radius:26px;margin:0 22px 20px;padding:18px!important}.form-intro{background:#edf7df;border-radius:18px;gap:11px;margin-bottom:18px;padding:13px;display:flex}.form-intro>span{font-size:1.45rem}.form-intro h2{font-size:1rem}.form-intro p{color:var(--muted);margin-top:3px;font-size:.7rem}.field{margin-bottom:14px;display:block}.field>span{color:var(--muted);margin-bottom:6px;font-size:.67rem;font-weight:700;display:block}.field input,.field select{border:1px solid var(--line);background:#f7f5f0;border-radius:14px;width:100%;height:48px;padding:0 12px}.seg{grid-template-columns:1fr 1fr;gap:7px;display:grid}.seg button{background:#f1eee8;border-radius:13px;padding:11px;font-size:.78rem}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.triple-fields{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.goal-cards{grid-template-columns:1fr;gap:7px;display:grid}.goal-cards button{text-align:left;background:#f2efe9;border:1px solid #0000;border-radius:14px;padding:11px 12px}.goal-cards button b{font-size:.78rem;display:block}.goal-cards button small{color:var(--muted);margin-top:2px;font-size:.62rem;display:block}.goal-cards button[aria-pressed=true]{background:#edf8d8;border-color:#b8d78a}.form-warning{color:#9c5e35;text-align:center;margin-top:10px;font-size:.72rem}.recipe-page{padding-bottom:14px}.recipe-hero{background:#ddd;height:390px;position:relative;overflow:hidden}.recipe-hero>.photo{border-radius:0;position:absolute;inset:0;height:100%!important}.recipe-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000000d 25%,#080808d1 100%);position:absolute;inset:0}.back-fab,.fav-fab{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-radius:16px;place-items:center;width:44px;height:44px;font-size:1.2rem;display:grid;position:absolute;top:18px;box-shadow:0 5px 18px #0000001f}.back-fab{left:18px}.back-fab,.fav-fab{top:max(18px, calc(env(safe-area-inset-top) + 8px))}.fav-fab{right:18px}.fav-fab.active{color:#c72f60;background:#ffe5ed}.recipe-hero-overlay{z-index:3;color:#fff;position:absolute;bottom:22px;left:22px;right:22px}.recipe-hero-overlay h1{letter-spacing:-.045em;max-width:440px;margin-top:6px;font-size:2rem;line-height:1.04}.hero-meta{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hero-meta span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:1px solid #ffffff26;border-radius:999px;padding:6px 9px;font-size:.68rem}.recipe-actions{padding-top:14px}.nutrition-bubbles{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.nutrition-bubbles>div{aspect-ratio:1;background:color-mix(in srgb,var(--bubble,var(--lime)) 22%,#fff);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;display:flex}.nutrition-bubbles b{font-size:.83rem}.nutrition-bubbles small{color:var(--muted);margin-top:2px;font-size:.55rem}.serving-switch{gap:7px;margin-bottom:10px;display:flex}.serving-switch button{background:#eeeae3;border-radius:13px;flex:1;padding:9px;font-size:.7rem}.serving-switch button[aria-pressed=true]{background:var(--ink);color:#fff}.ingredient-list{flex-direction:column;display:flex}.ingredient{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:25px 1fr auto;align-items:center;gap:8px;padding:11px 0;display:grid}.ingredient>span:nth-child(2){font-size:.82rem}.ingredient>b{font:.68rem var(--font-mono);color:var(--muted)}.ingredient.checked>span:nth-child(2){color:var(--muted);text-decoration:line-through}.cook-progress{background:#ecf7df;border-radius:18px;margin-bottom:10px;padding:12px 13px}.cook-progress>div:first-child{align-items:baseline;gap:6px;display:flex}.cook-progress b{font-size:.9rem}.cook-progress span{color:var(--muted);font-size:.64rem}.cook-track{background:#d9e6c9;border-radius:999px;height:7px;margin-top:8px;overflow:hidden}.cook-track i{background:linear-gradient(90deg,#8dcf45,var(--lime));border-radius:inherit;height:100%;transition:width .3s;display:block}.cook-step{background:var(--card);border:1px solid var(--line);border-radius:20px;margin-bottom:10px;transition:border-color .2s,box-shadow .2s,opacity .2s;overflow:hidden}.cook-step.active{border-color:#abc873;box-shadow:0 10px 30px #5c7a2217}.cook-step.done{opacity:.62;background:#f1f5ec}.step-main{text-align:left;gap:11px;width:100%;padding:14px;display:flex}.step-num{width:32px;height:32px;font:700 .72rem var(--font-mono);background:#ece8e0;border-radius:12px;flex:none;place-items:center;display:grid}.cook-step.active .step-num{background:var(--lime)}.cook-step.done .step-num{background:var(--mint)}.step-copy{min-width:0;display:block}.step-copy small{font:.58rem var(--font-mono);text-transform:uppercase;color:var(--muted);margin-bottom:3px;display:block}.step-copy b{font-size:.84rem;font-weight:600;line-height:1.34;display:block}.step-copy em{color:var(--muted);border-top:1px dashed var(--line);margin-top:7px;padding-top:7px;font-size:.66rem;font-style:normal;line-height:1.35;display:block}.timer-btn{color:#785e08;font:700 .66rem var(--font-mono);background:#fff2cc;border-radius:11px;margin:0 14px 14px;padding:8px 10px}.timer-btn.running{background:#ffe0a9;animation:1.4s infinite pulse}.finish-card{background:linear-gradient(135deg,#e6f7cb,#dff4e8);border-radius:21px;align-items:center;gap:12px;padding:16px;display:flex}.finish-card>span{font-size:2rem}.finish-card h3{font-size:1rem}.finish-card p{color:var(--muted);margin-top:3px;font-size:.68rem}.nutri-card{background:var(--card);box-shadow:var(--shadow-sm);border-radius:22px;padding:16px}.nutri-topline{font:.65rem var(--font-mono);text-transform:uppercase;color:var(--muted);justify-content:space-between;display:flex}.nutri-topline b{color:#32735a}.calorie-hero{justify-content:space-between;align-items:end;margin-top:8px;display:flex}.calorie-hero>div:first-child{flex-direction:column;display:flex}.calorie-hero strong{font-size:2.1rem;line-height:1}.calorie-hero span{color:var(--muted);font-size:.66rem}.calorie-target{text-align:right;flex-direction:column;display:flex}.calorie-target small{color:var(--muted);font-size:.55rem}.soft-progress{background:#ece8e0;border-radius:999px;height:7px;margin:12px 0;overflow:hidden}.soft-progress i{background:var(--lime);height:100%;display:block}.macro-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.macro{border-left:4px solid var(--macro);background:#f4f1eb;border-radius:13px;padding:8px}.macro span{color:var(--muted);font-size:.55rem;display:block}.macro strong{font-size:.7rem}.nutri-note{color:var(--muted);margin-top:9px;font-size:.66rem}.toast{z-index:60;color:#fff;text-align:left;background:#1e1d20;border-radius:20px;align-items:center;gap:11px;width:auto;max-width:470px;margin:0 auto;padding:13px 15px;animation:.4s both pop;display:flex;position:fixed;bottom:104px;left:16px;right:16px;box-shadow:0 20px 50px #00000040}.toast-medal{color:#7a5d00;background:#fff3b8;border-radius:15px;place-items:center;width:42px;height:42px;font-size:1.2rem;display:grid}.toast small,.toast strong,.toast em{display:block}.toast small{color:#aaa;font-size:.55rem}.toast strong{font-size:.82rem}.toast em{color:#bbb;margin-top:2px;font-size:.6rem;font-style:normal}.confetti{z-index:100;pointer-events:none;width:1px;height:1px;position:fixed;top:14%;left:50%}.confetti i{background:hsl(calc(var(--i)*37deg) 75% 60%);width:8px;height:14px;transform:translateX(calc((var(--i) - 9)*8px));animation:1.1s cubic-bezier(.15,.7,.3,1) both confettiFall;animation-delay:calc(var(--i)*18ms);border-radius:3px;position:absolute}.tabs{z-index:50;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:calc(min(var(--sheet-max),100%) - 22px);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#191917f5;border-radius:24px;grid-template-columns:repeat(5,1fr);height:72px;padding:7px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 16px 40px #0000003d}.tabs button{color:#9f9d97;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.55rem;transition:background .2s,color .2s,transform .2s;display:flex}.tabs .glyph{width:22px;height:22px;display:block}.tabs .glyph svg{width:100%;height:100%}.tabs button[aria-current=true]{color:#171715;background:#f7f5ef;transform:translateY(-1px)}.tabs button[aria-current=true]:before{content:"";background:var(--lime);border-radius:50%;width:5px;height:5px;margin-top:-43px;position:absolute}@media (width>=760px){.sheet{border-radius:34px;min-height:calc(100dvh - 48px);margin:24px auto}.tabs{bottom:34px}.topbar{padding-top:34px}.recipe-hero{height:440px}}@media (width<=759px){.topbar,.section-block{padding-left:17px;padding-right:17px}.hero-card,.search-panel,.mini-card,.form-card{margin-left:17px;margin-right:17px}.today-meal-card{grid-template-columns:92px 1fr}.meal-stats span:nth-child(3){display:none}.recipe-card{grid-template-columns:104px 1fr}.recipe-card-bottom>span{display:none}.macro-strip>div{padding:9px 6px}.topbar h1{font-size:2.1rem}.winner-card{grid-template-columns:115px 1fr}.achievement-grid{grid-template-columns:1fr}.nutrition-bubbles{gap:5px}.recipe-hero-overlay h1{font-size:1.78rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.dinner-wheel{transition:none!important}}.balance-card{background:#edf8d8;border:1px solid #cfe6a7;border-radius:15px;padding:13px 14px}.balance-card b{font-size:.82rem;display:block}.balance-card small{color:var(--muted);margin-top:3px;font-size:.65rem;line-height:1.4;display:block}:root{--bg:#f7f4ee;--card:#fffefa;--ink:#1b1b19;--muted:#77756d;--line:#ece7de;--green:#57b32f;--green-soft:#edf8df;--orange-soft:#fff0dd;--shadow:0 18px 44px #28221814;--shadow-sm:0 8px 20px #2822180f}html,body,.app-bg{background:linear-gradient(#fbfaf7 0%,#f5f1ea 100%)}.sheet{background:#fbfaf7f2}.topbar{padding-top:30px;padding-bottom:18px}.topbar h1{letter-spacing:-.06em;font-size:2.55rem}.topbar p{max-width:440px;font-size:.95rem;line-height:1.45}.section-block,.search-panel{z-index:1;position:relative}.section-block>*,.search-panel>*{position:relative}.hero-card,.section-block,.search-panel,.mini-card,.form-card,.shop-group,.identity-card,.search-panel,.recipe-card,.today-meal-card{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.section-block,.search-panel,.mini-card,.form-card,.shop-group,.identity-card{background:var(--card);box-shadow:var(--shadow-sm);border:1px solid #ece7dee0;border-radius:28px}.section-block{margin:0 22px 14px;padding:18px}.search-panel{margin:0 22px 14px;padding:16px 16px 14px}.hero-card{box-shadow:var(--shadow);border:1px solid #ffffffe6}.day-quest,.soft-hero{color:var(--ink);background:linear-gradient(#f6fbf0 0%,#eef8e6 100%)}.day-quest p,.soft-hero p,.day-quest .eyebrow,.soft-hero .eyebrow,.soft-hero .eyebrow.light,.day-quest .eyebrow.light{color:#5c6a50}.profile-level .progress-ring:before,.shopping-progress .progress-ring:before,.day-quest .progress-ring:before{background:#fff}.progress-ring{background:conic-gradient(#69bf37 var(--p),#e7eedf 0)}.progress-ring strong,.progress-ring span{color:var(--ink)}.progress-ring small{color:var(--muted)}.hero-mini-stats{flex-direction:column;align-items:stretch;gap:10px;min-width:150px;display:flex}.mini-stat-card{box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #eee4d5;border-radius:22px;align-items:center;gap:10px;padding:12px 14px;display:flex}.mini-stat-card span{font-size:1.25rem}.mini-stat-card b{color:#ff7a20;font-size:1.15rem;line-height:1;display:block}.mini-stat-card small{color:var(--muted);margin-top:3px;font-size:.72rem;display:block}.today-shell-head{align-items:flex-end}.big-nutrition-card .macro-strip.four,.profile-target-card .macro-strip.four{grid-template-columns:repeat(4,1fr)}.big-nutrition-card .section-heading h2,.profile-target-card .section-heading h2{font-size:1.9rem}.macro-strip>div{box-shadow:none;background:#fff;border:1px solid #f1ece2}.energy-track{background:#ede8e1}.energy-track i{background:linear-gradient(90deg,#64bc37,#9fdb62)}.today-meal-card{background:#fff;border:1px solid #efeadf;grid-template-columns:126px 1fr}.today-meal-card:before{display:none}.meal-photo-btn .photo{border-radius:20px 0 0 20px}.meal-name-btn strong{font-size:1.05rem}.complete-btn{color:#2e7d2b;background:#eef7e7;border:1px solid #d8ebc8}.complete-btn.done{color:#fff;background:#56b533;border-color:#56b533}.icon-btn.soft,.icon-btn.large.soft{background:#f8f5ef;border:1px solid #eee6d9}.searchbox{box-shadow:none;background:#fff;border:1px solid #eee6d9}.scroll-pills,.filter-row{gap:10px}.pill,.filter-btn,.filter-row select{box-shadow:none;background:#fff;border:1px solid #e9e1d4;border-radius:18px}.pill[aria-pressed=true],.filter-btn[aria-pressed=true]{color:#386b1c;background:#eef8e5;border-color:#8ece68}.filter-row select{flex:1 1 0;width:auto;min-width:0;height:44px;padding:0 10px}.recipe-feed{gap:14px}.recipe-card.card-rich{box-shadow:var(--shadow-sm);background:#fff;border:1px solid #efe9df;border-radius:24px;grid-template-columns:154px 1fr;align-items:stretch;padding:0;display:grid;overflow:hidden}.recipe-photo-wrap{display:block;position:relative}.recipe-photo-wrap .photo{border-radius:0;height:100%;min-height:156px}.recipe-badge{background:color-mix(in srgb,var(--meal-c) 85%,white);color:#fff;font:700 .72rem var(--font-body);border-radius:999px;padding:7px 10px;position:absolute;top:10px;left:10px;box-shadow:0 6px 15px #0000001f}.recipe-card-body{flex-direction:column;justify-content:center;gap:8px;min-width:0;padding:14px 15px 14px 14px;display:flex}.recipe-card-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}.muted-inline{color:var(--muted)}.rec-name{font-size:1rem;line-height:1.23}.recipe-macro-line{color:var(--muted);font-size:.76rem}.recipe-card-bottom.modern{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.soft-chip{color:#594d34;background:#faf7f1;border:1px solid #eee5d9;border-radius:999px;align-items:center;gap:4px;padding:8px 12px;font-size:.8rem;line-height:1;display:inline-flex}.soft-chip.level{color:#d47000;background:#fff4e3}.soft-chip.price{color:#2e8b39;background:#edf8e6}.action-bubble{color:#eb7a2d;background:#faf7f1;border:1px solid #e8e2d6;border-radius:50%;place-items:center;width:38px;height:38px;margin-left:auto;font-size:1.25rem;display:grid}.action-bubble.ok{color:#44a52c;background:#eaf7e5}.recipe-hint{color:var(--muted);font-size:.72rem}.score-chip{color:#4d7b24;background:#eef8e5}.empty-card{text-align:center;background:#fbf8f2;border:1px dashed #e2d8c9;border-radius:24px;padding:22px}.head-stat,.header-stats .head-stat{background:#fff;border:1px solid #eee4d5;border-radius:20px;flex-direction:column;justify-content:center;align-items:flex-start;min-width:92px;padding:10px 14px;display:flex}.header-stats{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.head-stat.wide{min-width:138px}.head-stat b{color:#318632;font-size:1.05rem;line-height:1.1}.head-stat small{color:var(--muted);margin-top:2px;font-size:.76rem}.shopping-progress{color:var(--ink);background:linear-gradient(#fffefa 0%,#f8faf2 100%)}.shop-group.rich{margin-bottom:14px;padding:14px 14px 10px}.shop-group-head{border-bottom:1px solid #f1ece2;margin-bottom:4px;padding-bottom:10px}.shop-group-head h3{font-size:1.06rem}.shop-row{border-bottom:1px solid #f5f0e8;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.shop-row:last-child{border-bottom:0}.shop-amount,.shop-price{color:var(--muted);white-space:nowrap;font-size:.74rem}.shop-price{color:#3a8b30;font-weight:600}.shop-row.checked .shop-name{color:var(--muted);text-decoration:line-through}.identity-card-wrap{box-shadow:none;background:0 0;border:none;padding-top:0}.identity-card{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.avatar.large{color:#1b3d0e;background:#eef6de;border-radius:28px;width:82px;height:82px;font-size:2.3rem}.identity-copy h2{font-size:2rem;line-height:1.05}.identity-metrics{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.identity-metrics span{color:#5d564a;background:#faf7f1;border:1px solid #eee6da;border-radius:999px;padding:8px 12px;font-size:.86rem}.soft-fill{color:#397221;background:#eef8e4;border:1px solid #d7ebc0;border-radius:18px;padding:12px 16px}.profile-target-card .muted-note{margin-top:12px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.achievement{background:#fbf8f2;border:1px solid #eee6db;border-radius:20px;padding:14px}.achievement.unlocked{background:#fffef9}.settings-actions{box-shadow:none;background:0 0;border:none;grid-template-columns:1fr 1fr;gap:10px;padding-left:22px;padding-right:22px;display:grid}.secondary-btn{color:#356c21;background:#eef8e4;border:1px solid #d7ebc0;border-radius:18px;padding:14px 16px;font-weight:700}.danger-link{color:#d16d24;text-align:center;background:#fff4e9;border:1px solid #f2dcc2;border-radius:18px;padding:14px 16px}.tabs{background:#fffffff2;border:1px solid #e8e1d6e6;height:78px;box-shadow:0 16px 40px #342c1d21}.tabs button{color:#7f7c74;font-size:.63rem;position:relative}.tabs button[aria-current=true]{color:#2f7f22;background:#eef8e4}.tabs button[aria-current=true] .glyph{color:#53a82d}.tabs button[aria-current=true]:before{display:none}.recipe-hero-overlay h1{font-size:2.15rem}@media (width<=759px){.hero-mini-stats{min-width:130px}.recipe-card.card-rich{grid-template-columns:138px 1fr}.today-meal-card{grid-template-columns:112px 1fr}.big-nutrition-card .macro-strip.four,.profile-target-card .macro-strip.four{grid-template-columns:repeat(2,1fr)}.identity-card{grid-template-columns:auto 1fr}.identity-card .soft-fill{grid-column:1/-1}.shop-row{grid-template-columns:28px minmax(0,1fr) auto}.shop-price{grid-column:2/-1;justify-self:end}}.page{padding-bottom:108px}.topbar{padding:26px 22px 16px}.topbar h1{letter-spacing:-.07em;font-size:3rem;line-height:.95}.topbar .eyebrow{letter-spacing:.18em;margin-bottom:6px;font-size:.68rem}.topbar p{color:#6e6a61;max-width:26rem;margin-top:8px;font-size:1rem;line-height:1.42}.header-orb{background:linear-gradient(#f0f7d8 0%,#dff4b3 100%);border-radius:28px;width:86px;height:86px;box-shadow:0 16px 30px #8fbe422e}.today-shell-head{display:block}.hero-mini-stats{grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-top:14px;display:grid}.mini-stat-card{background:#fffffffa;border-radius:24px;padding:14px 16px}.mini-stat-card b{font-size:1.35rem}.day-quest{background:linear-gradient(#f5fbef 0%,#edf8e3 100%);border-radius:30px;padding:20px 18px}.day-quest h2,.shopping-progress h2,.profile-level h2{letter-spacing:-.05em;font-size:2rem;line-height:1.02}.quest-pills{flex-wrap:wrap;gap:10px}.quest-pills span{background:#fffc;border:1px solid #e7eed9;border-radius:999px;padding:10px 12px}.big-nutrition-card{padding:18px 18px 20px}.big-nutrition-card .section-heading h2{letter-spacing:-.06em;font-size:2.15rem;line-height:.98}.big-nutrition-card .muted-note{margin-top:2px;margin-bottom:14px}.macro-strip.four{gap:10px}.macro-strip.four>div{border-radius:20px;min-height:88px;padding:14px 12px}.macro-strip.four b{font-size:1.25rem}.energy-track{border-radius:999px;align-items:center;height:20px;padding:0 8px;display:flex;overflow:hidden}.energy-track span{z-index:1;color:#5e5c55;font-size:.76rem;font-weight:700;position:relative}.meal-cards{gap:16px}.today-meal-card{border-radius:28px;grid-template-columns:118px 1fr;overflow:hidden;box-shadow:0 8px 24px #2b251a0f}.today-meal-card .photo{min-height:158px}.today-meal-top{font-size:.78rem}.meal-name-btn strong{letter-spacing:-.03em;font-size:1.2rem;line-height:1.15}.meal-stats{color:#756d61;flex-wrap:wrap;gap:10px;font-size:.78rem;display:flex}.meal-stats span{background:#faf7f1;border:1px solid #eee6d9;border-radius:999px;padding:6px 9px}.meal-actions{align-items:center;gap:10px;margin-top:12px;display:flex}.complete-btn{border-radius:16px;flex:1;height:46px;font-size:.92rem;font-weight:800}.icon-btn.soft{border-radius:16px;width:46px;height:46px}.swap-sheet{background:#fbf8f2;border:1px solid #eee6da;border-radius:18px;margin-top:12px;padding:12px}.swap-sheet b{margin-bottom:8px;display:block}.swap-sheet button{text-align:left;background:#fff;border:none;border-radius:14px;justify-content:space-between;align-items:center;width:100%;margin-top:7px;padding:10px 12px;display:flex;box-shadow:0 3px 10px #00000008}.swap-sheet small{color:#7a7368}.reroll-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.reroll-card h3{letter-spacing:-.04em;font-size:1.5rem;line-height:1.02}.round-action{color:#2d6320;background:#dff4b0;border:1px solid #caeba0;border-radius:20px;width:58px;height:58px;font-size:1.4rem;font-weight:800}.search-panel{border-radius:28px;padding:16px}.searchbox{border-radius:18px;height:54px}.searchbox.compact{height:46px}.searchbox input{font-size:1rem}.filter-row,.scroll-pills{gap:9px}.pill,.filter-btn{min-height:40px;padding:0 14px;font-weight:650}.filter-row select{border-radius:16px;height:46px}.filter-hint{margin-top:8px;font-size:.74rem}.section-heading h2{letter-spacing:-.06em;font-size:2rem;line-height:.98}.recipe-card.card-rich{border-radius:26px;grid-template-columns:128px 1fr;min-height:162px}.recipe-photo-wrap .photo{min-height:162px}.recipe-card-body{padding:14px 14px 13px}.recipe-badge{padding:7px 10px;font-size:.69rem}.recipe-card-top{font-size:.76rem}.rec-name{letter-spacing:-.03em;font-size:1.18rem;line-height:1.13}.recipe-macro-line{font-size:.78rem;line-height:1.35}.recipe-card-bottom.modern{gap:7px}.soft-chip{padding:8px 10px;font-size:.78rem}.action-bubble{width:34px;height:34px;font-size:1rem}.spin-zone .mega-btn.purple,.mega-btn{border-radius:18px;height:54px}.pantry-tools{align-items:center;gap:10px;margin-bottom:12px;display:flex}.compact-pill{white-space:nowrap;margin:0}.selected-ingredients-bar{gap:8px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow:auto}.ingredient-pill.selected{color:#376d1e;background:#eef8e5;border-color:#a2d87a}.ingredient-pill.selected span{font-weight:800}.pantry-groups.refined{flex-direction:column;gap:12px;display:flex}.pantry-group-card{background:#fcfbf8;border:1px solid #eee7dc;border-radius:22px;overflow:hidden}.pantry-group-card.open{background:#fff}.pantry-group-toggle{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:14px 15px;display:flex}.pantry-group-toggle b{font-size:1.02rem;display:block}.pantry-group-toggle small{color:#7d7568;font-size:.78rem}.pantry-group-toggle i{color:#4d8e28;background:#eef8e5;border-radius:50%;place-items:center;width:28px;height:28px;font-style:normal;font-weight:800;display:grid}.pantry-pill-grid{flex-wrap:wrap;gap:8px;padding:0 14px 14px;display:flex}.compact-empty{margin-top:8px}.winner-card{background:#fff;border:1px solid #efe6dc;border-radius:24px;padding:12px;box-shadow:0 10px 24px #58478214}.winner-card .photo{border-radius:20px;min-height:170px}.winner-copy h3{letter-spacing:-.04em;font-size:1.55rem;line-height:1.02}.shopping-list.polished-card{padding-top:12px}.shop-group.collapsible{background:#fff;border-radius:24px;padding:0 0 8px;overflow:hidden}.shop-group-head.toggle{text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:16px 16px 12px;display:flex}.shop-group-head.toggle span{flex-direction:column;gap:3px;display:flex}.shop-group-head.toggle b{font-size:1.16rem;line-height:1.05}.shop-group-head.toggle small{color:#7c756b;font-size:.8rem}.shop-group-head.toggle i{color:#5d9837;background:#f2f7ea;border-radius:50%;place-items:center;width:30px;height:30px;font-style:normal;font-weight:800;display:grid}.shop-row{border-top:1px solid #f3ede4;padding:12px 16px}.shop-name{font-size:1rem}.shop-amount{font-size:.76rem}.shop-price{font-size:.8rem}.identity-card-wrap{padding:16px 18px 18px}.identity-card{gap:16px}.identity-copy h2{letter-spacing:-.06em;font-size:2.15rem;line-height:.98}.profile-stat-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.profile-stat{text-align:center;background:#faf7f1;border:1px solid #ede5d8;border-radius:18px;padding:12px}.profile-stat b{color:#2f7a22;font-size:1.35rem;line-height:1;display:block}.profile-stat small{color:#726b61;margin-top:5px;font-size:.75rem;display:block}.profile-target-card .section-heading h2{font-size:2.15rem}.achievement-grid.refined{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.achievement{background:#fbf8f2;border:1px solid #eee6da;border-radius:22px;flex-direction:column;gap:10px;min-height:148px;padding:14px;display:flex;position:relative}.achievement.unlocked{border-color:color-mix(in srgb,var(--badge) 28%, #eee6da);background:linear-gradient(#fffef9 0%,#fff8ef 100%)}.achievement.locked{opacity:.82}.achievement-icon{background:color-mix(in srgb,var(--badge) 18%, white);border-radius:15px;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.achievement b{font-size:1rem;line-height:1.1}.achievement small{color:#6f695f;font-size:.77rem;line-height:1.35}.achievement em{color:#9b917f;margin-top:auto;font-size:.72rem;font-style:normal;font-weight:700}.settings-actions{padding:0 22px}.settings-actions .secondary-btn,.settings-actions .danger-link{place-items:center;min-height:52px;display:grid}.recipe-page .section-block{padding:18px}.recipe-hero{min-height:340px}.recipe-hero .photo.compact{height:340px}.recipe-hero-overlay{padding:20px 18px 18px}.recipe-hero-overlay h1{letter-spacing:-.06em;font-size:2.35rem;line-height:.98}.recipe-actions .mega-btn{margin-top:-4px}.nutrition-bubbles{gap:10px}.nutrition-bubbles>div{border-radius:18px;padding:14px 12px}.serving-switch{gap:10px}.serving-switch button{border-radius:14px;height:42px}.ingredient{border-radius:18px;padding:14px}.cook-flow{gap:12px}.cook-step{border-radius:20px}.timer-btn{border-radius:14px}.tabs{border-radius:26px;width:auto;height:82px;padding:0 8px;bottom:10px;left:10px;right:10px;transform:none}@media (width>=760px){.tabs{width:calc(min(var(--sheet-max),100%) - 22px);left:50%;right:auto;transform:translate(-50%)}}.tabs button{border-radius:18px;padding-top:10px;padding-bottom:10px}.tabs button .glyph{font-size:1.18rem}.tabs button[aria-current=true]{box-shadow:inset 0 0 0 1px #dcebc8}@media (width>=700px){.page{max-width:640px;margin:0 auto}}:focus-visible{outline-offset:2px;outline:3px solid #2c50e0;box-shadow:0 0 0 6px #ffffffd9}input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:none;outline:none}.searchbox:focus-within{border-radius:15px;box-shadow:0 0 0 2px #8dcf4599}.field input:focus,.field select:focus{border-color:#a9c97e}.seg{display:flex}.seg>button{white-space:nowrap;flex:1 1 0;min-width:0}@media (width<=759px){.seg>button{padding-left:6px;padding-right:6px;font-size:.7rem}}.filter-row{align-items:center}.filter-row .filter-btn{flex:none}@media (width<=759px){.filter-row select{padding:0 8px;font-size:.66rem}}.serving-stepper{align-items:center;gap:12px;margin:10px 0;display:flex}.serving-stepper button{background:#f1efe8;border-radius:13px;width:40px;height:40px;font-size:1.2rem;font-weight:700}.serving-stepper button:disabled{opacity:.35}.serving-stepper b{text-align:center;min-width:110px;font-size:.85rem}.cart-dish{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.cart-dish:first-child{border-top:0}.cart-dish .cd-name{text-align:left;flex:1;min-width:0}.cart-dish .cd-name b{font-size:.82rem;line-height:1.2;display:block}.cart-dish .cd-name small{color:var(--muted);font-size:.62rem}.cart-dish .mini-stepper{align-items:center;gap:6px;display:flex}.cart-dish .mini-stepper button{background:#f1efe8;border-radius:10px;width:30px;height:30px;font-weight:700}.cart-dish .mini-stepper b{text-align:center;min-width:20px;font-size:.8rem}.cart-dish .cd-remove{color:#b4473a;background:#fbeeea;border-radius:10px;width:30px;height:30px;font-weight:700}.cart-empty{text-align:center;color:var(--muted);padding:26px 16px}.cart-empty span{margin-bottom:8px;font-size:2rem;display:block}.dish-picker{margin-top:10px}.dish-picker .dp-row{text-align:left;border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:9px 0;font-size:.78rem;display:flex}.dish-picker .dp-row small{color:var(--muted);white-space:nowrap}.change-dish-btn{color:#4a4740;background:#f1efe8;border:1px dashed #d8d2c4;border-radius:12px;width:100%;margin-top:8px;padding:9px 10px;font-size:.7rem;font-weight:700}.today-meal-card{position:relative}.today-meal-card.removable{box-shadow:0 0 0 2px #e8a49b, var(--shadow-sm)}.remove-overlay{z-index:5;color:#fff;background:#b4473ae6;border-radius:22px;font-size:.85rem;font-weight:800;position:absolute;inset:0}.ghost-btn.danger-active{color:#b4473a;background:#fbeeea;border-color:#e8a49b}.preset-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preset-chip{border:1px solid var(--line);background:#f1efe8;border-radius:15px;width:44px;height:44px;font-size:1rem;font-weight:800}.preset-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.preset-chip.add{color:#2f7f22;background:#eef8e4;border:1px dashed #a9d18a;font-size:1.2rem}.preset-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ghost-btn.danger{color:#b4473a;border-color:#e8c0b9}.pick-banner{background:#fff7df;border:1px solid #ecd9a0;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;font-size:.75rem;display:flex}.mega-btn.lime{background:var(--lime);color:#20330b}.wheel-meal-row{flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 12px;display:flex}.wheel-meal-pill{border:1px solid var(--line);color:#6d6a62;background:#fff;border-radius:999px;padding:7px 13px;font-size:.7rem;font-weight:700;transition:background .15s,color .15s,transform .15s}.wheel-meal-pill.active{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-1px)}@media (width<=759px){.wheel-meal-pill{padding:6px 10px;font-size:.66rem}}.form-card .balance-card{margin-bottom:18px}.form-submit{margin-top:4px}.field-error{color:#c22a1e;margin:-6px 0 12px;font-size:.78rem;display:block}.field input[aria-invalid=true]{background:#fff6f5;border-color:#c22a1e}.achievement{transition:transform .18s;position:relative}.achievement.unlocked{border-color:color-mix(in srgb,var(--badge) 55%,#e8dfd0);box-shadow:0 8px 22px color-mix(in srgb,var(--badge) 22%,transparent)}.achievement.unlocked .achievement-icon{background:color-mix(in srgb,var(--badge) 30%,white);box-shadow:0 4px 12px color-mix(in srgb,var(--badge) 28%,transparent)}.achievement.unlocked b{color:#1b1b19}.achievement.unlocked em{color:color-mix(in srgb,var(--badge) 65%,#4a4436);font-weight:800}.achievement.locked{filter:grayscale(.55)}.achievement.locked .achievement-icon{opacity:.55}.achievement-check{background:color-mix(in srgb,var(--badge) 85%,white);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;font-style:normal;font-weight:800;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 3px 8px #00000024}.show-all-badges{width:100%;margin-top:14px}.support-card .section-heading{align-items:center}.support-card .section-heading p{max-width:none;margin-top:8px}.header-orb.small{border-radius:20px;flex:none;width:56px;height:56px;font-size:1.5rem;animation:none}.pay-list{flex-direction:column;gap:10px;display:flex}.pay-row{background:#faf7f1;border:1px solid #eee6da;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.pay-row small{font:700 .7rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:block}.pay-row b{font:600 1.06rem var(--font-mono);letter-spacing:.04em;color:var(--ink);margin-top:5px;display:block}.pay-row .ghost-btn{color:#356c21;background:#eef8e4;border:1px solid #d7ebc0;border-radius:14px;flex:none;padding:11px 16px;font-weight:700}.settings-actions.single{grid-template-columns:1fr}@media (width<=759px){.pay-row{flex-direction:column;align-items:stretch;gap:10px}.pay-row b{font-size:1rem}}.rec-name,.today-meal-card strong,.cart-dish b,.shop-name{overflow-wrap:break-word}@media (width<=359px){.recipe-card.card-rich{grid-template-columns:96px 1fr}.recipe-photo-wrap .photo,.recipe-card.card-rich{min-height:136px}.rec-name{letter-spacing:-.01em;font-size:1rem}.recipe-card-body{gap:6px;padding:11px 11px 10px}.today-meal-card{grid-template-columns:78px 1fr}.topbar,.section-block{padding-left:13px;padding-right:13px}.hero-card,.search-panel,.mini-card,.form-card{margin-left:13px;margin-right:13px}.topbar h1{font-size:1.8rem}}@media (width<=759px){.today-meal-card{grid-template-columns:104px 1fr}.today-meal-main{padding-left:11px;padding-right:11px}.meal-name-btn{padding-left:0;padding-right:0}.meal-name-btn strong{letter-spacing:-.01em;font-size:1rem}}@media (width<=359px){.today-meal-card{grid-template-columns:84px 1fr}.meal-name-btn strong{font-size:.94rem}}.meal-name-btn strong,.rec-name{-webkit-hyphens:auto;hyphens:auto}.app-version{text-align:center;font:.68rem var(--font-mono);color:var(--muted);letter-spacing:.02em;margin-top:14px}
