:root{
  --bg:#F3F1EC; --card:#FFFFFF; --ink:#141414; --mute:#6B665E; --soft:#8C877E; --faint:#B9B4AB;
  --line:#EEEBE5; --tile:#E6E1D8; --acc:#A6D43A;
  --blk:#141414; --on-blk:#FFFFFF; --blk-acc:var(--acc);
  --ok:#2BB673; --warn:#F2A43A; --bad:#EE4B4B; --low:#5AA9E6;
  --safe-b:max(env(safe-area-inset-bottom),var(--tg-safe-area-inset-bottom,0px));
  --safe-t:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;overscroll-behavior:none}
body{min-height:100vh;min-height:var(--tg-viewport-stable-height,100vh)}
button{font-family:inherit;color:inherit;cursor:pointer}
button:disabled{opacity:.5;cursor:default}
input,textarea{font-family:inherit}
#app{max-width:520px;margin:0 auto}
.scr{min-height:100vh;min-height:var(--tg-viewport-stable-height,100vh);display:flex;flex-direction:column;background:var(--bg);position:relative}
.scr.white{background:var(--card)}
.grow{flex-grow:1}
.pad{padding:0 20px}
.mute{color:var(--mute)}

/* ---- splash ---- */
.splash{background:var(--acc);align-items:center;justify-content:center;gap:22px;overflow:hidden}
.sp-logo{position:relative;width:168px;height:168px;animation:sp-in .7s cubic-bezier(.2,.9,.3,1.2) both}
.sp-frame{position:absolute;inset:0}
.sp-tile{position:absolute;left:26px;top:26px;width:116px;height:116px;border-radius:36px;background:var(--blk);display:flex;align-items:center;justify-content:center}
.sp-line{position:absolute;left:18px;right:18px;top:24px;height:4px;border-radius:2px;background:var(--card);opacity:.9;animation:sp-scan 2.2s ease-in-out infinite}
.sp-name{font-size:46px;font-weight:800;letter-spacing:-.02em;animation:sp-up .6s ease-out both .35s}
.sp-tag{font-size:17px;font-weight:700;margin-top:-12px;animation:sp-up .6s ease-out both .55s}
.sp-dots{position:absolute;bottom:72px;display:flex;gap:8px}
.sp-dots span{width:9px;height:9px;border-radius:50%;background:var(--blk);animation:sp-dot 1.2s ease-in-out infinite}
.sp-dots span:nth-child(2){animation-delay:.2s}.sp-dots span:nth-child(3){animation-delay:.4s}
@keyframes sp-scan{0%{transform:translateY(0)}50%{transform:translateY(118px)}100%{transform:translateY(0)}}
@keyframes sp-in{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes sp-up{0%{transform:translateY(12px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes sp-dot{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}

/* ---- общие элементы ---- */
.top{padding:14px 20px 0;display:flex;align-items:center;gap:14px;min-height:58px}
.back{width:44px;height:44px;border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.bar{flex-grow:1;height:8px;border-radius:4px;background:var(--card);overflow:hidden}
.bar>i{display:block;height:8px;border-radius:4px;background:var(--acc);transition:width .35s ease}
.head{padding:26px 24px 0;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.head h1{margin:0;font-size:28px;font-weight:800;line-height:1.2}
.head p{margin:0;font-size:15px;color:var(--mute);line-height:1.4}
.hico{width:72px;height:72px;border-radius:22px;background:var(--blk);display:flex;align-items:center;justify-content:center}
.foot{padding:16px 20px calc(20px + var(--safe-b));position:sticky;bottom:0;background:linear-gradient(to bottom,rgba(243,241,236,0),var(--bg) 30%)}
.white .foot{background:linear-gradient(to bottom,rgba(255,255,255,0),#FFFFFF 30%)}
.btn{width:100%;height:58px;border:0;border-radius:20px;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn.acc{background:var(--acc);color:var(--ink)}
.btn.dark{background:var(--blk);color:var(--on-blk);font-weight:700}
.btn.ghost{background:transparent;border:1.5px solid #D9D4CB;color:var(--ink);font-size:15px;font-weight:700}
.btn:active{transform:scale(.985)}
.opts{padding:28px 20px 0;display:flex;flex-direction:column;gap:12px}
.opt{min-height:76px;border:0;border-radius:22px;background:var(--card);color:var(--ink);display:flex;align-items:center;gap:16px;padding:12px 20px;text-align:left;width:100%;transition:background .15s,color .15s}
.opt .oi{flex-shrink:0;width:48px;height:48px;border-radius:16px;background:var(--bg);display:flex;align-items:center;justify-content:center}
.opt .oi svg{stroke:var(--ink)}
.opt .ot{display:flex;flex-direction:column;gap:2px}
.opt .ot b{font-size:18px;font-weight:700}
.opt .ot small{font-size:13px;font-weight:600;color:var(--mute)}
.opt.col{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
.opt.col b{font-size:17px;font-weight:700}
.opt.col small{font-size:14px;font-weight:600;color:var(--mute)}
.opt.sel{background:var(--blk);color:var(--on-blk)}
.opt.sel .oi{background:var(--acc)}
.opt.sel .ot small{color:#BDB8AE}
.opt.col.sel small{color:var(--acc)}

/* ---- колесо выбора ---- */
.wheels{padding:24px 20px 0;display:grid;gap:10px}
.wheels.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.wheel{position:relative;height:280px}
.wheel-hl{position:absolute;left:0;right:0;top:112px;height:56px;border-radius:18px;background:var(--card);pointer-events:none}
.wheel-unit{position:absolute;top:112px;height:56px;display:flex;align-items:center;font-size:18px;font-weight:600;color:var(--mute);pointer-events:none;left:calc(50% + 34px)}
.wheel-list{position:relative;height:280px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}
.wheel-list::-webkit-scrollbar{display:none}
.wheel-pad{height:112px}
.wi{height:56px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:19px;font-weight:600;color:var(--faint);transition:color .12s,font-size .12s;user-select:none}
.wi.n1{font-size:21px;color:var(--soft)}
.wi.sel{font-size:26px;font-weight:800;color:var(--ink)}
.wheel.unit .wi{padding-right:34px}

/* ---- старт (видео) ---- */
.st-hero{height:var(--hero-h,440px);position:relative;overflow:hidden;background:var(--bg)}
.st-stage{position:absolute;left:50%;top:0;width:390px;height:440px;transform-origin:top center;transform:translateX(-50%) scale(var(--k,1))}
.st-brand{margin-top:-30px;padding:0 24px;position:relative}
.st-badge{display:inline-flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:22px;background:var(--card)}
.st-badge i{width:52px;height:52px;border-radius:16px;background:var(--blk);display:flex;align-items:center;justify-content:center}
.st-badge b{font-size:34px;font-weight:800;letter-spacing:-.02em}
.st-title{padding:10px 24px 0;display:flex;flex-direction:column;gap:6px}
.st-title h1{margin:0;font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1.15}
.st-title p{margin:0;font-size:16px;color:var(--mute)}
.st-list{padding:18px 24px 0;display:flex;flex-direction:column;gap:12px}
.st-list div{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}
.st-list i{width:36px;height:36px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}
@keyframes st-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes st-finger{0%,12%{transform:translate(80px,110px) rotate(-28deg);opacity:0}17%{transform:translate(0,0) rotate(-28deg);opacity:1}19%{transform:translate(-3px,5px) rotate(-28deg)}21%{transform:translate(0,0) rotate(-28deg);opacity:1}28%,100%{transform:translate(80px,110px) rotate(-28deg);opacity:0}}
@keyframes st-tap{0%,18%{transform:scale(.4);opacity:0}19%{opacity:.8}26%,100%{transform:scale(2.2);opacity:0}}
@keyframes st-cam{0%,20%{opacity:0;transform:scale(1.08)}24%,70%{opacity:1;transform:scale(1)}74%,100%{opacity:0;transform:scale(1)}}
@keyframes st-zoom{0%,22%{transform:scale(1.15)}70%,100%{transform:scale(1)}}
@keyframes st-scan{0%,24%{transform:translateY(0);opacity:0}26%{opacity:1}36%{transform:translateY(120px)}46%{transform:translateY(0)}48%,100%{opacity:0}}
@keyframes st-corner{0%,24%{transform:scale(1.25);opacity:0}30%{transform:scale(1);opacity:1}46%{transform:scale(1);opacity:1}50%{transform:scale(.92);opacity:1}54%,100%{opacity:0}}
@keyframes st-card{0%,48%{transform:translateY(10px) scale(.6);opacity:0}52%{transform:translateY(0) scale(1.05);opacity:1}55%,70%{transform:scale(1);opacity:1}75%,100%{transform:scale(.9);opacity:0}}
@keyframes st-row{0%,72%{opacity:0;max-height:0;margin-bottom:-7px}78%,96%{opacity:1;max-height:50px;margin-bottom:0}100%{opacity:0;max-height:50px;margin-bottom:0}}
@keyframes st-a{0%,74%{opacity:1}78%,96%{opacity:0}100%{opacity:1}}
@keyframes st-b{0%,74%{opacity:0}78%,96%{opacity:1}100%{opacity:0}}
@keyframes st-ring{0%,74%{stroke-dasharray:96 132}82%,96%{stroke-dasharray:113 132}100%{stroke-dasharray:96 132}}
.st-phone{animation:st-float 6s ease-in-out infinite}
.st-finger{animation:st-finger 12s ease-in-out infinite}
.st-tap{animation:st-tap 12s ease-out infinite}
.st-cam{animation:st-cam 12s ease-in-out infinite}
.st-zoom{animation:st-zoom 12s ease-out infinite}
.st-scan{animation:st-scan 12s ease-in-out infinite}
.st-corner{animation:st-corner 12s ease-out infinite}
.st-card{animation:st-card 12s cubic-bezier(.2,.9,.3,1.2) infinite}
.st-row{animation:st-row 12s ease-out infinite;overflow:hidden}
.st-a{animation:st-a 12s infinite}
.st-b{animation:st-b 12s infinite}
.st-ring{animation:st-ring 12s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){
  .st-phone,.st-finger,.st-tap,.st-cam,.st-zoom,.st-scan,.st-corner,.st-card,.st-row,.st-a,.st-b,.st-ring,.sp-logo,.sp-line,.sp-name,.sp-tag,.sp-dots span,.pl-card,.pl-title,.pl-c{animation:none}
  .st-finger,.st-tap,.st-cam,.st-card,.st-b,.pl-c{display:none}
}

/* ---- план готов ---- */
@keyframes pl-pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.03);opacity:1}100%{transform:scale(1)}}
@keyframes pl-fall{0%{transform:translateY(-60px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(110vh) rotate(540deg);opacity:0}}
@keyframes pl-rise{0%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:1}}
.pl-card{animation:pl-pop .7s cubic-bezier(.2,.9,.3,1.2) both .15s}
.pl-title{animation:pl-rise .5s ease-out both}
.pl-conf{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.pl-c{position:absolute;top:0;width:9px;height:14px;border-radius:2px;animation:pl-fall 3.2s linear 3}
.plan-card{margin:22px 20px 0;padding:20px;border-radius:28px;background:var(--card);border:2px solid var(--acc);display:flex;flex-direction:column;align-items:center;gap:14px}
.plan-ico{width:84px;height:84px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center}
.plan-kcal{width:100%;padding:14px;border-radius:20px;background:var(--bg);display:flex;flex-direction:column;align-items:center;gap:2px}
.plan-kcal b{font-size:44px;font-weight:800;letter-spacing:-.02em}
.macros3{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mt{padding:12px;border-radius:18px;display:flex;flex-direction:column;gap:6px}
.mt i{width:26px;height:26px;border-radius:50%;font-size:13px;font-weight:800;font-style:normal;display:flex;align-items:center;justify-content:center}
.mt span{font-size:13px;font-weight:700}
.mt b{font-size:20px;font-weight:800}
.mt.p{background:#E5F1FB}.mt.p i{background:#BFDDF5;color:#1D5D8C}.mt.p span{color:#3D4A55}
.mt.f{background:#FCF2DF}.mt.f i{background:#F6DDA6;color:#7A5410}.mt.f span{color:#554A36}
.mt.c{background:#EFEAF8}.mt.c i{background:#DDD2F1;color:#5B3F92}.mt.c span{color:#4A4458}

/* ---- приложение ---- */
.app{padding-bottom:calc(110px + var(--safe-b))}
.hello{padding:16px 20px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}
.hello h1{margin:0;font-size:24px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--card);font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0}
.week{margin:14px 20px 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.wd{padding:8px 0;border:0;border-radius:14px;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.wd span{font-size:11px;color:var(--mute)}
.wd b{font-size:15px;font-weight:700}
.wd.sel{background:var(--blk);color:var(--on-blk)}
.wd.sel span{color:var(--acc)}
.wd.fut span,.wd.fut b{color:#A8A399}
.wd.has::after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--acc)}
.card{margin:10px 20px 0;background:var(--card);border-radius:26px}
.kcal-card{margin-top:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.kcal-card .l{display:flex;flex-direction:column;gap:4px}
.kcal-card small{font-size:13px;font-weight:600;color:var(--mute)}
.kcal-card b{font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.kcal-card b.over{color:#C9553F}
.macros{margin:10px 20px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mc{padding:12px;border-radius:20px;background:var(--card);display:flex;flex-direction:column;gap:6px;min-width:0}
.mc span{font-size:12px;font-weight:600;color:var(--mute)}
.mc b{font-size:15px;font-weight:800;white-space:nowrap}
.mc .track{height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.mc .track i{display:block;height:5px;border-radius:3px;background:var(--blk)}
.water{padding:12px 12px 12px 16px;display:flex;align-items:center;gap:12px}
.water .wi2{width:40px;height:40px;border-radius:14px;background:#E5F1FB;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.water .wt{flex-grow:1;display:flex;flex-direction:column;gap:5px;min-width:0}
.water .wt b{font-size:15px;font-weight:800}
.water .track{height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.water .track i{display:block;height:5px;background:#5AA9E6;border-radius:3px}
.wbtn{height:40px;padding:0 14px;border:0;border-radius:14px;background:var(--bg);font-size:14px;font-weight:800;flex-shrink:0}
.sec{margin:18px 20px 8px;font-size:18px;font-weight:800}
.meals{margin:0 20px;display:flex;flex-direction:column;gap:8px}
.meal{padding:10px;border:0;border-radius:20px;background:var(--card);display:flex;align-items:center;gap:12px;width:100%;text-align:left}
.meal .th{width:56px;height:56px;border-radius:14px;background:var(--tile);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.meal .mt2{flex-grow:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.meal .mt2 b{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.meal .mt2 span{font-size:13px;color:var(--mute)}
.meal>b{font-size:15px;font-weight:800;flex-shrink:0}
.empty{margin:0 20px;padding:22px;border-radius:20px;background:var(--card);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.empty b{font-size:16px}
.empty span{font-size:14px;color:var(--mute);line-height:1.4}
.fab{position:fixed;right:max(20px,calc(50% - 240px));bottom:calc(100px + var(--safe-b));width:64px;height:64px;border:0;border-radius:22px;background:var(--blk);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:5}
.nav{position:fixed;left:max(12px,calc(50% - 248px));right:max(12px,calc(50% - 248px));bottom:calc(14px + var(--safe-b));height:70px;padding:8px;border-radius:24px;background:var(--card);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 6px 24px rgba(20,20,20,.08);z-index:6}
.nav button{position:relative;z-index:1;transition:color .25s;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;color:var(--mute);border-radius:16px}
.nav button svg{stroke:var(--mute)}
.nav button.on{color:var(--ink);font-weight:700}
.nav button.on svg{stroke:var(--ink)}

/* ---- добавить еду ---- */
.add-hero{margin:14px 20px 0;padding:22px;border-radius:28px;background:var(--blk);color:var(--on-blk);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.add-hero h2{margin:0;font-size:24px;font-weight:800;line-height:1.2}
.add-hero p{margin:0;font-size:14px;color:#CFCAC0;line-height:1.4}
.add-hero .btn{height:56px;font-size:16px}
.pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pick label{height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:800;cursor:pointer}
.pick label.a{background:var(--acc);color:var(--ink)}
.pick label.b{background:#2A2A2A;color:#FFFFFF}
.pick label{position:relative;overflow:hidden}
.pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}
.txt{margin:10px 20px 0;padding:16px;border-radius:24px;background:var(--card);display:flex;flex-direction:column;gap:10px}
.txt b{font-size:15px}
.txt textarea{width:100%;min-height:76px;border:0;border-radius:16px;background:var(--bg);padding:12px 14px;font-size:15px;resize:none;outline:none;color:var(--ink)}
.txt .btn{height:50px;font-size:15px}
.note{margin:12px 20px 0;font-size:13px;color:var(--mute);text-align:center;line-height:1.4}
.note button{border:0;background:transparent;padding:0;font-size:13px;font-weight:800;text-decoration:underline}

/* ---- результат ---- */
.ph{height:290px;background:var(--tile);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.ph .phb{position:absolute;top:16px;left:16px;width:44px;height:44px;border:0;border-radius:14px;background:var(--card);display:flex;align-items:center;justify-content:center}
.ph.txt-only{height:150px;background:linear-gradient(135deg,#E9F3CF,#F3F1EC)}
.scan-box{position:absolute;left:50%;top:50%;width:180px;height:180px;margin:-90px 0 0 -90px}
.scan-line{position:absolute;left:10px;right:10px;top:10px;height:4px;border-radius:2px;background:var(--card);box-shadow:0 0 12px var(--acc);animation:scanmove 1.8s ease-in-out infinite}
@keyframes scanmove{0%,100%{transform:translateY(0)}50%{transform:translateY(156px)}}
.res{margin-top:-28px;padding:22px 20px 0;background:var(--bg);border-radius:28px 28px 0 0;display:flex;flex-direction:column;gap:14px;position:relative}
.res-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.res-h .l{display:flex;flex-direction:column;gap:4px;min-width:0}
.res-h small{font-size:13px;font-weight:600;color:var(--mute)}
.res-h h2{margin:0;font-size:24px;font-weight:800;line-height:1.2}
.kbox{padding:8px 14px;border-radius:16px;background:var(--blk);color:var(--on-blk);display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.kbox b{font-size:22px;font-weight:800;color:var(--acc)}
.kbox span{font-size:11px;color:#BDB8AE}
.bju{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bju div{padding:12px;background:var(--card);border-radius:18px;display:flex;flex-direction:column;gap:2px}
.bju span{font-size:12px;font-weight:600;color:var(--mute)}
.bju b{font-size:17px;font-weight:800}
.items{padding:6px 16px;background:var(--card);border-radius:20px;display:flex;flex-direction:column}
.items div{min-height:44px;padding:8px 0;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px}
.items div+div{border-top:1px solid var(--line)}
.items span{font-weight:600}
.items b{font-weight:800;flex-shrink:0}
.items.ed{padding:2px 16px}
.itr,.itadd{all:unset;box-sizing:border-box;width:100%;min-height:48px;padding:8px 0;display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.itr+.itr,.itr+.itadd{border-top:1px solid var(--line)}
.itr span{flex:1;font-weight:600}
.itr i{font-style:normal;color:var(--faint);font-size:20px;line-height:1;margin-left:-2px}
.itr:active,.itadd:active{opacity:.6}
.itadd{font-weight:800;color:var(--ink)}
.itadd span{width:26px;height:26px;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;line-height:1}
.sugs{display:flex;flex-direction:column;gap:6px}
.sugs:empty{display:none}
.sug{all:unset;box-sizing:border-box;width:100%;min-height:48px;padding:10px 16px;border-radius:16px;background:var(--card);display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}
.sug span{font-weight:700;font-size:15px}
.sug small{color:var(--mute);font-size:12px;font-weight:600;white-space:nowrap}
.sug:active{opacity:.6}
.lbl{font-size:13px;font-weight:700;color:var(--mute)}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.seg button{height:44px;border-radius:14px;border:0;background:var(--card);font-size:14px;font-weight:700}
.seg button.on{background:var(--blk);color:var(--on-blk)}
.tip{padding:14px 16px;border-radius:18px;background:#F1F7E2;font-size:14px;line-height:1.45}
.warn{padding:12px 16px;border-radius:18px;background:#FCF2DF;font-size:14px;font-weight:600;line-height:1.4}
.two{display:grid;grid-template-columns:1fr 2fr;gap:10px}

/* ---- прогресс ---- */
.ptitle{padding:16px 20px 0;display:flex;flex-direction:column;gap:14px}
.ptitle h1{margin:0;font-size:24px;font-weight:800}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;background:var(--card);border-radius:16px}
.tabs button{height:38px;border:0;border-radius:12px;background:transparent;color:var(--mute);font-size:13px;font-weight:600}
.tabs button.on{background:var(--blk);color:var(--on-blk);font-weight:700}
.pcard{margin:14px 20px 0;padding:18px;background:var(--card);border-radius:26px;display:flex;flex-direction:column;gap:10px}
.pcard+.pcard{margin-top:10px}
.prow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.prow small{font-size:13px;font-weight:600;color:var(--mute)}
.pill{padding:4px 10px;border-radius:999px;background:var(--blk);color:var(--blk-acc);font-size:12px;font-weight:700;white-space:nowrap}
.pbig{font-size:34px;font-weight:800}
.bars{height:100px;display:flex;gap:var(--g,10px);align-items:flex-end;position:relative}
.bars i{flex:1;border-radius:6px;background:var(--acc);min-height:3px}
.bars i.over{background:var(--blk)}
.bars i.low{background:var(--tile)}
.bars i.none{background:var(--line)}
.bars .goal{position:absolute;left:0;right:0;border-top:2px dashed #CFCAC0}
.xl{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:var(--mute)}
.stats2{margin:10px 20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stats2 div{padding:14px;background:var(--card);border-radius:20px;display:flex;flex-direction:column;gap:4px}
.stats2 span{font-size:12px;font-weight:600;color:var(--mute)}
.stats2 b{font-size:20px;font-weight:800}
.linkbtn{border:0;background:var(--bg);border-radius:14px;height:44px;font-size:14px;font-weight:800}

/* ---- профиль ---- */
.who{padding:18px 20px;display:flex;align-items:center;gap:14px}
.ava{width:56px;height:56px;border-radius:18px;background:var(--blk);color:var(--blk-acc);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0}
.who div{display:flex;flex-direction:column;gap:2px;min-width:0}
.who b{font-size:18px;font-weight:800}
.who div span{font-size:13px;font-weight:600;color:var(--mute)}
.prem{margin:0 20px;padding:22px 20px;border-radius:28px;background:var(--blk);color:var(--on-blk);display:flex;flex-direction:column;gap:14px}
.prem .tag{align-self:flex-start;padding:5px 10px;border-radius:999px;background:var(--acc);color:var(--ink);font-size:12px;font-weight:800}
.prem h2{margin:0;font-size:24px;font-weight:800;line-height:1.25}
.prem .li{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:600;line-height:1.4}
.prem .li svg{flex-shrink:0}
.prem .btn{height:56px;font-size:16px}
.prem small{font-size:12px;color:#BDB8AE;text-align:center}
.menu{margin:12px 20px 0;padding:0 16px;background:var(--card);border-radius:22px;display:flex;flex-direction:column}
.menu button{height:52px;border:0;background:transparent;font-size:15px;font-weight:600;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:0;width:100%}
.menu button+button{border-top:1px solid var(--line)}
.menu button span{color:var(--mute)}
.ver{margin:16px 20px 0;font-size:12px;color:var(--soft);text-align:center}

/* ---- нижний лист ---- */
.sheet-bg{position:fixed;inset:0;background:rgba(20,20,20,.35);z-index:20;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease}
.sheet{width:100%;max-width:520px;background:var(--bg);border-radius:28px 28px 0 0;padding:10px 20px calc(20px + var(--safe-b));display:flex;flex-direction:column;gap:14px;animation:sheetup .42s cubic-bezier(.2,.9,.25,1.04)}
.sheet-bg.now,.sheet-bg.now .sheet{animation:none}
.sheet .grab{align-self:center;width:40px;height:5px;border-radius:3px;background:#D9D4CB}
.sheet h3{margin:0;font-size:20px;font-weight:800;line-height:1.25}
.sheet input,.sheet textarea{width:100%;height:56px;border:0;border-radius:18px;background:var(--card);padding:0 16px;font-size:18px;font-weight:700;outline:none;color:var(--ink)}
.sheet textarea{height:96px;padding:14px 16px;font-size:16px;font-weight:600;resize:none}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes up{from{transform:translateY(40px);opacity:.5}to{transform:translateY(0);opacity:1}}

#toast{position:fixed;left:50%;bottom:calc(100px + var(--safe-b));transform:translateX(-50%) translateY(20px);max-width:calc(100% - 40px);padding:12px 16px;border-radius:16px;background:var(--blk);color:var(--on-blk);font-size:14px;font-weight:600;line-height:1.35;opacity:0;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.3,1.4,.5,1);z-index:30;text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.18)}
#toast{transform:translateX(-50%) translateY(20px) scale(.92)}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
.spin{width:22px;height:22px;border-radius:50%;border:3px solid rgba(20,20,20,.15);border-top-color:var(--ink);animation:rot .8s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.fadein{animation:fade .25s ease}

/* ---------- Прогресс v2 ---------- */
.psub{margin:-6px 0 0;font-size:14px;font-weight:600;color:var(--mute)}
.gcard{margin:16px 20px 0;padding:20px;border-radius:30px;background:var(--blk);color:var(--on-blk);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.gcard::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(166,212,58,.22),rgba(166,212,58,0) 70%);pointer-events:none}
.gtop{display:flex;justify-content:space-between;align-items:center}
.gl{font-size:13px;font-weight:700;color:#BDB8AE;letter-spacing:.02em}
.gchip{padding:5px 10px;border-radius:999px;background:rgba(166,212,58,.16);color:var(--acc);font-size:12px;font-weight:800}
.gnow{font-size:44px;font-weight:800;line-height:1;letter-spacing:-.02em}
.gnow small{font-size:18px;font-weight:700;color:#BDB8AE;margin-left:6px}
.wch{position:relative;margin:4px -4px 0;touch-action:pan-y}
.wch svg{display:block;overflow:visible}
.wdot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px var(--ink),0 0 0 7px rgba(166,212,58,.25)}
.wtip{position:absolute;top:-6px;transform:translate(-50%,-100%);padding:6px 10px;border-radius:10px;background:var(--card);color:var(--ink);font-size:12px;font-weight:800;white-space:nowrap;opacity:0;transition:opacity .15s;pointer-events:none}
.wtip.on{opacity:1}
.wx{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;font-weight:600;color:#8C877E}
.gtrack{position:relative;height:10px;border-radius:5px;background:rgba(255,255,255,.12);margin-top:6px}
.gtrack i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--acc)}
.gtrack b{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--card);border:4px solid var(--acc)}
.gends{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#BDB8AE}
.gends span:nth-child(2){color:var(--acc)}
.gfc{margin:0;font-size:14px;font-weight:600;line-height:1.45;color:#D9D4CB}
.gbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}
.gbtns .btn{height:48px;font-size:14px;border-radius:16px}
.btn.gghost{background:rgba(255,255,255,.08);color:#FFFFFF;font-weight:700}
.phead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px}
.phead b{font-size:17px;font-weight:800;text-align:center;flex:1}
.phead b:first-child{text-align:left}
.phead small{font-size:12px;font-weight:600;color:var(--mute)}
.arr{width:36px;height:36px;border:0;border-radius:12px;background:var(--bg);font-size:22px;font-weight:700;line-height:1;color:var(--ink);flex-shrink:0}
.arr:disabled{opacity:.3}
.wbars{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:6px}
.wk{border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;font:inherit}
.wk .col{width:100%;height:120px;display:flex;align-items:flex-end;justify-content:center;border-radius:12px;background:var(--bg)}
.wk .col i{display:block;width:100%;border-radius:12px;transition:height .3s ease}
.wk i.norm{background:linear-gradient(180deg,#52D18F,var(--ok))}
.wk i.high{background:linear-gradient(180deg,#F7C06A,var(--warn))}
.wk i.over{background:linear-gradient(180deg,#FF7A7A,var(--bad))}
.wk i.low{background:linear-gradient(180deg,#8CC6F0,var(--low))}
.wk em{font-style:normal;font-size:12px;font-weight:700;color:var(--mute);height:20px;line-height:20px;padding:0 6px;border-radius:8px}
.wk.t em{background:var(--blk);color:var(--on-blk)}
.wk.sel .col{box-shadow:inset 0 0 0 2px var(--ink)}
.wbars .goal{position:absolute;left:0;right:0;border-top:2px dashed rgba(20,20,20,.25);pointer-events:none;z-index:1}
.wbars .goal small{position:absolute;right:0;top:-18px;font-size:10px;font-weight:800;color:var(--mute);background:var(--card);padding:0 4px;border-radius:4px}
.pinfo{margin:2px 0 0;font-size:14px;font-weight:600;color:var(--mute);line-height:1.45}
.pinfo b{color:var(--ink)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;font-weight:600;color:var(--mute)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px}
.legend i.norm{background:var(--ok)}.legend i.high{background:var(--warn)}.legend i.over{background:var(--bad)}.legend i.low{background:var(--low)}
.mrow{display:flex;flex-direction:column;gap:6px}
.ml{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:700}
.ml b{font-size:15px;font-weight:800}
.ml small{font-size:13px;font-weight:600;color:var(--mute)}
.mbar{position:relative;height:8px;border-radius:4px;background:var(--bg)}
.mbar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--ok);animation:grow-x .8s cubic-bezier(.2,.8,.2,1) both}
.mbar i.high{background:var(--warn)}.mbar i.over{background:var(--bad)}.mbar i.low{background:var(--low)}
.mbar s{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--blk);opacity:.35;text-decoration:none}
.ptip{padding:12px 14px;border-radius:16px;background:var(--bg);font-size:13px;font-weight:600;line-height:1.45;color:var(--ink)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:4px}
.cal em{font-style:normal;text-align:center;font-size:11px;font-weight:700;color:var(--soft)}
.cd{border:0;font:inherit;padding:0;transition:transform .12s;aspect-ratio:1;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--bg);color:var(--mute)}
.cd.e{background:transparent}
.cd.norm{background:var(--ok);color:#FFFFFF}
.cd.high{background:var(--warn);color:#FFFFFF}
.cd.over{background:var(--bad);color:#FFFFFF}
.cd.low{background:var(--low);color:#FFFFFF}
.cd.future{background:transparent;color:var(--faint)}
.cd.t{box-shadow:inset 0 0 0 2px var(--ink)}
.cd.t{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
.ach{margin:10px 20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ach div{padding:16px;background:var(--card);border-radius:22px;display:flex;flex-direction:column;gap:2px}
.ach .ai{width:32px;height:32px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:6px}
.ach b{font-size:24px;font-weight:800}
.ach small{font-size:12px;font-weight:600;color:var(--mute)}

/* ---------- Профиль v2 ---------- */
.who2{padding:18px 20px 4px;display:flex;align-items:center;gap:14px}
.ava2{width:64px;height:64px;border-radius:22px;background:var(--blk);color:var(--blk-acc);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;flex-shrink:0;overflow:hidden}
.ava2 img{width:100%;height:100%;object-fit:cover}
.who2 div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.who2 b{font-size:22px;font-weight:800}
.who2 div span{font-size:13px;font-weight:600;color:var(--mute)}
.pbadge{padding:6px 10px;border-radius:10px;background:var(--blk);color:var(--blk-acc);font-size:12px;font-weight:800;letter-spacing:.06em}
.tiles{margin:12px 20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{border:0;padding:14px 16px;background:var(--card);border-radius:22px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;font:inherit;color:var(--ink)}
.tile span{font-size:12px;font-weight:700;color:var(--mute)}
.tile b{font-size:22px;font-weight:800}
.tile b small{font-size:13px;font-weight:700;color:var(--mute)}
.tile b small.add{font-size:16px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:3px;text-underline-offset:4px}
.ncard{margin:10px 20px 0;padding:18px;background:var(--card);border-radius:26px;display:flex;flex-direction:column;gap:14px}
.nhead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.nhead small{font-size:12px;font-weight:700;color:var(--mute)}
.nhead b{display:block;font-size:30px;font-weight:800;letter-spacing:-.01em}
.nhead b span{font-size:15px;font-weight:700;color:var(--mute)}
.nbtn{border:0;height:38px;padding:0 14px;border-radius:12px;background:var(--bg);font-size:13px;font-weight:800;color:var(--ink)}
.nmac{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.nmac div{padding:10px 8px;border-radius:14px;background:var(--bg);display:flex;flex-direction:column;gap:2px;align-items:center}
.nmac span{font-size:11px;font-weight:700;color:var(--mute)}
.nmac b{font-size:15px;font-weight:800}
.nnote{margin:0;font-size:13px;font-weight:600;color:var(--mute)}
.prem.on{gap:8px}
.prow2{display:flex;justify-content:space-between;align-items:center}
.prow2 small{font-size:13px;color:#BDB8AE;font-weight:700}
.prem .pl{font-size:14px;color:#D9D4CB;line-height:1.45}
.who2+.tiles,.ncard+.prem{margin-top:12px}
.ncard+.prem,.tiles+.prem{margin-top:12px}
.menu2{margin:12px 20px 0;padding:4px 16px;background:var(--card);border-radius:24px;display:flex;flex-direction:column}
.menu2 button{min-height:64px;border:0;background:transparent;display:flex;align-items:center;gap:14px;padding:8px 0;width:100%;text-align:left;font:inherit;color:var(--ink)}
.menu2 button+button{border-top:1px solid var(--line)}
.menu2 .mi{width:40px;height:40px;border-radius:13px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.menu2 .mt{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.menu2 .mt b{font-size:15px;font-weight:800}
.menu2 .mt small{font-size:12px;font-weight:600;color:var(--mute)}
.menu2 .ch{color:var(--faint);font-size:22px}
.help{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--card)}
.help span{font-size:22px;line-height:1}
.help p{margin:0;font-size:14px;line-height:1.45;color:var(--mute)}
.help b{color:var(--ink)}

/* статусы, анимации, интерактив */
@keyframes grow-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes rise{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
.wk .col{position:relative}
.wk .col i{transform-origin:bottom;animation:grow-y .6s cubic-bezier(.2,.8,.2,1) both}
.mbar i{transform-origin:left}
.still .wk .col i,.still .mbar i,.still .pcard,.still .ach div{animation:none!important}
.wk .col u{position:absolute;top:6px;left:50%;transform:translateX(-50%);text-decoration:none;font-size:11px;font-weight:900;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF;animation:pop .4s .45s both}
.wk .col u.norm{background:var(--ok)}.wk .col u.high{background:var(--warn)}.wk .col u.over{background:var(--bad)}.wk .col u.low{background:var(--low)}
.wk:active .col,.cd:active{transform:scale(.94)}
.wk.sel .col{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
.stc{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;font-style:normal;white-space:nowrap}
.stc.norm{background:rgba(43,182,115,.14);color:#1C8A55}
.stc.high{background:rgba(242,164,58,.18);color:#B06D0E}
.stc.over{background:rgba(238,75,75,.14);color:#C62E2E}
.stc.low{background:rgba(90,169,230,.16);color:#2A78B5}
.stc.none{background:var(--bg);color:var(--mute)}
.ml span .stc{margin-left:6px;padding:2px 7px;font-size:11px}
.wsum{display:flex;gap:14px;align-items:center;animation:rise .4s ease both}
.score{--c:var(--ok);flex-shrink:0;width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--bg) 0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.score::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--card)}
.score b,.score small{position:relative}
.score b{font-size:20px;font-weight:800;line-height:1}
.score small{font-size:10px;font-weight:700;color:var(--mute)}
.score.high{--c:var(--warn)}.score.over{--c:var(--bad)}
.wchips{display:flex;flex-wrap:wrap;gap:6px}
.wdet{padding:14px;border-radius:20px;background:var(--bg);display:flex;flex-direction:column;gap:10px;animation:rise .3s ease both;border-left:5px solid var(--faint)}
.wdet.norm{border-left-color:var(--ok)}.wdet.high{border-left-color:var(--warn)}.wdet.over{border-left-color:var(--bad)}.wdet.low{border-left-color:var(--low)}
.wdh{display:flex;justify-content:space-between;align-items:center;gap:8px}
.wdh small{font-size:13px;font-weight:700;color:var(--mute)}
.wdk{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.wdk b{font-size:30px;font-weight:800}
.wdk span{font-size:14px;font-weight:700;color:var(--mute)}
.wdk em{font-style:normal;margin-left:auto;font-size:13px;font-weight:800}
em.up,.cdelta.up{color:#C62E2E}
em.down,.cdelta.down{color:#1C8A55}
.wdm{display:flex;gap:14px;font-size:13px;font-weight:600;color:var(--mute)}
.wdm b{color:var(--ink);font-weight:800}
.wdm.big{justify-content:center;font-size:14px}
.wdo{align-self:flex-start;border:0;background:var(--blk);color:var(--on-blk);height:36px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:800}
.pcard{animation:rise .45s ease both}
.pcard:nth-of-type(3){animation-delay:.06s}.pcard:nth-of-type(4){animation-delay:.12s}.pcard:nth-of-type(5){animation-delay:.18s}
.ach div{animation:rise .45s .2s ease both}
.ach div:first-child{background:linear-gradient(135deg,#FFE7D6,#FFFFFF 70%)}
.ach div:first-child .ai{background:#FF8A3D}
.ach div:first-child .ai svg{stroke:#FFFFFF}
.csh{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.csh h3{margin:0}
.cring{--c:var(--ok);width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--card) 0);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:pop .4s ease both}
.cring::before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--bg)}
.cring b,.cring small{position:relative}
.cring b{font-size:30px;font-weight:800}
.cring small{font-size:12px;font-weight:700;color:var(--mute)}
.cring.high{--c:var(--warn)}.cring.over{--c:var(--bad)}.cring.low{--c:var(--low)}
.cdelta{margin:0;font-size:15px;font-weight:800}
.csh .btn{width:100%}
.wk i.now{background:linear-gradient(180deg,#C4E86A,var(--acc))}
.wk .col u.now{background:var(--blk);color:var(--blk-acc)}
.stc.now{background:rgba(166,212,58,.22);color:#4E6E0E}
.wdet.now{border-left-color:var(--acc)}
.cd.now{background:var(--acc);color:var(--ink)}
.cring.now{--c:var(--acc)}

/* ---------- ручная настройка колесиками ---------- */
.kbox.tune{border:0;font:inherit;cursor:pointer;position:relative}
.kbox.tune::after{content:"";position:absolute;right:8px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.bju.tune{cursor:pointer}
.tunebtn{border:0;width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;background:var(--card);text-align:left;font:inherit;color:var(--ink)}
.tunebtn .ti{width:40px;height:40px;border-radius:13px;background:var(--acc);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tunebtn .tt{display:flex;flex-direction:column;gap:2px;flex:1}
.tunebtn b{font-size:15px;font-weight:800}
.tunebtn small{font-size:12px;font-weight:600;color:var(--mute)}
.tunebtn .ch{font-size:22px;color:var(--faint)}
.tune-sheet{gap:16px;padding-top:12px}
.tune-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.tune-h small{font-size:12px;font-weight:700;color:var(--mute)}
.tune-h h3{margin:2px 0 0;font-size:19px}
.tk{min-width:92px;padding:10px 14px;border-radius:18px;background:var(--blk);display:flex;flex-direction:column;align-items:center}
.tk b{font-size:26px;font-weight:800;color:var(--acc);line-height:1.1;font-variant-numeric:tabular-nums}
.tk span{font-size:11px;font-weight:700;color:#BDB8AE}
.tl{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:800;color:var(--mute);margin-bottom:6px}
.tl.r{margin:6px 0 0;font-weight:600;color:var(--soft)}
.tl i{width:8px;height:8px;border-radius:50%}
i.dk{background:var(--blk)}i.dp{background:#5AA9E6}i.df{background:#F2A43A}i.dc{background:#2BB673}
.tg{padding:12px;border-radius:22px;background:var(--card)}
.tm{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:6px;padding:12px 8px;border-radius:22px;background:var(--card)}
.dial{position:relative;height:220px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 28%,#000 72%,transparent);mask-image:linear-gradient(180deg,transparent,#000 28%,#000 72%,transparent)}
.dial-hl{position:absolute;left:2px;right:2px;top:88px;height:44px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);pointer-events:none}
.dial.wide .dial-hl{background:var(--blk);box-shadow:none}
.dial-unit{position:absolute;top:88px;height:44px;display:flex;align-items:center;left:calc(50% + 40px);font-size:16px;font-weight:700;color:#BDB8AE;pointer-events:none;z-index:1}
.dial-list{position:relative;height:220px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.dial-list::-webkit-scrollbar{display:none}
.dial-pad{height:88px}
.di{height:44px;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--faint);font-variant-numeric:tabular-nums;transition:color .12s,font-size .12s}
.di.n2{color:#CFC9BF}
.di.n1{color:var(--soft);font-size:17px}
.di.sel{color:var(--ink);font-size:21px;font-weight:800}
.dial.wide{height:176px}
.dial.wide .dial-list{height:176px}
.dial.wide .dial-hl,.dial.wide .dial-unit{top:66px}
.dial.wide .dial-pad{height:66px}
.dial.wide .di.sel{color:#FFFFFF;font-size:24px;position:relative;z-index:1}
.tbar{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px}
.tbar i{flex:1;transition:flex .25s ease}
.tune-sheet .two{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}
.tune-sheet .btn{height:54px}

/* ---- праздник серии ---- */
.cele{position:fixed;inset:0;z-index:80;background:rgba(20,20,20,.0);display:flex;align-items:center;justify-content:center;padding:20px;transition:background .25s}
.cele.on{background:rgba(20,20,20,.72)}
.cele-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.cele-box{position:relative;width:100%;max-width:380px;background:#141414;color:#FFFFFF;border-radius:32px;padding:30px 24px 22px;text-align:center;
  transform:translateY(24px) scale(.94);opacity:0;transition:transform .45s cubic-bezier(.2,.9,.3,1.25),opacity .25s;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cele.on .cele-box{transform:none;opacity:1}
.cele-flame{width:120px;height:120px;margin:-4px auto 6px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle,rgba(166,212,58,.28) 0,rgba(166,212,58,0) 70%)}
.cele-flame svg{animation:cele-flick 1.6s ease-in-out infinite;transform-origin:50% 90%}
@keyframes cele-flick{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.06,1.1) rotate(-2deg)}60%{transform:scale(.97,1.03) rotate(2deg)}}
.cele-num{display:flex;flex-direction:column;align-items:center;gap:2px}
.cele-num b{font-size:64px;line-height:1;font-weight:800;letter-spacing:-.03em;color:#A6D43A}
.cele-num span{font-size:14px;font-weight:700;color:#B9B4AB;text-transform:uppercase;letter-spacing:.08em}
.cele-t{margin:16px 0 6px;font-size:24px;font-weight:800;letter-spacing:-.01em}
.cele-p{margin:0 auto;max-width:290px;font-size:15px;line-height:1.45;color:#D9D5CE;font-weight:500}
.cele-badge{display:inline-block;margin-top:14px;padding:7px 12px;border-radius:999px;background:rgba(242,164,58,.16);color:#F2C27A;font-size:13px;font-weight:700}
.cele-next{margin:20px 4px 0;text-align:left}
.cele-bar{height:8px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.cele-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#2BB673,#A6D43A);transition:width .9s cubic-bezier(.2,.8,.2,1)}
.cele-next span{display:block;margin-top:8px;font-size:13px;color:#B9B4AB;font-weight:600}
.cele-btn{width:100%;margin-top:22px}

/* ---- разбор недели (PRO) ---- */
.ins{margin:14px 20px 12px;padding:20px;border-radius:28px;background:var(--blk);color:var(--on-blk);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.ins::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(166,212,58,.22),rgba(166,212,58,0) 70%);pointer-events:none}
.ins-h{display:flex;align-items:center;justify-content:space-between}
.ins-t{font-size:19px;font-weight:800}
.ins .tag{padding:4px 9px;border-radius:999px;background:var(--acc);color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.04em}
.ins-d{margin-top:-8px;color:#B9B4AB;font-size:13px;font-weight:600}
.ins-top{display:flex;align-items:center;gap:16px}
.ins-ring{position:relative;width:76px;height:76px;flex-shrink:0}
.ins-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}
.ins-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex-grow:1}
.ins-kpi div{display:flex;flex-direction:column;gap:2px}
.ins-kpi b{font-size:20px;font-weight:800;color:var(--acc)}
.ins-kpi b.bad{color:#FF7A7A}
.ins-kpi small{font-size:11.5px;line-height:1.3;color:#B9B4AB;font-weight:600}
.ins-tip{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.07);font-size:14px;line-height:1.45;font-weight:500;color:#E9E5DE}
.ins-more{align-self:flex-start;border:0;background:transparent;color:var(--acc);font-size:14px;font-weight:800;padding:2px 0;display:flex;align-items:center;gap:4px}
.ins-more svg{stroke:var(--acc)}
.ins-p{margin:0;font-size:14px;line-height:1.45;color:#D9D5CE;font-weight:500}
.ins .btn{height:54px;font-size:16px}
.ins-blur{display:flex;gap:16px;align-items:center;filter:blur(6px);opacity:.75;user-select:none}
.ins-score{width:76px;height:76px;border-radius:50%;border:8px solid var(--ok);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.ins-score b{font-size:20px;font-weight:800;line-height:1}.ins-score small{font-size:9px}
.ins-rows{flex-grow:1;display:flex;flex-direction:column;gap:10px}
.ins-rows i{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--acc),var(--ok))}
.ibars{display:flex;align-items:flex-end;gap:8px;height:120px;margin:6px 0 14px}
.ib{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.ib i{display:block;width:100%;border-radius:8px;background:var(--tile)}
.ib i.norm{background:var(--ok)}.ib i.high{background:var(--warn)}.ib i.over{background:var(--bad)}.ib i.low{background:var(--low)}
.ib small{font-size:12px;color:var(--mute);font-weight:700}
.irows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.irow{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.irow span{color:var(--mute);font-weight:600}.irow b{font-weight:800;text-align:right}
.itips{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.itip{display:flex;gap:10px;font-size:14px;line-height:1.45;font-weight:600}
.itip svg{flex-shrink:0;margin-top:2px}

/* ---- карточки блюд с фото и долей нормы ---- */
.meal2{padding:10px;border:0;border-radius:22px;background:var(--card);display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  box-shadow:0 1px 0 rgba(20,20,20,.03);animation:m2-in .35s ease-out both}
@keyframes m2-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.meal2:active{transform:scale(.985)}
.mpic{width:64px;height:64px;border-radius:16px;overflow:hidden;flex-shrink:0;background:var(--tile)}
.mpic img{width:100%;height:100%;object-fit:cover;display:block}
.mpic .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.ph0{background:linear-gradient(135deg,#E9F5C9,#CFE88A)}.ph1{background:linear-gradient(135deg,#FCE9C8,#F6C98A)}
.ph2{background:linear-gradient(135deg,#DDEFF9,#A9D3EE)}.ph3{background:linear-gradient(135deg,#F3E3F0,#DDB8D6)}
.mbody{flex-grow:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mtop{display:flex;align-items:flex-start;gap:8px}
.mname{flex-grow:1;min-width:0;font-size:15px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mk{font-size:15px;font-weight:800;flex-shrink:0;white-space:nowrap}
.mk small{font-size:12px;font-weight:700;color:var(--mute)}
.mmeta{font-size:12.5px;color:var(--mute);font-weight:600}
.mbar{display:flex;align-items:center;gap:8px;margin-top:3px}
.mtrack{flex-grow:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.mtrack i{display:block;height:100%;width:0;border-radius:3px;animation:m2-bar .8s cubic-bezier(.2,.8,.2,1) .15s forwards}
@keyframes m2-bar{to{width:var(--w)}}
.mtrack i.ok{background:linear-gradient(90deg,var(--acc),var(--ok))}.mtrack i.warn{background:var(--warn)}.mtrack i.bad{background:var(--bad)}
.mpct{font-size:12px;font-weight:800;white-space:nowrap}
.mpct.ok{color:#3E9A2E}.mpct.warn{color:#C9821F}.mpct.bad{color:#D63B3B}
.addsec{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.addsec small{font-size:13px;font-weight:700;color:var(--mute)}
#addlog{padding-bottom:8px}

/* ---- «Сегодня»: живые статусы ---- */
.kcal-card{position:relative;transition:box-shadow .4s}
.kcal-card.done{box-shadow:0 0 0 2px rgba(43,182,115,.35),0 10px 30px rgba(43,182,115,.22)}
.kcal-card.over{box-shadow:0 0 0 2px rgba(238,75,75,.35),0 10px 30px rgba(238,75,75,.18)}
.kcal-card.done .kring{filter:drop-shadow(0 0 6px rgba(43,182,115,.55))}
.kcal-card.over .kring{filter:drop-shadow(0 0 6px rgba(238,75,75,.5));animation:kpulse 2.4s ease-in-out infinite}
@keyframes kpulse{50%{opacity:.7}}
.kbadge{align-self:flex-start;margin-top:4px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}
.kbadge.ok{background:rgba(43,182,115,.14);color:#1F8F58}.kbadge.bad{background:rgba(238,75,75,.12);color:#D63B3B}
.mc{position:relative;transition:box-shadow .4s,background .4s}
.mc>em{position:absolute;top:-9px;right:8px;font-style:normal;font-size:11px;font-weight:800;white-space:nowrap;padding:3px 8px;border-radius:999px;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.mc .mleft{font-size:11px;font-weight:700;color:var(--mute);margin-top:-1px}
.kcal-card b.near{color:var(--ok)}
.mc b small{font-size:12px;font-weight:700;color:var(--mute)}
.mc .track{height:6px}
.mc .track i{height:6px;width:0;animation:m2-bar .9s cubic-bezier(.2,.8,.2,1) .1s forwards}
.mc.low .track i{background:#C9C4BA}.mc.mid .track i{background:linear-gradient(90deg,#C8E47A,var(--acc))}
.mc.done{background:linear-gradient(160deg,#FFFFFF 40%,#E8F7EE);box-shadow:0 0 0 2px rgba(43,182,115,.45),0 8px 22px rgba(43,182,115,.25);animation:mglow 2.8s ease-in-out infinite}
.mc.done .track i{background:var(--ok)}.mc.done em{background:var(--ok);color:#FFFFFF}
.mc.hi{box-shadow:0 0 0 2px rgba(242,164,58,.5)}.mc.hi .track i{background:var(--warn)}.mc.hi em{background:var(--warn);color:#FFFFFF}
.mc.over{background:linear-gradient(160deg,#FFFFFF 40%,#FDECEC);box-shadow:0 0 0 2px rgba(238,75,75,.45),0 8px 22px rgba(238,75,75,.18)}
.mc.over .track i{background:var(--bad)}.mc.over em{background:var(--bad);color:#FFFFFF}
@keyframes mglow{50%{box-shadow:0 0 0 2px rgba(43,182,115,.6),0 10px 28px rgba(43,182,115,.38)}}
.water .track i{width:0;animation:m2-bar .9s cubic-bezier(.2,.8,.2,1) .1s forwards}
.water.done{box-shadow:0 0 0 2px rgba(90,169,230,.45),0 8px 22px rgba(90,169,230,.25)}
.water b em{font-style:normal;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:#5AA9E6;color:#FFFFFF;vertical-align:2px}
.still .mc,.still .kring{animation:none!important}.still .mc .track i,.still .water .track i{animation:none!important;width:var(--w)}
@media (prefers-reduced-motion:reduce){.mc.done,.kring{animation:none!important}}

/* ---- «Питание» v2 ---- */
.addtop{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sumpill{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--card)}
.sumpill span{display:flex;flex-direction:column;line-height:1.1}
.sumpill b{font-size:15px;font-weight:800}.sumpill small{font-size:11px;color:var(--mute);font-weight:700}
.add-hero2{margin:14px 20px 0;padding:22px;border-radius:30px;color:#FFFFFF;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%,rgba(166,212,58,.28),rgba(166,212,58,0) 55%),var(--ink)}
.add-hero2 h2{margin:0;font-size:25px;font-weight:800;line-height:1.2}
.add-hero2 p{margin:-4px 0 0;font-size:14px;color:#CFCAC0;line-height:1.45}
.scanbox{position:relative;width:96px;height:96px;margin-bottom:2px}
.scanbox .c{position:absolute;width:24px;height:24px;border:4px solid var(--acc)}
.scanbox .c1{left:0;top:0;border-right:0;border-bottom:0;border-radius:12px 0 0 0}.scanbox .c2{right:0;top:0;border-left:0;border-bottom:0;border-radius:0 12px 0 0}
.scanbox .c3{left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 12px}.scanbox .c4{right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 12px 0}
.scanbox .plate{position:absolute;inset:18px;border-radius:50%;background:#2A2A2A;display:flex;align-items:center;justify-content:center}
.scanbox .plate svg{width:34px;height:34px;filter:invert(1) brightness(1.6)}
.scanbox .scanl{position:absolute;left:8px;right:8px;top:12px;height:3px;border-radius:2px;background:var(--acc);box-shadow:0 0 12px var(--acc);animation:scan 2.4s ease-in-out infinite}
@keyframes scan{50%{transform:translateY(68px)}}
.hero-note{font-size:13px;color:#B9B4AB;font-weight:600;text-align:center}
.hero-note b{color:#FFFFFF}
.hero-note button{border:0;background:transparent;color:var(--acc);font-weight:800;font-size:13px;padding:0}
.qrow{display:flex;gap:10px;overflow-x:auto;padding:2px 20px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}
.qrow::-webkit-scrollbar{display:none}
.qcard{flex:0 0 118px;scroll-snap-align:start;border:0;background:var(--card);border-radius:22px;padding:8px 8px 12px;display:flex;flex-direction:column;gap:6px;text-align:left;
  transition:transform .15s,box-shadow .3s}
.qcard:active{transform:scale(.96)}
.qpic{position:relative;width:100%;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--tile)}
.qpic img{width:100%;height:100%;object-fit:cover;display:block}
.qpic .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.qplus{position:absolute;right:6px;bottom:6px;width:30px;height:30px;border-radius:50%;background:var(--blk);display:flex;align-items:center;justify-content:center}
.qplus svg{width:18px;height:18px}
.qcard b{font-size:13px;font-weight:700;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:32px}
.qcard small{font-size:12px;font-weight:800;color:var(--mute)}
.qcard.busy{opacity:.6}
.qcard.added{box-shadow:0 0 0 2px var(--ok),0 8px 20px rgba(43,182,115,.3)}
.qcard.added .qplus{background:var(--ok)}
.txt2{margin:14px 20px 0;padding:16px;border-radius:26px;background:var(--card);display:flex;flex-direction:column;gap:12px}
.txh{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.txh b{font-size:16px;font-weight:800}.txh small{font-size:12px;color:var(--mute);font-weight:600}
.tbox{position:relative}
.tbox textarea{width:100%;min-height:84px;border:0;border-radius:18px;background:var(--bg);padding:12px 58px 12px 14px;font-size:15px;resize:none;outline:none;color:var(--ink);line-height:1.4}
.tbox textarea:focus{box-shadow:0 0 0 2px var(--acc)}
.tsend{position:absolute;right:8px;bottom:8px;width:42px;height:42px;border:0;border-radius:14px;background:var(--acc);display:flex;align-items:center;justify-content:center}
.exs{display:flex;flex-wrap:wrap;gap:6px}
.ex{border:0;border-radius:999px;background:var(--bg);padding:7px 12px;font-size:13px;font-weight:700;color:var(--ink)}
.ex:active{background:var(--acc)}
#quick .sec,#addlog .sec{margin-top:20px}

/* ---- напоминания ---- */
.rcard{margin:12px 20px 0;padding:16px;border-radius:24px;background:var(--card);display:flex;flex-direction:column;gap:14px}
.rh{display:flex;align-items:flex-start;gap:12px}
.ri{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.rt b{font-size:16px;font-weight:800;display:flex;align-items:center;gap:6px}
.rt small{font-size:13px;line-height:1.45;color:var(--mute);font-weight:600}
.tag2{padding:2px 7px;border-radius:999px;background:var(--acc);font-size:10px;font-weight:800;letter-spacing:.04em}
.sw{width:52px;height:32px;border-radius:16px;border:0;background:var(--tile);position:relative;flex-shrink:0;padding:0;transition:background .25s;margin-top:4px}
.sw i{position:absolute;left:3px;top:3px;width:26px;height:26px;border-radius:50%;background:var(--card);box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .25s}
.sw.on{background:var(--ok)}.sw.on i{transform:translateX(20px)}
.sw.locked{display:flex;align-items:center;justify-content:center;background:var(--bg)}
.pls{display:flex;flex-direction:column;gap:8px}
.pl2{display:flex;align-items:center;gap:10px;padding:10px;border-radius:18px;background:var(--bg)}
.pli{font-size:20px}
.plt{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.plt b{font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptimes{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.ptimes em{font-style:normal;padding:3px 8px;border-radius:999px;background:var(--card);font-size:12px;font-weight:800}
.ptimes small{font-size:12px;color:var(--mute);font-weight:600}
.pdel{width:34px;height:34px;border:0;border-radius:12px;background:var(--card);font-size:20px;color:var(--mute);flex-shrink:0}
.rcard .btn{height:52px;font-size:15px}
.pslbl{font-size:14px;font-weight:800;margin-bottom:-4px}
.tchips{display:flex;flex-wrap:wrap;gap:8px}
.tch{border:0;border-radius:14px;background:var(--bg);padding:10px 14px;font-size:15px;font-weight:800;color:var(--ink);position:relative}
.tch.on{background:var(--blk);color:var(--on-blk)}
.tch.other{color:var(--mute);overflow:hidden}
.tch.other input{position:absolute;inset:0;opacity:0;width:100%;height:100%}
.dseg{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.dseg button{border:0;border-radius:14px;background:var(--bg);padding:11px 4px;font-size:13px;font-weight:800;color:var(--ink)}
.dseg button.on{background:var(--blk);color:var(--on-blk)}
#pn{width:100%;height:54px;border:0;border-radius:16px;background:var(--bg);padding:0 16px;font-size:16px;outline:none}
.macros{margin-top:16px}
.addtop{flex-direction:row}
.kcal-card small.kb{display:none}
.water .wt b{white-space:nowrap;font-size:14.5px}

/* ---- вода v2 ---- */
.water2{padding:16px;display:flex;flex-direction:column;gap:12px;transition:box-shadow .4s}
.water2.done{box-shadow:0 0 0 2px rgba(90,169,230,.5),0 10px 26px rgba(90,169,230,.25)}
.water2.pop{animation:wpop .6s ease}
@keyframes wpop{40%{transform:scale(1.02)}}
.wtop{display:flex;align-items:center;gap:12px}
.wi3{width:44px;height:44px;border-radius:15px;background:#E5F1FB;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wnum{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.wnum b{font-size:22px;font-weight:800;letter-spacing:-.01em}
.wnum b small{font-size:14px;color:var(--mute);font-weight:700}
.wnum span{font-size:13px;color:var(--mute);font-weight:700}
.water2.done .wnum span{color:#2F86C9}
.wedit{border:0;border-radius:12px;background:var(--bg);padding:9px 12px;font-size:13px;font-weight:800;color:var(--ink)}
.wbar{height:8px;border-radius:4px;background:#EAF3FA;overflow:hidden}
.wbar i{display:block;height:100%;width:var(--w0,0);border-radius:4px;background:linear-gradient(90deg,#8CC8F2,#3D95DB);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.wbar i.go{width:var(--w)}
.glasses{display:flex;flex-wrap:wrap;gap:5px;align-items:flex-end}
.wgl{width:15px;height:20px;flex:0 0 15px;border:0;background:transparent;padding:0;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.wgl svg{width:100%;height:100%;display:block;overflow:visible}
.wgl .wo{fill:rgba(234,243,250,.5);stroke:#CFE2F0;stroke-width:2;stroke-linejoin:round;transition:stroke .4s}
.wgl .wq{transition:transform .9s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.wgl .wf{fill:#5AA9E6}
.wgl .wv{fill:#7DBDEE;animation:wwave 2.6s linear infinite}
.wgl.full .wv{animation-duration:4s}
.wgl.full .wo,.wgl.part .wo{stroke:#5AA9E6}
.wgl.up{animation:wbounce .7s cubic-bezier(.3,1.6,.5,1) calc(var(--d,0ms) + .25s) both}
.wgl:active{transform:scale(.88)}
@keyframes wwave{from{transform:translateX(0)}to{transform:translateX(12px)}}
@keyframes wbounce{0%{transform:scale(1)}40%{transform:scale(1.25) translateY(-2px)}100%{transform:scale(1)}}
.wquick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wquick button{border:0;border-radius:16px;background:#EAF3FA;color:#1F6FAE;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:1px;position:relative;overflow:hidden;transition:transform .15s,background .2s}
.wquick button b{font-size:18px;font-weight:800}
.wquick button small{font-size:11px;font-weight:700;opacity:.7}
.wquick button:active{transform:scale(.95);background:#CFE5F6}
.wquick button.tap::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:rgba(61,149,219,.35);animation:wripple .6s ease-out forwards}
@keyframes wripple{to{transform:scale(18);opacity:0}}
.wslide{background:#F5F9FC;border-radius:16px;padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}
.wsl-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;color:var(--mute)}
.wsl-top b{font-size:16px;font-weight:800;color:#1F6FAE;font-variant-numeric:tabular-nums}
.wsl-row{display:flex;align-items:center;gap:12px}
.wslide input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:28px;background:transparent;margin:0}
.wslide input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:5px;background:linear-gradient(90deg,#8CC8F2,#3D95DB) 0/var(--p) 100% no-repeat,#DCEAF5}
.wslide input[type=range]::-moz-range-track{height:10px;border-radius:5px;background:linear-gradient(90deg,#8CC8F2,#3D95DB) 0/var(--p) 100% no-repeat,#DCEAF5}
.wslide input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-9px;border-radius:50%;background:var(--card);border:3px solid #3D95DB;box-shadow:0 3px 10px rgba(29,93,140,.25);transition:transform .15s}
.wslide input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--card);border:3px solid #3D95DB;box-shadow:0 3px 10px rgba(29,93,140,.25)}
.wslide input[type=range]:active::-webkit-slider-thumb{transform:scale(1.18)}
.wsl-add{width:44px;height:44px;flex-shrink:0;border:0;border-radius:14px;background:#3D95DB;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(61,149,219,.35);transition:transform .15s}
.wsl-add:active{transform:scale(.9)}
.wsh{display:flex;justify-content:center;margin:6px 0}
.wsh .dial{width:100%}
.wshq{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wshq button{border:0;border-radius:14px;background:var(--bg);padding:12px;font-size:14px;font-weight:800;color:var(--ink)}
.still .mtrack i{animation:none;width:var(--w)}.still .meal2{animation:none}

/* оплата по СБП */
.psh>*{flex:none}
.psh{display:flex;flex-direction:column;gap:14px;max-height:calc(88vh - var(--safe-b));overflow-y:auto;margin:0 -20px;padding:0 20px 2px}
.sbh{display:flex;flex-direction:column;gap:6px}
.sbh .tag{align-self:flex-start;background:var(--blk);color:var(--blk-acc);font-size:11px;font-weight:800;letter-spacing:.08em;padding:5px 9px;border-radius:8px}
.sbh p{margin:0;font-size:14px;line-height:1.45}
.pplans{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pplan{position:relative;border:2px solid transparent;background:#fff;border-radius:20px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:2px;color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.03)}
.pplan span{font-size:14px;font-weight:700;color:var(--mute)}
.pplan b{font-size:24px;font-weight:800;letter-spacing:-.01em}
.pplan small{font-size:12px;font-weight:700;color:var(--mute)}
.pplan em{font-style:normal;align-self:flex-start;font-size:12px;font-weight:800;background:var(--acc);color:var(--ink);padding:3px 8px;border-radius:999px}
.pplan.on{border-color:var(--ink)}
.pplan.on::after{content:"";position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;background:var(--blk) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6D43A' stroke-width='3.2'%3E%3Cpath d='M6 12l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.sbcard{background:#fff;border-radius:22px;padding:6px 14px 12px;display:flex;flex-direction:column}
.pstep{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:700;color:var(--mute);line-height:1.4;padding:12px 0 6px}
.pstep i{flex:none;font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--bg);color:var(--ink);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.pcopy{flex:none;width:38px;height:38px;border:0;border-radius:12px;background:var(--bg);color:var(--ink);display:flex;align-items:center;justify-content:center}
.pcopy:active{transform:scale(.92)}
.pwait{display:flex;align-items:center;gap:10px;background:#FFF7E3;border-radius:16px;padding:12px 14px;font-size:14px;font-weight:700;color:#8A6410}
.pwait i{flex:none;width:10px;height:10px;border-radius:50%;background:#F2B630;animation:pw 1.4s ease-in-out infinite}
@keyframes pw{50%{opacity:.3;transform:scale(.7)}}
.prc{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border:1.5px dashed #D9D4CB;border-radius:16px;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer}
.prc span{display:flex;align-items:center;gap:8px}
.btn:disabled{opacity:.45}
.sbrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #F1EEE8}
.sbrow div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sbrow span{font-size:12px;font-weight:700;color:var(--mute)}
.sbrow b{font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbrow.big b{font-size:21px}
.sbh h3{text-align:left}

/* ЮKassa: тарифы */
.yplans{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yplan{position:relative;border:2px solid transparent;background:#fff;border-radius:20px;padding:22px 14px 14px;text-align:left;display:flex;flex-direction:column;gap:2px;color:var(--ink)}
.yplan span{font-size:14px;font-weight:700;color:var(--mute)}
.yplan b{font-size:24px;font-weight:800;letter-spacing:-.01em}
.yplan small{font-size:12px;font-weight:700;color:var(--mute)}
.yplan em{position:absolute;right:10px;top:12px;font-style:normal;font-size:12px;font-weight:800;background:var(--acc);color:var(--ink);padding:3px 7px;border-radius:999px}
.yplan i{position:absolute;left:12px;top:-9px;font-style:normal;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap}
.yplan .ybest{background:var(--blk);color:var(--blk-acc)}
.yplan .ypop{background:#EAF3FA;color:#1F6FAE}
.yplan.on{border-color:var(--ink)}
.yfine{margin:0;font-size:12px;line-height:1.45;color:var(--mute);text-align:center}
.ywait{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 0}
.ywait p{margin:0;font-size:14px;line-height:1.45}
.yspin{width:44px;height:44px;border-radius:50%;border:4px solid #E6E2DA;border-top-color:var(--acc);animation:yspin 1s linear infinite}
@keyframes yspin{to{transform:rotate(360deg)}}
.arow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.arow span{display:flex;flex-direction:column;gap:2px}
.arow b{font-size:15px;font-weight:800}
.arow small{font-size:12px;font-weight:600;opacity:.65}

/* ---- книга рецептов ---- */
.rc-ban{all:unset;box-sizing:border-box;margin:12px 20px 0;padding:16px;border-radius:24px;background:var(--card);display:flex;align-items:center;gap:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rc-ban:active{opacity:.7}
.rc-ban-e{width:62px;height:62px;flex-shrink:0;border-radius:18px;background:#F6E3D3;display:flex;align-items:center;justify-content:center;font-size:34px}
.rc-ban-t{flex:1;display:flex;flex-direction:column;gap:3px}
.rc-ban-t b{font-size:16px;font-weight:800}
.rc-ban-t small{font-size:13px;color:var(--mute);line-height:1.35;font-weight:600}
.rc-ban-c{font-size:24px;color:var(--faint)}
.rc-top{padding:14px 20px 0;display:flex;align-items:center;gap:12px}
.rc-top h1{margin:0;font-size:24px;font-weight:800}
.rc-top .phb,.rc-hero .phb{width:44px;height:44px;border:0;border-radius:14px;background:var(--card);display:flex;align-items:center;justify-content:center;flex-shrink:0;font:inherit;padding:0}
.rc-hero .phb{position:absolute;top:16px;left:16px}
.rc-load{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px}
.rc-sub{padding:8px 20px 0;font-size:13px;color:var(--mute);font-weight:600;line-height:1.4}
.rc-sub b{color:var(--ink)}
.rc-prem{all:unset;box-sizing:border-box;margin:12px 20px 0;padding:14px 16px;border-radius:20px;background:var(--blk);color:var(--on-blk);display:flex;align-items:center;gap:12px;cursor:pointer}
.rc-prem>span:first-child{flex:1;display:flex;flex-direction:column;gap:2px}
.rc-prem b{font-size:15px}
.rc-prem small{font-size:12px;opacity:.75;line-height:1.35}
.rc-pb{padding:9px 12px;border-radius:12px;background:var(--acc);color:var(--ink);font-weight:800;font-size:13px;white-space:nowrap}
.rc-search{padding:12px 20px 0}
.rc-search input{width:100%;box-sizing:border-box;height:48px;border:0;border-radius:16px;background:var(--card);padding:0 16px;font-size:15px;font-weight:600;outline:none;color:var(--ink)}
.rc-chips{display:flex;gap:8px;overflow-x:auto;padding:10px 20px 0;scrollbar-width:none}
.rc-chips::-webkit-scrollbar{display:none}
.rc-chip{flex-shrink:0;border:0;padding:9px 13px;border-radius:999px;background:var(--card);font:inherit;font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}
.rc-chip.on{background:var(--blk);color:var(--on-blk)}
.rc-grid{padding:14px 20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rc-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-width:0;-webkit-tap-highlight-color:transparent}
.rc-card:active{opacity:.7}
.rc-tile{position:relative;aspect-ratio:1/0.82;border-radius:22px;display:flex;align-items:center;justify-content:center}
.rc-em{font-size:52px;line-height:1}
.rc-card.lk .rc-em{opacity:.55}
.rc-lock,.rc-fav{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center}
.rc-fav{color:#EE4B4B;font-size:16px}
.rc-name{font-size:14px;font-weight:800;line-height:1.25;padding:0 2px}
.rc-meta{font-size:12px;color:var(--mute);font-weight:600;padding:0 2px}
.rc-meta b{color:var(--ink)}
.rc-empty{grid-column:1/-1;padding:30px 10px;text-align:center;color:var(--mute);font-size:14px;line-height:1.45}
.rc-lockh{display:flex;gap:14px;align-items:center}
.rc-lockh small{font-size:12px;color:var(--mute);font-weight:700}
.rc-lockh h3{margin:2px 0 4px}
.rc-lockh .mute{font-size:13px}
.rc-tile.big{width:84px;flex-shrink:0;aspect-ratio:1}
.rc-tile.big .rc-em{font-size:42px}
.rc-hero{height:230px;position:relative;display:flex;align-items:center;justify-content:center}
.rc-hem{font-size:96px;line-height:1}
.rc-hero .rc-hfav{left:auto;right:16px;font-size:22px;color:var(--ink)}
.rc-hero .rc-hfav.on{color:#EE4B4B}
.rc-body{gap:14px}
.rc-cui{font-size:13px;font-weight:700;color:var(--mute)}
.rc-h{margin:4px 0 0;font-size:24px;line-height:1.2}
.rc-kb{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:8px}
.rc-kb>div{background:var(--card);border-radius:18px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:2px}
.rc-kb>div.k{background:var(--blk);color:var(--blk-acc)}
.rc-kb b{font-size:17px;font-weight:800}
.rc-kb span{font-size:11px;font-weight:700;color:var(--mute)}
.rc-kb .k span{color:#FFFFFF;opacity:.7}
.rc-note{font-size:13px;color:var(--mute);font-weight:600;line-height:1.4}
.rc-note b{color:#2E7D32}
.rc-sec h3{margin:6px 0 10px;font-size:18px}
.rc-sec h3 small{font-size:13px;color:var(--mute);font-weight:600}
.rc-ing{background:var(--card);border-radius:20px;padding:4px 16px}
.rc-ing div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;font-size:15px}
.rc-ing div+div{border-top:1px solid var(--line)}
.rc-ing span{font-weight:600}
.rc-ing b{font-weight:800;white-space:nowrap}
.rc-steps{margin:0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:10px}
.rc-steps li{counter-increment:st;display:flex;gap:12px;background:var(--card);border-radius:18px;padding:14px;font-size:15px;line-height:1.45;font-weight:500}
.rc-steps li::before{content:counter(st);width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.rc-seg{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr))}
.rc-seg button{height:auto;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:1px}
.rc-seg button b{font-size:19px;font-weight:800}
.rc-seg button small{font-size:11px;font-weight:700;opacity:.7}
.rc-sum{font-size:15px;color:var(--mute);font-weight:600}
.rc-sum b{color:var(--ink);font-size:22px;font-weight:800}
.rc-tile.ph,.rc-hero.ph{background-size:cover;background-position:center}
.rc-hero.ph{height:280px}
.rc-tile.ph{height:auto}
.rc-cred{position:absolute;right:12px;bottom:36px;font-size:10px;font-weight:600;color:#FFFFFF;background:rgba(0,0,0,.35);padding:3px 7px;border-radius:8px}

/* ---------- общая анимация появления ---------- */
.app:not(.still)>.card,.app:not(.still)>.macros,.app:not(.still)>.week,.app:not(.still)>.sec,.app:not(.still)>.meal2,.app:not(.still)>.empty{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.app:not(.still)>:nth-child(2){animation-delay:.03s}.app:not(.still)>:nth-child(3){animation-delay:.07s}
.app:not(.still)>:nth-child(4){animation-delay:.11s}.app:not(.still)>:nth-child(5){animation-delay:.15s}
.app:not(.still)>:nth-child(6){animation-delay:.19s}.app:not(.still)>:nth-child(n+7){animation-delay:.23s}
@media (prefers-reduced-motion:reduce){.wgl .wv,.wgl.up,.app>*{animation:none!important}.wgl .wq,.wbar i{transition:none!important}}
/* ---------- страница рецепта ---------- */
.rcp .rc-hero.ph{height:300px}
.rcp .rc-hero.ph::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.18))}
.rcp .rc-hero.ph{animation:rczoom 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes rczoom{from{background-size:112%}to{background-size:100%}}
.rcp .rc-hero{background-size:cover}
.rcp .rc-hero .phb{box-shadow:0 4px 14px rgba(0,0,0,.12);z-index:1}
.rcp .rc-body>*{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.rcp .rc-body>:nth-child(2){animation-delay:.05s}.rcp .rc-body>:nth-child(3){animation-delay:.1s}
.rcp .rc-body>:nth-child(4){animation-delay:.15s}.rcp .rc-body>:nth-child(n+5){animation-delay:.2s}
.rc-head{display:flex;flex-direction:column;gap:10px}
.rc-head .rc-h{margin:0;font-size:27px;letter-spacing:-.02em}
.rc-info{display:flex;flex-wrap:wrap;gap:6px}
.rc-info span{background:var(--card);border-radius:12px;padding:7px 11px;font-size:13px;font-weight:700}
.rc-sech{display:flex;align-items:center;justify-content:space-between;margin:6px 0 10px}
.rc-sech h3{margin:0}
.rc-sv{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:14px;padding:4px}
.rc-sv button{width:32px;height:32px;border:0;border-radius:10px;background:var(--bg);font-size:18px;font-weight:800;color:var(--ink);transition:transform .15s}
.rc-sv button:active{transform:scale(.85)}
.rc-sv span{min-width:86px;text-align:center;font-size:13px;font-weight:800}
.rc-ing{padding:4px 6px}
.rc-ing button{width:100%;display:flex;align-items:center;gap:12px;padding:11px 10px;border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);text-align:left;border-radius:14px;transition:background .2s}
.rc-ing button+button{border-top:1px solid var(--line);border-radius:0}
.rc-ing button i{width:22px;height:22px;flex-shrink:0;border-radius:50%;border:2px solid #D9D4CB;position:relative;transition:all .25s cubic-bezier(.3,1.6,.5,1)}
.rc-ing button i::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #141414;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.rc-ing button.on i{background:var(--acc);border-color:var(--acc);transform:scale(1.08)}
.rc-ing button.on i::after{transform:rotate(45deg) scale(1)}
.rc-ing button span{flex:1;font-weight:600;transition:color .25s}
.rc-ing button b{font-weight:800;white-space:nowrap;transition:color .25s}
.rc-ing button.on span,.rc-ing button.on b{color:#B5B0A6;text-decoration:line-through}
.rc-hint{display:block;margin-top:8px;font-size:12px;font-weight:600;color:var(--mute);text-align:center}
.rc-tl{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;position:relative}
.rc-tl li{display:flex;gap:14px;position:relative;padding-bottom:14px}
.rc-tl li:not(:last-child)::before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:2px;background:#E2DED6}
.rc-tl i{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--card);border:2px solid var(--acc);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:14px}
.rc-tl span{background:var(--card);border-radius:18px;padding:12px 14px;font-size:15px;line-height:1.45;font-weight:500;flex:1;display:flex;flex-direction:column;gap:6px}
.rc-tl em{align-self:flex-start;font-style:normal;font-size:12px;font-weight:800;background:#F1F8E3;color:#4F7A12;border-radius:9px;padding:3px 8px}
.rc-foot{display:flex;flex-direction:column;gap:8px}
.rc-go{box-shadow:0 10px 24px rgba(166,212,58,.45);animation:rcpulse 2.4s ease-in-out 1s infinite}
@keyframes rcpulse{50%{box-shadow:0 10px 30px rgba(166,212,58,.75)}}
.rc-ate{border:0;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--mute);padding:6px;text-decoration:underline;text-underline-offset:3px}
.rc-hfav.beat{animation:beat .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes beat{40%{transform:scale(1.3)}}
/* ---------- режим «готовим по шагам» ---------- */
.ck{padding-bottom:0}
.ck-top{display:flex;align-items:center;gap:12px;padding:16px 20px 10px;position:sticky;top:0;background:var(--bg);z-index:2}
.ck-top .phb{width:44px;height:44px;border:0;border-radius:14px;background:var(--card);display:flex;align-items:center;justify-content:center;padding:0}
.ck-tt{flex:1;min-width:0;display:flex;flex-direction:column}
.ck-tt small{font-size:12px;font-weight:700;color:var(--mute)}
.ck-tt b{font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ck-cnt{background:var(--blk);color:var(--blk-acc);border-radius:12px;padding:7px 11px;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.ck-bar{height:6px;margin:0 20px 6px;border-radius:3px;background:#E6E2DA;overflow:hidden;position:sticky;top:70px;z-index:2}
.ck-bar i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,#C9E77E,var(--acc));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ck-list{display:flex;flex-direction:column;gap:10px;padding:10px 20px 20px}
.ck-st{display:flex;gap:14px;background:var(--card);border-radius:22px;padding:16px;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s,box-shadow .45s,background .45s;cursor:pointer}
.ck-st.next{opacity:.45;transform:scale(.97)}
.ck-st.done{opacity:.6;background:#F8F7F3}
.ck-st.done .ck-b p{color:#8C877E;font-size:14px}
.ck-st.cur{box-shadow:0 0 0 2.5px var(--acc),0 14px 32px rgba(166,212,58,.35);transform:scale(1.01)}
.ck-st.pop{animation:ckpop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes ckpop{30%{transform:scale(.96)}}
.ck-n{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;position:relative;transition:background .35s}
.ck-n span{font-weight:800;font-size:16px;transition:opacity .25s,transform .25s}
.ck-n svg{position:absolute;width:22px;height:22px;fill:none;stroke:#141414;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .45s ease .1s}
.ck-st.cur .ck-n{background:var(--blk)}
.ck-st.cur .ck-n span{color:var(--acc)}
.ck-st.done .ck-n{background:var(--acc)}
.ck-st.done .ck-n span{opacity:0;transform:scale(.4)}
.ck-st.done .ck-n svg{stroke-dashoffset:0}
.ck-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.ck-b small{font-size:12px;font-weight:700;color:var(--mute)}
.ck-b p{margin:0;font-size:16px;line-height:1.5;font-weight:500;transition:color .3s}
.ck-st.cur .ck-b p{font-size:17px;font-weight:600}
.ck-tm{align-self:flex-start;display:flex;align-items:center;gap:8px;border:0;border-radius:14px;padding:9px 12px;font:inherit;background:linear-gradient(90deg,#DDEFB5 var(--p,0%),#F1F8E3 var(--p,0%));color:#33520A;transition:transform .15s}
.ck-tm:active{transform:scale(.95)}
.ck-tm b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.ck-tm small{font-size:11px;font-weight:700;opacity:.7}
.ck-tm.run .ck-tmi{display:inline-block;animation:tmspin 2s linear infinite}
.ck-tm.end{background:var(--acc);animation:tmend 1s ease-in-out infinite}
@keyframes tmspin{to{transform:rotate(360deg)}}
@keyframes tmend{50%{transform:scale(1.05)}}
.ck-fin{display:none;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--blk);color:var(--on-blk);border-radius:24px;padding:24px 20px}
.ck-fin.on{display:flex;animation:pl-pop .6s cubic-bezier(.3,1.6,.5,1)}
.ck-fe{font-size:44px;animation:cele-flick 1.6s ease-in-out infinite}
.ck-fin h3{margin:0;font-size:22px;color:var(--acc)}
.ck-fin p{margin:0;font-size:14px;line-height:1.45;opacity:.85}
.ck-foot{display:flex;gap:10px}
.ck-prev{width:58px;flex-shrink:0;padding:0}
.ck-prev:disabled{opacity:.3}
.ck-foot #ckn{flex:1;transition:background .3s}
.ck-fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:50}
@media (prefers-reduced-motion:reduce){.rc-go,.rcp .rc-hero.ph,.rcp .rc-body>*,.ck-fe,.ck-tm.end,.ck-tm.run .ck-tmi{animation:none!important}}
.wmlv{font-style:normal;font-variant-numeric:tabular-nums}

/* ---------- анимация всего приложения ---------- */
.fadein{animation:scrin .38s cubic-bezier(.2,.8,.2,1)}
@keyframes scrin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sheetup{from{transform:translateY(100%)}to{transform:none}}
.sheet-bg{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.sheet-bg.out{animation:fade .22s ease reverse forwards;pointer-events:none}
.sheet-bg.out .sheet{animation:sheetdown .22s ease-in forwards}
@keyframes sheetdown{to{transform:translateY(100%)}}
.sheet>*{animation:rise .4s cubic-bezier(.2,.8,.2,1) both}
.sheet>:nth-child(2){animation-delay:.04s}.sheet>:nth-child(3){animation-delay:.08s}.sheet>:nth-child(4){animation-delay:.12s}.sheet>:nth-child(n+5){animation-delay:.16s}
.sheet-bg.now .sheet>*{animation:none}
/* нижнее меню: подсветка переезжает, иконка подпрыгивает */
.nav-pill{position:absolute;top:8px;bottom:8px;left:8px;width:calc((100% - 16px) / 4);border-radius:16px;background:var(--bg);transform:translateX(calc(var(--i) * 100%));animation:navslide .45s cubic-bezier(.3,1.25,.5,1)}
@keyframes navslide{from{transform:translateX(calc(var(--p) * 100%))}}
.nav button.on svg{animation:navpop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes navpop{40%{transform:translateY(-3px) scale(1.15)}}
/* кнопки «отжимаются» */
button{-webkit-tap-highlight-color:transparent}
.btn,.wedit,.chip,.wd,.rc-chip,.seg button,.rc-ate,.phb{transition:transform .18s cubic-bezier(.3,1.4,.5,1),background .2s,color .2s,box-shadow .2s}
.wedit:active,.chip:active,.wd:active,.rc-chip:active,.seg button:active,.phb:active{transform:scale(.93)}
.fab{transition:transform .2s cubic-bezier(.3,1.4,.5,1)}
.fab:active{transform:scale(.9) rotate(90deg)}
.app:not(.still) .fab{animation:fabin .6s cubic-bezier(.3,1.5,.5,1) .3s both}
@keyframes fabin{from{transform:scale(0) rotate(-90deg)}to{transform:none}}
/* кольцо калорий рисуется, дни недели всплывают по очереди */
.app:not(.still) .kring{animation:kdraw 1.1s cubic-bezier(.2,.8,.2,1) both}
.app:not(.still) .kcal-card.over .kring{animation:kdraw 1.1s cubic-bezier(.2,.8,.2,1) both,kpulse 2.4s ease-in-out 1.1s infinite}
@keyframes kdraw{from{stroke-dasharray:0 289}}
.app:not(.still) .wd{animation:pop .45s cubic-bezier(.3,1.5,.5,1) both}
.app:not(.still) .wd:nth-child(2){animation-delay:.03s}.app:not(.still) .wd:nth-child(3){animation-delay:.06s}.app:not(.still) .wd:nth-child(4){animation-delay:.09s}
.app:not(.still) .wd:nth-child(5){animation-delay:.12s}.app:not(.still) .wd:nth-child(6){animation-delay:.15s}.app:not(.still) .wd:nth-child(7){animation-delay:.18s}
.wd.sel{transition:transform .25s cubic-bezier(.3,1.5,.5,1)}
/* все экраны: блоки появляются по очереди */
.app:not(.still)>:not(.nav):not(.fab):not(.foot){animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.app:not(.still)>:nth-child(7){animation-delay:.25s}.app:not(.still)>:nth-child(8){animation-delay:.28s}.app:not(.still)>:nth-child(n+9){animation-delay:.31s}
.meal2:nth-of-type(2){animation-delay:.05s}.meal2:nth-of-type(3){animation-delay:.1s}.meal2:nth-of-type(n+4){animation-delay:.15s}
/* книга рецептов: карточки всплывают, фото слегка приближается при касании */
.rc-card{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.rc-card:nth-child(2){animation-delay:.04s}.rc-card:nth-child(3){animation-delay:.08s}.rc-card:nth-child(4){animation-delay:.12s}
.rc-card:nth-child(5){animation-delay:.16s}.rc-card:nth-child(6){animation-delay:.2s}.rc-card:nth-child(n+7){animation-delay:.24s}
.rc-tile{transition:transform .25s cubic-bezier(.3,1.4,.5,1),background-size .4s}
.rc-card:active .rc-tile{transform:scale(.96)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ===== полный экран на телефоне: контент ниже челки и кнопок Telegram ===== */
.scr{padding-top:var(--safe-t)}
.scr.ck{padding-top:0}
.ck-top{padding-top:calc(16px + var(--safe-t))}
.ck-bar{top:calc(70px + var(--safe-t))}

/* ===== Профиль: подсветки и анимация ===== */
.who2{position:relative;padding-top:22px}
.who2::before{content:"";position:absolute;left:-30px;top:-40px;width:240px;height:200px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(166,212,58,.38),rgba(166,212,58,0));pointer-events:none;animation:pglow 6s ease-in-out infinite}
.who2>*{position:relative}
.ava-ring{position:relative;flex-shrink:0;padding:3px;border-radius:25px;
  background:conic-gradient(from var(--a,0deg),#A6D43A,#2BB673,#5AA9E6,#F2A43A,#A6D43A);animation:aring 6s linear infinite,pop .5s cubic-bezier(.3,1.5,.5,1) both}
.ava-ring .ava2{border:3px solid var(--bg);width:66px;height:66px}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes aring{to{--a:360deg}}
@keyframes pglow{50%{transform:translate(18px,8px) scale(1.08);opacity:.8}}
.who2 b{animation:rise .45s .08s both}
.who2 div span{animation:rise .45s .16s both}
.pbadge{background:linear-gradient(110deg,#141414 30%,#3A3A36 45%,#141414 60%);background-size:250% 100%;animation:shine 3.2s linear infinite,pop .5s .25s cubic-bezier(.3,1.5,.5,1) both;
  box-shadow:0 4px 14px rgba(166,212,58,.35)}
@keyframes shine{from{background-position:150% 0}to{background-position:-100% 0}}

.tile{position:relative;overflow:hidden;--tc:166,212,58;box-shadow:0 4px 16px rgba(20,20,20,.04);
  animation:tilein .5s calc(.12s + var(--i,0) * .07s) cubic-bezier(.2,.9,.3,1.15) both;transition:transform .18s,box-shadow .25s}
.tile.t-o{--tc:242,164,58}.tile.t-b{--tc:90,169,230}.tile.t-v{--tc:43,182,115}
.tile::after{content:"";position:absolute;right:-26px;top:-26px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(var(--tc),.28),rgba(var(--tc),0));pointer-events:none}
.tile .tic{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:11px;background:rgba(var(--tc),.16);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:16px;z-index:1;animation:pop .45s calc(.3s + var(--i,0) * .07s) cubic-bezier(.3,1.6,.5,1) both}
.tile b{position:relative;z-index:1}
.tile:active{transform:scale(.96);box-shadow:0 0 0 2px rgba(var(--tc),.5)}
@keyframes tilein{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}

.ncard{position:relative;overflow:hidden;background:linear-gradient(150deg,#FFFFFF 55%,#F1F8DF);box-shadow:0 8px 26px rgba(166,212,58,.18);animation:rise .5s .35s both}
.ncard::before{content:"";position:absolute;right:-40px;top:-50px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(166,212,58,.35),rgba(166,212,58,0));pointer-events:none;animation:pglow 7s ease-in-out infinite}
.ncard>*{position:relative}
.nbtn{transition:transform .15s}.nbtn:active{transform:scale(.94)}
.nmac div{position:relative;overflow:hidden;--mc:90,169,230;background:rgba(var(--mc),.1);animation:pop .4s cubic-bezier(.3,1.5,.5,1) both}
.nmac div::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:rgb(var(--mc));transform-origin:left;animation:grow-x .7s .6s cubic-bezier(.2,.8,.2,1) both}
.nmac .n-p{--mc:90,169,230;animation-delay:.45s}.nmac .n-f{--mc:242,164,58;animation-delay:.5s}
.nmac .n-c{--mc:120,170,30;animation-delay:.55s}.nmac .n-w{--mc:60,180,210;animation-delay:.6s}

.prem{position:relative;overflow:hidden;isolation:isolate;animation:rise .5s .45s both;box-shadow:0 14px 34px rgba(20,20,20,.22)}
.prem::before{content:"";position:absolute;inset:-40%;z-index:-1;
  background:conic-gradient(from var(--a,0deg) at 70% 20%,rgba(166,212,58,.0),rgba(166,212,58,.32),rgba(90,169,230,.18),rgba(166,212,58,0) 60%);animation:aring 9s linear infinite}
.prem::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.09) 50%,transparent 65%);background-size:300% 100%;animation:shine 4.5s ease-in-out infinite}
.prem .tag{box-shadow:0 0 0 0 rgba(166,212,58,.6);animation:tagp 2.4s ease-out infinite}
@keyframes tagp{0%{box-shadow:0 0 0 0 rgba(166,212,58,.55)}70%,100%{box-shadow:0 0 0 10px rgba(166,212,58,0)}}
.prem .li{animation:rise .4s both}
.prem .li:nth-of-type(1){animation-delay:.55s}.prem .li:nth-of-type(2){animation-delay:.62s}.prem .li:nth-of-type(3){animation-delay:.69s}
.prem .li:nth-of-type(4){animation-delay:.76s}.prem .li:nth-of-type(5){animation-delay:.83s}
.prem .li svg{filter:drop-shadow(0 0 5px rgba(166,212,58,.7))}
.prem .btn.acc{position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(166,212,58,.45)}
.prem .btn.acc::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:bshine 3s 1s ease-in-out infinite}
@keyframes bshine{0%{left:-60%}45%,100%{left:130%}}

.menu2{box-shadow:0 4px 16px rgba(20,20,20,.04);animation:rise .5s .55s both}
.menu2 button{transition:transform .15s}
.menu2 button:active{transform:scale(.98)}
.menu2 .mi{transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.menu2 button:active .mi{transform:scale(1.15) rotate(-8deg)}
.mi.mi-y{background:linear-gradient(140deg,#FFF4D6,#FFE7A8)}
.mi.mi-r{background:linear-gradient(140deg,#FFE4E0,#FFC9C0)}
.mi.mi-g{background:linear-gradient(140deg,#EAF6D2,#D6EEA8)}
.mi.mi-s{background:linear-gradient(140deg,#E6F0FA,#CFE2F5)}
.mi.mi-y{animation:bell 3.5s 1.2s ease-in-out infinite}
@keyframes bell{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(14deg)}94%{transform:rotate(-12deg)}97%{transform:rotate(6deg)}}

/* ===== Сегодня: подсветки ===== */
.kcal-card{overflow:hidden;background:radial-gradient(circle at 85% 20%,#EEF7D6,rgba(238,247,214,0) 55%),#FFFFFF}
.kcal-card>*{position:relative}
.kcal-card .kring{filter:drop-shadow(0 0 5px rgba(166,212,58,.55))}
.kcal-card svg text{animation:pop .5s .5s cubic-bezier(.3,1.6,.5,1) both;transform-origin:56px 56px}
.chip svg{animation:flick 1.8s ease-in-out infinite;transform-origin:50% 90%}
.chip{box-shadow:0 4px 14px rgba(242,164,58,.22)}
@keyframes flick{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.1,1.16) rotate(-4deg)}60%{transform:scale(.95,1.05) rotate(3deg)}}
.wd.sel{box-shadow:0 6px 16px rgba(20,20,20,.22)}
.wd.sel::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);background-size:300% 100%;animation:shine 3.5s ease-in-out infinite}
.mc{box-shadow:0 4px 14px rgba(20,20,20,.04)}
.hello h1{animation:rise .45s both}
@media (prefers-reduced-motion:reduce){.ava-ring,.pbadge,.prem::before,.prem::after,.prem .tag,.prem .btn.acc::after,.mi.mi-y,.who2::before,.ncard::before,.kcal-card::before,.chip svg,.wd.sel::after{animation:none!important}}
/* при прокрутке контент уходит под мягкую плашку цвета фона: часы и кнопки Telegram читаются */
/* Плашка — sticky внутри экрана, а не position:fixed: в Telegram на iPhone fixed-элемент при прокрутке
   уезжал в середину страницы и закрывал карточки (баг 17.10). На заставке плашки нет — экран целиком салатовый. */
.scr::before{content:"";display:block;align-self:stretch;flex:none;position:sticky;top:0;height:var(--safe-t);margin-top:calc(-1 * var(--safe-t));
  background:linear-gradient(var(--bg) 82%,rgba(243,241,236,0));z-index:15;pointer-events:none}
.scr.white::before{background:linear-gradient(#FFFFFF 82%,rgba(255,255,255,0))}
.splash::before{display:none}
html:has(.splash),html:has(.splash) body{background:var(--acc)}

/* ===== «Что съесть?» на главной ===== */
#sug{margin:14px 20px 0}
#sug:empty{display:none}
.sug{position:relative;overflow:hidden;padding:16px;border-radius:26px;background:radial-gradient(circle at 92% 0%,#EEF7D6,rgba(238,247,214,0) 55%),#FFFFFF;
  box-shadow:0 6px 22px rgba(166,212,58,.14);display:flex;flex-direction:column;gap:12px}
#sug.in .sug{animation:rise .45s cubic-bezier(.2,.9,.3,1.1) both}
.sug-h{display:flex;align-items:center;gap:12px}
.sug-h div{display:flex;flex-direction:column;gap:2px;min-width:0}
.sug-h b{font-size:17px;font-weight:800}
.sug-h small{font-size:12px;font-weight:700;color:var(--mute)}
.sug-ic{width:36px;height:36px;border-radius:12px;background:var(--blk);color:var(--blk-acc);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;animation:sugspark 3s ease-in-out infinite}
@keyframes sugspark{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(18deg) scale(1.08)}}
.sug-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sug-c{border:0;padding:0;background:transparent;display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;color:var(--ink);min-width:0;
  transition:transform .18s;animation:tilein .45s calc(.1s + var(--i,0) * .08s) cubic-bezier(.2,.9,.3,1.15) both}
.sug-c:active{transform:scale(.95)}
.sug-c .rc-tile{width:100%;aspect-ratio:1/1;height:auto;border-radius:18px;position:relative}
.sug-c .rc-em{font-size:34px}
.sug-c b{font-size:13px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sug-c small{font-size:11px;font-weight:700;color:var(--mute)}
.sug-all{width:100%;border:0;background:var(--bg);border-radius:14px;padding:11px 14px;font:inherit;font-size:13px;font-weight:800;color:var(--ink);display:flex;justify-content:space-between;align-items:center;transition:transform .15s}
.sug-all span{font-size:18px;color:var(--soft)}
.sug-all:active{transform:scale(.98)}
@media (prefers-reduced-motion:reduce){.sug-ic,.sug-c,#sug.in .sug{animation:none!important}}
.sug-c .rc-lock{width:24px;height:24px;top:6px;right:6px}.sug-c .rc-lock svg{width:13px;height:13px}

/* ===== вода v3 (17.10, ТЗ): стаканы крупнее и во всю ширину, ползунок тоньше ===== */
.glasses{display:grid;grid-template-columns:repeat(var(--c,8),minmax(0,1fr));gap:6px 4px;align-items:end}
.wgl{width:100%;max-width:30px;height:auto;aspect-ratio:24/32;flex:none;justify-self:center}
.wslide{padding:8px 12px 8px;gap:2px}
.wsl-top{font-size:12px}
.wsl-top b{font-size:14px}
.wslide input[type=range]{height:22px}
.wslide input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px}
.wslide input[type=range]::-moz-range-track{height:6px;border-radius:3px}
.wslide input[type=range]::-webkit-slider-thumb{width:20px;height:20px;margin-top:-7px;border-width:3px}
.wslide input[type=range]::-moz-range-thumb{width:16px;height:16px}
.wsl-add{width:34px;height:34px;border-radius:11px}
.wsl-add svg{width:16px;height:16px}

/* ===== «Правила питания» в разделе «Питание» ===== */
.pp{display:flex;flex-direction:column}
.pp-tip{margin:0 20px 10px;padding:12px 14px;border-radius:18px;background:linear-gradient(120deg,#F1F8DF,#FFFFFF);display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:600;line-height:1.45;box-shadow:0 4px 14px rgba(166,212,58,.12)}
.pp-tip>span:first-child{font-size:18px;line-height:1.2;animation:flick 2.4s ease-in-out infinite}
.pp-row{display:flex;gap:10px;overflow-x:auto;padding:2px 20px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
.pp-row::-webkit-scrollbar{display:none}
.pp-c{flex:0 0 138px;scroll-snap-align:start;border:0;padding:8px 8px 12px;border-radius:22px;background:var(--card);display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;color:var(--ink);
  box-shadow:0 4px 14px rgba(20,20,20,.05);transition:transform .18s;animation:tilein .45s calc(.1s + var(--i,0) * .06s) cubic-bezier(.2,.9,.3,1.15) both}
.pp-c:active{transform:scale(.95)}
.pp-c b{font-size:14px;font-weight:800;line-height:1.25;padding:0 4px;margin-top:6px}
.pp-c small{font-size:12px;font-weight:700;color:var(--mute);padding:0 4px}
.pp-art,.pp-hero{position:relative;height:96px;border-radius:16px;background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.85),rgba(255,255,255,0) 45%),var(--pc);display:flex;align-items:center;justify-content:center;overflow:hidden}
.pp-art::after,.pp-hero::after{content:"";position:absolute;width:70%;height:70%;left:-15%;bottom:-25%;border-radius:50%;background:rgba(255,255,255,.35)}
.pp-em{position:relative;z-index:1;font-size:44px;line-height:1;filter:drop-shadow(0 6px 8px rgba(0,0,0,.12));animation:st-float 3.2s ease-in-out infinite}
.pp-c:nth-child(2n) .pp-em{animation-delay:-1.4s}
.pp-plate{position:relative;z-index:1;width:62px;height:62px;border-radius:50%;border:5px solid #FFFFFF;box-shadow:0 6px 12px rgba(0,0,0,.12);
  background:conic-gradient(#8CCB4A 0 50%,#F08A6B 50% 75%,#F2C14E 75% 100%);animation:platespin 8s linear infinite}
@keyframes platespin{to{transform:rotate(360deg)}}
.pp-hero{height:150px;border-radius:22px}
.pp-hero .pp-em{font-size:70px}
.pp-hero .pp-plate{width:100px;height:100px;border-width:7px}
.pp-sh{display:flex;flex-direction:column;gap:12px}
.pp-sh h3{margin:4px 0 0;font-size:22px;font-weight:800}
.pp-lead{margin:0;font-size:15px;line-height:1.5;color:var(--ink)}
.pp-li{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.pp-li li{position:relative;padding:11px 12px 11px 38px;border-radius:14px;background:var(--card);font-size:14px;font-weight:600;line-height:1.4;animation:rise .4s calc(.15s + var(--i,0) * .07s) both}
.pp-li li::before{content:"✓";position:absolute;left:12px;top:10px;width:18px;height:18px;border-radius:50%;background:var(--acc);color:var(--ink);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
@media (prefers-reduced-motion:reduce){.pp-em,.pp-plate,.pp-c,.pp-li li,.pp-tip>span:first-child{animation:none!important}}

/* ===== ожидание распознавания: шаги и прогресс ===== */
.scan-st{display:flex;flex-direction:column;gap:8px}
.scan-st:empty{display:none}
.scan-prog{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-bottom:4px}
.scan-prog i{display:block;height:100%;width:4%;border-radius:3px;background:linear-gradient(90deg,#C8E47A,var(--acc));transition:width 14s cubic-bezier(.1,.7,.2,1)}
.scan-st.go .scan-prog i{width:92%}
.sst{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--faint);transition:color .3s}
.sst-d{width:20px;height:20px;border-radius:50%;border:2px solid var(--tile);flex-shrink:0;position:relative;transition:all .3s}
.sst.cur{color:var(--ink)}
.sst.cur .sst-d{border-color:var(--acc);border-top-color:transparent;animation:rot .8s linear infinite}
.sst.done{color:var(--mute)}
.sst.done .sst-d{background:var(--acc);border-color:var(--acc);animation:pop .35s cubic-bezier(.3,1.6,.5,1)}
.sst.done .sst-d::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.scan-note{font-size:13px;font-weight:600;color:var(--mute);line-height:1.4;min-height:0}
.scan-note:not(:empty){animation:rise .4s both;padding:10px 12px;border-radius:14px;background:#FFF6E5}
.bju.sk b{display:inline-block;min-width:38px;color:transparent;border-radius:8px;background:linear-gradient(90deg,#EEEBE5 25%,#F8F6F1 50%,#EEEBE5 75%);background-size:200% 100%;animation:skel 1.2s linear infinite}
@keyframes skel{from{background-position:200% 0}to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.sst.cur .sst-d,.bju.sk b{animation:none!important}}

/* ===== плитка блюда без фото: фирменная тарелка вместо разнородных стоковых фото ===== */
.rc-tile:not(.ph),.rc-hero:not(.ph){overflow:hidden;background-image:radial-gradient(circle at 75% 18%,rgba(255,255,255,.8),rgba(255,255,255,0) 42%)!important}
.rc-tile:not(.ph)::before,.rc-hero:not(.ph)::before{content:"";position:absolute;left:50%;top:50%;width:64%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,#FFFFFF 0 56%,#F4F1EA 57% 60%,#FFFFFF 61%);box-shadow:0 10px 22px rgba(60,40,20,.13),inset 0 -3px 6px rgba(0,0,0,.04)}
.rc-hero:not(.ph)::before{width:auto;height:72%}
.rc-tile:not(.ph)::after,.rc-hero:not(.ph)::after{content:"";position:absolute;width:55%;height:55%;left:-18%;bottom:-22%;border-radius:50%;background:rgba(255,255,255,.3)}
.rc-tile:not(.ph) .rc-em,.rc-hero:not(.ph) .rc-hem{position:relative;z-index:1;filter:drop-shadow(0 5px 6px rgba(0,0,0,.14))}
.rc-tile:not(.ph) .rc-em{font-size:min(44px,11vw)}
.sug-c .rc-tile:not(.ph) .rc-em{font-size:30px}
.rc-lock,.rc-fav{z-index:2}

/* ===== Живой Профиль (v28): кольца вокруг аватара, ачивки, микро-анимации ===== */
.who3{position:relative;padding:22px 20px 4px;display:flex;align-items:center;gap:14px}
.who3::before{content:"";position:absolute;left:-40px;top:-30px;width:260px;height:220px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(166,212,58,.36),rgba(166,212,58,0));pointer-events:none;animation:pglow 6s ease-in-out infinite}
.who3>*{position:relative}
.ava-orb{position:relative;flex-shrink:0;width:104px;height:104px;border:0;padding:0;background:transparent;border-radius:50%;
  display:flex;align-items:center;justify-content:center;animation:pop .55s cubic-bezier(.3,1.5,.5,1) both}
.ava-orb .orb{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orb .ot{fill:none;stroke:rgba(20,20,20,.07);stroke-width:7}
.orb .oa{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dasharray 1.3s cubic-bezier(.2,.8,.2,1)}
.orb .oa.ok{stroke:#8CC63F;filter:drop-shadow(0 0 4px rgba(166,212,58,.7))}
.orb .oa.ow{stroke:#4FA3E3;filter:drop-shadow(0 0 4px rgba(90,169,230,.6));transition-delay:.15s}
.orb .ob{fill:none;stroke:var(--faint);stroke-width:2.5;transform-origin:60px 60px;animation:bpulse 2.6s ease-in-out infinite}
.orb .ob.low{stroke:var(--low)}.orb .ob.ok{stroke:var(--ok)}.orb .ob.warn{stroke:var(--warn)}.orb .ob.bad{stroke:#EE6B4B}
@keyframes bpulse{0%,100%{opacity:.55;stroke-width:2.5}50%{opacity:1;stroke-width:4}}
.ava-orb .ava2{position:relative;width:66px;height:66px;border-radius:50%;font-size:26px;box-shadow:0 4px 14px rgba(20,20,20,.18);transition:transform .2s}
.ava-orb:active .ava2{transform:scale(.94)}
.ava-orb.breathe .ava2{animation:breathe 1.1s cubic-bezier(.3,1.4,.5,1)}
.ava-orb.breathe .orb{animation:orbspin 1.1s cubic-bezier(.3,1,.4,1)}
@keyframes breathe{0%{transform:scale(1)}30%{transform:scale(1.12)}55%{transform:scale(.96)}80%{transform:scale(1.03)}100%{transform:scale(1)}}
@keyframes orbspin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.who3-t{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.who3-t b{font-size:22px;font-weight:800;animation:rise .45s .08s both;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rot{font-size:13px;font-weight:700;color:var(--mute);min-height:18px;transition:opacity .28s,transform .28s;animation:rise .45s .16s both}
.rot.out{opacity:0;transform:translateY(-6px)}
.slots{display:flex;gap:5px;margin-top:3px}
.slot{width:24px;height:24px;border-radius:50%;border:1.5px dashed var(--faint);display:flex;align-items:center;justify-content:center;
  font-style:normal;font-size:13px;line-height:1;animation:pop .4s calc(.3s + var(--i,0) * .06s) cubic-bezier(.3,1.6,.5,1) both}
.slot.on{border:0;background:linear-gradient(140deg,#FFE9A6,#F5C451);box-shadow:0 2px 8px rgba(245,196,81,.5)}
.slot.new{animation:goldflash 1.4s .4s cubic-bezier(.3,1.5,.5,1) both}
@keyframes goldflash{0%{transform:scale(.3);box-shadow:0 0 0 0 rgba(245,196,81,.9)}40%{transform:scale(1.35)}60%{transform:scale(.95);box-shadow:0 0 0 12px rgba(245,196,81,0)}100%{transform:scale(1)}}
.who3 .pbadge{align-self:flex-start;margin-top:4px}

.orb-leg{margin:10px 20px 0;display:flex;gap:6px;flex-wrap:wrap;animation:rise .45s .22s both}
.orb-leg span{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:var(--card);font-size:12px;font-weight:700;color:var(--mute);box-shadow:0 2px 10px rgba(20,20,20,.04)}
.orb-leg span b{color:var(--ink);font-weight:800}
.orb-leg i{width:8px;height:8px;border-radius:50%;background:#8CC63F}
.orb-leg .lw i{background:#4FA3E3}
.orb-leg .lb i{background:var(--faint)}.orb-leg .lb.low i{background:var(--low)}.orb-leg .lb.ok i{background:var(--ok)}.orb-leg .lb.warn i{background:var(--warn)}.orb-leg .lb.bad i{background:#EE6B4B}
.orb-leg .lb i{animation:dotp 2.6s ease-in-out infinite}
@keyframes dotp{50%{transform:scale(1.5)}}
.orb-leg+.tiles{margin-top:10px}

/* иконки плиток живут */
.tile .tic svg{overflow:visible}
.pi-beam{transform-origin:12px 7px;animation:swing 3s ease-in-out infinite}
@keyframes swing{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}
.pi-dot{transform-origin:11px 13px;animation:dotp 1.6s ease-in-out infinite}
.pi-arrow{animation:arrowhit 2.8s ease-in-out infinite}
@keyframes arrowhit{0%,60%,100%{transform:none}70%{transform:translate(2px,-2px)}80%{transform:translate(-1px,1px)}}
.pi-ticks{animation:ticks 2.4s ease-in-out infinite}
@keyframes ticks{0%,100%{transform:none}50%{transform:translateX(-2px)}}
.pi-heart{transform-origin:12px 13px;animation:hbeat 1.3s ease-in-out infinite}
@keyframes hbeat{0%,40%,100%{transform:scale(1)}15%{transform:scale(1.18)}28%{transform:scale(1.06)}}
.tile.bump b{animation:bump .45s cubic-bezier(.3,1.7,.5,1)}
.tile.bump .tic{animation:bump .45s cubic-bezier(.3,1.7,.5,1)}
@keyframes bump{0%{transform:scale(1)}35%{transform:scale(1.14)}100%{transform:scale(1)}}
.cnt{font-style:normal;font-variant-numeric:tabular-nums}
.bmi-l{padding:2px 7px;border-radius:999px;font-size:11px!important;font-weight:800!important;vertical-align:3px}
.bmi-l.low{background:rgba(90,169,230,.16);color:#2F7FC1!important}
.bmi-l.ok{background:rgba(43,182,115,.16);color:#1C8A55!important}
.bmi-l.warn{background:rgba(242,164,58,.18);color:#B86E10!important}
.bmi-l.bad{background:rgba(238,107,75,.16);color:#C8462A!important}

/* норма: бублик калорий, полоски «сегодня», стакан */
.nhead{justify-content:flex-start}
.nht{flex:1;min-width:0}
.ndon{width:64px;height:64px;flex-shrink:0;animation:pop .5s .4s cubic-bezier(.3,1.5,.5,1) both}
.ndon .ndt{fill:none;stroke:rgba(166,212,58,.18);stroke-width:7}
.ndon .nda{fill:none;stroke:#8CC63F;stroke-width:7;stroke-linecap:round;transition:stroke-dasharray 1.2s cubic-bezier(.2,.8,.2,1),stroke .3s}
.ndon .nda.over{stroke:var(--warn)}
.ndon text{font-size:14px;font-weight:800;fill:var(--ink);font-family:inherit}
.neat{display:block;margin-top:2px;font-size:12px!important;color:var(--soft)!important}
.nmac div::before{display:none}
.nmac div{gap:4px}
.nbar{display:block;width:100%;height:5px;border-radius:3px;background:rgba(var(--mc),.18);overflow:hidden;margin-top:2px}
.nbar em{display:block;height:100%;width:0;border-radius:inherit;background:rgb(var(--mc));transition:width 1.2s .2s cubic-bezier(.2,.8,.2,1)}
.nmac .n-p{--mc:79,148,222}.nmac .n-f{--mc:242,154,50}.nmac .n-c{--mc:120,180,40}.nmac .n-w{--mc:60,170,220}
.ntd{font-size:10px;font-weight:700;color:var(--soft);white-space:nowrap}
.nwl{display:flex;align-items:center;gap:4px}
.nglass{position:relative;width:9px;height:12px;border:1.5px solid rgb(60,170,220);border-top:0;border-radius:0 0 3px 3px;overflow:hidden}
.nglass i{position:absolute;left:0;right:0;bottom:0;height:0;background:rgb(60,170,220);transition:height 1.3s .3s cubic-bezier(.2,.8,.2,1)}

/* ачивки */
.achs:empty{display:none}
.achs{animation:rise .5s .1s both}
.achs .sec{margin-top:20px}
.ach-row{display:flex;gap:10px;overflow-x:auto;padding:4px 20px 10px;scroll-padding-inline:20px;scroll-snap-type:x mandatory;scrollbar-width:none}
.ach-row::-webkit-scrollbar{display:none}
.acv{flex:0 0 118px;scroll-snap-align:start;border:0;padding:14px 12px;border-radius:20px;background:var(--card);display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  text-align:left;font:inherit;color:var(--ink);box-shadow:0 4px 14px rgba(20,20,20,.04);transition:transform .15s;animation:tilein .45s calc(.15s + var(--i,0) * .05s) cubic-bezier(.2,.9,.3,1.15) both}
.acv:active{transform:scale(.95)}
.acv b{font-size:13px;font-weight:800;line-height:1.25;min-height:32px}
.acv small{font-size:11px;font-weight:700;color:var(--soft)}
.ach-m{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--bg);filter:grayscale(1);opacity:.55}
.acv.on{background:linear-gradient(160deg,#FFF8E2,#FFFFFF 65%)}
.acv.on .ach-m,.ach-sh.on .ach-m,.ach-pop .ach-m{filter:none;opacity:1;background:linear-gradient(140deg,#FFE9A6,#F5C451);box-shadow:0 4px 12px rgba(245,196,81,.45)}
.acv.on small{color:#B8860B}
.acv.new{box-shadow:0 0 0 2px #F5C451,0 6px 20px rgba(245,196,81,.45);animation:tilein .45s both,achglow 2s .5s ease-in-out 3}
@keyframes achglow{50%{box-shadow:0 0 0 2px #F5C451,0 0 28px rgba(245,196,81,.8)}}
.ach-p{display:block;width:100%;height:5px;border-radius:3px;background:var(--line);overflow:hidden}
.ach-p em{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#C8E36F,#8CC63F);animation:grow-x .9s .4s cubic-bezier(.2,.8,.2,1) both;transform-origin:left}
.ach-p.big{height:8px;border-radius:4px}
.ach-sh{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ach-sh h3{margin:4px 0 0}
.ach-sh p{margin:0;font-size:15px;line-height:1.5}
.ach-m.big{width:84px;height:84px;font-size:42px;animation:pop .5s cubic-bezier(.3,1.6,.5,1) both}
.ach-sh.on .ach-m.big{animation:pop .5s cubic-bezier(.3,1.6,.5,1) both,goldflash 1.4s .2s both}
.ach-ok{color:#B8860B;font-size:16px}
.ach-sh .btn{align-self:stretch;margin-top:6px}
.ach-pop{position:fixed;left:16px;right:16px;top:calc(12px + var(--safe-t));z-index:40;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:20px;
  background:linear-gradient(120deg,#141414,#2C2A24);color:#FFFFFF;box-shadow:0 12px 30px rgba(20,20,20,.3),0 0 0 1.5px rgba(245,196,81,.6);
  animation:popdown .55s cubic-bezier(.3,1.4,.5,1) both;transition:opacity .4s,transform .4s}
.ach-pop span{display:flex;flex-direction:column}
.ach-pop small{font-size:12px;font-weight:700;color:#F5C451}
.ach-pop b{font-size:15px;font-weight:800}
.ach-pop.out{opacity:0;transform:translateY(-20px)}
@keyframes popdown{from{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:none}}

/* Премиум: кнопка дышит */
.prem:not(.on) .btn.acc{animation:bpulse2 2.4s 1.2s ease-in-out infinite}
@keyframes bpulse2{0%,100%{transform:scale(1);box-shadow:0 8px 24px rgba(166,212,58,.45)}50%{transform:scale(1.025);box-shadow:0 10px 32px rgba(166,212,58,.7)}}

/* навигация: иконка активной вкладки оживает при переходе */
.nav button svg{transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.nav button:active svg{transform:scale(.85)}
.nav button.on svg{animation:navpop .55s cubic-bezier(.3,1.6,.5,1)}
.nav button.on[data-tab="main"] svg path{transform-origin:12px 12px;animation:clockh 1s .1s cubic-bezier(.3,1.2,.5,1)}
.nav button.on[data-tab="add"] svg{animation:navpop .55s cubic-bezier(.3,1.6,.5,1),steam 1s .2s ease-in-out}
.nav button.on[data-tab="progress"] svg path{stroke-dasharray:60;animation:drawbar .8s .1s ease-out both}
.nav button.on[data-tab="profile"] svg{animation:navpop .55s cubic-bezier(.3,1.6,.5,1),wave .9s .2s ease-in-out}
@keyframes navpop{0%{transform:scale(.7)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes clockh{from{transform:rotate(-180deg)}to{transform:rotate(0)}}
@keyframes steam{30%{transform:translateY(-3px)}60%{transform:translateY(1px)}}
@keyframes drawbar{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
@keyframes wave{25%{transform:rotate(-10deg)}75%{transform:rotate(8deg)}}

@media (prefers-reduced-motion:reduce){.who3::before,.orb .ob,.slot,.slot.new,.orb-leg .lb i,.pi-beam,.pi-dot,.pi-arrow,.pi-ticks,.pi-heart,.acv,.acv.new,.ach-pop,
  .prem:not(.on) .btn.acc,.nav button.on svg,.nav button.on svg path,.ava-orb.breathe .ava2,.ava-orb.breathe .orb{animation:none!important}}

/* ===== 17.10 · UX: «Что съесть?» в конце «Сегодня», сброс фильтров, «Задать вопрос» ===== */
#sug.sug-end:not(:empty){margin-top:18px}
#sug.sug-end .sug{box-shadow:0 8px 24px rgba(166,212,58,.16)}
/* «Все» по умолчанию — мягкий салатовый, выбранный фильтр — черный */
.rc-chip.def.on{background:#E9F4CC;color:#3E6B10}
.rc-chip.flash{animation:chipflash .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes chipflash{0%{transform:scale(.85)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.rc-reset{flex-shrink:0;border:0;padding:9px 13px 9px 11px;border-radius:999px;background:#FFE7E1;color:#C8462A;font:inherit;font-size:13px;font-weight:800;
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;animation:resetin .35s cubic-bezier(.3,1.5,.5,1) both;transition:transform .15s}
.rc-reset:active{transform:scale(.93)}
.rc-reset span{font-size:11px}
.rc-reset i{font-style:normal;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#C8462A;color:#FFFFFF;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
.rc-reset.big{display:flex;margin:14px auto 0;padding:12px 18px;background:var(--blk);color:var(--on-blk);font-size:14px}
@keyframes resetin{from{opacity:0;transform:scale(.6) translateX(-10px)}to{opacity:1;transform:none}}
.rc-found{padding:12px 20px 0;font-size:13px;font-weight:700;color:var(--mute);animation:rise .3s both}
.rc-search{position:relative}
.rc-search input{padding-right:46px}
.rc-qx{position:absolute;right:28px;top:50%;margin-top:-10px;width:28px;height:28px;border:0;border-radius:50%;background:var(--bg);color:var(--mute);font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);pointer-events:none;transition:opacity .2s,transform .25s cubic-bezier(.3,1.5,.5,1)}
.rc-qx.on{opacity:1;transform:none;pointer-events:auto}
/* «Задать вопрос» */
.mi.mi-b{background:linear-gradient(140deg,#EAE6FB,#D7CFF6)}
.ask{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ask h3{margin:2px 0 0}
.ask-ic{width:60px;height:60px;border-radius:50%;background:linear-gradient(140deg,#EAE6FB,#D7CFF6);display:flex;align-items:center;justify-content:center;font-size:28px;animation:pop .45s cubic-bezier(.3,1.6,.5,1) both}
.ask-ic.ok{background:var(--acc);color:var(--ink);font-weight:800}
.ask-sub{font-size:14px;line-height:1.45}
.ask-k{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.ask-k .rc-chip{background:var(--card)}
.ask-k .rc-chip.on{background:var(--blk);color:var(--on-blk)}
.ask textarea{align-self:stretch;box-sizing:border-box;min-height:110px;border:2px solid transparent;border-radius:18px;background:var(--card);padding:14px 16px;font:inherit;font-size:15px;font-weight:600;color:var(--ink);resize:none;outline:none;transition:border-color .2s}
.ask textarea:focus{border-color:var(--acc)}
.ask .btn{align-self:stretch}
@media (prefers-reduced-motion:reduce){.rc-reset,.rc-chip.flash,.ask-ic{animation:none!important}}


/* ===== Темная тема (v30): черный + салатовый. Включается в Профиле → «Оформление» ===== */
html.dark{color-scheme:dark;
  --bg:#0E0F0C; --card:#1A1C17; --ink:#F2F1EC; --mute:#A3A096; --soft:#8A877E; --faint:#5C5A54;
  --line:#2A2C26; --tile:#2A2C26; --blk:#A6D43A; --on-blk:#141414; --blk-acc:#141414}
/* большие черные карточки в темной теме — приподнятый темно-оливковый с салатовым */
html.dark :is(.add-hero,.prem,.gcard,.ins,.rc-prem,.ck-fin,.kbox,.tk,#toast,.cele-box,.ach-pop){
  --blk:#1E2417; --on-blk:#F2F1EC; --blk-acc:#A6D43A; background-color:var(--blk);color:var(--on-blk)}
html.dark .prem{box-shadow:0 0 0 1px rgba(166,212,58,.28),0 14px 34px rgba(0,0,0,.5)}
html.dark .prem .btn.dark,html.dark .ins .btn.dark,html.dark .gcard .btn.dark{--blk:#A6D43A;--on-blk:#141414}
/* светлые подложки и градиенты */
html.dark .kcal-card{background:radial-gradient(circle at 85% 20%,rgba(166,212,58,.16),rgba(166,212,58,0) 55%),var(--card)}
html.dark .sug{background:radial-gradient(circle at 92% 0%,rgba(166,212,58,.16),rgba(166,212,58,0) 55%),var(--card)}
html.dark .ncard{background:linear-gradient(150deg,var(--card) 55%,#232B17)}
html.dark .acv.on{background:linear-gradient(160deg,#2C2716,var(--card) 65%)}
html.dark .ach-m{background:#24261F}
html.dark .nmac div{background:rgba(var(--mc),.14)}
html.dark .rc-chip.def.on{background:#2A3517;color:#C6E57A}
html.dark .rc-reset{background:#3A1F19;color:#FF8E73}
html.dark .bmi-l.low{color:#8CC8F2!important}html.dark .bmi-l.ok{color:#5FD69A!important}
html.dark .bmi-l.warn{color:#F5B867!important}html.dark .bmi-l.bad{color:#FF8E73!important}
html.dark .orb .ot{stroke:rgba(255,255,255,.08)}
html.dark .ndon .ndt{stroke:rgba(166,212,58,.16)}
html.dark .slot{border-color:#46443E}
html.dark .mi{filter:saturate(.9) brightness(.85)}
html.dark .ava2,html.dark .ava{box-shadow:0 0 0 2px rgba(166,212,58,.35)}
html.dark .nav{box-shadow:0 6px 24px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04)}
html.dark .tile{box-shadow:0 0 0 1px rgba(255,255,255,.03)}
html.dark .scr::before{background:linear-gradient(var(--bg) 82%,rgba(14,15,12,0))}
html.dark .scr.white::before{background:linear-gradient(var(--card) 82%,rgba(26,28,23,0))}
html.dark input,html.dark textarea{color:var(--ink)}
html.dark ::placeholder{color:var(--soft)}
/* иконки, нарисованные черным: в темной теме — светлые; на салатовом остаются черными */
html.dark svg[stroke="#141414"],html.dark svg [stroke="#141414"]{stroke:var(--ink)}
html.dark svg[fill="#141414"],html.dark svg [fill="#141414"]{fill:var(--ink)}
html.dark :is(.btn.acc,.opt.sel,.wd.sel,.fab,.qplus,.hico,.sp-tile,.plan-ico,.btn.dark,.rc-chip.on) svg[stroke="#141414"],
html.dark :is(.btn.acc,.opt.sel,.wd.sel,.fab,.qplus,.hico,.sp-tile,.plan-ico,.btn.dark,.rc-chip.on) svg [stroke="#141414"]{stroke:#141414}
html.dark :is(.fab,.qplus,.hico,.sp-tile,.st-badge i,.sug-ic,.ck-st.cur .ck-n) svg[stroke="#A6D43A"],
html.dark :is(.fab,.qplus,.hico,.sp-tile,.st-badge i,.sug-ic,.ck-st.cur .ck-n) svg [stroke="#A6D43A"]{stroke:#141414}
html.dark :is(.fab,.qplus,.hico) svg[stroke="#FFFFFF"]{stroke:#141414}
/* «Оформление» в Профиле */
.thm{margin:14px 20px 0;padding:16px;border-radius:24px;background:var(--card);display:flex;flex-direction:column;gap:12px;animation:rise .5s .5s both}
.thm>span{display:flex;justify-content:space-between;align-items:baseline}
.thm>span b{font-size:16px;font-weight:800}
.thm>span small{font-size:12px;font-weight:700;color:var(--mute)}
.thm-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.thm-o{border:2px solid transparent;border-radius:18px;padding:8px;background:var(--bg);display:flex;flex-direction:column;gap:8px;font:inherit;color:var(--ink);font-size:13px;font-weight:800;
  text-align:left;transition:border-color .25s,transform .15s}
.thm-o:active{transform:scale(.96)}
.thm-o.on{border-color:var(--acc);box-shadow:0 0 0 3px rgba(166,212,58,.2)}
.thm-o>span:last-child{display:flex;justify-content:space-between;align-items:center;padding:0 4px 2px}
.thm-o>span:last-child i{width:18px;height:18px;border-radius:50%;border:2px solid var(--faint);font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .25s}
.thm-o.on>span:last-child i{border-color:var(--acc);background:var(--acc);color:#141414}
.thm-p{height:74px;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:5px;position:relative;overflow:hidden}
.thm-p.l{background:#F3F1EC}.thm-p.d{background:#0E0F0C}
.thm-p u{display:block;height:20px;border-radius:7px;text-decoration:none}
.thm-p.l u{background:#FFFFFF}.thm-p.d u{background:#1A1C17}
.thm-p u.k{width:60%;height:12px}
.thm-p.l u.k{background:#141414}.thm-p.d u.k{background:#A6D43A}
.thm-p em{position:absolute;right:8px;bottom:8px;width:22px;height:22px;border-radius:50%;border:4px solid #A6D43A;border-right-color:transparent}
.thm-p.l em{border-color:#A6D43A #E6E1D8 #A6D43A #A6D43A}.thm-p.d em{border-color:#A6D43A #2A2C26 #A6D43A #A6D43A}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
/* темная тема: светлые подложки → приглушенные */
html.dark .add-hero2{background:radial-gradient(120% 90% at 100% 0%,rgba(166,212,58,.3),rgba(166,212,58,0) 55%),#1E2417}
html.dark .pp-tip{background:linear-gradient(120deg,#232B17,var(--card));color:var(--ink)}
html.dark .wslide,html.dark .water .wi2,html.dark .wi3{background:#16212B}
html.dark .wbar{background:#1D2A36}
html.dark .wquick button,html.dark .yplan .ypop{background:#16212B;color:#8CC8F2}
html.dark .wsl-top b{color:#8CC8F2}
html.dark .mt.p{background:#16212B}html.dark .mt.p span{color:#B9C9D6}
html.dark .mt.f{background:#2A2416}html.dark .mt.f span{color:#D6CBB3}
html.dark .warn{background:#2A2416}
html.dark .mc.done{background:linear-gradient(160deg,var(--card) 40%,#16291F)}
html.dark .mc.over{background:linear-gradient(160deg,var(--card) 40%,#2E1A1A)}
html.dark .rc-tl em{background:#232B17;color:#C6E57A}
html.dark .ck-tm{background:linear-gradient(90deg,#3A4F17 var(--p,0%),#232B17 var(--p,0%));color:#C6E57A}
html.dark .ach div:first-child{background:linear-gradient(135deg,#2E2016,var(--card) 70%)}

/* ===== 17.10 (v31): правки Виктора ===== */
/* заставка одинаковая в обеих темах */
html.dark .splash{--blk:#141414;--on-blk:#FFFFFF;--blk-acc:#A6D43A;--ink:#141414;--mute:#4A5A1E;--soft:#4A5A1E;--card:#FFFFFF;color:#141414}
/* PRO-значок в темной теме */
html.dark .pbadge{background:linear-gradient(110deg,#A6D43A 30%,#D8F08E 45%,#A6D43A 60%);background-size:250% 100%;color:#141414}
/* Прогресс: цифра и подпись в одну строку, плитки ниже */
.ach div{flex-direction:row;align-items:center;gap:10px;padding:12px 14px;animation:tilein .45s calc(.15s + var(--i,0) * .06s) cubic-bezier(.2,.9,.3,1.15) both}
.ach .ai{margin:0;flex-shrink:0;width:34px;height:34px}
.ach .at{display:flex;align-items:center;gap:7px;min-width:0}
.ach .at b{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}
.ach .at small{font-size:12px;line-height:1.2;min-width:0}
/* цифры: ровная ширина при счете и мягкое «приземление» */
.cn{font-style:normal}
.kcal-card .l b,.mc b,.kbox b,.ach b,.tile b,.nhead b,.wtop b,[data-count]{font-variant-numeric:tabular-nums}
.ticking{opacity:.92}
.land{display:inline-block;animation:land .45s cubic-bezier(.3,1.7,.5,1)}
@keyframes land{0%{transform:scale(1)}40%{transform:scale(1.09)}100%{transform:scale(1)}}
/* результат: «Что на тарелке», продукты с кнопкой «Заменить» */
.it-h{display:flex;flex-direction:column;gap:2px;margin:4px 2px -4px}
.it-h b{font-size:16px;font-weight:800}
.it-h small{font-size:13px;font-weight:600;color:var(--mute)}
.itr span{display:flex;flex-direction:column;gap:2px}
.itr span small{font-size:12px;font-weight:600;color:var(--mute)}
.itr em{font-style:normal;flex-shrink:0;padding:7px 12px;border-radius:999px;background:var(--bg);font-size:12px;font-weight:800;color:var(--ink);transition:transform .15s,background .2s}
.itr:active em{transform:scale(.93);background:var(--acc);color:#141414}
.itr{animation:rise .4s calc(.1s + var(--i,0) * .06s) both}
.itr.swapped{animation:swapflash 1.2s ease-out}
@keyframes swapflash{0%{background:rgba(166,212,58,.35)}100%{background:transparent}}
.tunelink{all:unset;align-self:center;padding:8px 10px;font-size:13px;font-weight:700;color:var(--mute);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;cursor:pointer}
.rpl{display:flex;flex-direction:column;gap:8px}
.rpl-c{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px 4px}
.rpl-c::-webkit-scrollbar{display:none}
.rpl-o{flex-shrink:0;border:0;padding:10px 14px;border-radius:16px;background:var(--card);font:inherit;font-size:14px;font-weight:800;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  box-shadow:0 2px 10px rgba(20,20,20,.05);animation:pop .35s calc(var(--i,0) * .05s) cubic-bezier(.3,1.5,.5,1) both;transition:transform .15s,background .2s}
.rpl-o small{font-size:11px;font-weight:700;color:var(--mute)}
.rpl-o:active{transform:scale(.94)}
.rpl-o.busy{background:var(--acc);color:#141414}
.rpl-o.busy small{color:#3E5A10}
.rpl-sk{flex-shrink:0;width:120px;height:52px;border-radius:16px;background:linear-gradient(90deg,var(--card),var(--line),var(--card));background-size:200% 100%;animation:shine 1.2s linear infinite}
.rpl-q{display:flex;gap:8px}
.rpl-q input{flex:1;min-width:0;height:46px;border:0;border-radius:14px;background:var(--card);padding:0 14px;font:inherit;font-size:15px;font-weight:600;color:var(--ink);outline:none}
.rpl-q button{width:46px;height:46px;flex-shrink:0;border:0;border-radius:14px;background:var(--acc);display:flex;align-items:center;justify-content:center;transition:opacity .2s}
.rpl-q button:disabled{opacity:.4}
@media (prefers-reduced-motion:reduce){.land,.rpl-o,.rpl-sk,.itr,.itr.swapped{animation:none!important}}

/* ===== v32: фирменный салатовый в акцентах «Сегодня» и «Прогресса» ===== */
/* «Сегодня»: кнопка «+», выбранный день, полоски БЖУ, серия */
.fab{background:var(--acc);box-shadow:0 10px 26px rgba(140,198,63,.5),0 0 0 6px rgba(166,212,58,.18)}
.fab:active{box-shadow:0 4px 12px rgba(140,198,63,.5),0 0 0 3px rgba(166,212,58,.25)}
.wd.sel{background:var(--acc);color:#141414;box-shadow:0 6px 16px rgba(140,198,63,.4)}
.wd.sel span,.wd.sel b{color:#141414}
.mc .track i{background:linear-gradient(90deg,#C8E47A,var(--acc))}
.mc.low .track i{background:linear-gradient(90deg,#DCEFA6,#C3E26A)}
.mc .track{background:rgba(166,212,58,.16)}
.chip{background:#EEF7D6;color:#3E5A10;box-shadow:0 4px 14px rgba(166,212,58,.25)}
.chip svg [stroke],.chip svg[stroke]{stroke:#5E8F1A}
html.dark .chip{background:#232B17;color:#C6E57A}
html.dark .chip svg [stroke],html.dark .chip svg[stroke]{stroke:var(--acc)}
/* «Прогресс»: «в норме» — салатовый; «чуть больше», «перебор», «недобор» остаются своими цветами, чтобы различались */
.cd.norm{background:var(--acc);color:#141414}
.legend i.norm,.ib i.norm,.wk .col u.norm{background:var(--acc)}
.wk i.norm{background:linear-gradient(180deg,#C8E47A,#8CC63F)}
.wk .col u.norm{color:#141414}
.stc.norm{background:#EEF7D6;color:#4F7A12}
html.dark .stc.norm{background:#232B17;color:#C6E57A}
.wdet.norm{border-left-color:var(--acc)}
/* плитки внизу: единый салатовый стиль, всплытие снизу, на касание — свечение и живая иконка */
.ach div,.ach div:first-child{background:var(--card)}
.ach div:first-child{background:linear-gradient(135deg,#EEF7D6,var(--card) 70%)}
html.dark .ach div:first-child{background:linear-gradient(135deg,#232B17,var(--card) 70%)}
.ach .ai,.ach div:first-child .ai{background:#EEF7D6;color:#4F7A12}
html.dark .ach .ai,html.dark .ach div:first-child .ai{background:#232B17;color:var(--acc)}
.ach div:first-child .ai svg{stroke:currentColor}
.ach div{cursor:pointer;transition:transform .25s cubic-bezier(.3,1.5,.5,1),box-shadow .25s}
.ach div:active{transform:scale(.97)}
.ach div.tap{box-shadow:0 0 0 2px rgba(166,212,58,.55),0 8px 22px rgba(166,212,58,.35)}
.ach div.tap .ai{animation:aipop .3s cubic-bezier(.3,1.7,.5,1)}
.ach div.tap .pa-cup{animation:cupswing .6s ease-in-out}
.ach div.tap .pa-fire{animation:flick .5s ease-in-out}
.ach div.tap .pa-plate{animation:platespin .5s cubic-bezier(.3,1.2,.5,1)}
.ach div.tap .pa-tick{animation:tickdraw .4s ease-out}
.pa-fire{transform-origin:50% 90%;animation:flick 2.6s ease-in-out infinite}
.pa-cup{transform-origin:50% 100%}
.pa-tick{stroke-dasharray:10;stroke-dashoffset:0}
@keyframes aipop{0%{transform:scale(1)}50%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes cupswing{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}60%{transform:rotate(10deg)}85%{transform:rotate(-4deg)}}
@keyframes platespin{from{transform:rotate(-90deg) scale(.85)}to{transform:none}}
@keyframes tickdraw{from{stroke-dashoffset:10}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.pa-fire,.ach div.tap .ai,.ach div.tap svg,.ach div.tap .pa-tick{animation:none!important}}

/* ===== v33: свайп для удаления, полоса сверх нормы, разбор День/Неделя/Месяц, плавная вода, больше движения ===== */
/* полоса доли нормы: заливка внутри дорожки, а не поверх подписи «% нормы» */
.meal2 .mbar{position:static;height:auto;background:none;border-radius:0}
.meal2 .mtrack{position:relative}
.meal2 .mtrack i{position:absolute;left:0;top:0;bottom:0;height:auto;max-width:100%}
.mpct{flex-shrink:0}
/* свайп влево, как чаты в Telegram */
.mswipe{position:relative;border-radius:22px;isolation:isolate;transition:height .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}
.mswipe .meal2{position:relative;z-index:1;touch-action:pan-y;animation-fill-mode:backwards}  /* fill both перебивал бы сдвиг пальцем */
.mswipe.gone{margin-bottom:-8px;pointer-events:none}
.mswipe.back{animation:mback .5s cubic-bezier(.2,.9,.3,1.2) backwards}
@keyframes mback{from{opacity:0;transform:translateX(-36px) scale(.96)}}
.mdel{position:absolute;inset:0;z-index:0;border:0;border-radius:22px;background:linear-gradient(90deg,#F06A6E,#E5484D);color:#fff;font:inherit;font-size:12px;font-weight:800;
  display:grid;grid-template-columns:92px;justify-content:end;align-content:center;justify-items:center;row-gap:3px;opacity:calc(var(--sx,0) * 6)}
.mdel svg,.mdel span{opacity:var(--sx,0);transform:scale(calc(.6 + var(--sx,0) * .4));transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.mdel .lid{transform-origin:4px 7px;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.mswipe.far .mdel svg{transform:scale(1.25)}
.mswipe.far .mdel .lid{transform:rotate(-22deg) translateY(-1px)}
.mswipe.far .mdel span{opacity:0}
/* тост с отменой: кольцо показывает, сколько осталось на «Вернуть» */
#utoast{position:fixed;left:50%;bottom:calc(100px + var(--safe-b));display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);width:max-content;padding:8px 8px 8px 12px;border-radius:18px;
  background:var(--blk);color:var(--on-blk);font-size:14px;font-weight:600;box-shadow:0 10px 26px rgba(0,0,0,.2);z-index:31;opacity:0;pointer-events:none;
  transform:translateX(-50%) translateY(24px) scale(.92);transition:opacity .25s,transform .4s cubic-bezier(.3,1.4,.5,1)}
#utoast.on{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}
#utoast .ut-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
#utoast button{flex-shrink:0;border:0;border-radius:12px;background:var(--acc);color:#141414;font:inherit;font-size:14px;font-weight:800;padding:9px 14px;transition:transform .15s}
#utoast button:active{transform:scale(.94)}
.ut-ring{width:22px;height:22px;flex-shrink:0}
.ut-ring svg{width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke:var(--acc);stroke-width:3;stroke-linecap:round;stroke-dasharray:63;stroke-dashoffset:0}
#utoast.on .ut-ring svg{animation:utdrain 4.4s linear forwards}
@keyframes utdrain{to{stroke-dashoffset:63}}
/* вода: волна только сразу после глотка, а не бесконечно у каждого стакана (это и съедало FPS) */
.wgl .wv{animation:none}
.wgl.up .wv{animation:wwave 1.1s linear 2}
.water2{contain:layout}
.wquick button b{display:inline-block;transition:transform .2s}
.wquick button.tap b{animation:wplus .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes wplus{40%{transform:translateY(-4px) scale(1.12)}}
.wmlv{display:inline-block}
/* разбор: переключатель День / Неделя / Месяц в той же плашке */
.iseg{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;border-radius:15px;background:rgba(255,255,255,.08)}
.iseg-t{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:11px;background:var(--acc);
  transform:translateX(calc(var(--s,0) * 100%));transition:transform .45s cubic-bezier(.3,1.3,.5,1)}
.iseg button{position:relative;z-index:1;border:0;background:transparent;height:36px;font:inherit;font-size:14px;font-weight:800;color:#CFCAC2;transition:color .25s,transform .15s}
.iseg button.on{color:#141414}
.iseg button:active{transform:scale(.95)}
.ins-body{display:flex;flex-direction:column;gap:12px;transition:opacity .2s}
.ins-body.wait{opacity:.45}
.ins-body.swap>*{animation:insin .42s cubic-bezier(.2,.9,.3,1.1) both}
.ins-body.swap>*:nth-child(2){animation-delay:.05s}.ins-body.swap>*:nth-child(3){animation-delay:.1s}.ins-body.swap>*:nth-child(n+4){animation-delay:.14s}
@keyframes insin{from{opacity:0;transform:translateY(8px)}}
.ins-arc{animation:arcdraw 1.1s cubic-bezier(.3,.8,.3,1) both}
@keyframes arcdraw{from{stroke-dashoffset:var(--c)}}
.ins-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.ins-days button{border:0;border-radius:13px;background:rgba(255,255,255,.07);color:#E9E5DE;font:inherit;padding:7px 0 6px;display:flex;flex-direction:column;align-items:center;gap:1px;
  transition:background .25s,color .25s,transform .15s;animation:tilein .4s calc(var(--i,0) * .035s) cubic-bezier(.2,.9,.3,1.2) both}
.ins-days button small{font-size:10.5px;font-weight:700;opacity:.7}
.ins-days button b{font-size:16px;font-weight:800}
.ins-days button.on{background:var(--acc);color:#141414}
.ins-days button.on small{opacity:.8}
.ins-days button:active{transform:scale(.92)}
.ins-tips{display:flex;flex-direction:column;gap:8px}
.ins-more{transition:transform .15s,gap .2s}
.ins-more:active{transform:translateX(3px)}
.ibars.m{gap:2px}
.ibars.m small{display:none}
/* «Что приготовить?», когда норма уже набрана */
.sug.done{gap:10px}
.sug.done .sug-h small{white-space:normal;line-height:1.35}
.sug.done .sug-h div{flex:1}
.sug-ic.ok{background:var(--acc);color:#141414;font-weight:900;animation:okpop .6s cubic-bezier(.3,1.6,.5,1) both}
.sug.over .sug-ic.ok{background:#E9F2D8;font-size:18px}
@keyframes okpop{0%{transform:scale(.4) rotate(-20deg);opacity:0}100%{transform:none;opacity:1}}
.sug-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sug-tips li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--bg);font-size:13.5px;font-weight:600;line-height:1.35;
  animation:rise .45s cubic-bezier(.2,.9,.3,1.1) both}
.sug-tips li:nth-child(2){animation-delay:.07s}.sug-tips li:nth-child(3){animation-delay:.14s}
.sug-tips i{font-style:normal;font-size:17px;flex-shrink:0}
.sug-all:active{transform:scale(.97)}
/* больше живости: отклик на нажатие у карточек и кнопок */
.btn{transition:transform .15s cubic-bezier(.3,1.6,.5,1),filter .2s}
.btn:active{transform:scale(.96)}
.wd{transition:transform .15s,background .25s,color .25s}
.wd:active{transform:scale(.9)}
.fab{transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.fab:active{transform:scale(.9) rotate(90deg)}
.rc-card,.rc-c{transition:transform .18s}
.rc-card:active,.rc-c:active{transform:scale(.97)}
html.dark .sug-tips li{background:var(--tile)}
html.dark .sug.over .sug-ic.ok{background:#2A341C}
@media (prefers-reduced-motion:reduce){
  .mswipe.back,.ins-body.swap>*,.ins-arc,.ins-days button,.sug-ic.ok,.sug-tips li,.wquick button.tap b,#utoast.on .ut-ring svg{animation:none!important}
  .iseg-t,.mswipe,#utoast{transition:none!important}}
.ins-days button{position:relative}
.ins-days button.t::after{content:"";position:absolute;bottom:3px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--acc)}
.ins-days button.t.on::after{background:#141414}

/* ===== v34: подпись к фото (внутри темного блока «Сфотографируйте тарелку») ===== */
.capw{align-self:stretch;margin-top:-2px;border-radius:18px;background:rgba(255,255,255,.08);transition:background .25s}
.capw.on{background:rgba(166,212,58,.18)}
.capt{width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:10px 12px;font:inherit;font-size:14px;font-weight:700;color:#FFFFFF;text-align:left}
.capt span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.capt small{font-size:12px;font-weight:600;color:#B9B4AB}
.capw.on .capt small{display:none}
.capi{width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .25s}
.capw.open .capi{transform:rotate(-14deg) scale(1.08)}
.capw.on .capi{background:var(--acc);color:#141414}
.capbox{display:none;flex-direction:column;gap:8px;padding:0 12px 12px}
.capw.open .capbox{display:flex;animation:capin .35s cubic-bezier(.2,.9,.3,1.1)}
@keyframes capin{from{opacity:0;transform:translateY(-6px)}}
.capin{position:relative}
.capin input{width:100%;box-sizing:border-box;height:44px;border:2px solid transparent;border-radius:14px;background:#FFFFFF;padding:0 40px 0 14px;font:inherit;font-size:15px;font-weight:600;color:#141414;outline:none;transition:border-color .2s}
.capin input:focus{border-color:var(--acc)}
.capx{position:absolute;right:6px;top:6px;width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:#8C877E;font-size:20px;line-height:1}
.capch{display:flex;flex-wrap:wrap;gap:6px}
.capch button{border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#FFFFFF;font:inherit;font-size:13px;font-weight:700;padding:7px 11px;
  transition:transform .15s;animation:tilein .35s calc(var(--i,0) * .04s) cubic-bezier(.2,.9,.3,1.2) both}
.capch button:active{transform:scale(.92)}
.capch button.pop{animation:okpop .4s cubic-bezier(.3,1.6,.5,1)}
.caph{font-size:12px;line-height:1.35;color:#B9B4AB;font-weight:600}
@media (prefers-reduced-motion:reduce){.capw.open .capbox,.capch button,.capch button.pop{animation:none!important}}

/* ---- v35: интервальное голодание ---- */
.fast2{padding:16px;display:flex;flex-direction:column;gap:12px;contain:layout;animation:m2-in .45s cubic-bezier(.2,.9,.3,1) both}
.fast2.swap{animation:f-swap .4s cubic-bezier(.2,.9,.3,1) both}
@keyframes f-swap{0%{opacity:.4;transform:scale(.97)}100%{opacity:1;transform:none}}
.ftop{display:flex;align-items:center;gap:12px}
.fic{width:40px;height:40px;border-radius:14px;background:#F1EEE6;display:flex;align-items:center;justify-content:center;color:#6A5ACD;flex:none}
.fhd{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fhd b{font-size:16px;font-weight:800}
.fhd small{font-size:13px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fset{width:36px;height:36px;border:0;border-radius:12px;background:transparent;color:var(--soft);display:flex;align-items:center;justify-content:center}
.fset:active{background:var(--line)}
.fplans{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.fpl{height:40px;border:1.5px solid var(--line);border-radius:14px;background:transparent;font-size:14px;font-weight:800;color:var(--ink);
  transition:background .2s,border-color .2s,transform .18s cubic-bezier(.3,1.5,.5,1)}
.fpl.on{background:var(--blk);border-color:var(--blk);color:var(--on-blk)}
.fpl:active{transform:scale(.93)}
.fgo{height:52px;font-size:16px}
.fhint{margin:0;font-size:13px;line-height:1.45;color:var(--mute)}
.fdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:58px}
.fd{display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.fd i{width:100%;max-width:26px;border-radius:8px;background:var(--line);height:calc(6px + 34px * var(--h));transform-origin:bottom;
  animation:f-bar .6s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--i) * 50ms)}
.fd.part i{background:#CFC8F2}
.fd.ok i{background:var(--acc)}
.fd small{font-size:11px;font-weight:700;color:var(--soft)}
@keyframes f-bar{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
/* активное окно — темная карточка с салатовым кольцом */
.fast2.on{background:var(--blk);color:var(--on-blk)}
.fast2.on .fic{background:rgba(255,255,255,.1);color:var(--blk-acc)}
.fast2.on .fhd small,.fast2.on .fset{color:rgba(255,255,255,.6)}
.fast2.on .fset:active{background:rgba(255,255,255,.1)}
.fbody{display:flex;align-items:center;gap:16px}
.fring{position:relative;width:118px;height:118px;flex:none}
.fring svg{width:100%;height:100%;overflow:visible}
.fr0{fill:none;stroke:rgba(255,255,255,.12);stroke-width:10}
.fr1{fill:none;stroke:var(--blk-acc);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.3,1);filter:drop-shadow(0 0 6px rgba(166,212,58,.45))}
.fdot{fill:rgba(255,255,255,.35);stroke:var(--blk);stroke-width:2}
.fdot.on{fill:#FFFFFF}
.fnum{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fnum b{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fnum small{font-size:12px;color:rgba(255,255,255,.6);font-weight:700}
.finfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.fstage{display:flex;gap:8px;align-items:flex-start;font-size:15px;font-weight:800;line-height:1.3}
.fstage i{font-style:normal;animation:f-pulse 2.4s ease-in-out infinite}
@keyframes f-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.finfo small{font-size:13px;color:rgba(255,255,255,.65);line-height:1.4}
.fbar{height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.fbar i{display:block;height:100%;width:var(--w);background:var(--blk-acc);border-radius:3px;transition:width 1s}
.fast2.on .btn.ghost{border-color:rgba(255,255,255,.25);color:var(--on-blk);height:50px}
.fast2.on .btn.acc{height:50px}
.fast2.reached .fr1{animation:f-glow 1.8s ease-in-out infinite}
@keyframes f-glow{0%,100%{filter:drop-shadow(0 0 4px rgba(166,212,58,.4))}50%{filter:drop-shadow(0 0 12px rgba(166,212,58,.9))}}
/* шторка */
.fsh-sec{font-size:13px;font-weight:800;color:var(--soft);text-transform:uppercase;letter-spacing:.04em;margin-top:6px}
.fplans.sh .fpl{height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:15px}
.fplans.sh .fpl small{font-size:10px;font-weight:700;opacity:.65}
.fagos{display:flex;flex-wrap:wrap;gap:6px}
.fagos button{height:38px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:transparent;font-size:14px;font-weight:700;transition:background .2s,border-color .2s}
.fagos button.on{background:var(--blk);border-color:var(--blk);color:var(--on-blk)}
.fsh-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fsh-stats span{background:var(--bg);border-radius:16px;padding:10px;display:flex;flex-direction:column;align-items:center}
.fsh-stats b{font-size:20px;font-weight:800}
.fsh-stats small{font-size:12px;color:var(--mute)}
.fwarn{margin:0;font-size:12px;line-height:1.45;color:var(--soft);text-align:center}
.fdone{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.fdone h3{margin:4px 0 0}
.fdone p{margin:0;font-size:14px;line-height:1.5}
.fdone-ring{position:relative;width:130px;height:130px;background:var(--blk);border-radius:50%;padding:6px}
.fdone-ring svg{width:100%;height:100%}
.fdone-ring .fr1.full{stroke-dasharray:327 327;animation:f-fill 1.1s cubic-bezier(.2,.8,.3,1) both}
@keyframes f-fill{0%{stroke-dashoffset:327}100%{stroke-dashoffset:0}}
.fdone-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--on-blk);font-size:30px;font-weight:800}
.fdone-ring b small{font-size:15px;margin-left:2px;opacity:.7}
html.dark .fic{background:rgba(255,255,255,.08)}
html.dark .fpl.on,html.dark .fagos button.on{background:var(--acc);border-color:var(--acc);color:#141414}
html.dark .fast2.on{background:#1E1F1B;color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(166,212,58,.25)}
html.dark .fast2.on .fic,html.dark .fdone-ring b{color:var(--acc)}
html.dark .fast2.on .fr1,html.dark .fdone-ring .fr1{stroke:var(--acc)}
html.dark .fast2.on .fbar i{background:var(--acc)}
html.dark .fast2.on .btn.ghost{color:#FFFFFF}
html.dark .fdone-ring{background:#1E1F1B}
html.dark .fdone-ring b{color:#FFFFFF}
html.dark .fdot{stroke:#1E1F1B}
@media (prefers-reduced-motion:reduce){.fast2,.fd i,.fstage i,.fast2.reached .fr1,.fdone-ring .fr1.full{animation:none}.fr1{transition:none}}
/* v36: циферблат голодания на сутки (24 · 6 · 12 · 18) */
.fring{width:150px;height:150px;margin:-8px -6px -8px -10px}
.frp{fill:none;stroke:rgba(166,212,58,.28);stroke-width:10;stroke-linecap:round}
.fr1{transition:stroke-dasharray 1.2s cubic-bezier(.2,.8,.3,1)}
.ftk{stroke:rgba(255,255,255,.22);stroke-width:1.2}
.ftk.b{stroke:rgba(255,255,255,.55);stroke-width:2}
.flb{fill:rgba(255,255,255,.7);font:800 10px Manrope,system-ui,sans-serif;text-anchor:middle}
.fnow{fill:#FFFFFF;stroke:var(--blk);stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}
.fnum b{font-size:24px}
.flegend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:700;color:rgba(255,255,255,.6)}
.flegend span{display:flex;align-items:center;gap:5px}
.flegend i{width:10px;height:10px;border-radius:5px;display:inline-block}
.flegend .lg1{background:var(--blk-acc)}
.flegend .lg2{background:rgba(255,255,255,.14)}
html.dark .fnow{stroke:#1E1F1B}
html.dark .flegend .lg1{background:var(--acc)}
#fastslot .fast2{margin-top:14px}
/* v36: название записи, приемы пищи, «добавить к», граммы кнопками, группы на «Сегодня» */
.rtitle{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;cursor:pointer;max-width:100%}
.rtitle h2,.rtitle h3{margin:0}
.rtitle .ped{flex:none;width:28px;height:28px;border-radius:10px;background:var(--bg);color:var(--mute);display:flex;align-items:center;justify-content:center;margin-top:1px;transition:transform .15s,background .2s}
.rtitle:active .ped{transform:scale(.9);background:var(--acc);color:#141414}
.rtitle.sh{padding-right:8px}
.mslots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mslot{height:56px;border:1.5px solid var(--line);border-radius:16px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;font-weight:800;color:var(--ink);
  transition:background .2s,border-color .2s,transform .18s cubic-bezier(.3,1.5,.5,1)}
.mslot i{font-style:normal;font-size:17px;line-height:1}
.mslot.on{background:var(--blk);border-color:var(--blk);color:var(--on-blk)}
.mslot:active{transform:scale(.93)}
.into{display:flex;flex-direction:column;gap:6px}
.into:empty{display:none}
.into-o{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:16px;background:var(--card);border:1.5px solid var(--line);cursor:pointer;
  animation:m2-in .35s ease-out both;transition:border-color .2s,background .2s}
.into-o .rb{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid var(--faint);position:relative;transition:border-color .2s}
.into-o.on{border-color:var(--acc)}
.into-o.on .rb{border-color:var(--acc)}
.into-o.on .rb::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--acc);animation:pop-in .25s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop-in{0%{transform:scale(0)}100%{transform:scale(1)}}
.io-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.io-t b{font-size:15px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.io-t small{font-size:12px;color:var(--mute);font-weight:600}
.itr .itn{flex:1;min-width:0}
.itg{flex:none!important;display:flex!important;flex-direction:row!important;align-items:center;gap:2px;background:var(--bg);border-radius:14px;padding:3px}
.itg b{min-width:62px;text-align:center;font-size:15px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.itg b small{font-size:12px;font-weight:700;color:var(--mute)}
.itm{width:34px;height:34px;border:0;border-radius:11px;background:var(--card);color:var(--ink);font-size:20px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .15s,background .2s}
.itm:active{transform:scale(.88);background:var(--acc);color:#141414}
.mgrp{display:flex;align-items:center;gap:8px;margin:16px 24px 2px;font-size:15px}
.mgrp b{font-weight:800}
.mgrp small{margin-left:auto;font-size:13px;font-weight:700;color:var(--mute)}
.mg-e{font-size:16px}
.rnw{position:relative;display:flex;align-items:center;background:var(--bg);border-radius:16px;padding:0 6px 0 14px;height:54px}
.rnw input{flex:1;border:0;background:transparent;font-size:17px;font-weight:700;color:var(--ink);outline:none;min-width:0}
.btn.dark svg{flex:none}
/* v36: темная тема — текст на салатовом всегда темный (раньше брал светлый --ink и пропадал), бледное — ярче */
html.dark{--faint:#7C796F;--soft:#A09D93}
html.dark :is(.btn.acc,.pick label.a,.itadd span,.prem .tag,.cd.now,.ins .tag,.tag2,.pplan em,.yplan em,.rc-pb,.ask-ic.ok,.ex:active,.rc-go,.cele-btn){color:#141414}
html.dark :is(.rc-steps li,.pp-li li)::before{color:#141414}
html.dark .btn.acc svg{stroke:#141414}
html.dark .rc-kb .k span{color:#141414;opacity:.75}
html.dark .btn.ghost{border-color:#3A3C35}
html.dark .stc.high{background:rgba(242,164,58,.18);color:#FFC36B}
html.dark .stc.over{background:rgba(238,75,75,.18);color:#FF8A8A}
html.dark .stc.low{background:rgba(90,169,230,.18);color:#8CC8F5}
html.dark .stc.now{color:#C6E57A}
.cd.high,.wk .col u.high{color:#141414}
.fring{width:146px;height:146px;margin:2px 0 0 -4px}
.fnum b{font-size:22px}
.fnum small{font-size:11px}
/* v37: «Мои данные» — правка одного поля без анкеты, «Как считается норма» */
.nnote{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;font-size:13px;font-weight:600;color:var(--mute);cursor:pointer}
.nnote u{flex-shrink:0;text-decoration:none;color:var(--ink);font-weight:700}
.pf-sub{font-size:13px;line-height:1.45}
.pf-list{display:flex;flex-direction:column;background:var(--card);border-radius:20px;overflow:hidden}
.pf-row{display:flex;align-items:center;gap:10px;padding:15px 16px;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;animation:m2-in .32s calc(var(--i)*40ms) both;transition:background .15s}
.pf-row+.pf-row{border-top:1px solid var(--line)}
.pf-row:active{background:var(--line)}
.pf-row span{flex-grow:1;font-size:15px;color:var(--mute);font-weight:600}
.pf-row b{font-size:15px;font-weight:700;text-align:right;max-width:58%}
.pf-row .ch{font-style:normal;color:var(--faint);font-size:20px;line-height:1}
.sheet h3:has(.pf-back){display:flex;align-items:center;gap:8px}
.pf-back{width:34px;height:34px;margin-left:-6px;border:0;border-radius:50%;background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.pf-back svg{width:22px;height:22px}
.pf-opts{display:flex;flex-direction:column;gap:8px}
.pf-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid transparent;border-radius:18px;background:var(--card);font:inherit;color:var(--ink);text-align:left;cursor:pointer;animation:m2-in .32s calc(var(--i)*45ms) both;transition:border-color .2s,transform .15s}
.pf-opt:active{transform:scale(.98)}
.pf-opt span{flex-grow:1;display:flex;flex-direction:column;gap:2px}
.pf-opt b{font-size:16px;font-weight:700}
.pf-opt small{font-size:13px;color:var(--mute);line-height:1.35}
.pf-ok{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--acc);color:#141414;display:grid;place-items:center;transform:scale(0);transition:transform .28s cubic-bezier(.3,1.6,.5,1)}
.pf-ok svg{width:15px;height:15px}
.pf-opt.on{border-color:var(--acc)}
.pf-opt.on .pf-ok{transform:scale(1)}
.pf-wh{padding:0}
.pf-wh .wheel,.pf-wh .wheel-list{height:224px}
.pf-wh .wheel-pad{height:84px}
.pf-wh .wheel-hl,.pf-wh .wheel-unit{top:84px}
.cx{display:flex;flex-direction:column;gap:8px}
.cx-r{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:13px 16px;background:var(--card);border-radius:18px;animation:m2-in .35s calc(var(--i)*70ms) both}
.cx-r span{font-size:14px;font-weight:600;color:var(--mute)}
.cx-r b{font-size:16px;font-weight:800;white-space:nowrap}
.cx-r small{grid-column:1/-1;font-size:12.5px;line-height:1.4;color:var(--mute)}
.cx-r.hl{background:var(--acc)}
.cx-r.hl span,.cx-r.hl b,.cx-r.hl small{color:#141414}
.ncard.flash{animation:nflash 1.1s .2s both}
@keyframes nflash{0%{box-shadow:0 0 0 0 rgba(166,212,58,.7)}40%{box-shadow:0 0 0 6px rgba(166,212,58,.35)}100%{box-shadow:0 8px 26px rgba(166,212,58,.18)}}
.pf-ok svg path{stroke:#141414}
/* v38: достижение «выплывает» в момент выполнения */
.ach-pop{left:12px;right:12px;top:calc(10px + var(--safe-t));z-index:60;gap:14px;padding:14px 16px 16px;border-radius:24px;overflow:hidden;cursor:pointer;
  background:linear-gradient(120deg,#141414 0%,#24221C 60%,#2E2A1C 100%);box-shadow:0 18px 40px rgba(20,20,20,.35),0 0 0 1.5px rgba(245,196,81,.7);
  animation:apin .7s cubic-bezier(.2,1.3,.4,1) both;transition:opacity .38s,transform .38s cubic-bezier(.5,0,.8,.4)}
.ach-pop.out{opacity:0;transform:translateY(-120%) scale(.96)}
@keyframes apin{0%{opacity:0;transform:translateY(-130%) scale(.9)}60%{opacity:1}100%{transform:none}}
.ach-pop .ap-medal{position:relative;flex-shrink:0;width:58px;height:58px;display:grid;place-items:center}
.ap-medal .ach-m{position:relative;z-index:2;width:54px;height:54px;font-size:28px;animation:apmedal .9s .15s cubic-bezier(.3,1.7,.5,1) both}
html.dark .ach-pop .ach-m{background:linear-gradient(140deg,#FFE9A6,#F5C451)}
@keyframes apmedal{0%{transform:scale(0) rotate(-40deg)}100%{transform:none}}
.ap-rays{position:absolute;inset:-14px;border-radius:50%;z-index:1;opacity:0;
  background:repeating-conic-gradient(from 0deg,rgba(245,196,81,.55) 0 10deg,transparent 10deg 30deg);
  -webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);
  animation:aprays 4.8s .3s linear both}
@keyframes aprays{0%{opacity:0;transform:rotate(0) scale(.6)}12%{opacity:1;transform:rotate(30deg) scale(1)}80%{opacity:.8}100%{opacity:0;transform:rotate(200deg) scale(1)}}
.ap-medal em{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;z-index:3;background:#F5C451;opacity:0;
  animation:apspark .8s .35s cubic-bezier(.2,.8,.3,1) both}
.ap-medal em:nth-of-type(even){background:#A6D43A;width:5px;height:5px}
.ap-medal em:nth-of-type(1){--a:0deg}.ap-medal em:nth-of-type(2){--a:45deg}.ap-medal em:nth-of-type(3){--a:90deg}.ap-medal em:nth-of-type(4){--a:135deg}
.ap-medal em:nth-of-type(5){--a:180deg}.ap-medal em:nth-of-type(6){--a:225deg}.ap-medal em:nth-of-type(7){--a:270deg}.ap-medal em:nth-of-type(8){--a:315deg}
@keyframes apspark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateY(-40px) scale(.3)}}
.ap-t{display:flex;flex-direction:column;gap:2px;min-width:0;animation:m2-in .45s .25s both}
.ach-pop .ap-t small{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#F5C451}
.ach-pop .ap-t b{font-size:17px;font-weight:800;color:#FFFFFF;line-height:1.2}
.ap-t span{font-size:13px;line-height:1.35;color:rgba(255,255,255,.72)}
.ap-shine{position:absolute;top:0;bottom:0;left:-40%;width:35%;transform:skewX(-20deg);pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,236,170,.28),transparent);animation:apshine 1.3s .55s ease-out both}
@keyframes apshine{from{left:-40%}to{left:130%}}
.ap-time{position:absolute;left:16px;right:16px;bottom:7px;height:3px;border-radius:2px;background:rgba(245,196,81,.25);overflow:hidden}
.ap-time::after{content:"";position:absolute;inset:0;background:#F5C451;transform-origin:left;animation:aptime 4.8s linear both}
@keyframes aptime{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){.ach-pop,.ap-medal .ach-m,.ap-rays,.ap-medal em,.ap-shine,.ap-t{animation:none!important}.ap-rays,.ap-medal em,.ap-shine{display:none}}
/* карточка дня */
.sec-r{display:flex;align-items:center;justify-content:space-between;gap:10px}
.shr{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:0;border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s}
.shr:active{transform:scale(.95)}
.shr svg{width:15px;height:15px}
.dcw{display:flex;justify-content:center}
.dc-ph{width:min(56vw,280px);aspect-ratio:9/16;border-radius:22px;background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mute);font-size:13px}
.dc-img{width:min(56vw,280px);aspect-ratio:9/16;border-radius:22px;box-shadow:0 14px 34px rgba(20,20,20,.18);opacity:0;transform:translateY(14px) scale(.96);transition:opacity .45s,transform .55s cubic-bezier(.2,1.3,.4,1)}
.dc-img.on{opacity:1;transform:none}
.dc-btns{display:flex;flex-direction:column;gap:8px}
.dc-btns .btn{display:flex;align-items:center;justify-content:center;gap:8px}
.dc-row{display:flex;gap:8px}
.dc-row .btn{flex:1}
/* v40: светлые плашки в темной теме (подсказка на экране результата и др.) */
.tip{border-left:3px solid var(--acc)}
html.dark .tip{background:#1E2417;color:var(--ink)}
html.dark .ph.txt-only{background:linear-gradient(135deg,#26301A,#141414)}
html.dark .pwait{background:#2A2414;color:#F5C451}
html.dark .scan-note:not(:empty){background:#2A2414;color:#E8D9B0}
html.dark .ck-st.done{background:#1C1D19}
html.dark .ck-bar{background:#2A2B25}
html.dark .sheet .grab{background:#3A3B34}
/* v41: читаемость плашек «✓ норма» / «% нормы» в светлой теме (контраст ≥ 4) */
.mc.done em{background:#1E8A55}.mc.hi em{background:#B86A12}
html:not(.dark) .mpct.ok{color:#2F7D22}html:not(.dark) .mpct.warn{color:#A8650F}
/* v41: «Урок дня» */
.les{display:flex;align-items:center;gap:14px;width:auto;text-align:left;border:0;padding:14px 16px;font:inherit;color:inherit;
  background:linear-gradient(120deg,var(--card) 55%,#F1F8DF);animation:m2-in .45s cubic-bezier(.2,.9,.3,1) both;transition:transform .15s,opacity .4s,max-height .4s,margin .4s,padding .4s;max-height:120px;overflow:hidden}
.les:active{transform:scale(.98)}
.les.gone{opacity:0;transform:translateX(30px);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}
.les-e{flex-shrink:0;width:46px;height:46px;border-radius:14px;background:var(--acc);display:flex;align-items:center;justify-content:center;font-size:24px;
  animation:les-bob 3.2s ease-in-out infinite}
.les-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.les-t small{font-size:12px;font-weight:700;color:var(--mute)}
.les-t b{font-size:16px;font-weight:800;line-height:1.25}
.les-go{font-size:24px;color:var(--soft);font-weight:700}
@keyframes les-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-4deg)}}
.les-load{display:flex;justify-content:center;padding:60px 0}
.les-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:4px 0 6px}
.les-big{width:72px;height:72px;border-radius:24px;background:var(--acc);display:flex;align-items:center;justify-content:center;font-size:38px;
  animation:les-in .55s cubic-bezier(.2,.9,.3,1.3) both}
.les-head small{font-size:13px;font-weight:700;color:var(--mute);margin-top:6px}
.les-head h3{margin:0;font-size:22px;line-height:1.2}
.les-dots{display:flex;gap:5px;margin-top:6px}
.les-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.les-dots i.on{background:var(--ink)}
.les-dots i.cur{background:var(--acc);width:20px;border-radius:4px}
.les-body{display:flex;flex-direction:column;gap:12px;margin:14px 0 18px}
.les-body p{margin:0;font-size:15.5px;line-height:1.55;animation:les-up .45s ease-out both;animation-delay:calc(var(--i)*.08s + .1s)}
.les-tip{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:16px;background:#F1F8DF;border-left:4px solid var(--acc);
  animation:les-up .45s ease-out both;animation-delay:calc(var(--i)*.08s + .1s)}
.les-tip b{font-size:13px;font-weight:800;color:#4B6B12}
.les-tip span{font-size:15px;line-height:1.5;font-weight:600}
.les-ok{width:100%}
@keyframes les-in{from{opacity:0;transform:scale(.6) rotate(-10deg)}to{opacity:1;transform:none}}
@keyframes les-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html.dark .les{background:linear-gradient(120deg,var(--card) 55%,#1E2A12)}
html.dark .les-e,html.dark .les-big{color:#141414}
html.dark .les-tip{background:#1E2A12}
html.dark .les-tip b{color:var(--acc)}
html.dark .les-dots i.on{background:#FFFFFF}
@media (prefers-reduced-motion:reduce){.les,.les-e,.les-big,.les-body p,.les-tip{animation:none!important}}
/* v42: прогноз даты цели (внутри темной карточки веса — цвета от currentColor) */
.gfc2{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:color-mix(in srgb,currentColor 9%,transparent);animation:les-up .5s ease-out both .2s}
.gfc2>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.gfc2 b{font-size:22px;font-weight:800;line-height:1.15;color:var(--blk-acc)}
.gfc2 small{font-size:13px;line-height:1.4;color:color-mix(in srgb,currentColor 72%,transparent);font-weight:600}
.gfc2 .gfc-l{font-size:12.5px;font-weight:700}
.gfc2 .gfc-n{font-size:12.5px;font-weight:500;margin-top:4px}
.gfc-ic{flex-shrink:0;width:40px;height:40px;border-radius:13px;background:var(--blk-acc);display:flex;align-items:center;justify-content:center;font-size:20px;
  animation:les-bob 3.4s ease-in-out infinite}
.gfc2.warn b,.gfc2.done b{font-size:17px;color:inherit}
.gfc2.warn .gfc-ic{background:#F2A43A}
@media (prefers-reduced-motion:reduce){.gfc2,.gfc-ic{animation:none!important}}
/* v43: «Вы ели раньше» */
#recent:empty{display:none}
.rec{margin:18px 0 4px;animation:m2-in .45s cubic-bezier(.2,.9,.3,1) both}
.rec-h{display:flex;align-items:baseline;justify-content:space-between;padding:0 20px;margin-bottom:10px}
.rec-h b{font-size:18px;font-weight:800}
.rec-h button{border:0;background:none;font-size:14px;font-weight:700;color:var(--mute);padding:4px 0}
.rec-row{display:flex;gap:10px;overflow-x:auto;padding:2px 20px 8px;scroll-padding-inline:20px;scroll-snap-type:x proximity;scrollbar-width:none}
.rec-row::-webkit-scrollbar{display:none}
.rec-c{position:relative;flex:0 0 132px;scroll-snap-align:start;animation:m2-in .4s cubic-bezier(.2,.9,.3,1) both;animation-delay:calc(var(--i)*40ms)}
.rec-open{width:100%;border:0;background:var(--card);border-radius:20px;padding:8px 8px 12px;text-align:left;display:flex;flex-direction:column;gap:4px;font:inherit;color:inherit;transition:transform .15s}
.rec-open:active{transform:scale(.97)}
.rec-pic{display:block;width:100%;aspect-ratio:1.25;border-radius:14px;overflow:hidden;background:var(--tile);margin-bottom:4px}
.rec-pic img{width:100%;height:100%;object-fit:cover;display:block}
.rec-pic .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.rec-open b{font-size:14px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.rec-open small{font-size:12.5px;font-weight:600;color:var(--mute)}
.rec-add{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:0;background:var(--acc);display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .2s cubic-bezier(.2,.9,.3,1.4)}
.rec-add svg{width:20px;height:20px;stroke:#141414!important}
.rec-add:active{transform:scale(.88)}
.rec-add.busy{animation:rec-pulse .8s ease-in-out infinite}
.rec-add.done{animation:rec-pop .45s cubic-bezier(.2,.9,.3,1.5) both;opacity:1}
.rec-add.done svg{stroke:#141414}
@keyframes rec-pulse{50%{transform:scale(.86)}}
@keyframes rec-pop{0%{transform:scale(.5)}100%{transform:scale(1)}}
.rps{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.rps .rps-pic{width:96px;height:96px;border-radius:24px;overflow:hidden;background:var(--tile);animation:les-in .5s cubic-bezier(.2,.9,.3,1.3) both}
.rps .rps-pic img{width:100%;height:100%;object-fit:cover}
.rps .rps-pic .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.rps h3{margin:4px 0 0;font-size:21px;line-height:1.2}
.rps-k{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:8px 0 4px}
.rps-k span{background:var(--card);border-radius:16px;padding:10px 4px;display:flex;flex-direction:column;gap:2px}
.rps-k b{font-size:18px;font-weight:800}.rps-k small{font-size:12px;color:var(--mute);font-weight:600}
.rps-sl{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin:4px 0 8px}
.rps-sl button{border:0;border-radius:14px;padding:12px 8px;font-size:15px;font-weight:700;background:var(--card);color:inherit;transition:background .2s,color .2s}
.rps-sl button.on{background:var(--blk);color:var(--on-blk)}
.rps .btn{width:100%}
.rps-n{font-size:12.5px;color:var(--mute);line-height:1.4}
.rcs input{width:100%;border:1.5px solid var(--line);border-radius:14px;background:var(--card);outline:none;padding:12px 14px;font-size:16px;color:inherit;margin:4px 0 10px}
.rec-list{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow-y:auto;padding-bottom:8px}
.rec-lw{position:relative;animation:m2-in .35s ease-out both;animation-delay:calc(var(--i)*30ms)}
.rec-li{width:100%;border:0;background:var(--card);border-radius:18px;padding:8px 56px 8px 8px;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:inherit}
.rec-pic.sm{width:52px;height:52px;flex-shrink:0;aspect-ratio:auto;margin:0;border-radius:12px}
.rec-lt{display:flex;flex-direction:column;gap:2px;min-width:0}
.rec-lt b{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-lt small{font-size:12.5px;color:var(--mute);font-weight:600}
.rec-lw .rec-add{top:50%;right:12px;margin-top:-18px}
.rec-none{text-align:center;padding:24px 8px}
@media (prefers-reduced-motion:reduce){.rec,.rec-c,.rec-lw,.rps .rps-pic{animation:none!important}}
.rcard .ri{color:#141414}

/* ==================== «Что приготовить» (v44) ==================== */
/* обложка блюда: свое фото или фирменная иллюстрация — тарелка, блюдо и продукты вокруг */
.cvw{position:relative;overflow:hidden}
.cv{position:absolute;inset:0;border-radius:inherit;overflow:hidden;display:flex;align-items:center;justify-content:center;container-type:size;
  background:#EEE9E0;background:radial-gradient(130% 100% at 25% 10%,var(--c1) 0%,var(--c2) 100%)}
.cv::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 45% at 18% 8%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%)}
/* фото блюда (cvp, не ph: .ph — экран фото еды с высотой 290px) */
.cv.cvp{background-size:cover;background-position:center}
.cv.cvp::before{display:none}
.cvw:has(>.cvp)::before,.cvw:has(>.cvp)::after{display:none}
.cv-plate{position:relative;width:64%;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 46%,#FFFFFF 0 54%,#F3EFE7 55% 63%,#FFFFFF 64% 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 -6px 14px rgba(0,0,0,.05) inset,0 16px 30px -8px rgba(90,62,24,.32)}
.cv-em{font-size:52px;font-size:30cqmin;line-height:1;filter:drop-shadow(0 6px 8px rgba(70,45,10,.25));animation:cvbob 5s ease-in-out infinite}
.cv-fl{position:absolute;font-size:22px;font-size:13cqmin;line-height:1;filter:drop-shadow(0 4px 6px rgba(70,45,10,.22));animation:cvfl 6s ease-in-out infinite}
.cv-fl.f0{left:7%;top:9%;transform:rotate(-14deg)}.cv-fl.f1{right:7%;top:12%;animation-delay:-1.5s;transform:rotate(12deg)}
.cv-fl.f2{right:9%;bottom:8%;animation-delay:-3s;transform:rotate(-8deg)}.cv-fl.f3{left:9%;bottom:10%;animation-delay:-4.5s;transform:rotate(10deg)}
.cv.sm .cv-fl{font-size:11cqmin}.cv.sm .cv-fl.f2,.cv.sm .cv-fl.f3{display:none}
.cv.big .cv-plate{width:58%}
.cv.big .cv-em{font-size:28cqmin}
.cv.big .cv-fl{font-size:9cqmin}
.cv.big .cv-fl.f0{left:10%;top:16%}.cv.big .cv-fl.f1{right:10%;top:20%}.cv.big .cv-fl.f2{right:12%;bottom:30%}.cv.big .cv-fl.f3{left:12%;bottom:32%}
@keyframes cvbob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3%) rotate(-3deg)}}
@keyframes cvfl{0%,100%{translate:0 0}50%{translate:0 -6%}}
.rc-tile.cvw{border-radius:22px}
.rc-tile.cvw .cv-fl{animation:none}
.rc-card.lk .cv{filter:saturate(.75)}
.rc-hero.cvw{height:300px}
.rcp .rc-hero.cvw .cv{animation:rczoom 1.2s cubic-bezier(.2,.8,.2,1) both}
.rc-htags{position:absolute;left:16px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px;z-index:1;right:16px}
html.dark .cv:not(.cvp){background:#1E2417;background:radial-gradient(130% 100% at 25% 10%,color-mix(in srgb,var(--c2) 34%,#22251D),#14160F 100%)}
html.dark .cv::before{background:radial-gradient(60% 45% at 18% 8%,rgba(255,255,255,.08),rgba(255,255,255,0) 70%)}
html.dark .cv-plate{background:radial-gradient(circle at 50% 46%,#2C2F27 0 54%,#24271F 55% 63%,#2C2F27 64% 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 16px 30px -8px rgba(0,0,0,.6)}

/* теги блюда */
.rtg{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px 0 8px;border-radius:999px;background:#FFFFFF;color:#141414;font-size:12px;font-weight:800;white-space:nowrap;box-shadow:0 2px 8px rgba(60,40,10,.08)}
.rtg i{font-style:normal;font-size:13px}
.rtg.dk{background:rgba(255,255,255,.16);color:#FFFFFF;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html.dark .rtg:not(.dk){background:#2A2C26;color:#F2F1EC;box-shadow:none}

/* ---------- блок на вкладке «Питание» ---------- */
.cookslot{padding:12px 20px 0;display:flex;flex-direction:column;gap:14px}
.ckh{position:relative;overflow:hidden;border-radius:28px;background:var(--card);padding:22px 20px 18px;min-height:220px;
  background:radial-gradient(80% 60% at 100% 0%,rgba(166,212,58,.22),rgba(166,212,58,0) 70%),var(--card)}
.ckh.sk{background:linear-gradient(100deg,var(--card) 30%,var(--tile) 50%,var(--card) 70%);background-size:300% 100%;animation:shim 1.4s linear infinite}
@keyframes shim{0%{background-position:100% 0}100%{background-position:-50% 0}}
.cookslot.in .ckh{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.ckh-art{position:absolute;right:-6px;top:-4px;width:150px;height:118px;pointer-events:none}
.ckh-c{position:absolute;width:66px;height:66px;border-radius:20px;overflow:hidden;box-shadow:0 10px 22px -6px rgba(60,40,10,.3);border:3px solid var(--card);animation:ckhin .7s cubic-bezier(.2,.9,.3,1.3) both}
.ckh-c.c0{right:86px;top:30px;transform:rotate(-10deg);animation-delay:.1s}
.ckh-c.c1{right:22px;top:14px;width:78px;height:78px;transform:rotate(6deg);z-index:1;animation-delay:.2s}
.ckh-c.c2{right:58px;top:64px;width:58px;height:58px;transform:rotate(-4deg);animation-delay:.3s}
@keyframes ckhin{0%{opacity:0;translate:0 14px;scale:.8}100%{opacity:1;translate:0 0;scale:1}}
.ckh-k{display:block;font-size:12px;font-weight:700;color:var(--mute);max-width:56%}
.ckh h2{margin:76px 0 6px;font-size:30px;line-height:1.08;letter-spacing:-.03em;font-weight:800}
.ckh p{margin:0 0 16px;font-size:14px;line-height:1.45;color:var(--mute);font-weight:600;max-width:94%}
.ckh-b{display:flex;gap:10px}
.ckh-b .btn{flex:1;height:56px;border-radius:18px;font-size:16px;box-shadow:0 10px 22px -10px rgba(120,160,20,.8)}
.ckh-f{position:relative;width:56px;height:56px;flex-shrink:0;border:0;border-radius:18px;background:var(--bg);color:var(--ink);display:flex;align-items:center;justify-content:center}
.ckh-f i{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--blk);color:var(--on-blk);font-style:normal;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
html.dark .ckh{background:radial-gradient(80% 60% at 100% 0%,rgba(166,212,58,.16),rgba(166,212,58,0) 70%),var(--card)}
html.dark .ckh-c{border-color:var(--card)}
html.dark .ckh-f{background:#24261F}
.ideas{display:flex;flex-direction:column;gap:10px}
.ideas-h{display:flex;align-items:center;justify-content:space-between}
.ideas-h b{font-size:17px;font-weight:800}
.ideas-h button{border:0;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--mute);padding:4px 0}
.ideas-row{display:flex;gap:10px;overflow-x:auto;margin:0 -20px;padding:2px 20px 6px;scrollbar-width:none;scroll-snap-type:x mandatory}
.ideas-row::-webkit-scrollbar{display:none}
.idea{position:relative;flex-shrink:0;width:116px;height:156px;border:0;padding:0;border-radius:24px;overflow:hidden;scroll-snap-align:start;
  box-shadow:0 0 0 3px var(--acc),0 10px 20px -10px rgba(60,40,10,.35);margin:3px 0;animation:ideain .55s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--i) * 60ms + .15s)}
.idea .cv{border-radius:24px}
.idea-g{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 45%,rgba(0,0,0,.62))}
.idea b{position:absolute;left:10px;right:10px;bottom:10px;color:#FFFFFF;font-size:13px;font-weight:800;line-height:1.2;text-align:left;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.idea-lk{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center}
.idea-lk svg{width:14px;height:14px}
.idea:active{transform:scale(.96)}
@keyframes ideain{0%{opacity:0;transform:translateX(24px) scale(.9)}100%{opacity:1;transform:none}}

/* ---------- первый вход ---------- */
.ob2{overflow:hidden}
.ob2-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.ob2-blob.b1{width:380px;height:380px;right:-170px;top:-170px;background:rgba(166,212,58,.16)}
.ob2-blob.b2{width:420px;height:420px;left:-220px;bottom:-140px;background:rgba(201,182,140,.14)}
.ob2>*:not(.ob2-blob){position:relative;z-index:1}
.ob2-top{display:flex;align-items:center;gap:12px;padding:14px 20px 0;min-height:58px}
.ob2-top .phb{width:44px;height:44px;border:0;border-radius:14px;background:var(--card);display:flex;align-items:center;justify-content:center;padding:0}
.ob2-top small{font-size:13px;font-weight:800;color:var(--mute)}
.ob2-pr{flex:1;display:flex;gap:6px}
.ob2-pr i{flex:1;height:6px;border-radius:3px;background:var(--tile);position:relative;overflow:hidden}
.ob2-pr i.on::after{content:"";position:absolute;inset:0;background:var(--acc);animation:obpr .5s ease both}
@keyframes obpr{0%{transform:translateX(-100%)}100%{transform:none}}
.ob2-stack{position:relative;height:330px;margin:10px 20px 0}
.ob2-card{position:absolute;left:4%;right:4%;height:118px;border-radius:26px;background:var(--card);display:flex;align-items:center;gap:12px;padding:0 10px 0 18px;
  box-shadow:0 18px 36px -16px rgba(60,40,10,.35);animation:obcard .8s cubic-bezier(.2,.9,.3,1.15) both;animation-delay:calc(var(--i) * 140ms + .1s)}
.ob2-card>div{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.ob2-card b{font-size:17px;font-weight:800;line-height:1.2}
.ob2-card small{font-size:13px;font-weight:700;color:var(--mute)}
.ob2-card .rtg{align-self:flex-start;background:var(--bg)}
.ob2-card>.cv{position:relative;inset:auto;width:98px;height:98px;flex-shrink:0;border-radius:20px;border:3px solid #FFFFFF}
.ob2-card.k0{top:0;transform:rotate(-3deg);background:#EEF5E3}
.ob2-card.k1{top:104px;left:0;right:0;transform:rotate(2.5deg);z-index:2;background:#FBE7E2}
.ob2-card.k2{top:212px;transform:rotate(-2deg);background:#F3EEE6}
html.dark .ob2-card.k0{background:#1F2618}html.dark .ob2-card.k1{background:#2A1F1C}html.dark .ob2-card.k2{background:#23241E}
html.dark .ob2-card>.cv{border-color:#2C2F27}
@keyframes obcard{0%{opacity:0;translate:0 40px;scale:.9}100%{opacity:1;translate:0 0;scale:1}}
.ob2-tx{padding:20px 24px 0;text-align:center;animation:rise .6s .45s cubic-bezier(.2,.8,.2,1) both}
.ob2-tx h1,.ob2-h h1,.ob2-done h1{margin:0;font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.03em}
.ob2-tx p,.ob2-h p,.ob2-done p{margin:10px 0 0;font-size:15px;line-height:1.45;color:var(--mute);font-weight:600}
.ob2-h{padding:22px 24px 6px;text-align:center}
.ob2-list{padding:12px 20px 0;display:flex;flex-direction:column;gap:10px}
.ob2-o{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;border:2px solid transparent;border-radius:22px;background:var(--card);padding:10px 16px 10px 12px;text-align:left;font:inherit;color:var(--ink);
  transition:border-color .2s,background .2s,transform .15s;animation:rise .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 40ms)}
.ob2-o:active{transform:scale(.98)}
.ob2-i{width:48px;height:48px;flex-shrink:0;border-radius:16px;background:#EEF5E3;display:flex;align-items:center;justify-content:center;font-size:24px}
.ob2-t{flex:1;display:flex;flex-direction:column;gap:2px}
.ob2-t b{font-size:16px;font-weight:800}
.ob2-t small{font-size:12px;font-weight:600;color:var(--mute);line-height:1.3}
.ob2-r{width:26px;height:26px;flex-shrink:0;border-radius:50%;border:2px solid #D9D4CB;position:relative;transition:all .25s cubic-bezier(.3,1.6,.5,1)}
.ob2-r::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #141414;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.ob2-o.on{border-color:var(--acc);background:#F7FBEE}
.ob2-o.on .ob2-r{background:var(--acc);border-color:var(--acc)}
.ob2-o.on .ob2-r::after{transform:rotate(45deg) scale(1)}
html.dark .ob2-i{background:#24301A}html.dark .ob2-o.on{background:#1F2618}html.dark .ob2-r{border-color:#4A4C44}
.ob2-chips{padding:14px 20px 0;display:flex;flex-wrap:wrap;gap:10px}
.ob2-chips.sm{padding:0;gap:8px}
.xc{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 16px 0 12px;border:0;border-radius:16px;background:var(--card);font:inherit;font-size:15px;font-weight:700;color:var(--ink);
  box-shadow:0 2px 10px rgba(60,40,10,.05);transition:background .2s,color .2s,transform .15s;animation:pcin .4s cubic-bezier(.2,.9,.3,1.3) both;animation-delay:calc(var(--i, 0) * 25ms)}
.ob2-chips.sm .xc{height:40px;font-size:14px;border-radius:14px}
.xc i{font-style:normal;font-size:19px;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.xc.on{background:var(--blk);color:var(--on-blk)}
.xc.on i{filter:none;opacity:1}
.xc:active{transform:scale(.95)}
.ob2-done{align-items:center;justify-content:center;text-align:center;padding:0 24px}
.ob2-sw{position:relative;width:220px;height:220px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.ob2-sw .r{position:absolute;border-radius:50%;border:2px solid rgba(166,212,58,.35);animation:swr 1.6s ease-out infinite}
.ob2-sw .r1{inset:30px}.ob2-sw .r2{inset:0;animation-delay:.5s}
@keyframes swr{0%{transform:scale(.7);opacity:0}40%{opacity:1}100%{transform:scale(1.1);opacity:0}}
.ob2-sw .sw{width:150px;height:84px;border-radius:42px;background:var(--tile);position:relative;animation:swbg .5s .35s ease both}
.ob2-sw .kn{position:absolute;left:6px;top:6px;width:72px;height:72px;border-radius:50%;background:#FFFFFF;box-shadow:0 8px 18px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;animation:swkn .5s .35s cubic-bezier(.3,1.5,.5,1) both}
.ob2-sw .kn svg{width:34px;height:34px;stroke:#141414;stroke-width:3;opacity:0;animation:fade .3s .75s both}
@keyframes swbg{to{background:var(--acc)}}
@keyframes swkn{to{transform:translateX(66px)}}
.ob2-done h1{animation:rise .5s .6s both}.ob2-done p{animation:rise .5s .75s both}

/* ---------- холодильник ---------- */
.fr-set{margin-left:auto;color:var(--ink)}
.fr-shop{all:unset;box-sizing:border-box;margin:14px 20px 0;padding:14px 16px;border-radius:22px;background:var(--card);display:flex;align-items:center;gap:14px;cursor:pointer}
.fr-shop:active{opacity:.75}
.fr-si{width:48px;height:48px;border-radius:16px;background:#EEF5E3;color:#4F7A12;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fr-shop>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}
.fr-shop b{font-size:16px;font-weight:800}.fr-shop b em{font-style:normal;color:var(--mute)}
.fr-shop small{font-size:13px;color:var(--mute);font-weight:600}
.fr-c{font-size:24px;color:var(--faint)}
html.dark .fr-si{background:#24301A;color:#C6E57A}
.fr-scan{margin:12px 20px 0;padding:18px;border-radius:28px;background:#141414;color:#FFFFFF;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;
  background:radial-gradient(90% 70% at 85% 0%,rgba(166,212,58,.28),rgba(166,212,58,0) 60%),#141414}
.fr-scan.hl{animation:frhl 1.6s ease 2}
@keyframes frhl{0%,100%{box-shadow:0 0 0 0 rgba(166,212,58,0)}50%{box-shadow:0 0 0 6px rgba(166,212,58,.45)}}
html.dark .fr-scan{background:radial-gradient(90% 70% at 85% 0%,rgba(166,212,58,.22),rgba(166,212,58,0) 60%),#1E2417}
.fr-frame{position:relative;height:120px;border-radius:20px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;gap:16px;overflow:hidden}
.fr-frame .k{position:absolute;width:26px;height:26px;border:3.5px solid var(--acc)}
.fr-frame .k1{left:10px;top:10px;border-right:0;border-bottom:0;border-radius:12px 0 0 0}.fr-frame .k2{right:10px;top:10px;border-left:0;border-bottom:0;border-radius:0 12px 0 0}
.fr-frame .k3{right:10px;bottom:10px;border-left:0;border-top:0;border-radius:0 0 12px 0}.fr-frame .k4{left:10px;bottom:10px;border-right:0;border-top:0;border-radius:0 0 0 12px}
.fr-food{font-size:38px;animation:frfood 2.4s ease-in-out infinite}
.fr-food:nth-child(6){animation-delay:.3s}.fr-food:nth-child(7){animation-delay:.6s}.fr-food:nth-child(8){animation-delay:.9s}
@keyframes frfood{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.fr-line{position:absolute;left:8%;right:8%;height:3px;border-radius:2px;background:var(--acc);box-shadow:0 0 18px 4px rgba(166,212,58,.6);animation:frline 2.4s ease-in-out infinite}
@keyframes frline{0%,100%{top:14%}50%{top:84%}}
.fr-st{display:flex;flex-direction:column;gap:3px}
.fr-st b{font-size:19px;font-weight:800}
.fr-st small{font-size:13px;opacity:.7;font-weight:600}
.fr-pick label.b{background:rgba(255,255,255,.12)}
.fr-q{margin:14px 20px 0;display:flex;gap:8px}
.fr-q input{flex:1;min-width:0;height:52px;border:0;border-radius:18px;background:var(--card);padding:0 16px;font-size:15px;font-weight:600;outline:none;color:var(--ink)}
.fr-q button{width:52px;height:52px;flex-shrink:0;border:0;border-radius:18px;background:var(--acc);display:flex;align-items:center;justify-content:center;padding:0}
.fr-q.in-sheet{margin:0}
.fr-sug{padding:0 20px;display:flex;flex-wrap:wrap;gap:8px}
.fr-sug:not(:empty){padding-top:10px}
.fr-h{padding:18px 20px 0;display:flex;align-items:center;justify-content:space-between}
.fr-h b{font-size:17px;font-weight:800}
.fr-h button{border:0;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--mute)}
.fr-chips{padding:10px 20px 0;display:flex;flex-wrap:wrap;gap:8px}
.fc{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 6px 0 12px;border-radius:999px;background:var(--card);font-size:14px;font-weight:700;box-shadow:0 2px 10px rgba(60,40,10,.05)}
.fc i{font-style:normal;font-size:18px}
.fc button{width:28px;height:28px;border:0;border-radius:50%;background:var(--bg);font-size:17px;line-height:1;color:var(--mute);padding:0}
.fc.new{animation:fcnew .55s cubic-bezier(.2,.9,.3,1.4) both;box-shadow:0 0 0 2px var(--acc)}
.fc.out{animation:fcout .18s ease both}
@keyframes fcnew{0%{opacity:0;transform:scale(.5)}100%{opacity:1;transform:none}}
@keyframes fcout{to{opacity:0;transform:scale(.6)}}
.fr-empty{width:100%;padding:16px;border-radius:18px;border:2px dashed var(--tile);color:var(--mute);font-size:14px;font-weight:600;text-align:center;line-height:1.4}
.fr-pop{padding:10px 20px 0;display:flex;flex-wrap:wrap;gap:8px}
.pc{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 13px 0 10px;border:1.5px solid var(--tile);border-radius:999px;background:transparent;font:inherit;font-size:14px;font-weight:700;color:var(--ink);
  transition:background .2s,border-color .2s,transform .15s;animation:pcin .35s cubic-bezier(.2,.9,.3,1.3) both}
.pc i{font-style:normal;font-size:17px}
.pc.on{background:var(--acc);border-color:var(--acc);color:#141414}
.pc:active{transform:scale(.93)}
.pc.fly{animation:pcfly .35s ease both}
@keyframes pcin{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:none}}
@keyframes pcfly{to{opacity:0;transform:translateY(-24px) scale(.8)}}
.fr-all{margin:18px 20px 0;border-radius:22px;background:var(--card);padding:4px 0 14px}
.fr-all summary{list-style:none;padding:14px 16px 6px;font-size:16px;font-weight:800;cursor:pointer}
.fr-all summary::-webkit-details-marker{display:none}
.fr-all summary::after{content:"›";float:right;transform:rotate(90deg);color:var(--faint);font-size:22px;line-height:18px;transition:transform .2s}
.fr-all[open] summary::after{transform:rotate(-90deg)}
.fr-all:not([open]){padding-bottom:4px}
.fr-g small{display:block;padding:12px 16px 0;font-size:12px;font-weight:800;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}
.fr-g .fr-pop{padding:8px 16px 0}

/* скан продуктов */
.cks{position:fixed;inset:0;z-index:45;background:#0B0C09;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}
.cks.on{opacity:1}
.cks-bg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(18px) brightness(.45) saturate(1.1);transform:scale(1.08)}
.cks-fr{position:relative;width:170px;height:270px;margin-top:-60px;filter:drop-shadow(0 0 22px rgba(166,212,58,.45))}
.cks-fr svg{width:100%;height:100%}
.cks-l{position:absolute;left:-30px;right:-30px;height:3px;border-radius:2px;background:var(--acc);box-shadow:0 0 22px 6px rgba(166,212,58,.55);animation:cksl 2s ease-in-out infinite}
.cks-l::before{content:"";position:absolute;left:30px;right:30px;bottom:3px;height:70px;background:linear-gradient(to top,rgba(166,212,58,.28),rgba(166,212,58,0))}
@keyframes cksl{0%,100%{top:8%}50%{top:90%}}
.cks-b{position:absolute;width:44px;height:44px;border:3px dashed var(--acc);border-radius:10px;opacity:0;animation:cksb 2.4s ease-in-out infinite}
.cks-b.b1{left:22px;top:84px}.cks-b.b2{right:16px;top:140px;animation-delay:.8s}.cks-b.b3{left:60px;top:200px;animation-delay:1.6s}
@keyframes cksb{0%,100%{opacity:0;transform:scale(.6)}30%,60%{opacity:1;transform:scale(1)}}
.cks.done .cks-l,.cks.done .cks-b{animation-play-state:paused;opacity:0}
.cks-chips{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:22px 24px 0;max-width:460px;min-height:60px}
.cks-c{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 15px 0 11px;border-radius:999px;background:var(--acc);color:#141414;font-size:15px;font-weight:800;
  box-shadow:0 8px 22px -6px rgba(166,212,58,.7);animation:cksc .5s cubic-bezier(.2,.9,.3,1.5) both}
.cks-c i{font-style:normal;font-size:18px}
@keyframes cksc{0%{opacity:0;transform:translateY(18px) scale(.6)}100%{opacity:1;transform:none}}
.cks-f{position:absolute;left:0;right:0;bottom:0;padding:20px 24px calc(24px + var(--safe-b));display:flex;flex-direction:column;align-items:center;gap:12px;color:#FFFFFF}
.cks-f b{font-size:19px;font-weight:800}
.cks-p{width:150px;height:5px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.cks-p i{display:block;height:100%;width:4%;background:var(--acc);border-radius:3px;transition:width .2s linear}
.cks.done .cks-p{display:none}
.cks-x{border:0;background:transparent;color:rgba(255,255,255,.65);font:inherit;font-size:15px;font-weight:700;padding:8px}
.cks-n{font-size:14px;opacity:.75;text-align:center;line-height:1.4;max-width:320px}
.cks-f .btn{max-width:440px}

/* ---------- подборка ---------- */
.mt-sk{padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.mt-skc{height:170px;border-radius:26px;background:linear-gradient(100deg,var(--card) 30%,var(--tile) 50%,var(--card) 70%);background-size:300% 100%;animation:shim 1.3s linear infinite;animation-delay:calc(var(--i) * .15s)}
.mt-sh{padding:18px 20px 0;font-size:13px;font-weight:800;color:var(--mute);text-transform:uppercase;letter-spacing:.05em}
.mt-top{display:flex;gap:12px;overflow-x:auto;padding:10px 20px 4px;scrollbar-width:none;scroll-snap-type:x mandatory}
.mt-top::-webkit-scrollbar{display:none}
.mt-tc{position:relative;flex-shrink:0;width:172px;height:218px;border:0;padding:0;border-radius:26px;overflow:hidden;scroll-snap-align:start;text-align:left;
  box-shadow:0 14px 26px -14px rgba(60,40,10,.45);animation:ideain .55s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(var(--i) * 70ms)}
.mt-tg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 40%,rgba(0,0,0,.7))}
.mt-tc b{position:absolute;left:14px;right:14px;bottom:34px;color:#FFFFFF;font-size:16px;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mt-tc small{position:absolute;left:14px;bottom:13px;color:rgba(255,255,255,.85);font-size:12px;font-weight:700}
.mt-tc:active{transform:scale(.97)}
.mt-list{padding:12px 20px 0;display:flex;flex-direction:column;gap:12px}
.mt-list.lk{padding-top:10px}
.mx{position:relative;overflow:hidden;border-radius:28px;background:var(--c1);padding:18px 18px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;cursor:pointer;min-height:168px;
  animation:rise .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 50ms);transition:transform .15s}
.mx:active{transform:scale(.985)}
.mx-deco{position:absolute;right:-18px;bottom:-26px;font-size:124px;line-height:1;opacity:.2;filter:saturate(.5);transform:rotate(-12deg);pointer-events:none}
.mx-ph{display:block;width:150px;height:150px;border-radius:50%;background-size:cover;background-position:center}
.mx-bub{position:absolute;top:14px;right:14px;display:flex;align-items:center;padding:4px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(60,40,10,.08)}
.mx-bub i{width:28px;height:28px;border-radius:50%;background:#F4F1EA;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:15px;border:2px solid #FFFFFF}
.mx-bub i+i{margin-left:-8px}
.mx-bub i.n{background:#FFFFFF;font-size:11px;font-weight:800;color:#141414}
.mx-t{font-size:20px;line-height:1.18;font-weight:800;letter-spacing:-.02em;max-width:calc(100% - 112px);color:#141414}
.mx-m{font-size:14px;font-weight:700;color:rgba(20,20,20,.62)}
.mx-m em{font-style:normal;opacity:.5;margin:0 3px}
.mx-tags{display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 46px)}
.mx-tags:empty{display:none}
.mx-st{font-size:14px;font-weight:800;max-width:78%;line-height:1.3}
.mx-st.ok{color:#2E7D32}
.mx-st.buy{color:#9A5B00}
.mx-fav,.mx-lk{position:absolute;right:14px;bottom:14px;width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;font-size:20px;color:#141414;padding:0}
.mx-fav.on{color:#EE4B4B}
.mx.lk .mx-t,.mx.lk .mx-m,.mx.lk .mx-tags{opacity:.6}
html.dark .mx{background:color-mix(in srgb,var(--c2) 16%,#1A1C17)}
html.dark .mx-t{color:#F2F1EC}html.dark .mx-m{color:rgba(242,241,236,.6)}
html.dark .mx-bub{background:rgba(42,44,38,.95)}html.dark .mx-bub i{background:#33362E;border-color:#2A2C26}html.dark .mx-bub i.n{background:#2A2C26;color:#F2F1EC}
html.dark .mx-st.ok{color:#7FD99A}html.dark .mx-st.buy{color:#F5B867}
html.dark .mx-fav,html.dark .mx-lk{background:rgba(255,255,255,.08);color:#F2F1EC}
html.dark .mx-lk svg{stroke:#F2F1EC}
.mt-more{all:unset;box-sizing:border-box;margin:16px 20px 0;padding:16px;border-radius:24px;border:2px dashed var(--tile);display:flex;align-items:center;gap:14px;cursor:pointer}
.mt-mi{width:52px;height:52px;flex-shrink:0;border-radius:50%;background:var(--acc);color:#141414;display:flex;align-items:center;justify-content:center}
.mt-more>span:last-child{display:flex;flex-direction:column;gap:2px}
.mt-more b{font-size:16px;font-weight:800;line-height:1.25}
.mt-more small{font-size:13px;color:var(--mute);font-weight:600}

/* ---------- настройки подбора и список покупок ---------- */
.cps-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cps-r{border:0;background:var(--card);border-radius:12px;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--mute);align-self:flex-start}
.cps-s{font-size:13px;margin-top:-8px}
.cps-k{font-size:15px;font-weight:800;margin-top:4px}
.cps-k em{font-style:normal;color:var(--mute)}
.cps-d{display:flex;flex-wrap:wrap;gap:8px}
.cps-d button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 13px 0 10px;border:0;border-radius:14px;background:var(--card);font:inherit;font-size:14px;font-weight:700;color:var(--ink)}
.cps-d button i{font-style:normal}
.cps-d button.on{background:var(--blk);color:var(--on-blk)}
.cps-m{display:flex;flex-direction:column;gap:8px}
.cps-m button{position:relative;text-align:left;border:2px solid transparent;border-radius:18px;background:var(--card);padding:12px 44px 12px 14px;font:inherit;color:var(--ink);display:flex;flex-direction:column;gap:3px}
.cps-m button b{font-size:15px;font-weight:800}
.cps-m button small{font-size:12px;color:var(--mute);font-weight:600;line-height:1.35}
.cps-m button::after{content:"";position:absolute;right:14px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;border:2px solid #D9D4CB}
.cps-m button.on{border-color:var(--acc)}
.cps-m button.on::after{background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%23141414' stroke-width='3'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--acc)}
.sheet:has(.cps-d){max-height:88vh;overflow-y:auto}
.sh-l{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}
.sh-i{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:8px 8px 8px 10px;animation:rise .35s both;animation-delay:calc(var(--i) * 25ms)}
.sh-i span{flex:1;font-size:15px;font-weight:700;transition:color .2s}
.sh-c{width:32px;height:32px;border-radius:50%;border:2px solid #D9D4CB;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.3,1.6,.5,1)}
.sh-c svg{width:18px;height:18px;fill:none;stroke:#141414;stroke-width:3;transform:scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.sh-i.done .sh-c{background:var(--acc);border-color:var(--acc)}
.sh-i.done .sh-c svg{transform:scale(1)}
.sh-i.done span{color:var(--faint);text-decoration:line-through}
.sh-x{width:32px;height:32px;border:0;border-radius:10px;background:var(--bg);color:var(--mute);font-size:18px;padding:0}

/* ---------- истории «Идеи на сегодня» ---------- */
.sto{position:fixed;inset:0;z-index:40;background:#0B0C09;overflow:hidden;opacity:0;transform:scale(.96);transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1);touch-action:none;user-select:none;-webkit-user-select:none}
.sto.on{opacity:1;transform:none}
.sto-bg{position:absolute;inset:0;opacity:0;transition:opacity .45s}
.sto-bg.on{opacity:1}
.sto-bg .cv{border-radius:0}
.sto-bg.on .cv{animation:stozoom 7s ease-out both}
@keyframes stozoom{0%{transform:scale(1.12)}100%{transform:scale(1)}}
.sto-sh{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.38),rgba(0,0,0,0) 22%,rgba(0,0,0,0) 40%,rgba(0,0,0,.78) 78%)}
.sto-top{position:absolute;left:0;right:0;top:0;padding:calc(12px + var(--safe-t)) 16px 0;z-index:2}
.sto-bars{display:flex;gap:4px}
.sto-bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden}
.sto-bars b{display:block;height:100%;width:0;background:#FFFFFF}
.sto-hd{display:flex;align-items:center;gap:10px;margin-top:12px;color:#FFFFFF}
.sto-hd b{font-size:15px;font-weight:800;flex:1}
.sto-ic{width:34px;height:34px;border-radius:50%;background:var(--acc);color:#141414;display:flex;align-items:center;justify-content:center;font-weight:800}
.sto-x{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#FFFFFF;font-size:24px;line-height:1;padding:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sto-tap{position:absolute;top:110px;bottom:340px;z-index:1}
.sto-tap.l{left:0;width:34%}.sto-tap.r{right:0;width:66%}
.sto-bt{position:absolute;left:0;right:0;bottom:0;padding:0 20px calc(22px + var(--safe-b));z-index:2;color:#FFFFFF}
.sto-in{display:flex;flex-direction:column;gap:12px;animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.sto-in h2{margin:0;font-size:32px;line-height:1.08;font-weight:800;letter-spacing:-.03em;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.sto-in p{margin:0;font-size:15px;line-height:1.45;color:rgba(255,255,255,.82);font-weight:600}
.sto-m{display:flex;flex-wrap:wrap;gap:14px;font-size:14px;font-weight:700;color:rgba(255,255,255,.8)}
.sto-m b{color:#FFFFFF;font-size:17px}
.sto-tags{display:flex;flex-wrap:wrap;gap:6px}
.sto-tags:empty{display:none}
.sto-in .btn{margin-top:4px;box-shadow:0 12px 26px -10px rgba(166,212,58,.8)}
.sto-in .btn svg{stroke:#141414}

/* ---------- страница рецепта: новое ---------- */
.rc-desc{margin:-2px 0 0;font-size:15px;line-height:1.45;color:var(--mute);font-weight:600}
.rc-buy,.rc-okh{font-style:normal;font-size:12px;font-weight:800;border-radius:9px;padding:4px 8px;margin-left:8px;vertical-align:3px}
.rc-buy{background:#FFF1DA;color:#9A5B00}.rc-okh{background:#EAF6D8;color:#3F6E0B}
html.dark .rc-buy{background:#3A2C14;color:#F5B867}html.dark .rc-okh{background:#24301A;color:#C6E57A}
.rc-ing button.miss i{border-color:#F2A43A;border-style:dashed}
.rc-ing button span small{display:block;font-size:11px;font-weight:800;color:#C27A10;margin-top:1px}
.rc-shop{width:100%;margin-top:10px;height:52px;border:1.5px solid var(--tile);border-radius:18px;background:var(--card);font:inherit;font-size:15px;font-weight:800;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,background .2s}
.rc-shop:active{transform:scale(.98)}
.rc-shop.done{background:#EAF6D8;border-color:#EAF6D8;color:#3F6E0B}
html.dark .rc-shop.done{background:#24301A;border-color:#24301A;color:#C6E57A}
.tseg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);padding:4px;border-radius:16px;background:var(--tile);gap:4px}
.tseg button{height:38px;border:0;border-radius:12px;background:transparent;font:inherit;font-size:14px;font-weight:800;color:var(--mute);transition:background .2s,color .2s,box-shadow .2s}
.tseg button.on{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}
.rc-nv{margin-top:10px;background:var(--card);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.rc-nk{display:flex;align-items:baseline;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rc-nk b{font-size:34px;font-weight:800;letter-spacing:-.03em;animation:fade .3s}
.rc-nk span{font-size:15px;font-weight:700;color:var(--mute)}
.rc-nk small{margin-left:auto;font-size:14px;font-weight:700;color:var(--mute)}
.rc-nm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rc-nm div{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center}
.rc-nm i{grid-row:span 2;width:4px;height:34px;border-radius:2px;background:var(--mc,#ccc)}
.rc-nm .p{--mc:#2BB673}.rc-nm .f{--mc:#F2A43A}.rc-nm .c{--mc:#5AA9E6}
.rc-nm span{font-size:12px;font-weight:700;color:var(--mute)}
.rc-nm b{font-size:18px;font-weight:800}
.ate-row{display:flex;align-items:center;justify-content:space-between;background:var(--card);border-radius:20px;padding:10px 10px 10px 18px}
.ate-row[hidden]{display:none}
.ate-row>span{font-size:16px;font-weight:800}
.rc-sv.big{background:transparent;gap:10px}
.rc-sv.big button{width:46px;height:46px;border-radius:14px;font-size:22px}
.rc-sv.big b{min-width:44px;text-align:center;font-size:22px;font-weight:800}
.ate-g{display:flex;align-items:center;gap:6px;height:50px;padding:0 14px;border-radius:16px;background:var(--bg);border:2px solid var(--acc)}
.sheet .ate-g input{width:90px;height:auto;padding:0;background:transparent;border-radius:0;font-size:24px;font-weight:800;text-align:right}
.ate-g em{font-style:normal;font-size:16px;font-weight:700;color:var(--mute)}
.ate-n{font-size:13px;margin-top:-6px;padding-left:4px}
.ate-sum{background:var(--card);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.ate-k{display:flex;align-items:baseline;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ate-k b{font-size:40px;font-weight:800;letter-spacing:-.03em}
.ate-k span{font-size:16px;font-weight:700;color:var(--mute)}
@media (prefers-reduced-motion: reduce){.cv-em,.cv-fl,.fr-food,.fr-line,.cks-l,.cks-b,.sto-bg.on .cv{animation:none!important}}

/* ==================== v46: «Сегодня», голодание в Премиуме, «Прогресс → Тело» ==================== */
/* «Что приготовить» на «Сегодня» */
.ctz{margin:16px 20px 0;padding:18px 16px 16px;border-radius:28px;background:radial-gradient(120% 70% at 100% 0%,#EEF7D6,rgba(238,247,214,0) 60%),var(--card);
  animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
.ctz-h{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 4px}
.ctz-h small{display:block;font-size:12.5px;font-weight:700;color:var(--mute)}
.ctz-h b{display:block;margin-top:3px;font-size:21px;line-height:1.15;font-weight:800;letter-spacing:-.02em}
.ctz-all{border:0;background:none;font-size:14px;font-weight:700;color:var(--mute);padding:4px 0;white-space:nowrap}
.ctz-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.ctz-c{position:relative;border:0;padding:0;height:150px;border-radius:20px;overflow:hidden;text-align:left;color:#FFFFFF;
  animation:rise .5s calc(var(--i) * 70ms + .1s) cubic-bezier(.2,.8,.2,1) both;transition:transform .2s}
.ctz-c:active{transform:scale(.96)}
.ctz-c>.cv{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.ctz-g{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.62))}
.ctz-t{position:absolute;left:9px;right:7px;bottom:9px;display:flex;flex-direction:column;gap:3px}
.ctz-t b{font-size:12.5px;line-height:1.2;font-weight:800;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ctz-t small{font-size:11px;font-weight:700;opacity:.85;white-space:nowrap}
.ctz-lk{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.92);color:#141414;display:flex;align-items:center;justify-content:center}
.ctz-lk svg{width:13px;height:13px}
.ctz-go{height:54px;border-radius:18px;font-size:15px;white-space:nowrap;box-shadow:0 10px 22px -12px rgba(120,160,20,.9)}
html.dark .ctz{background:radial-gradient(120% 70% at 100% 0%,rgba(166,212,58,.14),rgba(166,212,58,0) 60%),var(--card)}

/* голодание без Премиума */
.fast2.flock{flex-direction:row;align-items:center;gap:12px;border:0;width:calc(100% - 40px);text-align:left;padding:12px 14px 12px 12px;color:var(--ink)}
.flk-dial{position:relative;width:46px;height:46px;flex-shrink:0}
.flk-dial svg{width:46px;height:46px}
.flk-dial svg circle{fill:none;stroke-width:5;stroke-linecap:round}
.flk-dial .fr0{stroke:var(--line)}.flk-dial .frp{stroke:#E4EFC7}.flk-dial .fr1{stroke:var(--acc)}
.flk-dial i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.flk-dial i svg{width:16px;height:16px}
.flk-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.flk-t b{font-size:15px;font-weight:800}
.flk-t small{font-size:12.5px;font-weight:600;color:var(--mute)}
.flk-p{display:flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:999px;background:var(--blk);color:var(--on-blk);font-size:12px;font-weight:800}
.flk-p svg{width:12px;height:12px}
.fps{display:flex;flex-direction:column;gap:12px;text-align:center}
.fps-art{position:relative;width:150px;height:150px;margin:4px auto 0}
.fps-art svg{width:150px;height:150px}
.fps-art svg circle{fill:none;stroke-width:12;stroke-linecap:round}
.fps-art .fr0{stroke:var(--line)}.fps-art .frp{stroke:#E4EFC7}
.fps-art .fr1.demo{stroke:var(--acc);animation:fpsdraw 1.4s cubic-bezier(.3,.8,.3,1) both}
@keyframes fpsdraw{from{stroke-dasharray:0 302}}
.fps-art b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;letter-spacing:-.03em}
.fps h3{margin:0;font-size:24px}
.fps p{margin:0;font-size:14.5px;line-height:1.45}
.fps-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}
.fps-l li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--card);font-size:14.5px;font-weight:700}
.fps-l i{font-style:normal;font-size:20px}
html.dark .flk-dial .frp,html.dark .fps-art .frp{stroke:#33401F}

/* переключатель «Тело / Питание» */
.pseg{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:14px 20px 2px;padding:4px;border-radius:18px;background:var(--tile)}
.pseg>i{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:14px;background:var(--card);box-shadow:0 4px 12px rgba(20,20,20,.08);
  transform:translateX(calc(var(--k) * 100%));transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.pseg button{position:relative;z-index:1;height:42px;border:0;background:none;font-size:15px;font-weight:800;color:var(--mute);transition:color .25s}
.pseg button.on{color:var(--ink)}
.pseg-b.from-r>*{animation:psr .4s cubic-bezier(.2,.8,.2,1) both}
.pseg-b.from-l>*{animation:psl .4s cubic-bezier(.2,.8,.2,1) both}
.pseg-b>*:nth-child(2){animation-delay:.04s}.pseg-b>*:nth-child(3){animation-delay:.08s}.pseg-b>*:nth-child(4){animation-delay:.12s}.pseg-b>*:nth-child(5){animation-delay:.16s}
@keyframes psr{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes psl{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
html.dark .pseg{background:#1C1E19}html.dark .pseg>i{background:#2C2F27;box-shadow:none}

/* путь к цели */
.pth{margin-top:12px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px;overflow:hidden;position:relative}
.pth-top{display:flex;align-items:center;justify-content:space-between}
.pth-top small{font-size:13px;font-weight:800;color:var(--mute)}
.pth-chip{height:26px;padding:0 10px;border-radius:999px;background:#EEF6DC;color:#4B6B12;font-size:12px;font-weight:800;display:flex;align-items:center}
.pth-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pth-h b{font-size:34px;font-weight:800;letter-spacing:-.04em}.pth-h b small{font-size:18px;letter-spacing:0;color:var(--mute)}
.pth-h span{font-size:20px;font-weight:800;letter-spacing:-.02em}
.pth-sub{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:var(--mute)}
.pth-sub b{color:var(--ink)}
.pth-line{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);margin:14px -4px 4px;padding-top:2px}
.pth-tr{position:absolute;left:10%;right:10%;top:35px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.pth-tr i{position:absolute;inset:0;background:linear-gradient(90deg,var(--acc),#D9EFA4);transform-origin:left;animation:pthgrow 1.2s .2s cubic-bezier(.3,.8,.3,1) both}
@keyframes pthgrow{from{transform:scaleX(0)}}
.pth-n{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;animation:rise .45s calc(var(--i) * 110ms + .3s) cubic-bezier(.2,.8,.2,1) both}
.pth-n em{font-style:normal;font-size:13px;font-weight:800;height:18px}
.pth-d{width:16px;height:16px;border-radius:50%;background:var(--card);border:3px solid var(--acc);display:flex;align-items:center;justify-content:center;font-style:normal}
.pth-n.now .pth-d{background:var(--acc);box-shadow:0 0 0 6px rgba(166,212,58,.25);animation:pthpulse 2s infinite}
@keyframes pthpulse{50%{box-shadow:0 0 0 10px rgba(166,212,58,0)}}
.pth-n.end .pth-d{width:30px;height:30px;margin-top:-7px;margin-bottom:-7px;border:0;background:var(--blk);font-size:14px}
.pth-n small{font-size:11.5px;font-weight:700;color:var(--mute)}
.pth-fact{display:flex;gap:10px;align-items:flex-start;margin-top:8px;padding:11px 12px;border-radius:16px;background:var(--bg);font-size:13px;line-height:1.4;font-weight:600}
.pth-fact.warn{background:#FFF4E2}
.pth-note{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--soft);font-weight:600}
.pth.warn .pth-sub{color:var(--ink)}
.pth-e{display:flex;flex-direction:row;align-items:center;gap:12px;border:0;width:calc(100% - 40px);text-align:left;color:var(--ink)}
.pth-ei{width:46px;height:46px;border-radius:15px;background:#EEF6DC;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.pth-e span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}
.pth-e b{font-size:15.5px;font-weight:800}.pth-e small{font-size:12.5px;font-weight:600;color:var(--mute)}
.pth-e .ch{font-size:22px;color:var(--faint)}
html.dark .pth-chip{background:#26321A;color:var(--acc)}html.dark .pth-ei{background:#26321A}
html.dark .pth-fact.warn{background:#3A2E18}

/* силуэт по замерам */
.fig{width:100%;height:100%;overflow:visible}
.fig-s1{stop-color:#F2EBDF}.fig-s2{stop-color:#B9AB93}.fig-h{fill:#85735B}.fig-gl{stop-color:#FFFFFF}.fig-gl0{stop-color:#FFFFFF;stop-opacity:0}
.fig-arm{filter:drop-shadow(-.4px 0 .6px rgba(90,75,55,.18))}
.fig-sd{fill:rgba(80,64,40,.18)}
.fig-ln{fill:none;stroke:rgba(120,100,75,.16);stroke-width:.8;stroke-linecap:round}
.fig-m path{fill:none;stroke-linecap:round}
.fig-rb{stroke:var(--acc);stroke-width:1;opacity:.35;stroke-dasharray:1.6 1.8}
.fig-rf{stroke:var(--acc);stroke-width:1.9;stroke-dasharray:1;stroke-dashoffset:1;animation:figr .9s cubic-bezier(.3,.7,.3,1) forwards;animation-delay:calc(.25s + var(--i) * .15s);filter:drop-shadow(0 0 1.6px rgba(166,212,58,.9))}
.fig-m circle{fill:#fff;stroke:var(--acc);stroke-width:1;opacity:0;animation:figd .3s ease forwards;animation-delay:calc(.9s + var(--i) * .15s)}
@keyframes figr{to{stroke-dashoffset:0}}@keyframes figd{to{opacity:1}}
.fig.ghost .fig-s1{stop-color:#EAF5CF}.fig.ghost .fig-s2{stop-color:#BFDD74}.fig.ghost .fig-h{fill:#94C22C}.fig.ghost .fig-m,.fig.ghost .fig-ln{display:none}
html.dark .fig-s1{stop-color:#5A5E52}html.dark .fig-s2{stop-color:#33362E}html.dark .fig-h{fill:#7A7E70}html.dark .fig-gl{stop-color:#A6D43A;stop-opacity:.12}html.dark .fig-gl0{stop-color:#A6D43A}
html.dark .fig-sd{fill:rgba(0,0,0,.45)}html.dark .fig-ln{stroke:rgba(255,255,255,.08)}html.dark .fig-m circle{fill:#1E201A}
html.dark .fig.ghost .fig-s1{stop-color:#5E7A2A}html.dark .fig.ghost .fig-s2{stop-color:#34451A}html.dark .fig.ghost .fig-h{fill:#7FA431}
.bdy-art{height:178px;border-radius:20px;background:radial-gradient(70% 55% at 50% 40%,#FFFFFF,#F3EFE8 70%,#ECE6DC);display:flex;align-items:center;justify-content:center;padding:8px 4px;position:relative;overflow:hidden}
html.dark .bdy-art{background:radial-gradient(70% 55% at 50% 40%,#2A2D24,#1E201A 75%)}
@media (prefers-reduced-motion:reduce){.fig-rf{animation:none;stroke-dashoffset:0}.fig-m circle{animation:none;opacity:1}}
/* замеры фигуры */
.bdy{margin-top:12px;padding:18px;display:flex;flex-direction:column;gap:14px}
.bdy-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bdy-h b{display:block;font-size:18px;font-weight:800}
.bdy-h small{font-size:12.5px;font-weight:600;color:var(--mute)}
.bdy-up{height:36px;padding:0 14px;border:0;border-radius:12px;background:var(--bg);font-size:13.5px;font-weight:800}
.bdy-g{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center}
.bdy-v{display:flex;flex-direction:column;gap:8px}
.bdy-r{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;height:44px;padding:0 12px;border-radius:14px;background:var(--bg);
  animation:rise .4s calc(var(--r, 0) * 80ms) both}
.bdy-r.r1{--r:1}.bdy-r.r2{--r:2}
.bdy-r>i{width:10px;height:3px;border-radius:2px;background:var(--acc)}
.bdy-r span{font-size:14px;font-weight:700;color:var(--mute)}
.bdy-r b{font-size:17px;font-weight:800}
.bdy-r b small{font-size:12px;color:var(--mute);font-weight:700}
.bdy-r em{font-style:normal;font-size:12px;font-weight:800;color:var(--mute)}
.bdy-r em.ok{color:var(--ok)}.bdy-r em.up{color:var(--warn)}
.bdy-sh{display:flex;gap:12px;padding:14px;border-radius:20px;background:linear-gradient(135deg,#F3F8E6,#FBFAF5)}
.bdy-se{width:46px;height:46px;border-radius:15px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 4px 12px rgba(60,90,10,.08)}
.bdy-sh small{font-size:12px;font-weight:700;color:var(--mute)}
.bdy-sh b{display:block;font-size:18px;font-weight:800;margin-top:1px}
.bdy-sh p{margin:4px 0 0;font-size:13px;line-height:1.45;font-weight:600;color:var(--mute)}
.bdy-tips{list-style:none;margin:-4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.bdy-tips li{position:relative;padding-left:22px;font-size:13px;line-height:1.4;font-weight:600}
.bdy-tips li::before{content:"✓";position:absolute;left:2px;top:0;color:var(--ok);font-weight:800}
.bdy-hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}
.bdy-hl span{padding:10px 12px;border-radius:14px;background:var(--bg);display:flex;flex-direction:column;gap:2px}
.bdy-hl b{font-size:17px;font-weight:800}
.bdy-hl small{font-size:11.5px;line-height:1.3;font-weight:700;color:var(--mute)}
.bdy-hl span.ok b{color:var(--ok)}.bdy-hl span.mid b{color:var(--warn)}.bdy-hl span.high b{color:var(--bad)}
.bdy.empty{flex-direction:row;align-items:center;gap:14px}
.bdy.empty .bdy-art{width:104px;height:150px;flex-shrink:0}
.bdy-et{display:flex;flex-direction:column;gap:6px}
.bdy-et b{font-size:18px;font-weight:800}
.bdy-et small{font-size:13px;line-height:1.4;font-weight:600;color:var(--mute)}
.bdy-et .btn{height:46px;border-radius:15px;font-size:14.5px;margin-top:6px}
.bdy-et .btn svg{width:18px;height:18px}
.bms{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:var(--card)}
.bms>span:first-child{display:flex;flex-direction:column;gap:2px}
.bms b{font-size:16px;font-weight:800}.bms small{font-size:12px;font-weight:600;color:var(--mute)}
.bms-in{display:flex;align-items:center;gap:6px;height:48px;padding:0 12px;border-radius:14px;background:var(--bg);border:2px solid transparent;transition:border-color .2s}
.bms-in:focus-within{border-color:var(--acc)}
.bms-in input{width:76px;border:0;background:none;font:inherit;font-size:20px;font-weight:800;text-align:right;color:var(--ink);outline:none}
.bms-in i{font-style:normal;font-size:13px;font-weight:700;color:var(--mute)}
html.dark .bdy-sh{background:linear-gradient(135deg,#222B17,#1E201A)}html.dark .bdy-se{background:#2C2F27;box-shadow:none}

/* ДО/ПОСЛЕ */
.ba{margin-top:12px;padding:18px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.ba-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ba-h b{display:block;font-size:18px;font-weight:800}
.ba-h small{font-size:12.5px;font-weight:600;color:var(--mute)}
.ba-pr{display:flex;align-items:center;gap:4px;height:28px;padding:0 10px;border-radius:999px;background:var(--blk);color:var(--on-blk);font-size:12px;font-weight:800}
.ba-pr svg{width:12px;height:12px}
.ba-more{width:36px;height:36px;border:0;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--mute)}
.ba-pair{display:grid;grid-template-columns:1fr 22px 1fr;align-items:center;gap:6px}
.ba-arr{text-align:center;font-size:18px;font-weight:800;color:var(--faint)}
.ba-f{position:relative;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  animation:pop .45s cubic-bezier(.3,1.4,.5,1) both}
.ba-pair>.ba-f:last-child{animation-delay:.12s}
.ba-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-f .fig{position:absolute;inset:14px 10px 30px;width:auto;height:auto}
.ba-tag{position:absolute;left:8px;bottom:8px;z-index:2;height:24px;padding:0 9px;border-radius:999px;background:rgba(20,20,20,.72);color:#FFFFFF;
  font-size:11.5px;font-weight:800;display:flex;align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ba-tag.acc{background:var(--acc);color:#141414}
.ba-f.glow{box-shadow:0 0 0 3px var(--acc),0 14px 30px -14px rgba(120,170,20,.8)}
.ba-sp{position:absolute;top:10px;right:12px;color:var(--acc);font-size:20px;animation:basp 2.4s ease-in-out infinite}
@keyframes basp{50%{transform:scale(1.35) rotate(20deg);opacity:.6}}
.ba-f.up{border:2px dashed #D3CDC1;cursor:pointer}
.ba-f.up input{display:none}
.ba-ui{width:52px;height:52px;border-radius:50%;background:var(--acc);display:flex;align-items:center;justify-content:center;margin-bottom:6px;animation:baui 2s ease-in-out infinite}
@keyframes baui{50%{transform:scale(1.08)}}
.ba-f.up b,.ba-f.gen b{font-size:14px;font-weight:800;text-align:center;padding:0 8px;position:relative;z-index:1}
.ba-f.up small,.ba-f.gen small{font-size:12px;font-weight:600;color:var(--mute);position:relative;z-index:1}
.ba-f.wait.ready .fig{animation:baw 2.6s ease-in-out infinite}
@keyframes baw{50%{opacity:.55}}
.ba-f.gen{background:linear-gradient(160deg,#EEF7D6,#F7F5F0)}
.ba-scan{position:absolute;left:0;right:0;height:46%;top:-46%;background:linear-gradient(180deg,rgba(166,212,58,0),rgba(166,212,58,.45));border-bottom:2px solid var(--acc);
  animation:bascan 1.6s linear infinite}
@keyframes bascan{to{top:100%}}
.ba-f.sk{background:linear-gradient(100deg,var(--bg) 30%,var(--tile) 50%,var(--bg) 70%);background-size:300% 100%;animation:shim 1.4s linear infinite}
.ba-tx{margin:0;font-size:13px;line-height:1.45;font-weight:600;color:var(--mute);text-align:center}
.ba .btn{height:52px;border-radius:17px;font-size:15.5px}
.ba-rep{position:relative;overflow:hidden}.ba-rep input{position:absolute;inset:0;opacity:0}
.ba-ov{position:fixed;inset:0;z-index:90;background:rgba(10,10,10,.92);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.ba-ov.in{opacity:1}
.ba-ovp{display:flex;gap:10px;padding:0 12px;width:100%;max-width:560px}
.ba-ovp figure{flex:1;margin:0;display:flex;flex-direction:column;gap:8px;align-items:center;transform:scale(.94);transition:transform .3s}
.ba-ov.in figure{transform:none}
.ba-ovp img{width:100%;border-radius:18px}
.ba-ovp figcaption{color:#FFFFFF;font-size:13px;font-weight:800}
.ba-x{position:absolute;top:calc(14px + var(--safe-t));right:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#FFFFFF;font-size:24px}
html.dark .ba-f.up{border-color:#3A3C35}html.dark .ba-f.gen{background:linear-gradient(160deg,#222B17,#1E201A)}
@media (prefers-reduced-motion:reduce){.ctz-c,.pth-n,.pth-tr i,.ba-f,.ba-scan,.ba-sp,.ba-ui,.pseg-b>*{animation:none!important}}

/* v47 польза блюда */
.msc{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border:0;border-radius:20px;background:var(--card);color:inherit;text-align:left;font:inherit;cursor:pointer;animation:rise .4s both}
.msc .sc-r{position:relative;width:50px;height:50px;flex-shrink:0;display:grid;place-items:center}
.msc svg{position:absolute;inset:0;transform:rotate(-90deg)}
.msc circle{fill:none;stroke-width:5}
.msc .sc-bg{stroke:rgba(128,128,128,.16)}
.msc .sc-fg{stroke-linecap:round;stroke-dashoffset:var(--off);animation:scDraw .9s cubic-bezier(.3,.7,.3,1) both}
@keyframes scDraw{from{stroke-dashoffset:132}}
.msc .sc-r b{font-size:19px;font-weight:800}
.msc .sc-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.msc .sc-t small{font-size:12px;font-weight:600;color:var(--mute)}
.msc .sc-t>b{font-size:16px;font-weight:800}
.msc .sc-cs{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.sc-c{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;line-height:1.3}
.sc-c.g{background:#E6F4DC;color:#2F7D22}
.sc-c.b{background:#FCEBDD;color:#A9521A}
.msc .ch{color:var(--mute);font-size:20px}
.msc.great .sc-fg{stroke:#7BC043}.msc.ok .sc-fg{stroke:#E8A93A}.msc.low .sc-fg{stroke:#E46A3A}
.sc-hint{padding:14px 16px;border-radius:18px;background:#F1F7E2;font-size:15px;line-height:1.45;font-weight:600}
.sc-leg{display:flex;flex-direction:column;gap:8px;font-size:14px}
.sc-leg span{display:flex;align-items:center;gap:10px}
.sc-leg i{width:12px;height:12px;border-radius:50%}
.sc-leg i.great{background:#7BC043}.sc-leg i.ok{background:#E8A93A}.sc-leg i.low{background:#E46A3A}
html.dark .sc-c.g{background:rgba(123,192,67,.16);color:#A6DB6E}
html.dark .sc-c.b{background:rgba(228,106,58,.16);color:#F0A07A}
html.dark .sc-hint{background:rgba(166,219,110,.12)}
/* ==================== v47: истории сверху «Питания», «Что приготовить» во всю ширину, голодание на своем экране ==================== */
.ctz{margin:0}
.ctz-row{display:flex;gap:10px;overflow-x:auto;margin:14px -16px;padding:2px 16px 4px;scrollbar-width:none;scroll-snap-type:x mandatory}
.ctz-row::-webkit-scrollbar{display:none}
.ctz-c{flex:0 0 auto;width:42%;min-width:138px;max-width:170px;height:188px;border-radius:22px;scroll-snap-align:start}
.ctz-t{left:11px;right:10px;bottom:11px}
.ctz-t b{font-size:14px}
.ctz-t small{font-size:12px}

/* кружки историй */
.stw{display:flex;gap:12px;overflow-x:auto;padding:14px 20px 4px;scroll-padding:0 20px;scrollbar-width:none;scroll-snap-type:x proximity}
.stw::-webkit-scrollbar{display:none}
.sti{position:relative;flex:0 0 auto;width:76px;border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;
  color:var(--ink);scroll-snap-align:start;animation:rise .45s calc(var(--i) * 50ms) cubic-bezier(.2,.8,.2,1) both;transition:transform .2s}
.sti:active{transform:scale(.93)}
.sti-r{flex-shrink:0;width:70px;height:70px;border-radius:50%;padding:3.5px;background:conic-gradient(from 200deg,#A6D43A,#D9F07F,#7FBF2A,#A6D43A);display:block;transition:background .3s}
.sti.seen .sti-r{background:var(--line)}
.sti-in{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;overflow:hidden;border:3px solid var(--bg);background:var(--card)}
.sti-in>.cv{position:absolute;inset:0;border-radius:50%}
.sti-in .cv-em{font-size:26px}
.sti-in .cv-fl{display:none}
.sti.own .sti-r{background:none;border:2px dashed #C4E07D;padding:2px}
.sti.own .sti-in{border:0;background:#EEF7D6;color:#3E5A10}
.sti.own .sti-in svg{width:28px;height:28px;stroke:#3E5A10}
.sti small{max-width:80px;font-size:11px;font-weight:700;line-height:1.15;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sti.seen small{color:var(--mute)}
.sti-n,.sti-p,.sti-lk{position:absolute;top:50px;right:2px;min-width:22px;height:22px;border-radius:11px;border:2px solid var(--bg);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:800;padding:0 4px}
.sti-n{background:var(--ink);color:var(--bg)}
.sti-p{background:var(--acc);color:#141414;font-size:16px;line-height:1}
.sti-lk{background:var(--card);color:var(--ink)}
.sti-lk svg{width:11px;height:11px}
.sti.sk .sti-r{background:var(--line)}
.sti.sk .sti-in{background:var(--card)}
.sti.sk small{width:48px;height:10px;border-radius:5px;background:var(--line)}
html.dark .sti.own .sti-in{background:rgba(166,212,58,.16);color:#C4E07D}
html.dark .sti.own .sti-in svg{stroke:#C4E07D}
html.dark .sti.own .sti-r{border-color:rgba(166,212,58,.45)}
@media (prefers-reduced-motion:reduce){.sti{animation:none}}

/* голодание: чип в шапке «Сегодня» и свой экран */
.chip.fchip{border:0;font:inherit;font-size:13px;font-weight:800;color:#3E5A10;background:#EEF7D6;gap:5px}
.chip.fchip svg{width:15px;height:15px;animation:none}
.chip.fchip small{font-size:11px;font-weight:700;opacity:.7}
.chip.fchip.ok{background:var(--acc);color:#141414}
html.dark .chip.fchip{background:rgba(166,212,58,.16);color:#C4E07D}
html.dark .chip.fchip.ok{background:var(--acc);color:#141414}
.fscr .rc-top{display:flex;align-items:center;gap:12px;padding:12px 20px 4px}
.fscr .rc-top h1{margin:0;font-size:24px;font-weight:800}
.fscr #fastslot{margin-top:10px}
.fsx{margin:16px 20px 0;padding:18px 16px 8px;border-radius:24px;background:var(--card)}
.fsx>b{display:block;font-size:17px;font-weight:800;margin:0 4px 8px}
.fsx-r{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line);animation:rise .4s calc(var(--i) * 60ms) both}
.fsx-r:first-of-type{border-top:0}
.fsx-r i{width:36px;height:36px;border-radius:12px;background:#EEF7D6;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:18px;flex-shrink:0}
.fsx-r span{flex:1;font-size:14px;line-height:1.3;font-weight:600}
.fsx-r small{font-size:12px;font-weight:700;color:var(--mute);white-space:nowrap}
html.dark .fsx-r i{background:rgba(166,212,58,.14)}
.m-lk{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bg);margin-left:auto;margin-right:6px;flex-shrink:0}
.m-lk svg{width:12px;height:12px}

/* v48: «Посмотреть еще раз» на экране результата */
.rsc{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 12px;border-radius:20px;cursor:pointer;
  background:linear-gradient(120deg,#F3F9E4,#FFFFFF 70%);border:1.5px solid #DCEDB5;animation:rise .45s .15s both;transition:transform .2s}
.rsc:active{transform:scale(.98)}
.rsc-i{width:40px;height:40px;border-radius:14px;background:#EEF7D6;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#3E5A10}
.rsc-i svg{width:20px;height:20px;stroke:#3E5A10}
.rsc-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rsc-t b{font-size:15px;font-weight:800}
.rsc-t small{font-size:12.5px;color:var(--mute);font-weight:600}
.rsc-go{padding:9px 14px;border-radius:12px;background:var(--acc);color:#141414;font-size:13.5px;font-weight:800;white-space:nowrap}
.rsc.busy{cursor:default;background:linear-gradient(100deg,#F3F9E4 30%,#E4F2C0 50%,#F3F9E4 70%);background-size:220% 100%;animation:rscsh 1.4s linear infinite}
@keyframes rscsh{from{background-position:120% 0}to{background-position:-120% 0}}
.rsv{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:20px;background:#F3F9E4;animation:rise .4s both}
.rsv-h{display:flex;flex-direction:column;gap:2px}
.rsv-s{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.rsv-s button{white-space:nowrap}
.rsv-h b{font-size:15px;font-weight:800}
.rsv-h small{font-size:12px;color:var(--mute);font-weight:600}
.rsv-n{font-size:12px;line-height:1.35;color:var(--mute);font-weight:600}
html.dark .rsc{background:linear-gradient(120deg,rgba(166,212,58,.14),var(--card) 70%);border-color:rgba(166,212,58,.3)}
html.dark .rsc-i{background:rgba(166,212,58,.16)}
html.dark .rsc-i svg{stroke:#C4E07D}
html.dark .rsc.busy{background:linear-gradient(100deg,rgba(166,212,58,.08) 30%,rgba(166,212,58,.22) 50%,rgba(166,212,58,.08) 70%);background-size:220% 100%}
html.dark .rsv{background:rgba(166,212,58,.1)}
@media (prefers-reduced-motion:reduce){.rsc,.rsc.busy,.rsv{animation:none}}

/* v50 знакомство с приложением */
.tour{position:fixed;inset:0;z-index:9000;opacity:0;transition:opacity .3s}
.tour.on{opacity:1}.tour.out{opacity:0}
.tour-hole{position:fixed;box-shadow:0 0 0 200vmax rgba(10,12,8,.66);transition:left .45s cubic-bezier(.3,.9,.3,1),top .45s cubic-bezier(.3,.9,.3,1),width .45s cubic-bezier(.3,.9,.3,1),height .45s cubic-bezier(.3,.9,.3,1),border-radius .45s;pointer-events:none}
.tour-hole::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid #A6D43A;animation:tourPulse 1.6s ease-out infinite}
@keyframes tourPulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}
.tour-tip{position:fixed;left:16px;right:16px;max-width:420px;margin:0 auto;padding:18px 18px 14px;border-radius:22px;background:#fff;color:#141414;box-shadow:0 18px 40px rgba(0,0,0,.25);opacity:0;transform:translateY(10px) scale(.98)}
.tour-tip.up{transform:translateY(-10px) scale(.98)}
.tour-tip.in{opacity:1;transform:none;transition:opacity .35s .12s,transform .45s .12s cubic-bezier(.2,1.2,.4,1)}
.tour-tip::before{content:"";position:absolute;top:-7px;left:var(--ax);width:16px;height:16px;background:#fff;border-radius:3px;transform:rotate(45deg)}
.tour-tip.up::before{top:auto;bottom:-7px}
.tour-tip b{display:block;font-size:18px;font-weight:800;margin:10px 0 4px}
.tour-tip p{margin:0;font-size:15px;line-height:1.45;color:#4A4A44}
.tour-dots{display:flex;gap:5px}
.tour-dots i{width:6px;height:6px;border-radius:3px;background:#E3E0D8;transition:width .3s,background .3s}
.tour-dots i.on{width:18px;background:#A6D43A}.tour-dots i.done{background:#C9E58A}
.tour-b{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}
.tour-skip{border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:#8A877F;padding:10px 12px;margin-right:auto}
.tour-next{border:0;font:inherit;font-size:15px;font-weight:800;color:#141414;background:#A6D43A;padding:11px 20px;border-radius:14px}
.tour-next:active,.tour-skip:active{transform:scale(.96)}
html.dark .tour-tip,html.dark .tour-tip::before{background:#1E201C;color:#F2F2EE}
html.dark .tour-tip p{color:#C2C2BA}
html.dark .tour-dots i{background:#3A3D35}

/* v51 админ: пользователи */
.adm-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:0;border-radius:22px;background:#141414;color:#fff;font:inherit;text-align:left;cursor:pointer;animation:rise .4s both}
.adm-btn .adm-i{width:42px;height:42px;border-radius:14px;background:#A6D43A;display:grid;place-items:center;font-size:20px;flex-shrink:0}
.adm-btn .mt{flex:1;display:flex;flex-direction:column;gap:2px}.adm-btn b{font-size:16px}.adm-btn small{font-size:13px;color:#B9B9B2}.adm-btn .ch{color:#B9B9B2;font-size:20px}
html.dark .adm-btn{background:#A6D43A;color:#141414}html.dark .adm-btn .adm-i{background:#141414}html.dark .adm-btn small,html.dark .adm-btn .ch{color:#3C4A1A}
.adt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.adt-c{padding:14px;border-radius:20px;background:var(--card);display:flex;flex-direction:column;gap:2px;animation:rise .4s calc(var(--i)*45ms) both}
.adt-c small{font-size:12px;font-weight:600;color:var(--mute)}.adt-c b{font-size:26px;font-weight:800;line-height:1.15}.adt-c span{font-size:12px;color:var(--mute)}
.adc{padding:16px}.adc-h{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.adc-h b{font-size:15px}
.adc-h span{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--mute)}.adc-h i{width:9px;height:9px;border-radius:3px;margin-left:6px}
.adc-h i.a,.adc-b i.a{background:#A6D43A}.adc-h i.n,.adc-b i.n{background:#141414}html.dark .adc-h i.n,html.dark .adc-b i.n{background:#F2F2EE}
.adc-r{display:flex;align-items:flex-end;gap:4px;height:120px}
.adc-c{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.adc-b{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}
.adc-b i{width:42%;height:var(--h);min-height:2px;border-radius:3px 3px 1px 1px;transform-origin:bottom;animation:adGrow .7s calc(var(--i)*35ms) cubic-bezier(.3,.9,.3,1) both}
@keyframes adGrow{from{transform:scaleY(0)}}
.adc-c small{font-size:10px;color:var(--mute);font-weight:600}
.adf{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.adf::-webkit-scrollbar{display:none}
.adf button{flex-shrink:0;border:0;border-radius:999px;padding:9px 14px;background:var(--card);color:inherit;font:inherit;font-size:14px;font-weight:700}
.adf button em{font-style:normal;color:var(--mute);font-weight:600}.adf button.on{background:#141414;color:#fff}.adf button.on em{color:#B9B9B2}
html.dark .adf button.on{background:#A6D43A;color:#141414}html.dark .adf button.on em{color:#3C4A1A}
.ads input{width:100%;box-sizing:border-box;border:0;border-radius:16px;padding:13px 16px;background:var(--card);color:inherit;font:inherit;font-size:15px;outline:none}
.adl{display:flex;flex-direction:column;gap:8px}
.adu{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:18px;background:var(--card);color:inherit;font:inherit;text-align:left;cursor:pointer;animation:rise .35s calc(var(--i)*30ms) both}
.adu:active{transform:scale(.985)}
.adu-a{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:17px;background:#EEF7D6;color:#3E5A10;flex-shrink:0}
.adu-a::after{content:"";position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;border:2px solid var(--card);background:#C9C6BE}
.adu-a.on::after{background:#2BB673}.adu-a.wk::after{background:#E8A93A}
.adu-a.big{width:56px;height:56px;font-size:22px}
.adu-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.adu-t b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adu-t small{font-size:12px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adu-p{font-style:normal;font-size:10px;font-weight:800;background:#A6D43A;color:#141414;padding:1px 6px;border-radius:6px;vertical-align:2px}
.adu-l{font-size:12px;font-weight:700;text-align:right;flex-shrink:0;max-width:96px;color:var(--mute)}.adu-l.on{color:#2F7D22}html.dark .adu-l.on{color:#A6DB6E}
html.dark .adu-a{background:rgba(166,212,58,.16);color:#C9E58A}
.adx-h{display:flex;align-items:center;gap:14px}.adx-h h3{margin:0}.adx-h small{color:var(--mute);font-size:14px}
.adx{display:flex;flex-direction:column;border-radius:18px;background:var(--card);overflow:hidden}
.adx div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);animation:rise .35s calc(var(--i)*35ms) both}
.adx div:last-child{border-bottom:0}.adx span{font-size:14px;color:var(--mute)}.adx b{font-size:14px;text-align:right}

.adm-money{padding:16px;background:#141414;color:#fff}html.dark .adm-money{background:#1E201C}
.adm-mh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.adm-mh b{font-size:16px}.adm-mh span{font-size:12px;color:#9C9C95}
.adm-mg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.adm-mg div{display:flex;flex-direction:column;gap:1px}.adm-mg small{font-size:12px;color:#9C9C95;font-weight:600}.adm-mg b{font-size:17px;font-weight:800}
.adm-mg .big{grid-column:1/-1;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:0 6px}.adm-mg .big small{width:100%}
.adm-mg .big b{font-size:36px;color:#A6D43A;line-height:1.1}.adm-mg .big span{font-size:20px;font-weight:800;color:#A6D43A}
.adm-pl{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.adm-pl span{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08)}
.adm-pl em{font-style:normal;color:#A6D43A;margin-left:2px}
.adu-m{font-style:normal;font-size:10px;font-weight:800;background:#141414;color:#fff;padding:1px 6px;border-radius:6px;vertical-align:2px}
html.dark .adu-m{background:#F2F2EE;color:#141414}
.adp{border-radius:18px;padding:14px;background:var(--card);display:flex;flex-direction:column;gap:12px}
.adp.on{background:linear-gradient(135deg,#EEF7D6,#F7FBEA)}html.dark .adp.on{background:rgba(166,212,58,.14)}
.adp-h{display:flex;flex-direction:column;gap:2px}.adp-h span{font-size:12px;font-weight:700;color:var(--mute)}.adp-h b{font-size:16px}
.adp-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.adp-g div{display:flex;flex-direction:column}
.adp-g small{font-size:11px;color:var(--mute);font-weight:600}.adp-g b{font-size:17px;font-weight:800}
.adp-s{font-size:13px;color:var(--mute)}
.adp-l{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.adp-l div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.adp-l div:last-child{border-bottom:0}
.adp-l span{display:flex;flex-direction:column;font-size:14px;font-weight:600}.adp-l small{font-size:12px;color:var(--mute);font-weight:500}.adp-l b{font-size:15px}

.adt,.ads,.adl{margin:12px 20px 0}.adf{margin:14px 0 0;padding:0 20px}
.adu-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.adu-l{max-width:110px}
.adu-m{vertical-align:0;font-size:11px;padding:2px 7px}

/* v54 витрина Премиума: всегда темная, плитки с живыми картинками */
body:has(.pmx){background:#0B0D09}
.pmx{--px-bg:#0B0D09;--px-card:rgba(255,255,255,.045);--px-line:rgba(255,255,255,.08);--px-ink:#F3F5EE;--px-mute:#9BA294;--px-acc:#B6F36A;--px-acc2:#7ED957;
  position:relative;background:var(--px-bg);color:var(--px-ink);min-height:100vh;overflow:hidden;padding:0 0 env(safe-area-inset-bottom)}
.pmx-glow{position:absolute;inset:0 0 auto;height:900px;pointer-events:none;overflow:hidden;-webkit-mask:linear-gradient(#000 55%,transparent);mask:linear-gradient(#000 55%,transparent)}
.pmx-glow i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;animation:pxDrift 14s ease-in-out infinite alternate}
.pmx-glow i:nth-child(1){width:320px;height:320px;left:-90px;top:-80px;background:#6FB52E}
.pmx-glow i:nth-child(2){width:260px;height:260px;right:-100px;top:120px;background:#B6F36A;opacity:.28;animation-delay:-5s}
.pmx-glow i:nth-child(3){width:220px;height:220px;left:30%;top:330px;background:#2F6B1A;opacity:.45;animation-delay:-9s}
@keyframes pxDrift{to{transform:translate(40px,30px) scale(1.15)}}
.pmx-back{position:absolute;top:14px;left:14px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--px-line);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
.pmx-back:active{transform:scale(.92)}
.pmx-hero{position:relative;z-index:1;padding:76px 24px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.pmx-badge{position:relative;width:96px;height:96px;display:grid;place-items:center;animation:pxPop .7s cubic-bezier(.2,1.4,.4,1) both}
.pmx-badge .orb{position:absolute;inset:0;border-radius:30px;background:linear-gradient(145deg,#D4FF8F,#86D33F 55%,#4E9A22);box-shadow:0 18px 50px rgba(150,230,80,.45),inset 0 2px 0 rgba(255,255,255,.55);animation:pxBob 4s ease-in-out infinite}
.pmx-badge svg{position:relative;width:50px;height:50px;stroke:#14200A;animation:pxBob 4s ease-in-out infinite}
.pmx-badge i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--px-acc);box-shadow:0 0 12px var(--px-acc);animation:pxTw 2.4s ease-in-out infinite}
.pmx-badge i:nth-of-type(1){top:-6px;right:-10px}.pmx-badge i:nth-of-type(2){bottom:4px;left:-14px;animation-delay:.8s;width:4px;height:4px}.pmx-badge i:nth-of-type(3){top:30px;right:-22px;animation-delay:1.6s;width:3px;height:3px}
@keyframes pxPop{from{transform:scale(.4) rotate(-12deg);opacity:0}}
@keyframes pxBob{50%{transform:translateY(-5px)}}
@keyframes pxTw{50%{transform:scale(.3);opacity:.3}}
.pmx-tag{margin-top:8px;font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--px-acc);animation:rise .5s .15s both}
.pmx-hero h1{margin:0;font-size:31px;line-height:1.12;font-weight:800;letter-spacing:-.02em;animation:rise .5s .22s both}
.pmx-hero h1 em{font-style:normal;background:linear-gradient(90deg,#D4FF8F,#86D33F,#D4FF8F);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pxShine 5s linear infinite}
@keyframes pxShine{to{background-position:-200% 0}}
.pmx-hero p{margin:0;max-width:330px;font-size:15.5px;line-height:1.5;color:var(--px-mute);animation:rise .5s .3s both}
.pmx-price{margin-top:4px;padding:9px 16px;border-radius:999px;border:1px solid rgba(182,243,106,.35);background:rgba(182,243,106,.1);color:var(--px-acc);font-size:15px;font-weight:800;animation:rise .5s .38s both}
.pmx-sec{position:relative;z-index:1;padding:30px 20px 0}
.pmx-sec h2{margin:0 0 14px;font-size:21px;font-weight:800;letter-spacing:-.01em}
.pmx-bento{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bx{position:relative;overflow:hidden;border-radius:22px;background:var(--px-card);border:1px solid var(--px-line);padding:16px;display:flex;flex-direction:column;gap:12px;animation:rise .5s calc(.35s + var(--i)*.07s) both;transition:transform .15s}
.bx:active{transform:scale(.97)}
.bx.wide{grid-column:span 2;flex-direction:row;align-items:center}
.bx.wide .bx-t{flex:1}
.bx-t{display:flex;flex-direction:column;gap:4px}
.bx-t b{font-size:16px;line-height:1.25}
.bx-t small{font-size:13px;line-height:1.4;color:var(--px-mute)}
.bx-v{flex:none;position:relative;height:64px;display:flex;align-items:center}
.bx-v.bx-scan{width:96px;height:96px;justify-content:center}
.bx-plate{width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,#2A2E25 0 52%,#3A4033 53% 60%,#23271F 61%);position:relative}
.bx-plate i{position:absolute;border-radius:50%}
.bx-plate i:nth-child(1){width:22px;height:22px;left:20px;top:22px;background:#E8A54B}
.bx-plate i:nth-child(2){width:18px;height:18px;right:18px;top:28px;background:#7ED957}
.bx-plate i:nth-child(3){width:26px;height:14px;left:28px;bottom:18px;background:#F2E6C9;border-radius:8px}
.bx-scan::before{content:"";position:absolute;inset:4px;border-radius:12px;background:linear-gradient(var(--px-acc),var(--px-acc)) top left/14px 2.5px,linear-gradient(var(--px-acc),var(--px-acc)) top left/2.5px 14px,linear-gradient(var(--px-acc),var(--px-acc)) top right/14px 2.5px,linear-gradient(var(--px-acc),var(--px-acc)) top right/2.5px 14px,linear-gradient(var(--px-acc),var(--px-acc)) bottom left/14px 2.5px,linear-gradient(var(--px-acc),var(--px-acc)) bottom left/2.5px 14px,linear-gradient(var(--px-acc),var(--px-acc)) bottom right/14px 2.5px,linear-gradient(var(--px-acc),var(--px-acc)) bottom right/2.5px 14px;background-repeat:no-repeat}
.bx-scan .beam{position:absolute;left:8px;right:8px;top:10px;height:2px;border-radius:2px;background:var(--px-acc);box-shadow:0 0 14px 3px rgba(182,243,106,.6);animation:pxBeam 2.2s ease-in-out infinite}
@keyframes pxBeam{50%{top:84px}}
.bx-scan em{position:absolute;right:-6px;bottom:-4px;min-width:34px;height:34px;padding:0 6px;border-radius:12px;background:var(--px-acc);color:#14200A;font-style:normal;font-size:24px;font-weight:800;display:grid;place-items:center;box-shadow:0 6px 18px rgba(182,243,106,.4)}
.bx-bars{gap:6px;align-items:flex-end;height:64px}
.bx-bars i{flex:1;height:var(--h);border-radius:5px;background:rgba(255,255,255,.14);transform-origin:bottom;animation:pxGrow .7s calc(.6s + var(--i)*.07s) cubic-bezier(.2,1.2,.4,1) both}
.bx-bars i.on{background:linear-gradient(var(--px-acc),var(--px-acc2));box-shadow:0 0 16px rgba(182,243,106,.4)}
@keyframes pxGrow{from{transform:scaleY(0)}}
.bx-ba{gap:6px;justify-content:center}
.bx-ba svg{height:68px;width:50px;fill:rgba(255,255,255,.22)}
.bx-ba svg.f1{transform:scaleX(1.35)}
.bx-ba svg.f2{fill:var(--px-acc);filter:drop-shadow(0 0 10px rgba(182,243,106,.5));animation:pxBob 3s ease-in-out infinite}
.bx-ba .arw{font-size:26px;font-weight:700;color:var(--px-mute);animation:pxNudge 1.6s ease-in-out infinite}
@keyframes pxNudge{50%{transform:translateX(4px)}}
.bx.wide .bx-mq{position:absolute;left:0;right:0;bottom:12px;height:30px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.bx.wide:has(.bx-mq){flex-direction:column;align-items:stretch;padding-bottom:54px}
.bx-mq div{display:flex;gap:8px;width:max-content;animation:pxMq 26s linear infinite}
.bx-mq span{flex:none;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--px-line);font-size:12.5px;font-weight:600;white-space:nowrap}
.bx-mq span:nth-child(3n+1){color:var(--px-acc)}
@keyframes pxMq{to{transform:translateX(-50%)}}
.bx-ring{width:64px;justify-content:center}
.bx-ring svg{width:64px;height:64px;transform:rotate(-90deg)}
.bx-ring circle{fill:none;stroke:rgba(255,255,255,.12);stroke-width:5}
.bx-ring circle.p{stroke:var(--px-acc);stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:113;animation:pxRing 2.6s .7s cubic-bezier(.4,0,.2,1) forwards;filter:drop-shadow(0 0 4px rgba(182,243,106,.6))}
@keyframes pxRing{to{stroke-dashoffset:38}}
.bx-ring b{position:absolute;font-size:14px;font-weight:800}
.bx-drop svg{width:58px;height:62px}
.bx-drop .o{fill:rgba(255,255,255,.08);stroke:rgba(140,200,255,.5);stroke-width:1}
.bx-drop .w{fill:#5AB4FF;animation:pxWave 3s ease-in-out infinite}
@keyframes pxWave{0%{transform:translate(0,4px)}50%{transform:translate(-8px,-3px)}100%{transform:translate(-16px,4px)}}
.pmx-cmp{border-radius:22px;background:var(--px-card);border:1px solid var(--px-line);overflow:hidden}
.pmx-cmp .r{display:grid;grid-template-columns:1fr 84px 96px;align-items:center;gap:6px;padding:12px 0 12px 14px;border-top:1px solid var(--px-line);font-size:14px;line-height:1.3;animation:rise .4s calc(.05s * var(--i)) both}
.pmx-cmp .r.hd{border-top:0;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--px-mute);padding:14px 0 14px 14px}
.pmx-cmp .r>span:nth-child(n+2){text-align:center}
.pmx-cmp .r .a{color:var(--px-mute)}
.pmx-cmp .r .b{font-weight:800;color:var(--px-acc)}
.pmx-cmp .r.hd span:last-child{color:var(--px-acc)}
.pmx-cmp .r:not(.hd) .b{background:rgba(182,243,106,.06);margin:-12px 0;padding:12px 0;align-self:stretch;display:flex;align-items:center;justify-content:center}
.pmx-cmp .ok{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--px-acc);color:#14200A}
.pmx-cmp .ok svg{width:14px;height:14px;stroke:#14200A}
.pmx-cmp .ok.dim{background:rgba(255,255,255,.12)}
.pmx-cmp .ok.dim svg{stroke:var(--px-ink)}
.pmx-soon{position:relative;display:flex;flex-direction:column;gap:10px}
.sn{display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;background:linear-gradient(135deg,rgba(182,243,106,.08),rgba(255,255,255,.03));border:1px solid var(--px-line);animation:rise .45s calc(.08s * var(--i)) both}
.sn .ic,.pmx-gift .ic{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(182,243,106,.12);color:var(--px-acc)}
.sn .tx{flex:1;display:flex;flex-direction:column;gap:3px}
.sn b{font-size:15.5px}.sn small{font-size:13px;line-height:1.35;color:var(--px-mute)}
.sn em{flex:none;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.03em;padding:5px 9px;border-radius:999px;color:var(--px-acc);border:1px solid rgba(182,243,106,.35);position:relative;overflow:hidden}
.sn em::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35),transparent 70%);transform:translateX(-120%);animation:pxSweep 3.2s calc(var(--i)*.4s) ease-in-out infinite}
@keyframes pxSweep{60%,100%{transform:translateX(120%)}}
.pmx-gift{margin-top:12px;display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;background:rgba(182,243,106,.1);border:1px solid rgba(182,243,106,.25);font-size:14px;line-height:1.45;font-weight:600}
.pmx-faq{border-radius:22px;background:var(--px-card);border:1px solid var(--px-line);overflow:hidden}
.pmx-faq details{border-top:1px solid var(--px-line)}
.pmx-faq details:first-child{border-top:0}
.pmx-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;font-size:15px;font-weight:700;cursor:pointer}
.pmx-faq summary::-webkit-details-marker{display:none}
.pmx-faq summary i{font-style:normal;font-size:22px;font-weight:400;color:var(--px-acc);transition:transform .25s}
.pmx-faq details[open] summary i{transform:rotate(45deg)}
.pmx-faq p{margin:0;padding:0 16px 15px;font-size:14px;line-height:1.5;color:var(--px-mute);animation:rise .3s both}
.pmx-trust{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:24px 20px 0}
.pmx-trust span{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:12px;line-height:1.3;color:var(--px-mute)}
.pmx-trust svg{color:var(--px-acc)}
.pmx-foot{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:22px 20px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(11,13,9,0),#0B0D09 38%);display:flex;flex-direction:column;align-items:center;gap:8px}
.pmx-go{position:relative;overflow:hidden;width:100%;height:58px;border:0;border-radius:18px;background:linear-gradient(135deg,#D4FF8F,#9BE04F 50%,#76C93A);color:#14200A;font:inherit;font-size:17px;font-weight:800;cursor:pointer;box-shadow:0 12px 34px rgba(150,230,80,.38);animation:rise .5s .6s both,pxPulse 2.8s 1.6s ease-in-out infinite}
.pmx-go:active{transform:scale(.97)}
.pmx-go span{position:relative;z-index:1}
.pmx-go i{position:absolute;top:0;bottom:0;width:60px;left:-80px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:skewX(-20deg);animation:pxGo 3s 1.2s ease-in-out infinite}
@keyframes pxGo{50%,100%{left:110%}}
@keyframes pxPulse{50%{box-shadow:0 12px 44px rgba(150,230,80,.6)}}
.pmx-foot small{font-size:12.5px;color:var(--px-mute)}
@media (prefers-reduced-motion:reduce){.pmx *,.pmx *::before,.pmx *::after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
.pmx-more{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:14px;padding:12px 14px;margin:6px 0 2px;background:rgba(166,212,58,.14);color:inherit;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.pmx-more span{font-size:20px;line-height:1}
/* v53 выбор способа оплаты */
.pmo-l{display:flex;flex-direction:column;gap:10px}
.pmo{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card,#fff);border:1.5px solid #e6e8e3;border-radius:18px;padding:14px;cursor:pointer;animation:rise .45s both;transition:transform .15s,border-color .2s,box-shadow .2s}
.pmo:nth-child(2){animation-delay:.08s}
.pmo:first-child{border-color:var(--acc,#9be15d);box-shadow:0 6px 18px rgba(120,190,60,.18)}
.pmo:active{transform:scale(.97)}
.pmo-i{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:21px;font-weight:800}
.pmo-i.rub{background:#141414;color:#b6f36a}
.pmo-i.star{background:linear-gradient(135deg,#ffe58a,#ffbf3c);animation:pmoTw 2.6s ease-in-out infinite}
.pmo-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pmo-t b{font-size:16px;color:#141414}
.pmo-t small,.pmo-p small{font-size:12.5px;color:#7a7f75;line-height:1.3}
.pmo-p{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.pmo-p b{font-size:16px;color:#141414;white-space:nowrap}
@keyframes pmoTw{0%,100%{transform:rotate(0)}50%{transform:rotate(-8deg) scale(1.06)}}
html.dark .pmo{background:#1b1c1a;border-color:#2c2e2a}
html.dark .pmo:first-child{border-color:var(--blk-acc,#b6f36a);box-shadow:0 6px 18px rgba(182,243,106,.12)}
html.dark .pmo-t b,html.dark .pmo-p b{color:#f2f3ef}
html.dark .pmo-t small,html.dark .pmo-p small{color:#9a9e95}
html.dark .pmo-i.rub{background:#b6f36a;color:#141414}

/* ---- экран скана фото (23.10, v2): фото на ВЕСЬ экран, луч по всему экрану, шаги — стеклянная карточка поверх ---- */
.scn{position:fixed;inset:0;max-width:520px;margin:0 auto;z-index:5;overflow:hidden;background:#0B0B0C;animation:scnin .35s ease both}
@keyframes scnin{from{opacity:0}to{opacity:1}}
.scn-bg{display:none}
.scn-stage{position:absolute;inset:0}
.scn-fr{position:absolute;inset:0;overflow:hidden;animation:scnzoom 7s ease-out both}
@keyframes scnzoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.scn-fr img{display:block;width:100%;height:100%;object-fit:cover}
.scn-fr::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.45) 0,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%)}
.scn.wait .scn-fr{display:flex;align-items:center;justify-content:center;background:radial-gradient(80% 60% at 50% 40%,#1E2614,#0B0B0C)}
.scn-ph0{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06)}
.scn-ph0 svg{width:64px;height:64px;opacity:.6;animation:scnpulse 1.4s ease-in-out infinite}
@keyframes scnpulse{50%{opacity:.25;transform:scale(.92)}}
.scn-c{position:absolute;z-index:3;width:44px;height:44px;border:3px solid #fff;filter:drop-shadow(0 0 8px rgba(166,212,58,.8));animation:scnc 2.4s ease-in-out infinite}
.scn-c.c1{left:22px;top:calc(var(--safe-t) + 24px);border-right:0;border-bottom:0;border-top-left-radius:18px;transform-origin:100% 100%}
.scn-c.c2{right:22px;top:calc(var(--safe-t) + 24px);border-left:0;border-bottom:0;border-top-right-radius:18px;transform-origin:0 100%}
.scn-c.c3{right:22px;bottom:calc(var(--safe-b) + 164px);border-left:0;border-top:0;border-bottom-right-radius:18px;transform-origin:0 0}
.scn-c.c4{left:22px;bottom:calc(var(--safe-b) + 164px);border-right:0;border-top:0;border-bottom-left-radius:18px;transform-origin:100% 0}
@keyframes scnc{50%{transform:scale(.9);opacity:.8}}
.scn-beam{position:absolute;z-index:2;left:0;right:0;top:-40%;height:40%;pointer-events:none;
  background:linear-gradient(to bottom,rgba(166,212,58,0) 0%,rgba(166,212,58,.06) 50%,rgba(166,212,58,.32) 100%);
  animation:scnbeam 3s cubic-bezier(.45,.05,.55,.95) infinite}
.scn-beam::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#F4FFD9;
  box-shadow:0 0 12px 3px rgba(166,212,58,.95),0 0 36px 8px rgba(166,212,58,.45)}
@keyframes scnbeam{0%{top:-40%}100%{top:100%}}
.scn-dots i{position:absolute;z-index:2;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 3px rgba(166,212,58,.9),0 0 14px rgba(166,212,58,.9);opacity:0;
  animation:scndot 3.2s ease-out infinite;animation-delay:calc(1.2s + var(--i) * .55s)}
.scn-dots i::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(166,212,58,.9);animation:scnring 1.6s ease-out infinite;animation-delay:inherit}
@keyframes scndot{0%{opacity:0;transform:scale(.3)}12%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.6)}}
@keyframes scnring{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.scn-p{position:absolute;z-index:4;left:12px;right:12px;bottom:calc(12px + var(--safe-b));padding:18px 18px 16px;border-radius:26px;
  display:flex;flex-direction:column;gap:12px;color:#fff;background:rgba(16,16,18,.62);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);
  box-shadow:0 12px 40px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.12);animation:rise .45s .15s both}
.scn-h{display:flex;flex-direction:column;gap:2px}
.scn-h small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.scn-h h2{margin:0;font-size:22px;font-weight:800;line-height:1.2;color:#fff}
.scn-cap{align-self:flex-start;max-width:100%;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.12);font-size:13px;font-weight:600;color:rgba(255,255,255,.85);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scn .scan-st{gap:6px}
.scn .scan-prog{background:rgba(255,255,255,.16);height:5px}
.scn .sst{display:none;color:#fff}
.scn .sst.cur{display:flex;animation:rise .35s both}
.scn .sst .sst-d{border-color:rgba(255,255,255,.25)}
.scn .sst.cur .sst-d{border-color:var(--acc);border-top-color:transparent}
.scn .sst{font-size:16px}
.scn .scan-note:not(:empty){background:rgba(255,255,255,.12);color:rgba(255,255,255,.9)}
@media (prefers-reduced-motion:reduce){.scn-beam,.scn-c,.scn-dots i,.scn-dots i::after,.scn-ph0 svg,.scn-fr{animation:none!important}.scn-dots i{opacity:1}.scn-beam{top:20%}}
.ph.txt-only .scan-box{width:96px;height:96px;margin:-62px 0 0 -48px}
.ph.txt-only .scan-box svg{width:100%;height:100%;stroke:var(--acc)}
.ph.txt-only .scan-line{left:6px;right:6px;top:6px;height:3px;background:#F4FFD9;box-shadow:0 0 10px 2px rgba(166,212,58,.8);animation-name:scanmove2}
@keyframes scanmove2{0%,100%{transform:translateY(0)}50%{transform:translateY(80px)}}
.ph img{cursor:zoom-in}
.phv{position:fixed;inset:0;z-index:60;background:#0B0B0C;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:scnin .25s ease both}
.phv.out{opacity:0;transition:opacity .2s}
.phv img{position:relative;max-width:100%;max-height:100%;object-fit:contain;animation:scnfr .35s cubic-bezier(.2,.9,.25,1.05) both}
.phv-x{position:absolute;z-index:1;top:calc(16px + var(--safe-t));right:16px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:18px;backdrop-filter:blur(8px)}
/* v58 как блюдо впишется в норму дня */
.dfit:empty{display:none}
.dfit{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:18px;background:var(--card);animation:rise .4s both}
.df-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px;color:var(--mute)}
.df-h b{font-size:17px;color:var(--ink);white-space:nowrap}.df-h small{font-size:13px;font-weight:600;color:var(--mute)}
.df-bar{position:relative;height:10px;border-radius:6px;background:var(--line,#E7E3DA);overflow:hidden}
.df-bar i{position:absolute;top:0;bottom:0;border-radius:6px}
.df-bar .was{left:0;background:#C9C4BA}
.df-bar .add{background:var(--acc);transform-origin:left;animation:dfGrow .7s .15s cubic-bezier(.2,1,.4,1) both}
.dfit.over .df-bar .add{background:#F2A33A}
.df-bar em{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink);opacity:.5}
.dfit p{margin:0;font-size:13.5px;line-height:1.45;color:var(--mute)}
.dfit.over p{color:#B26A10}
.dfit.ok p{color:#4E7A12}
@keyframes dfGrow{from{transform:scaleX(0)}}
html.dark .df-bar{background:#2A2C27}
html.dark .df-bar .was{background:#55584F}
html.dark .dfit.over p{color:#F2B25E}
html.dark .dfit.ok p{color:#A6D43A}

/* ---- запись задним числом: стрелки недель, плашка прошлого дня, «Записываем за вчера» (25.10) ---- */
.weekw{display:flex;align-items:center;gap:2px;margin:14px 10px 0}
.weekw .week{margin:0;flex:1}
.wk-a{flex:0 0 26px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--mute);font-size:24px;font-weight:600;line-height:1;padding:0 0 3px;display:flex;align-items:center;justify-content:center;transition:transform .18s cubic-bezier(.3,1.4,.5,1),background .2s}
.wk-a:active:not(:disabled){transform:scale(.86);background:var(--card)}
.wk-a:disabled{opacity:.25}
.pastbar{margin:12px 20px 0;padding:12px 12px 12px 14px;border-radius:18px;background:#EEF7D6;color:#3E5A10;display:flex;align-items:center;gap:12px;animation:pb-in .45s cubic-bezier(.2,.8,.2,1) both}
.pastbar.ro{background:var(--card);color:var(--ink)}
.pb-ic{flex:0 0 34px;height:34px;border-radius:12px;background:var(--acc);color:#141414;display:flex;align-items:center;justify-content:center}
.pb-ic svg{stroke:currentColor}
.pastbar.ro .pb-ic{background:var(--line);color:var(--mute)}
.pb-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.pb-t b{font-size:14px;font-weight:800}
.pb-t small{font-size:12px;line-height:1.35;opacity:.8}
.pastbar.ro .pb-t small{color:var(--mute);opacity:1}
.pb-go{flex-shrink:0;border:0;border-radius:999px;padding:8px 12px;background:var(--blk);color:var(--on-blk);font-size:12.5px;font-weight:800}
.pb-go:active{transform:scale(.94)}
@keyframes pb-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}100%{opacity:1;transform:none}}
.fab.past::after{content:"";position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--blk);border:3px solid var(--bg)}
.logday{margin:4px 20px 6px;padding:12px 12px 12px 14px;border-radius:18px;background:var(--blk);color:var(--on-blk);display:flex;align-items:center;gap:12px;animation:pb-in .45s cubic-bezier(.2,.8,.2,1) both}
.ld-ic{flex:0 0 34px;height:34px;border-radius:12px;background:var(--acc);color:#141414;display:flex;align-items:center;justify-content:center}
.ld-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ld-t small{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blk-acc)}
.ld-t b{font-size:16px;font-weight:800}
.ld-x{flex-shrink:0;border:0;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.14);color:var(--on-blk);font-size:12.5px;font-weight:800}
.rpast{display:inline-block;padding:3px 9px;border-radius:999px;background:#EEF7D6;color:#3E5A10;font-weight:800}
html.dark .pastbar{background:#1F2A0E;color:#D8F09A}
html.dark .rpast{background:#1F2A0E;color:#D8F09A}
html.dark .ld-x{background:rgba(255,255,255,.12)}
html.dark .logday{border:1px solid #2A3517}
html.dark .logday{--blk:#1E2417;--on-blk:#F2F1EC;--blk-acc:#A6D43A}
.fab.past::after{background:#141414}
html.dark .fab.past::after{background:#F2F1EC}

/* ---- эксклюзивные значки у имени (v60) ---- */
.bm{position:relative;display:inline-block;width:var(--s);height:var(--s);flex-shrink:0;border-radius:50%;vertical-align:middle;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.bm svg{display:block;width:100%;height:100%}
.bm::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;mix-blend-mode:overlay;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.95) 48%,transparent 60%) no-repeat;background-size:260% 100%;
  animation:bdsweep 3.4s cubic-bezier(.45,0,.25,1) infinite}
.bm.glow{filter:drop-shadow(0 0 6px var(--gl)) drop-shadow(0 1px 2px rgba(0,0,0,.35));animation:bdglow 2.6s ease-in-out infinite}
.bm.inl{vertical-align:-3px;margin-left:2px}
@keyframes bdsweep{0%,55%{background-position:160% 0}100%{background-position:-60% 0}}
@keyframes bdglow{50%{filter:drop-shadow(0 0 11px var(--gl)) drop-shadow(0 1px 2px rgba(0,0,0,.35))}}
@keyframes bdshine{from{background-position:180% 0}to{background-position:-80% 0}}
/* имя, отлитое в металле */
.bdn{background:linear-gradient(100deg,var(--m4) 0%,var(--m2) 30%,var(--m4) 46%,var(--m2) 54%,var(--m4) 100%);background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:bdshine 5s linear infinite}
html.dark .bdn{background-image:linear-gradient(100deg,var(--m2) 0%,var(--m1) 32%,#FFFFFF 46%,var(--m3) 54%,var(--m2) 100%)}
.hello-n{display:flex;align-items:center;gap:8px;min-width:0}
.hello-b{border:0;background:transparent;padding:0;display:flex;flex-shrink:0;animation:bdin .7s .2s cubic-bezier(.3,1.6,.5,1) both}
.hello-b:active{transform:scale(.9)}
@keyframes bdin{0%{transform:scale(0) rotate(-120deg);opacity:0}100%{transform:none;opacity:1}}
/* плашка с названием */
.bdg{position:relative;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px 0 4px;border-radius:15px;
  border:1px solid transparent;background:linear-gradient(180deg,#1C1A17,#0A0A0B) padding-box,linear-gradient(120deg,var(--m1),var(--m2) 30%,var(--m3) 55%,var(--m4) 80%,var(--m5)) border-box;
  box-shadow:0 0 16px -4px var(--gl),inset 0 1px 0 rgba(255,255,255,.08);animation:pop .5s .2s cubic-bezier(.3,1.5,.5,1) both;overflow:visible}
.bdg:active{transform:scale(.96)}
.bdg-t{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  background:linear-gradient(100deg,var(--m2) 0%,var(--m1) 36%,#FFFFFF 48%,var(--m3) 60%,var(--m2) 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:bdshine 3.6s linear infinite}
.bdg-sp{position:absolute;right:-3px;top:-4px;width:9px;height:9px;pointer-events:none;background:var(--m1);
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:bdtw 2.4s ease-in-out infinite}
.bdg-sp.b{right:auto;left:20px;top:auto;bottom:-4px;width:7px;height:7px;animation-delay:1.2s}
@keyframes bdtw{0%,100%{transform:scale(0) rotate(0);opacity:0}45%{transform:scale(1) rotate(90deg);opacity:1}70%{transform:scale(.4) rotate(140deg);opacity:.6}}
.who3-t .bdg{margin:1px 0 2px}
.ava-bm{position:absolute;right:6px;bottom:6px;display:flex;animation:bdin .7s .35s cubic-bezier(.3,1.6,.5,1) both}
.ava-bm .bm{border-radius:50%;box-shadow:0 0 0 2.5px var(--bg)}
/* витрина значка (всегда темная) */
.sheet.bdx-sheet{background:radial-gradient(120% 70% at 50% 0,#211D16 0%,#0B0B0C 62%) #0B0B0C;color:#F3EEE5}
.sheet.bdx-sheet .grab{background:#3A362F}
.bdx,.bdc-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.bdx-stage{position:relative;width:250px;height:210px;display:flex;align-items:center;justify-content:center;margin:-4px 0 -6px}
.bdx-rays{position:absolute;left:50%;top:50%;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--gl) 26%,transparent) 0 6deg,transparent 6deg 18deg);
  -webkit-mask:radial-gradient(closest-side,#000 18%,transparent 72%);mask:radial-gradient(closest-side,#000 18%,transparent 72%);animation:bdspin 26s linear infinite}
.bdx-halo{position:absolute;left:50%;top:50%;width:190px;height:190px;margin:-95px 0 0 -95px;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--gl) 55%,transparent),transparent);animation:bdhalo 3s ease-in-out infinite}
.bdx-sp i{position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;background:var(--m1);
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:bdtw 2.8s calc(var(--i) * .31s) ease-in-out infinite}
.bdx-m{filter:drop-shadow(0 0 18px var(--gl)) drop-shadow(0 10px 16px rgba(0,0,0,.6));animation:bdfloat 4.2s ease-in-out infinite}
@keyframes bdspin{to{transform:rotate(360deg)}}
@keyframes bdhalo{50%{transform:scale(1.12);opacity:.75}}
@keyframes bdfloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
.bdx-kick{font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--m2);
  background:linear-gradient(90deg,var(--m2),var(--m1),var(--m2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.bdx-t{margin:0;font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-size:40px;font-weight:800;line-height:1.05;letter-spacing:.01em;
  background:linear-gradient(100deg,var(--m2) 0%,var(--m1) 34%,#FFFFFF 47%,var(--m3) 58%,var(--m2) 100%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:bdshine 4s linear infinite;
  filter:drop-shadow(0 2px 10px color-mix(in srgb,var(--gl) 35%,transparent))}
.bdx-p{margin:0;max-width:300px;font-size:15px;line-height:1.45;color:#CFC8BC}
.bdx-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;width:100%;margin-top:6px;border-radius:18px;
  border:1px solid transparent;background:linear-gradient(#141312,#141312) padding-box,linear-gradient(120deg,var(--m4),var(--m2),var(--m4)) border-box}
.bdx-row div{padding:12px 6px;display:flex;flex-direction:column;gap:3px}
.bdx-row div+div{border-left:1px solid #2C2925}
.bdx-row small{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#928B80}
.bdx-row b{font-size:14px;color:#F3EEE5}
.bdx-f{margin:2px 0 0;font-size:12px;line-height:1.4;color:#928B80;max-width:290px}
.btn.bdx-ok{background:#1E1C19;color:#F3EEE5;border:1px solid #2C2925;margin-top:4px}
.btn.bdx-ok.gold{border:0;color:#1A1307;background:linear-gradient(100deg,var(--m4),var(--m2) 25%,var(--m1) 50%,var(--m2) 75%,var(--m4));background-size:200% 100%;
  animation:bdshine 3.2s linear infinite;box-shadow:0 8px 26px -8px var(--gl)}
/* церемония вручения */
.bdc{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(5,5,6,0);transition:background .35s;overflow:hidden}
.bdc.on{background:radial-gradient(90% 60% at 50% 40%,rgba(30,26,20,.94),rgba(4,4,5,.97));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bdc-box{position:relative;width:100%;max-width:390px;color:#F3EEE5;opacity:0;transform:translateY(24px) scale(.96);transition:opacity .4s,transform .5s cubic-bezier(.2,.9,.3,1.1)}
.bdc.on .bdc-box{opacity:1;transform:none}
.bdc-box .bdx-stage{width:300px;height:250px}
.bdc.on .bdx-m{animation:bdflip 1.3s .15s cubic-bezier(.2,.9,.3,1.15) both,bdfloat 4.2s 1.5s ease-in-out infinite}
@keyframes bdflip{0%{transform:scale(.2) rotateY(540deg);opacity:0}60%{opacity:1}100%{transform:scale(1) rotateY(0)}}
.bdc .bdx-t{font-size:46px}
.bdc-n{margin:0;font-size:13px;font-weight:700;color:var(--m1)}
.bdc-f{font-size:12px;color:#928B80}
/* панель админа: выбор значка */
.adb{border-radius:22px;padding:14px;background:linear-gradient(180deg,#1A1815,#0D0D0E);color:#F3EEE5;display:flex;flex-direction:column;gap:12px}
.adb-h{display:flex;flex-direction:column;gap:3px}.adb-h b{font-size:15px}.adb-h small{font-size:12px;color:#A39C90;line-height:1.35}
.adb-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.adb-o{border:1px solid #2C2925;background:#141312;border-radius:16px;padding:10px 2px 8px;display:flex;flex-direction:column;align-items:center;gap:5px;color:#F3EEE5;
  animation:rise .35s calc(var(--i) * 40ms) both;transition:transform .15s,border-color .2s}
.adb-o:active{transform:scale(.94)}
.adb-o b{font-size:11px;font-weight:800;line-height:1.15}
.adb-o small{font-size:10px;color:#857E73}
.adb-o.on{border-color:#C9A768;background:linear-gradient(180deg,#2A251C,#141312);box-shadow:0 0 0 1px #C9A768 inset}
.adb-o.on b{color:#E8D2A0}
.adb-o.busy{opacity:.55}
.adb-x{border:0;background:transparent;color:#DC7664;font-size:14px;font-weight:700;padding:4px}
@media (prefers-reduced-motion:reduce){.bm::after,.bm.glow,.bdn,.bdg-t,.bdg-sp,.bdx-rays,.bdx-halo,.bdx-sp i,.bdx-m,.bdx-t,.btn.bdx-ok.gold{animation:none!important}}
.sheet:has(.adb){max-height:92vh;overflow-y:auto}
.hello-n h1{min-width:0}
.sheet:has(.adb)>*{flex-shrink:0}
/* v62 польза дня на «Сегодня» */
.msc.dsc{margin:12px 20px 0;width:calc(100% - 40px)}
.dsc-l{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsc-r{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px;background:rgba(128,128,128,.1)}
.dsc-r span{font-size:12.5px;font-weight:700;color:var(--mute)}
.dsc-r b{font-size:15px;line-height:1.35}
.dsc-r.g span{color:#4E7A12}.dsc-r.b span{color:#B85A1E}
html.dark .dsc-r.g span{color:#A6D43A}html.dark .dsc-r.b span{color:#F0A070}
/* v63: «Сегодня» — блюда под остаток дня (без дубля скана продуктов из «Питания») */
.ctz-h{align-items:center}
.ctz-left{display:flex;align-items:center;gap:12px;min-width:0}
.ctz-ic{flex:0 0 auto;width:46px;height:46px;border-radius:16px;background:var(--acc);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -10px rgba(120,160,20,.9)}
.ctz-ic svg{width:24px;height:24px}
.ctz-h .ctz-left b{margin:0;font-size:20px}
.ctz-h .ctz-left small{margin-top:3px}
.ctz-row{margin-bottom:2px}
.ctz-pr{position:absolute;top:9px;left:9px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#141414;font-size:11px;font-weight:800;white-space:nowrap}
.ctz-fit{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.3);overflow:hidden;margin-top:3px}
.ctz-fit i{display:block;height:100%;width:calc(var(--k)*100%);border-radius:4px;background:#C6F04F;transform-origin:left;animation:ctzfit .9s calc(.3s + var(--i,0)*.08s) cubic-bezier(.2,.8,.2,1) both}
@keyframes ctzfit{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.ctz-fit i{animation:none}}
/* v64: «Как вчера» на «Сегодня» */
.agn{position:relative;display:flex;align-items:center;gap:12px;margin:10px 20px 0;padding:14px 34px 14px 12px;border-radius:22px;background:var(--card);
  box-shadow:inset 0 0 0 1.5px rgba(166,212,58,.55);animation:rise .5s cubic-bezier(.2,.8,.2,1) both;transition:opacity .35s,transform .35s}
.agn.gone{opacity:0;transform:translateY(-6px) scale(.98)}
.agn-pics{flex:0 0 auto;display:flex}
.agn-pics i{width:44px;height:44px;border-radius:14px;overflow:hidden;border:2.5px solid var(--card);margin-left:-16px;background:var(--tile);display:flex;align-items:center;justify-content:center;
  transform:rotate(calc((var(--i) - 1) * 5deg))}
.agn-pics i:first-child{margin-left:0}
.agn-pics img{width:100%;height:100%;object-fit:cover}
.agn-pics .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.agn-pics .ph svg{width:20px;height:20px}
.agn-t{flex:1;min-width:0}
.agn-t b{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em}
.agn-t small{display:block;margin-top:2px;font-size:12.5px;line-height:1.35;font-weight:600;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.agn-go{flex:0 0 auto;border:0;width:46px;height:46px;border-radius:50%;background:var(--acc);color:#141414;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -10px rgba(120,160,20,.9)}
.agn-go svg{width:22px;height:22px}
.agn-go:active{transform:scale(.95)}
.agn-go:disabled{opacity:.6}
.agn-x{position:absolute;top:4px;right:4px;width:28px;height:28px;border:0;border-radius:50%;background:none;color:var(--mute);font-size:13px}
html.dark .agn-go svg *{stroke:#141414}
/* v65: «Подстройка нормы» в «Прогресс → Тело» */
.adp{margin-top:12px;padding:18px 18px 16px;display:flex;flex-direction:column;align-items:stretch;gap:10px;position:relative;overflow:hidden}
.adp.sug{background:radial-gradient(120% 80% at 100% 0%,#EEF7D6,rgba(238,247,214,0) 60%),var(--card)}
html.dark .adp.sug{background:radial-gradient(120% 80% at 100% 0%,rgba(166,212,58,.16),rgba(166,212,58,0) 60%),var(--card)}
.adp-top{display:flex;align-items:center;gap:12px}
.adp-top>span:nth-child(2){flex:1;min-width:0}
.adp-top small{display:block;font-size:12.5px;font-weight:800;color:var(--mute)}
.adp-top b{display:block;margin-top:2px;font-size:19px;font-weight:800;letter-spacing:-.02em}
.adp-ic{flex:0 0 auto;width:44px;height:44px;border-radius:15px;background:#FDF0E2;display:flex;align-items:center;justify-content:center}
html.dark .adp-ic{background:#3A2A18}
.adp-ok{width:30px;height:30px;border-radius:50%;background:#2BB673;color:#FFFFFF;display:flex;align-items:center;justify-content:center;font-weight:900}
.adp-sub{margin:0;font-size:13.5px;line-height:1.45;font-weight:600;color:var(--mute)}
.adp-need{display:flex;flex-direction:column;gap:5px}
.adp-need>span{display:block;height:8px;border-radius:8px;background:var(--line);overflow:hidden}
.adp-need i{display:block;height:100%;width:calc(var(--p)*100%);border-radius:8px;background:var(--acc);transform-origin:left;animation:ctzfit .9s .2s cubic-bezier(.2,.8,.2,1) both}
.adp-need small{font-size:12.5px;font-weight:600;color:var(--mute)}
.adp-need b{color:var(--ink)}
.adp-w{align-self:flex-start;border:0;height:40px;padding:0 16px;border-radius:13px;background:var(--bg);color:var(--ink);font:inherit;font-size:14px;font-weight:800}
.adp-ch{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.adp-ch s{font-size:20px;font-weight:700;color:var(--mute)}
.adp-ch>span{font-size:18px;color:var(--mute)}
.adp-ch b{font-size:34px;line-height:1;font-weight:800;letter-spacing:-.03em}
.adp-ch small{font-size:13px;font-weight:700;color:var(--mute)}
.adp-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.adp-facts span{padding:9px 10px;border-radius:14px;background:var(--bg)}
.adp-facts small{display:block;font-size:11px;font-weight:700;color:var(--mute)}
.adp-facts b{display:block;margin-top:2px;font-size:13.5px;font-weight:800}
.adp-b{display:flex;gap:8px;margin-top:2px}
.adp-b .btn{flex:1;height:52px;border-radius:17px;font-size:15px}
.adp-l{display:flex;align-items:center;justify-content:center;border:0;padding:0 18px;border-radius:17px;background:var(--bg);color:var(--ink);font:inherit;font-size:15px;font-weight:800}
.adp-sub b{color:var(--ink)}

/* «До и после» пока «Скоро» */
.ba-pr.ba-soon{background:var(--acc);color:#151A0B;letter-spacing:.02em}
.ba.soon .ba-f.demo .fig{animation:baw 2.6s ease-in-out infinite}
.bx-soon{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:999px;background:var(--px-acc,#B6F36A);color:#151A0B;font-style:normal;font-size:10px;font-weight:800;vertical-align:2px;text-transform:uppercase;letter-spacing:.04em}
