:root{--bg:#F2F2F7;--card:#fff;--label:#000;--l2:rgba(60,60,67,.6);--l3:rgba(60,60,67,.3);--sep:rgba(60,60,67,.18);--fill:rgba(120,120,128,.12);
--acc:#E8789A;--acc2:#F6B8CB;--accbg:#FDEEF3;--blue:#007AFF;--green:#34C759;--orange:#FF9500;--red:#FF3B30;--r:12px;
--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif;--safe-b:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--label);font-family:var(--font);font-size:17px;line-height:1.3;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}
body{overflow-x:hidden}
button,input,textarea,select{font:inherit;color:inherit}
a{color:var(--blue);text-decoration:none}
#desk{display:none}
#app{position:relative;max-width:430px;margin:0 auto;min-height:100vh;background:var(--bg);overflow-x:hidden}
@media(min-width:760px){body{background:linear-gradient(160deg,#F7F0F3,#ECEEF5)}#app{margin:28px auto;min-height:calc(100vh - 56px);height:calc(100vh - 56px);border-radius:38px;box-shadow:0 30px 80px rgba(40,20,60,.18),0 0 0 10px #fff,0 0 0 11px rgba(0,0,0,.06);overflow:hidden}
 #scroll{height:100%;overflow-y:auto;overflow-x:hidden}}
@media(min-width:1100px){#desk{display:block;position:fixed;left:calc(50% - 215px - 360px);top:50%;transform:translateY(-50%);width:300px}
 #desk h1{font-size:44px;font-weight:700;letter-spacing:-.03em;margin:0 0 8px}#desk p{color:var(--l2);font-size:15px;line-height:1.45}}
.page{padding:0 16px calc(110px + var(--safe-b))}
.page.nopad{padding-bottom:40px}
/* навбар */
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;height:48px;padding:0 8px;background:rgba(242,242,247,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:.5px solid transparent;transition:border-color .2s}
.nav.sc{border-bottom-color:var(--sep)}
.nav .t{position:absolute;left:60px;right:60px;text-align:center;font-weight:600;font-size:17px;opacity:0;transition:opacity .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.nav.sc .t{opacity:1}
.nav .bk{display:flex;align-items:center;gap:2px;color:var(--acc);background:none;border:0;font-size:17px;padding:8px;cursor:pointer}
.nav .sp{flex:1}
.nav .ib{width:36px;height:36px;border-radius:18px;border:0;background:none;color:var(--acc);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lt{font-size:34px;font-weight:700;letter-spacing:-.025em;margin:4px 4px 12px;line-height:1.1}
.sub{color:var(--l2);font-size:15px;margin:-6px 4px 14px}
.h2{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:24px 4px 8px}
.sh{font-size:13px;text-transform:uppercase;color:var(--l2);margin:22px 16px 7px;letter-spacing:.02em}
.foot{font-size:13px;color:var(--l2);margin:7px 16px 0;line-height:1.4}
/* группы iOS */
.grp{background:var(--card);border-radius:var(--r);overflow:hidden}
.row{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 16px;position:relative;background:var(--card);border:0;width:100%;text-align:left;cursor:default}
button.row,a.row{cursor:pointer;color:inherit}
button.row:active,a.row:active{background:#E5E5EA}
.row+.row::before{content:"";position:absolute;top:0;left:16px;right:0;height:.5px;background:var(--sep)}
.row.ic+.row::before,.grp.ic .row+.row::before{left:58px}
.row .tx{flex:1;min-width:0}.row .tt{font-size:17px}.row .ds{font-size:13px;color:var(--l2);margin-top:2px}
.row .vl{color:var(--l2);font-size:17px;white-space:nowrap}
.chev{color:var(--l3);flex:none}
.sq{width:30px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:12px}
.glass{background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,240,246,.62));-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 30px rgba(232,120,154,.10)}
/* кнопки */
.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border-radius:14px;border:0;background:var(--acc);color:#fff;font-size:17px;font-weight:600;cursor:pointer;transition:transform .1s,opacity .15s}
.btn:active{transform:scale(.98);opacity:.85}
.btn.sec{background:var(--accbg);color:#C2406B}.btn.gray{background:var(--fill);color:var(--label)}.btn.black{background:#000;color:#fff}.btn.white{background:#fff;color:#000;border:1px solid var(--sep)}
.btn.sm{height:36px;border-radius:18px;font-size:15px;width:auto;padding:0 16px}
.btn[disabled]{opacity:.4}
.link{background:none;border:0;color:var(--acc);font-size:17px;cursor:pointer;padding:8px}
.pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:16px;background:var(--card);border:0;font-size:15px;cursor:pointer;white-space:nowrap}
.pill.on{background:var(--acc);color:#fff}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 4px 6px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.wrapchips{display:flex;flex-wrap:wrap;gap:8px}
/* сегменты */
.seg{display:flex;background:var(--fill);border-radius:9px;padding:2px;margin:0 0 14px}
.seg button{flex:1;height:30px;border:0;background:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;color:var(--label)}
.seg button.on{background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.12),0 3px 1px rgba(0,0,0,.04)}
/* тумблер */
.tg{position:relative;width:51px;height:31px;flex:none}.tg input{opacity:0;width:0;height:0;position:absolute}
.tg span{position:absolute;inset:0;background:#E9E9EA;border-radius:16px;transition:.25s;cursor:pointer}
.tg span::after{content:"";position:absolute;left:2px;top:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 3px 1px rgba(0,0,0,.06);transition:.25s}
.tg input:checked+span{background:var(--green)}.tg input:checked+span::after{transform:translateX(20px)}
/* поля */
.inp{width:100%;height:44px;border:0;background:var(--card);border-radius:10px;padding:0 14px;font-size:17px;outline:none}
textarea.inp{height:auto;min-height:90px;padding:12px 14px;resize:vertical}
.search{display:flex;align-items:center;gap:6px;background:var(--fill);border-radius:10px;height:36px;padding:0 8px;color:var(--l2)}
.search input{flex:1;border:0;background:none;outline:none;font-size:17px;min-width:0}
/* таббар */
.tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;z-index:30;display:flex;justify-content:space-around;align-items:flex-start;padding:6px 4px calc(6px + var(--safe-b));background:rgba(249,249,249,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--sep)}
@media(min-width:760px){.tabs{position:absolute;bottom:0}}
.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;color:#999;font-weight:500;padding-top:2px}
.tabs a.on{color:var(--acc)}
.tabs a.plus{transform:translateY(-2px)}.tabs a.plus .pc{width:44px;height:44px;border-radius:22px;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(232,120,154,.4)}
/* ИИ-кнопка */
.aib{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;border:0;background:linear-gradient(135deg,#FCE4EC,#EDE7F6);color:#8E3B5E;font-size:15px;font-weight:600;cursor:pointer}
.aicard{background:linear-gradient(135deg,#FFF5F8,#F5F0FF);border-radius:16px;padding:14px 16px;margin-bottom:12px;border:1px solid rgba(232,120,154,.15)}
.aicard .hd{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#8E3B5E;margin-bottom:6px}
.aicard p{margin:4px 0;font-size:15px;line-height:1.45}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:13px;font-weight:600;background:var(--fill);color:var(--l2);white-space:nowrap}
.tag.demo{background:#FFF4E0;color:#B86E00}.tag.ok{background:#E8F8EC;color:#1E8E3E}.tag.warn{background:#FFF4E0;color:#B86E00}.tag.bad{background:#FFEBEA;color:#D70015}.tag.acc{background:var(--accbg);color:#C2406B}.tag.blue{background:#E5F1FF;color:#0062CC}
/* шит */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:50;opacity:0;transition:opacity .25s}
.ov.on{opacity:1}
.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%,100%);width:100%;max-width:430px;max-height:88vh;overflow-y:auto;background:var(--bg);border-radius:14px 14px 0 0;z-index:51;transition:transform .3s cubic-bezier(.2,.8,.2,1);padding:8px 16px calc(24px + var(--safe-b))}
.sheet.on{transform:translate(-50%,0)}
.sheet .grab{width:36px;height:5px;border-radius:3px;background:var(--l3);margin:0 auto 10px}
.toast{position:fixed;left:50%;top:18px;transform:translate(-50%,-80px);background:rgba(30,30,30,.92);color:#fff;padding:10px 18px;border-radius:20px;font-size:15px;z-index:80;transition:transform .3s;max-width:90%;text-align:center}
.toast.on{transform:translate(-50%,0)}
/* онбординг */
.prog{display:flex;gap:6px;margin:8px 4px 18px}.prog i{flex:1;height:4px;border-radius:2px;background:var(--fill)}.prog i.on{background:var(--acc)}
.hero{text-align:center;padding:34px 10px 10px}
.logo{width:96px;height:96px;border-radius:24px;margin:0 auto 18px;background:linear-gradient(145deg,#FFE3EC,#F3D8F5 60%,#E3E9FF);box-shadow:inset 0 1px 0 #fff,0 10px 30px rgba(232,120,154,.25);display:flex;align-items:center;justify-content:center}
.opt{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border-radius:14px;margin-bottom:8px;border:2px solid transparent;cursor:pointer;width:100%;text-align:left}
.opt.on{border-color:var(--acc);background:#FFF7FA}
/* кольцо и метрики */
.ring{position:relative;display:inline-block}.ring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.big{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mt{background:var(--card);border-radius:14px;padding:12px 14px;border:0;text-align:left;cursor:pointer}
.mt .n{font-size:13px;color:var(--l2)}.mt .v{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:2px 0}.bar{height:6px;border-radius:3px;background:var(--fill);overflow:hidden}.bar i{display:block;height:100%;border-radius:3px;background:var(--acc)}
/* скан */
.cam{position:relative;border-radius:22px;overflow:hidden;background:#111;aspect-ratio:3/4;margin-bottom:12px}
.cam video,.cam img,.cam canvas.ph{width:100%;height:100%;object-fit:cover;display:block}
.cam video.mir{transform:scaleX(-1)}
.cam .guide{position:absolute;left:50%;top:46%;width:62%;height:64%;transform:translate(-50%,-50%);border:3px dashed rgba(255,255,255,.75);border-radius:50%;transition:border-color .3s}
.cam .guide.ok{border-color:var(--green);border-style:solid}
.cam .lite{position:absolute;left:12px;top:12px;right:12px;display:flex;gap:8px;align-items:center;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:12px;padding:8px 12px;font-size:13px}
.dot{width:10px;height:10px;border-radius:5px;background:var(--orange);flex:none}.dot.ok{background:var(--green)}.dot.bad{background:var(--red)}
.cam .ovl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.shots{display:flex;gap:8px;margin-bottom:12px}.shots>div{flex:1;background:var(--card);border-radius:12px;padding:8px;text-align:center;font-size:13px;color:var(--l2)}.shots>div.on{outline:2px solid var(--acc)}.shots>div.done{color:var(--green)}
.shots img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block;margin-bottom:4px;background:var(--fill)}
/* полка */
.shelfwrap{margin:0 -16px;position:relative}
.shelf{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x proximity;padding:0 16px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.shelf::-webkit-scrollbar{display:none}
.bay{flex:none;display:flex;flex-direction:column;scroll-snap-align:start;margin-right:22px}
.bay .bh{font-size:13px;font-weight:600;color:var(--l2);padding:0 2px 6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}
.bay .items{display:flex;align-items:flex-end;gap:12px;height:190px;padding:0 10px}
.it{flex:none;width:84px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;cursor:pointer;border:0;background:none;padding:0;position:relative}
.it img,.it .sil{max-width:84px;max-height:172px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.18));transition:transform .2s}
.it:active img{transform:translateY(-4px) scale(1.03)}
.it .st{position:absolute;top:4px;right:2px;width:10px;height:10px;border-radius:5px;border:2px solid #fff}
.it.wish img{opacity:.45;filter:grayscale(.4)}
.plank{height:18px;margin:0 0 0;border-radius:3px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(250,225,235,.55) 40%,rgba(232,120,154,.18));border:1px solid rgba(255,255,255,.9);box-shadow:0 14px 24px -8px rgba(232,120,154,.35),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lbls{display:flex;gap:12px;padding:6px 10px 0}.lbls div{width:84px;font-size:13px;line-height:1.2;color:var(--l2);text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.shelfbg{background:linear-gradient(180deg,#fff 0%,#FBF3F6 100%);border-radius:22px;padding:16px 0 14px;margin:0 16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}
.scrub{height:4px;background:var(--fill);border-radius:2px;margin:10px 32px 0;position:relative}.scrub i{position:absolute;top:0;height:4px;border-radius:2px;background:var(--acc)}
/* список */
.thumb{width:44px;height:56px;object-fit:contain;flex:none}
.meter{width:54px;flex:none;text-align:right;font-size:13px;color:var(--l2)}
/* продукт */
.phero{display:flex;gap:14px;align-items:center}.phero img{width:96px;height:140px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.15))}
.verdict{border-radius:16px;padding:14px 16px;margin:12px 0;background:linear-gradient(135deg,#E9F9EE,#F2FBF5)}.verdict.warn{background:linear-gradient(135deg,#FFF6E6,#FFFAF0)}.verdict.bad{background:linear-gradient(135deg,#FFEDEC,#FFF5F5)}
.fmap{display:flex;height:14px;border-radius:7px;overflow:hidden;margin:8px 0}
.leg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px;color:var(--l2)}.leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.steps .row .ck{width:24px;height:24px;border-radius:12px;border:2px solid var(--l3);display:flex;align-items:center;justify-content:center;flex:none;transition:.2s}
.steps .row.done .ck{background:var(--green);border-color:var(--green);color:#fff}
.steps .row.run .ck{border-color:var(--acc);border-top-color:transparent;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{width:20px;height:20px;border:2.5px solid var(--acc2);border-top-color:var(--acc);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}
/* сегодня */
.trow{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--card);position:relative;cursor:pointer;width:100%;border:0;text-align:left}
.trow+.trow::before{content:"";position:absolute;top:0;left:72px;right:0;height:.5px;background:var(--sep)}
.trow img{width:40px;height:52px;object-fit:contain;flex:none}
.trow .ck{width:28px;height:28px;border-radius:14px;border:2px solid var(--l3);display:flex;align-items:center;justify-content:center;flex:none;color:#fff;transition:.2s}
.trow.done .ck{background:var(--acc);border-color:var(--acc)}.trow.done .tt{color:var(--l2);text-decoration:line-through}
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.qa button{background:var(--card);border:0;border-radius:14px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.qa .sq{width:36px;height:36px;border-radius:10px}
/* рутина */
.drag{touch-action:none;cursor:grab;color:var(--l3);padding:6px}
.row.dragging{box-shadow:0 10px 30px rgba(0,0,0,.18);z-index:5;transform:scale(1.02)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal button{border:0;border-radius:10px;padding:8px 2px;font-size:13px;background:var(--card);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.cal b{font-weight:600}
/* дневник */
.days{display:flex;gap:6px;margin:0 -16px;padding:0 16px 4px;overflow-x:auto;scrollbar-width:none}.days::-webkit-scrollbar{display:none}
.days button{flex:none;width:46px;padding:8px 0;border-radius:14px;border:0;background:var(--card);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;cursor:pointer;color:var(--l2)}
.days button b{font-size:17px;color:var(--label)}.days button.on{background:var(--acc);color:#fff}.days button.on b{color:#fff}.days button i{width:5px;height:5px;border-radius:3px;background:transparent}.days button i.has{background:var(--acc)}.days button.on i.has{background:#fff}
.moods{display:flex;justify-content:space-between}.moods button{width:54px;height:54px;border-radius:27px;border:0;background:var(--card);font-size:26px;cursor:pointer;filter:grayscale(1);opacity:.6}.moods button.on{filter:none;opacity:1;background:var(--accbg);box-shadow:0 0 0 2px var(--acc)}
.phgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.phgrid button{aspect-ratio:3/4;border-radius:12px;border:0;background:var(--card);overflow:hidden;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--l2);font-size:13px}
.phgrid img{width:100%;height:100%;object-fit:cover}
/* график */
.chart svg{width:100%;height:auto;display:block}
.delta{font-weight:600}.delta.up{color:var(--green)}.delta.dn{color:var(--red)}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cmp>div{background:var(--card);border-radius:14px;overflow:hidden;text-align:center;font-size:13px;color:var(--l2);padding-bottom:6px}.cmp img,.cmp .ph0{width:100%;aspect-ratio:3/4;object-fit:cover;display:flex;align-items:center;justify-content:center;background:var(--fill)}
/* зоны */
.zmap{position:relative;max-width:260px;margin:0 auto}
.zmap svg{width:100%;display:block}
.small{font-size:13px;color:var(--l2)}
.muted{color:var(--l2)}
.center{text-align:center}
.gap{height:12px}.gap2{height:24px}
.flex{display:flex;align-items:center;gap:8px}.between{justify-content:space-between}
.chat{display:flex;flex-direction:column;gap:8px;margin:10px 0}.bub{max-width:88%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.45;white-space:pre-wrap}.bub.me{align-self:flex-end;background:var(--acc);color:#fff;border-bottom-right-radius:6px}.bub.ai{align-self:flex-start;background:#fff;border-bottom-left-radius:6px}
.hide{display:none!important}
.row .tx .small,.row .tx>.ds{display:block;margin-top:2px;font-size:13px;color:var(--l2);line-height:1.3}.row .tx{line-height:1.25}
.btn3 .btn{flex:1;white-space:nowrap;padding-left:8px;padding-right:8px}
.guide{pointer-events:none}#camov{z-index:3}
.cam #camov{pointer-events:auto}
.seg.seg3 button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;padding:0 4px;letter-spacing:-.2px;min-width:0}

/* Glassy v2 · Glowy */
:root{--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Segoe UI",Roboto,"Noto Sans","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",Arial,sans-serif}
html,body{font-size:16px;letter-spacing:-.008em}
.h3{font-size:17px;font-weight:600;letter-spacing:-.015em;margin:0 0 3px}
.small{font-size:13px;line-height:1.35;color:var(--l2)}
.sub{font-size:15px;color:var(--l2)}
.lt{font-size:30px;margin:2px 4px 10px}
.row{min-height:42px;padding:9px 14px;font-size:16px}
.row .small{display:block;margin-top:1px}
.card{border-radius:14px;padding:14px}
.btn{height:48px;font-size:16px;border-radius:13px}
.btn.sm{height:34px;font-size:14px;border-radius:10px;flex:none;padding:0 14px}
.btn.gray{background:var(--fill);color:var(--acc)}
.btn.black{background:#000;color:#fff}
.sh{margin:20px 14px 6px;font-size:12.5px}
.ib.sm{width:32px;height:32px;border-radius:16px;background:var(--fill)}
.ib.sm.on{background:var(--acc);color:#fff}
.pill.sm{height:28px;font-size:13px;padding:0 11px}
.thumb.ph{display:inline-block;background:var(--fill);border-radius:8px;width:36px;height:44px}
.glowy{display:block;object-fit:contain;flex:none;user-select:none;-webkit-user-drag:none}
.bob{animation:gbob 3.2s ease-in-out infinite}
.gs{animation:gbob 1.6s ease-in-out infinite}
@keyframes gbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.bob,.gs{animation:none}}
/* ship.page badge above the tab bar */
ship-page-badge,#ship-page-badge,.ship-page-badge,[class*="shippage-badge"]{bottom:calc(64px + env(safe-area-inset-bottom,0px))!important;transform:scale(.85);transform-origin:right bottom}
/* welcome (welcome_min_2) */
html:has(.v2w),html:has(.v2w) body,#app:has(.v2w){background:#FCEBEC}
.page.v2w{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:0!important;box-sizing:border-box}
.w-top{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(40px + env(safe-area-inset-top,0px)) 24px 44px}
.w-logo{width:156px;height:156px;border-radius:36px;box-shadow:0 10px 28px rgba(214,120,140,.22),0 2px 6px rgba(214,120,140,.12);margin-bottom:26px}
.w-name{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1.05;color:#1C1C1E}
.w-tag{font-size:17px;color:rgba(60,60,67,.72);margin-top:10px}
.w-card{background:#fff;border-radius:28px 28px 0 0;padding:26px 24px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:12px;box-shadow:0 -6px 24px rgba(214,120,140,.08)}
html.shipb .w-card{padding-bottom:calc(18px + var(--shipb) + env(safe-area-inset-bottom,0px))}
.w-card .btn{height:54px;border-radius:14px}
.w-card .btn.w-mail{background:#F2F2F4;color:#C2406B}
.w-demo{font-size:15px;color:#C2406B;text-decoration:underline;text-underline-offset:3px;padding:6px;margin:2px auto 0;display:block}
@media(min-width:760px){.page.v2w{min-height:100%}#app:has(.v2w) #scroll{background:#FCEBEC}}
/* quiz */
.qz-intro{display:flex;flex-direction:column;align-items:stretch}.qz-intro>.glowy{align-self:center;margin-top:6px}.qz-intro .h2{text-align:center;margin-top:6px}.qz-intro .sub{text-align:center}
.qz-top{position:sticky;top:48px;z-index:5;background:var(--bg);padding:6px 4px 8px}
.qz-bar{height:4px;border-radius:2px;background:var(--fill);overflow:hidden;margin-bottom:6px}
.qz-bar i{display:block;height:100%;background:var(--acc);border-radius:2px;transition:width .35s cubic-bezier(.2,.8,.2,1)}
.qz-card{background:var(--card);border-radius:18px;padding:18px 14px 8px;margin-top:4px;animation:qin .28s ease}
@keyframes qin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.qz-q{font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 2px 2px}
.qz-card .opt{background:var(--bg);padding:12px 14px;border-radius:12px;font-size:16px}
.qz-card .opt.on{background:var(--accbg)}
/* baumann */
.bau .bcode{font-size:34px;font-weight:700;letter-spacing:.04em;color:var(--acc)}
.bax{margin:10px 0}.bax .bar{height:6px}
/* steps (scanner/scan progress) */
.steps{background:var(--card);border-radius:14px;margin:12px 0;overflow:hidden}
.st{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;border-bottom:.5px solid var(--sep);font-size:15px;color:var(--l2)}
.st:last-child{border:0}
.st .dot{width:18px;height:18px;border-radius:9px;border:2px solid var(--l3);flex:none;margin-top:1px;position:relative}
.st.run{color:var(--label)}.st.run .dot{border-color:var(--acc);border-top-color:transparent;animation:spin .8s linear infinite}
.st.ok{color:var(--label)}.st.ok .dot{background:var(--green);border-color:var(--green)}
.st.ok .dot:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.st.bad .dot{background:var(--red);border-color:var(--red)}.st.bad{color:var(--label)}.st.bad .small{color:var(--red)}
.st.skip .dot{border-style:dashed}
@keyframes spin{to{transform:rotate(360deg)}}
.v2pic{display:block;max-width:100%;max-height:200px;margin:10px auto 0;border-radius:12px;object-fit:contain;background:var(--card)}
.note{background:#FFF8EC;border:1px solid rgba(255,149,0,.25)}
.cam{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:3/4;max-height:52vh;margin:12px 0}
.cam video{width:100%;height:100%;object-fit:cover}
.bcline{position:absolute;left:12%;right:12%;top:50%;height:2px;background:rgba(255,59,48,.85);box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.stickyb{position:sticky;bottom:calc(64px + var(--safe-b));padding:10px 0 4px;background:linear-gradient(transparent,var(--bg) 30%)}
/* passport */
.phero .glowy{align-self:flex-start}
.pmapc{padding:10px}
.pmap{position:relative;border-radius:12px;overflow:hidden;background:#111;aspect-ratio:3/4}
.pmap img,.pmap canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.pmsg{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.hchips{display:flex;gap:6px;overflow-x:auto;margin:10px -10px 0;padding:0 10px;scrollbar-width:none}.hchips::-webkit-scrollbar{display:none}
.hchips .pill{background:var(--fill)}.hchips .pill.on{background:var(--acc)}
.mrow .tx{flex:0 0 42%}.mbar{flex:1;height:6px;border-radius:3px;background:var(--fill);overflow:hidden}.mbar i{display:block;height:100%;border-radius:3px}
.mrow .vl{width:30px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.cite{font-size:12px;color:var(--blue);white-space:nowrap}
.kb p{margin:0 0 10px;font-size:14.5px;line-height:1.42}.kb .unv{background:#FFF8EC;border-radius:10px;padding:8px 10px}
.n2{width:24px;height:24px;border-radius:12px;background:var(--accbg);color:var(--acc);font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none}
.ggreet{margin-top:2px}.frow{border-radius:14px;margin-bottom:10px}
.imp input{width:22px;height:22px;accent-color:var(--acc);flex:none}.imp.dis{opacity:.5}.imp .thumb{width:36px;height:44px}
/* shelf toolbar */
.shtool{display:flex;align-items:center;gap:8px;margin:4px 2px 10px}
/* ===== Mirror + glass shelves (hero) ===== */
.mirror{position:relative;margin:4px -6px 0;padding:18px 0 10px;border-radius:22px;overflow:hidden;
 background:
  radial-gradient(120% 60% at 50% -10%,rgba(255,248,236,.95),rgba(255,248,236,0) 60%),
  linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.55) 42%,rgba(255,255,255,0) 52%,rgba(255,255,255,0) 66%,rgba(255,255,255,.35) 72%,rgba(255,255,255,0) 80%),
  linear-gradient(180deg,#E9EDF0 0%,#DCE2E6 45%,#D3DADF 100%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),inset 0 0 0 5px rgba(205,212,218,.55),inset 0 0 0 6px rgba(255,255,255,.7),inset 0 18px 40px rgba(255,255,255,.35),0 1px 2px rgba(0,0,0,.06),0 12px 30px rgba(40,50,60,.10)}
.mirror:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(60% 40% at 82% 18%,rgba(255,255,255,.45),transparent 70%),
  linear-gradient(90deg,rgba(150,160,170,.10),transparent 12%,transparent 88%,rgba(150,160,170,.10))}
.mlight{position:absolute;left:18%;right:18%;top:0;height:7px;border-radius:0 0 8px 8px;background:linear-gradient(#FFF6E6,#FFFDF8);box-shadow:0 0 22px 8px rgba(255,236,200,.55);opacity:.9}
.gshelf{position:relative;margin:0 0 18px}
.gshelf:last-child{margin-bottom:6px}
.glbl{position:relative;z-index:2;margin:0 18px 3px;font-size:13px;font-weight:600;letter-spacing:-.01em;color:rgba(60,70,80,.62)}
.gtrack{position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;cursor:grab}
.gtrack::-webkit-scrollbar{display:none}
.grow{position:relative;display:inline-flex;align-items:flex-start;gap:12px;min-width:100%;padding:0 22px 0 22px;box-sizing:border-box}
.gi2{position:relative;z-index:2;flex:none;display:flex;flex-direction:column;align-items:center;background:none;border:0;padding:0;cursor:pointer;scroll-snap-align:start;-webkit-tap-highlight-color:transparent}
.gzone{height:var(--zh,150px);display:flex;align-items:flex-end;justify-content:center}
.gim{position:relative;display:block;min-width:14px;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.gi2:active .gim{transform:translateY(-3px) scale(1.02)}
.gpi{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;
 filter:drop-shadow(0 1px 1px rgba(0,0,0,.10)) drop-shadow(-3px 6px 6px rgba(40,50,60,.10));
 -webkit-box-reflect:below 11px linear-gradient(transparent 80%,rgba(255,255,255,.11))}
.gsd{position:absolute;left:6%;right:6%;bottom:-3px;height:7px;border-radius:50%;background:radial-gradient(closest-side,rgba(20,25,30,.34),rgba(20,25,30,0));z-index:0}
.gi2.wish .gpi{opacity:.55;filter:grayscale(.3)}
.gnm{display:flex;align-items:center;gap:4px;margin-top:17px;max-width:96px;font-size:11px;line-height:1.15;color:rgba(40,48,56,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gdot{width:6px;height:6px;border-radius:3px;flex:none}
/* glass plank */
.gpl{position:absolute;left:8px;right:8px;top:calc(var(--zh,150px) - 1px);height:10px;z-index:1;border-radius:2px;pointer-events:none;
 background:linear-gradient(180deg,rgba(255,255,255,.75) 0%,rgba(225,240,238,.42) 40%,rgba(190,215,212,.38) 100%);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(150,185,182,.55),0 1px 0 rgba(255,255,255,.6);
 -webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}
.gtop{position:absolute;left:0;right:0;top:-5px;height:5px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.55));clip-path:polygon(1% 0,99% 0,100% 100%,0 100%)}
.gedge{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,rgba(140,190,185,.35),rgba(170,215,208,.75) 20%,rgba(200,235,228,.85) 50%,rgba(170,215,208,.75) 80%,rgba(140,190,185,.35));border-radius:0 0 2px 2px}
.gshadow{position:absolute;left:14px;right:14px;top:calc(var(--zh,150px) + 12px);height:16px;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(60,75,85,.16),rgba(60,75,85,0));filter:blur(4px);border-radius:50%}
.clip{position:absolute;top:calc(var(--zh,150px) - 4px);width:12px;height:17px;z-index:2;pointer-events:none;border-radius:2px 2px 3px 3px;
 background:linear-gradient(90deg,#9EA5AC,#F4F6F8 35%,#C3C9CF 60%,#8C939A);box-shadow:0 2px 3px rgba(0,0,0,.18),inset 0 0 0 .5px rgba(0,0,0,.15)}
.clip:after{content:"";position:absolute;left:4px;top:11px;width:4px;height:4px;border-radius:2px;background:radial-gradient(circle at 35% 35%,#fff,#7d848b)}
@media(max-width:370px){.grow{gap:9px;padding:0 16px}.gnm{max-width:80px}}
.shtool .ib{border:0!important;box-shadow:none!important;background:var(--fill);color:var(--acc)}.shtool .ib.on{background:var(--acc);color:#fff}
.gnm{position:relative;z-index:3}
.toast{top:calc(10px + env(safe-area-inset-top));transform:translate(-50%,calc(-100% - 40px));opacity:0;transition:transform .3s,opacity .3s;pointer-events:none;font-size:14px;line-height:1.3}.toast.on{transform:translate(-50%,0);opacity:1}

.glc{font-weight:500;color:rgba(60,70,80,.42);margin-left:6px}

/* ship.page badge: its :host !important rules can't be moved from outside, so the UI makes room for it instead */
html.shipb .tabs{padding-bottom:calc(var(--shipb) + var(--safe-b))}
html.shipb .page{padding-bottom:calc(110px + var(--shipb) + var(--safe-b))}
html.shipb .sheet{padding-bottom:calc(24px + var(--shipb) + var(--safe-b))}
/* bugfix: diary mood words overlapped (54px circles + 26px text) */
.card.moods{gap:6px;padding:8px}
.moods button{flex:1 1 0;min-width:0;width:auto;height:44px;border-radius:12px;font-size:13px;font-weight:500;line-height:1.1;padding:0 2px;white-space:normal;color:var(--label);background:var(--fill);filter:none;opacity:1}
.moods button.on{background:var(--accbg);color:#C2406B;box-shadow:0 0 0 1.5px var(--acc)}
/* ===== Дневник в стиле Apple (diary_apple_*) ===== */
.dy{--dacc:#E8869E;--daccd:#C2406B;--daccbg:#FCEBEF}
.dy .card{border-radius:14px}
.dysub{color:var(--l2);font-size:15px;margin:-8px 4px 14px}
.dyh2{font-size:22px;font-weight:700;margin:24px 4px 10px;display:flex;justify-content:space-between;align-items:baseline;letter-spacing:-.01em}
.dyh2 a{font-size:15px;font-weight:400;color:#C2406B;text-decoration:none}
.dyrings{display:flex;align-items:center;gap:18px;padding:16px}
.dyrings svg{flex:none}
.dyrt{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.dyrp{display:flex;flex-direction:column;align-items:flex-start;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:var(--label)}
.dyrp .n{font-size:15px;font-weight:600}.dyrp .v{font-size:22px;font-weight:700;letter-spacing:-.02em}.dyrp small{font-size:15px;font-weight:500;color:var(--l2)}
.dyrt .st{font-size:13px;color:var(--l2);line-height:1.3}
.dyhl{padding:14px 16px;margin-bottom:10px}
.dyhl .k{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:#C2406B}
.dyhl .k .tm{margin-left:auto;color:var(--l2);font-weight:400;font-size:14px}
.dyav{width:24px;height:24px;border-radius:7px;object-fit:cover}
.dyhl .tt{font-size:17px;font-weight:600;margin-top:8px;line-height:1.3}
.dyhl .dd{font-size:15px;color:var(--l2);margin-top:4px;line-height:1.38}
.dycta{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;border:0;margin-bottom:12px;text-align:left;cursor:pointer;color:var(--label);font:inherit}
.dycta .tx{flex:1;display:flex;flex-direction:column;gap:2px}.dycta b{font-size:17px}.dycta .tx span{font-size:15px;color:var(--l2)}.dycta>svg{color:#C4C4C7}
.orb{width:150px;height:150px;border-radius:50%;transition:transform .15s,box-shadow .2s}
.orb.sm{width:44px;height:44px;flex:none;box-shadow:none!important}
.dynav{margin-top:12px}
.dyent{display:block;margin-bottom:12px;color:var(--label);text-decoration:none;overflow:hidden}
.dyent .ph{height:150px;background:var(--fill)}.dyent .ph img{width:100%;height:100%;object-fit:cover;display:block}
.dyent .in{padding:12px 16px 14px}
.dyent .hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.dyent .t{font-size:17px;font-weight:600}.dyent .t .sc{color:#C2406B;font-weight:600;font-size:15px;margin-left:4px}
.dyent .tm{font-size:14px;color:var(--l2);white-space:nowrap}
.dyent .nt{font-size:15px;color:#3A3A3C;margin-top:4px;line-height:1.35}.dyent .nt.sm{font-size:13px;color:var(--l2)}
.dyent .chips,.dy .wrapchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.dyent .tag.demo{margin-top:8px;display:inline-block}
.dy .pill,.dyck .pill{background:var(--fill);color:var(--label);height:32px;padding:0 13px;font-size:15px;border-radius:16px}
.dy .pill.on,.dyck .pill.on{background:#FCEBEF;color:#C2406B;box-shadow:inset 0 0 0 1.5px #E8869E}
.dy .pill.sm,.dyck .pill.sm{height:26px;font-size:13px;padding:0 10px;border-radius:13px}
.dyempty{padding:18px 16px;text-align:left}.dyempty .gl{width:56px;height:56px;border-radius:16px;display:block;margin-bottom:10px}
.dyempty .tt{font-size:17px;font-weight:600}.dyempty .dd{font-size:15px;color:var(--l2);margin:4px 0 14px;line-height:1.38}
.dy .foot,.dyck .foot{color:var(--l2);margin:14px 4px 8px;line-height:1.35}
.dym{color:var(--l2);margin:-4px 0 12px}
.dychk{width:100%;border:0;background:var(--card);text-align:left;cursor:pointer;font:inherit;color:var(--label)}
.dychk .ck{width:24px;height:24px;border-radius:12px;border:1.5px solid #C7C7CC;display:flex;align-items:center;justify-content:center;flex:none;color:#fff;margin-right:12px}
.dychk.on .ck{background:#E8869E;border-color:#E8869E}
.dycal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.dyday{border:0;background:var(--fill);border-radius:12px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;color:var(--l2);cursor:pointer}
.dyday b{font-size:17px;color:var(--label)}.dyday i{width:5px;height:5px;border-radius:3px}.dyday.has i{background:#E8869E}
/* чек-ин */
.dyck{min-height:100vh;background:#F2F2F7;padding:0 20px 120px}
.dyck .top{display:flex;align-items:center;height:52px;position:sticky;top:0;background:#F2F2F7;z-index:5;margin:0 -20px;padding:0 12px}
.dyck .top .link{color:#C2406B;font-size:17px}.dyck .top .stp{flex:1;text-align:center;font-weight:600;color:var(--l2);font-size:15px}.dyck .top .sp{min-width:74px;text-align:right}
.dyck .top>.link{min-width:74px;text-align:left}
.dyck .q{font-size:28px;font-weight:700;letter-spacing:-.02em;margin:10px 0 4px;line-height:1.15}
.dyck .c{color:var(--l2);margin:4px 0 8px}
.dyck .sh{margin:20px 0 8px}
.dyck .orbw{display:flex;justify-content:center;padding:16px 0 4px}
.dyck .q2{text-align:center;color:var(--l2);font-size:15px;margin-top:16px}
.dyck .val{text-align:center;font-size:30px;font-weight:700;letter-spacing:-.02em;margin-top:2px}
.dysl{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:18px 0 0}
.dysl::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:linear-gradient(90deg,#E9E2E4,#F6C9D4 55%,#E8869E)}
.dysl::-moz-range-track{height:8px;border-radius:4px;background:linear-gradient(90deg,#E9E2E4,#F6C9D4 55%,#E8869E)}
.dysl::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);margin-top:-10px;cursor:pointer}
.dysl::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.dyck .ends{display:flex;justify-content:space-between;font-size:13px;color:var(--l2);margin-top:2px}
.dyck .wrapchips{gap:8px}
.dystep{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;margin-top:10px}
.dystep .t{flex:1;font-size:17px}.dystep b{min-width:92px;text-align:center;font-size:17px}
.dystep button{width:36px;height:32px;border-radius:9px;border:0;background:var(--fill);font-size:20px;color:var(--label);cursor:pointer}
.dyph{display:flex;align-items:center;justify-content:center;height:180px;cursor:pointer;overflow:hidden}
.dyph img{width:100%;height:100%;object-fit:cover}
.dyph .add{display:flex;flex-direction:column;align-items:center;gap:6px;color:#C2406B;font-size:15px}
.dynote{width:100%;border:0;border-radius:14px;background:#fff;padding:12px 14px;font:inherit;font-size:17px;resize:vertical;color:var(--label)}
.dyrx{flex-direction:column;align-items:stretch!important;gap:8px;padding-top:12px;padding-bottom:12px}
.dyrx .o{display:flex;flex-wrap:wrap;gap:6px}
.dybot{position:fixed;left:0;right:0;bottom:0;padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(rgba(242,242,247,0),#F2F2F7 30%);max-width:560px;margin:0 auto}
.dybot .btn{background:#E8869E}
/* запись */
.dyhero{border-radius:14px;overflow:hidden;margin-bottom:12px;background:var(--fill);aspect-ratio:4/3}.dyhero img{width:100%;height:100%;object-fit:cover;display:block}
.dyev{display:flex;align-items:center;gap:14px;padding:14px 16px}.dyev .t{font-size:20px;font-weight:700}
.dynt{padding:12px 16px;font-size:16px;line-height:1.4;white-space:pre-wrap}
/* тренды */
.dymet{display:flex;gap:6px;overflow-x:auto;margin:-4px -16px 12px;padding:0 16px 2px;scrollbar-width:none}.dymet::-webkit-scrollbar{display:none}
.dymet .pill{flex:none}
.dyseg{background:#E4E4EA;height:32px}.dyseg button{font-weight:500;height:28px}.dyseg button.on{font-weight:600}
.dytc{padding:14px 16px 10px}
.dytc .big{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.dytc .big span{font-size:17px;color:var(--l2);font-weight:500}.dytc .big.none{font-size:22px;color:var(--l2)}
.dytc>.small{color:var(--l2)}
.dych{display:block;width:100%;height:auto;margin-top:10px}
.dycmpbar{position:relative;height:10px;border-radius:5px;background:#F9DDE4;margin:14px 0 8px;overflow:visible}
.dycmpbar b{display:block;height:100%;border-radius:5px;background:#E8869E}
.dycmpbar i{position:absolute;top:-4px;width:2px;height:18px;background:#C2406B;margin-left:-1px}
/* до и после */
.dycmp{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dycmp .c{background:#fff;border-radius:14px;padding:10px;min-width:0}
.dycmp select{width:100%;margin:4px 0 8px;height:34px;border-radius:9px;border:0;background:var(--fill);font:inherit;font-size:14px;padding:0 6px;color:var(--label)}
.dycmp .ph{aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:var(--fill);display:flex;align-items:center;justify-content:center;color:var(--l2);font-size:13px}
.dycmp .ph img{width:100%;height:100%;object-fit:cover}
.dycmp .m{display:flex;align-items:baseline;gap:6px;margin-top:8px}.dycmp .m b{font-size:22px}.dycmp .m span{font-size:12px;color:var(--l2)}
.dy .up{color:#1E8E3E}.dy .dn{color:#D70015}
/* выбор анкеты */
.qzch{display:flex;flex-direction:column}.qzch>.glowy{align-self:center;margin:6px 0 4px}.qzch .h2{text-align:center}
.qzc{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;border:0;text-align:left;padding:18px 40px 18px 18px;margin-bottom:12px;cursor:pointer;font:inherit;color:var(--label);border-radius:16px}
.qzc .qt{font-size:22px;font-weight:700;letter-spacing:-.01em}.qzc .qs{font-size:15px;color:var(--l2);line-height:1.38}.qzc .qm{font-size:15px;font-weight:600;color:#C2406B;margin-top:4px}
.qzc>svg{position:absolute;right:16px;top:50%;margin-top:-7px;color:#C4C4C7}.qzc .tag{margin-top:6px}
.qzprov{display:flex;flex-direction:column;gap:6px;padding:14px 16px;margin-bottom:12px;background:#FFF8EC}.qzprov span{font-size:15px;color:var(--l2);line-height:1.38}
/* девайсы */
.dvmir{padding-top:6px}
.dvit .gim{display:flex;align-items:flex-end;justify-content:center}.dvit .gpi{width:100%;height:100%;object-fit:contain}.dvit .dvown{object-fit:cover;border-radius:10px}
.dvit.broken .gpi{opacity:.55;filter:grayscale(.6)}
.dvhero{display:flex;gap:14px;align-items:center;padding:14px 16px;margin-bottom:10px}.dvhero img{width:56px;height:84px;object-fit:contain;flex:none;border-radius:10px}.dvhero .t{font-size:20px;font-weight:700;margin:2px 0 6px}
.dvkv{flex-direction:column;align-items:flex-start!important;gap:2px;padding-top:10px;padding-bottom:10px}.dvkv .k{font-size:13px;color:var(--l2)}.dvkv .v{font-size:15px;line-height:1.38}
.dvdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.dvdays button{height:40px;border-radius:10px;border:0;background:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--label)}.dvdays button.on{background:#FCEBEF;color:#C2406B;box-shadow:inset 0 0 0 1.5px #E8869E}
.dvwarn{padding:11px 14px;margin-top:8px;font-size:14px;line-height:1.38;background:#FFF8EC;color:#7A4B00}.dvwarn.bad{background:#FFEFEE;color:#A1121B}
.dvweek{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:10px 8px}.dvwd{display:flex;flex-direction:column;gap:4px;align-items:center;min-width:0;font-size:11px}.dvwd b{font-size:13px;color:var(--l2)}.dvwd.today b{color:#C2406B}
.dvwd a{display:block;max-width:100%;padding:3px 4px;border-radius:6px;background:#FCEBEF;color:#C2406B;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.dvwd span{color:#C7C7CC}
.dvpick{width:100%;border:0;background:#fff;text-align:left;font:inherit;cursor:pointer;color:var(--label)}.dvpick>svg{color:#C2406B}
/* Skin v3 */
.g3{position:absolute;left:10px;right:10px;bottom:46px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;pointer-events:none}
.g3 span{font:500 12px/1 -apple-system,"SF Pro Text",system-ui,sans-serif;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.86);color:#1C1C1E;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.g3 span.ok{color:#248A3D}.g3 span.ok:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#34C759;margin-right:6px;vertical-align:1px}
.g3 span.no{color:#C93400}.g3 span.no:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#FF9F0A;margin-right:6px;vertical-align:1px}
#snap.ready{box-shadow:0 0 0 3px rgba(52,199,89,.35)}
.s3link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;border:0;font:inherit;color:inherit;cursor:pointer}
.s3link b{display:block;font-size:16px;margin-bottom:2px}
.s3q .s3qh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.s3q.ok .s3qh b{color:#248A3D}.s3q.warn .s3qh b{color:#B25000}.s3q.bad .s3qh b{color:#D70015}
.s3ul{margin:6px 0 8px;padding-left:18px;font-size:14px;line-height:1.45}.s3ul li.bad{color:#D70015}.s3ul li.warn{color:#8A4B00}
.s3kv{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.s3kv span{font-size:12px;padding:4px 8px;border-radius:8px;background:rgba(120,120,128,.1);color:#3C3C43}
.s3ov{display:block;width:100%;max-width:340px;margin:10px auto 6px;border-radius:14px;aspect-ratio:auto;background:#F2F2F7}
.s3m .s3h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.s3n{font-size:17px;font-weight:600}.s3v{font-size:30px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.s3v.na{color:#C7C7CC}
.s3cf{height:6px;border-radius:3px;background:rgba(120,120,128,.14);margin:10px 0 4px;overflow:hidden}.s3cf span{display:block;height:100%;background:#E8789A;border-radius:3px}
.s3d{font-size:13px;margin-top:6px;padding:6px 10px;border-radius:10px;background:rgba(120,120,128,.08)}.s3d.up{color:#248A3D}.s3d.dn{color:#C93400}.s3d.n{color:#6E6E73}
.s3x{margin-top:8px;font-size:14px}.s3x summary{cursor:pointer;color:#D94F7C;font-weight:500}.s3x p{margin:6px 0;line-height:1.45}
html.shipb .dybot{padding-bottom:calc(16px + var(--shipb) + env(safe-area-inset-bottom,0px))}
html.shipb .dyck{padding-bottom:calc(130px + var(--shipb))}
.picbar{margin:10px 0 4px}.picbar .pics{margin:0 4px 8px;color:var(--mut,#8a8a8e)}.picb{display:flex;flex-wrap:wrap;gap:8px}.btn.sm{padding:8px 12px;font-size:14px;min-height:0;width:auto;display:inline-flex;align-items:center;gap:6px}
.picgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.picc{background:#fff;border:1px solid #eee;border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;color:inherit}.picc img{width:100%;height:130px;object-fit:contain}.picc .mut{opacity:.6}
/* welcome: фоновое видео Glowy на чистом белом (r9) */
html:has(.vw),html:has(.vw) body,#app:has(.vw){background:#FFFFFF}
.page.vw{position:relative;overflow:hidden;background:#FFFFFF;height:100vh;height:100dvh;min-height:0}
.vw-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:#FFFFFF;pointer-events:none;z-index:0}
.vw-top{position:relative;z-index:1;text-align:center;padding:calc(30px + env(safe-area-inset-top,0px)) 24px 0}
.vw .w-name{font-size:40px}
.vw .w-tag{margin-top:6px}
.vw-sp{flex:1}
.vw-card{position:relative;z-index:1;margin:0 12px calc(12px + env(safe-area-inset-bottom,0px));border-radius:26px;padding:16px 16px 10px;gap:9px;box-shadow:0 8px 30px rgba(60,40,50,.10),0 1px 3px rgba(60,40,50,.06)}
html.shipb .vw-card{margin-bottom:calc(12px + var(--shipb) + env(safe-area-inset-bottom,0px));padding-bottom:10px}
.vw-card .btn{height:50px}
.vw-card .w-demo{padding:6px 0 4px}
@media (max-height:700px){.vw-top{padding-top:calc(18px + env(safe-area-inset-top,0px))}.vw .w-name{font-size:34px}.vw-card .btn{height:46px}.vw-card{gap:7px;padding:12px 14px 8px}}
@media (prefers-reduced-motion:reduce){video.vw-bg{display:none}}
@media (prefers-reduced-motion:reduce){.page.vw{background:#FFFFFF url(../media/welcome_poster.jpg) 50% 50%/cover no-repeat}}

/* Glowy: клипы на белой карточке и микродвижения */
.glv{display:block;flex:none;border-radius:22%;overflow:hidden;background:#fff;position:relative}
.glv video{width:100%;height:100%;object-fit:cover;display:block;background:#fff}
.gm-wave{animation:gmWave 2.6s ease-in-out infinite;transform-origin:50% 90%}
.gm-party,.gm-dance{animation:gmHop 1.4s cubic-bezier(.3,.7,.4,1) infinite}
.gm-curious,.gm-confused{animation:gmTilt 3.2s ease-in-out infinite;transform-origin:50% 85%}
.gm-surprised{animation:gmPop .5s cubic-bezier(.2,1.4,.4,1) 1}
.gm-sad{animation:gmDroop 3.6s ease-in-out infinite;transform-origin:50% 100%}
.gm-hero{animation:gmFloat 3s ease-in-out infinite}
.gm-wink,.gm-smile,.gm-shy{animation:gmBreath 3.4s ease-in-out infinite;transform-origin:50% 100%}
@keyframes gmWave{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}
@keyframes gmHop{0%,100%{transform:translateY(0) scale(1)}30%{transform:translateY(-7%) scale(1.02,.98)}55%{transform:translateY(0) scale(1.03,.97)}}
@keyframes gmTilt{0%,100%{transform:rotate(0)}40%{transform:rotate(-5deg)}60%{transform:rotate(-5deg)}}
@keyframes gmPop{0%{transform:scale(.86)}100%{transform:scale(1)}}
@keyframes gmDroop{0%,100%{transform:translateY(0)}50%{transform:translateY(3%) scaleY(.98)}}
@keyframes gmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5%)}}
@keyframes gmBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){[class*="gm-"]{animation:none!important}}
html.dark .glowy:not(.glv){background:#fff;border-radius:22%}

/* ===== Glowwe UI layer: plus menu, disclosures, dark theme, PWA chrome, iPad and desktop ===== */
:root{--acct:#C2406B;--sbw:0px}
html{-webkit-tap-highlight-color:transparent;overscroll-behavior:none;-webkit-text-size-adjust:100%}
body{overscroll-behavior-y:none;touch-action:manipulation}
#scroll{overscroll-behavior:contain}
.nav,.tabs,#side,.sh,.btn,button,.pill,.seg,.lbls,.glbl,.gnm,.plh,.pli,.updb,.chips{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:max(16px,1em)}
.btn.sec{color:var(--acct)}
/* safe area for the black-translucent status bar in standalone mode */
@media(display-mode:standalone){.nav{padding-top:env(safe-area-inset-top,0px);height:calc(48px + env(safe-area-inset-top,0px))}}

/* ---------- push / pop ---------- */
@keyframes vpush{from{transform:translateX(28%);opacity:.4}to{transform:none;opacity:1}}
@keyframes vpop{from{transform:translateX(-18%);opacity:.5}to{transform:none;opacity:1}}
@keyframes vfade{from{opacity:.35}to{opacity:1}}
#view.vpush{animation:vpush .34s cubic-bezier(.2,.8,.2,1)}#view.vpop{animation:vpop .3s cubic-bezier(.2,.8,.2,1)}#view.vfade{animation:vfade .2s ease-out}

/* ---------- plus menu ---------- */
.tabs a.plus .pc svg{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
body.plon .tabs{z-index:53}body.plon .tabs a.plus .pc svg{transform:rotate(45deg)}
.ov.plov{background:rgba(0,0,0,.18);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%)}
.sheet.plsh{bottom:calc(62px + var(--safe-b));width:calc(100% - 16px);max-width:414px;border-radius:24px;padding:8px 12px 14px;background:var(--bg);box-shadow:0 20px 50px rgba(0,0,0,.18)}
html.shipb .sheet.plsh{bottom:calc(62px + var(--shipb) + var(--safe-b));padding-bottom:14px}
.plh{display:flex;align-items:center;gap:10px;padding:2px 6px 12px}.plh .glowy{flex:none}
.plt{font-size:15px;line-height:1.3;color:var(--l2);font-weight:500}
.plg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pli{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:96px;padding:10px 6px;border:0;border-radius:18px;background:var(--card);cursor:pointer;color:var(--label);animation:plin .34s cubic-bezier(.2,.8,.2,1) var(--d,0ms) both;transition:transform .15s}
.pli:active{transform:scale(.95)}
.plic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--fill)}
.pln{font-size:13px;line-height:1.2;font-weight:500;text-align:center;letter-spacing:-.01em}
@keyframes plin{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:370px){.pli{min-height:88px}.plic{width:42px;height:42px}.pln{font-size:12px}}
.pklist{max-height:46vh;overflow:auto}
.row.pk{cursor:pointer}.pkb{width:22px;height:22px;border-radius:11px;border:1.5px solid var(--l3);display:flex;align-items:center;justify-content:center;color:transparent;flex:none}
.row.pk.on .pkb{background:var(--acc);border-color:var(--acc);color:#fff}

/* ---------- disclosures ---------- */
.dz{margin:0}
.sh.dzh{display:flex;align-items:center;justify-content:space-between;gap:8px;width:calc(100% - 28px);box-sizing:border-box;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;font-size:12.5px;text-transform:uppercase;color:var(--l2);letter-spacing:.02em;min-height:24px}
.sh.dzh>span:first-child{min-width:0}
.dzc{display:flex;color:var(--l3);transition:transform .28s cubic-bezier(.2,.8,.2,1);flex:none}
.dz.op .dzc{transform:rotate(90deg)}
.dzb{overflow:hidden;transition:height .3s cubic-bezier(.2,.8,.2,1)}
.dz:not(.op) .dzb{height:0;visibility:hidden;transition:height .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s}
.dzi{padding-bottom:1px}
.gch{display:inline-flex;vertical-align:-1px;margin-left:6px;color:rgba(60,70,80,.38);transform:rotate(90deg);transition:transform .25s}
.glbl[role=button]{cursor:pointer}
.gshelf.coll .gch{transform:none}
.gshelf.coll>*:not(.glbl){display:none}
.gshelf.coll{margin-bottom:8px}
.gshelf.coll .glbl{margin:0 12px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.9)}
@media(prefers-reduced-motion:reduce){.dzb,.dzc,.gch,.pli,#view{transition:none!important;animation:none!important}}

/* ---------- Оформление ---------- */
.lkg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 2px}
.lkt{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:0;cursor:pointer;color:var(--label)}
.lkp{width:100%;aspect-ratio:.62;border-radius:14px;padding:10px 8px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;box-shadow:0 0 0 1px var(--sep);transition:box-shadow .2s}
.lkt.on .lkp{box-shadow:0 0 0 2.5px var(--acc)}
.lkp i{display:block;height:16px;border-radius:5px}.lkp i:first-child{height:22px}
.lk-light{background:#F2F2F7}.lk-light i{background:#fff}.lk-light i:first-child{background:var(--acc)}
.lk-dark{background:#000}.lk-dark i{background:#1C1C1E}.lk-dark i:first-child{background:var(--acc)}
.lk-system{background:linear-gradient(90deg,#F2F2F7 50%,#000 50%)}.lk-system i{background:linear-gradient(90deg,#fff 50%,#1C1C1E 50%)}.lk-system i:first-child{background:var(--acc)}
.lkn{font-size:14px;font-weight:500}.lkr{height:16px;color:var(--acc)}
.acd{width:22px;height:22px;border-radius:11px;flex:none;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.15)}
button.row{cursor:pointer;font:inherit;color:var(--label)}

/* ---------- dark theme (iOS system colours) ---------- */
html.dark{--bg:#000;--card:#1C1C1E;--label:#fff;--l2:rgba(235,235,245,.6);--l3:rgba(235,235,245,.3);--sep:rgba(84,84,88,.65);--fill:rgba(118,118,128,.24);--blue:#0A84FF;--green:#30D158}
html.dark,html.dark body{background:#000}
html.dark .nav{background:rgba(0,0,0,.72)}
html.dark .tabs{background:rgba(22,22,24,.82);border-top-color:rgba(84,84,88,.5)}
html.dark .tabs a{color:#8E8E93}html.dark .tabs a.on{color:var(--acc)}
html.dark .sheet{background:#1C1C1E;--card:#2C2C2E;--fill:rgba(118,118,128,.3)}
html.dark .sheet.plsh{background:rgba(28,28,30,.96)}
html.dark .ov{background:rgba(0,0,0,.55)}
html.dark .seg button.on{background:#636366}
html.dark .tg span::after{background:#fff}
html.dark .dynote,html.dark .dycmp .c,html.dark .dvdays button,html.dark .dvpick,html.dark .picc{background:var(--card);color:var(--label);border-color:var(--sep)}
html.dark .btn.black{background:#fff;color:#000}
html.dark .toast{background:rgba(58,58,60,.95)}
html.dark .shelfbg{background:linear-gradient(180deg,#1C1C1E,#151517);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
html.dark .plank{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06));border-color:rgba(255,255,255,.18);box-shadow:0 14px 24px -8px rgba(0,0,0,.6)}
/* dark glass mirror */
html.dark .mirror{background:radial-gradient(120% 60% at 50% -10%,rgba(255,236,210,.10),rgba(255,236,210,0) 60%),linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.05) 42%,rgba(255,255,255,0) 52%),linear-gradient(180deg,#1E2124 0%,#17191C 50%,#121416 100%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),inset 0 0 0 5px rgba(60,66,72,.45),inset 0 0 0 6px rgba(255,255,255,.06),0 12px 30px rgba(0,0,0,.5)}
html.dark .mirror:before{background:radial-gradient(60% 40% at 82% 18%,rgba(255,255,255,.06),transparent 70%)}
html.dark .mlight{opacity:.45}
html.dark .glbl{color:rgba(235,235,245,.7)}html.dark .glc,html.dark .gch{color:rgba(235,235,245,.4)}
html.dark .gnm{color:rgba(235,235,245,.72)}
html.dark .gpl{background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(160,200,196,.16) 45%,rgba(120,160,156,.14) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(80,120,118,.5)}
html.dark .gpi{-webkit-box-reflect:below 11px linear-gradient(transparent 82%,rgba(255,255,255,.07))}
html.dark .gshadow{background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0))}
html.dark .gshelf.coll .glbl{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.1)}
html.dark .gimg,html.dark .pnt img{background:#fff}
html.dark svg text{fill:currentColor}
/* welcome screens stay as designed */
html.dark:has(.vw),html.dark:has(.vw) body,html.dark #app:has(.vw){background:#FFFFFF}
html.dark .vw,html.dark .w-card,html.dark .v2w{--bg:#F2F2F7;--card:#fff;--label:#000;--l2:rgba(60,60,67,.6);--l3:rgba(60,60,67,.3);--sep:rgba(60,60,67,.18);--fill:rgba(120,120,128,.12);color:#000}
html.dark:has(.v2w),html.dark:has(.v2w) body{background:#FCEBEC}

/* ---------- PWA chrome ---------- */
.warm{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px;transition:opacity .4s}
.warm.out{opacity:0}
.wmc{max-width:340px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.wbar{width:100%;height:6px;border-radius:3px;background:var(--fill);overflow:hidden;margin-top:8px}.wbar i{display:block;height:100%;width:0;background:var(--acc);transition:width .3s}
.wsk{margin-top:6px;background:none;border:0;color:var(--acc);font:inherit;font-size:15px;cursor:pointer}
.updb{position:fixed;left:50%;top:calc(8px + env(safe-area-inset-top,0px));transform:translate(-50%,-140%);z-index:80;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:16px;background:var(--card);box-shadow:0 10px 30px rgba(0,0,0,.16);font-size:15px;transition:transform .35s cubic-bezier(.2,.8,.2,1);width:max-content;max-width:calc(100% - 24px)}
.updb.on{transform:translate(-50%,0)}.updb .btn.sm{height:34px;width:auto;padding:0 14px;font-size:15px}.updb .ib{border:0;background:none;color:var(--l2);padding:4px;cursor:pointer}
.a2h{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 4px 0}
.a2s{list-style:none;padding:0;margin:10px 0 14px;width:100%;text-align:left;counter-reset:a}
.a2s li{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--card);border-radius:12px;margin-bottom:6px;font-size:16px}
.a2i{width:34px;height:34px;border-radius:9px;background:var(--accbg);color:var(--acct);display:flex;align-items:center;justify-content:center;flex:none}
.dropz{position:fixed;inset:0;z-index:95;background:rgba(242,242,247,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;pointer-events:none}
html.dark .dropz{background:rgba(0,0,0,.7)}
.dropz>div{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 44px;border:2px dashed var(--acc);border-radius:24px;color:var(--acc);background:var(--card)}
.dropz b{font-size:20px;color:var(--label)}.dropz span{font-size:14px;color:var(--l2)}

/* ---------- iPad and desktop ---------- */
#side,#pane{display:none}
@media(min-width:768px){
 :root{--sbw:248px}
 body:not(.noside){background:var(--bg)}
 body:not(.noside) #desk{display:none!important}
 body:not(.noside) #app{max-width:none;margin:0;height:100vh;height:100dvh;min-height:0;border-radius:0;box-shadow:none;padding-left:var(--sbw);box-sizing:border-box}
 body:not(.noside) #scroll{height:100%;overflow-y:auto}
 body:not(.noside) .tabs{display:none!important}
 body:not(.noside) .page{max-width:720px;margin:0 auto;padding-bottom:48px}
 body:not(.noside) .sheet{left:calc(50% + var(--sbw)/2);max-width:560px}
 body:not(.noside) .sheet.plsh{bottom:auto;top:50%;transform:translate(-50%,-40%) scale(.96);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s}
 body:not(.noside) .sheet.plsh.on{transform:translate(-50%,-50%);opacity:1}
 body:not(.noside) .plg{grid-template-columns:repeat(3,1fr);gap:10px}
 body:not(.noside) .toast{left:calc(50% + var(--sbw)/2)}
 #side{display:flex;flex-direction:column;gap:2px;position:fixed;left:0;top:0;bottom:0;width:var(--sbw);box-sizing:border-box;padding:calc(18px + env(safe-area-inset-top,0px)) 12px 16px;background:rgba(242,242,247,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:.5px solid var(--sep);z-index:25}
 html.dark #side{background:#1C1C1E}
 .sbh{display:flex;align-items:center;gap:10px;padding:4px 10px 16px;font-size:22px;letter-spacing:-.02em}.sbh img{border-radius:9px;background:#fff}
 #side a{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:10px;color:var(--label);font-size:17px;font-weight:500}
 #side a svg{color:var(--acc)}
 #side a.on{background:var(--acc);color:#fff}#side a.on svg{color:#fff}
 .sbp{display:flex;align-items:center;gap:10px;height:44px;margin-top:10px;padding:0 12px;border:0;border-radius:10px;background:var(--accbg);color:var(--acct);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
 .sbp kbd{margin-left:auto;font:inherit;font-size:12px;color:var(--l2);border:1px solid var(--sep);border-radius:5px;padding:1px 6px}
 .sbk{margin-top:auto;display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;color:var(--l2)}
}
@media(min-width:768px) and (pointer:coarse){.sbk,.sbp kbd{display:none}}
@media(min-width:1000px){
 body.split:not(.noside) #app{padding-left:calc(var(--sbw) + 320px)}
 body.split #pane{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:var(--sbw);width:320px;box-sizing:border-box;background:var(--bg);border-right:.5px solid var(--sep);z-index:24;padding-top:env(safe-area-inset-top,0px)}
 body.split:not(.noside) .sheet{left:calc(50% + (var(--sbw) + 320px)/2)}
 .pnh{display:flex;align-items:baseline;justify-content:space-between;font-size:28px;font-weight:700;letter-spacing:-.02em;padding:20px 18px 10px}.pnh span{font-size:15px;font-weight:500;color:var(--l2)}
 .pns{margin:0 14px 10px;width:calc(100% - 28px);height:38px;background:var(--fill)}
 .pnl{overflow-y:auto;padding:0 8px 20px;flex:1}
 .pni{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;color:var(--label)}
 .pni.on{background:var(--accbg)}html.dark .pni.on{background:rgba(255,255,255,.1)}
 .pnt{width:42px;height:42px;border-radius:10px;background:var(--card);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none;color:var(--acc)}.pnt img{width:100%;height:100%;object-fit:contain}
 .pnx{min-width:0;display:flex;flex-direction:column}.pnx b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pnx small{font-size:13px;color:var(--l2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(min-width:1100px){:root{--sbw:268px}body:not(.noside):not(.split) .page{max-width:780px}}
@media(hover:hover) and (pointer:fine){
 a.row:hover,button.row:hover,.row[data-go]:hover,.pni:hover,#side a:not(.on):hover{background:var(--fill)}
 .pill:hover{filter:brightness(.97)}.btn:hover{filter:brightness(1.05)}
 .pli:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
 .gi2:hover .gim{transform:translateY(-3px) scale(1.02)}
 .card[data-go]:hover,.card[data-pid]:hover{box-shadow:0 4px 14px rgba(0,0,0,.07)}
 .sh.dzh:hover{color:var(--label)}
}
/* тёмная тема: карточки с фирменными градиентами */
html.dark .aicard{background:linear-gradient(135deg,#2A1E24,#221F2B);border-color:rgba(255,140,170,.18)}
html.dark .aicard .hd{color:#FF9DB8}
html.dark .verdict{background:linear-gradient(135deg,#14301E,#172A1E)}
html.dark .verdict.warn{background:linear-gradient(135deg,#33270F,#2B2414)}
html.dark .verdict.bad{background:linear-gradient(135deg,#3A1A20,#2E1A1E)}
html.dark .verdict b,html.dark .verdict .big,html.dark .verdict small{color:#fff}
html.dark .verdict small{color:rgba(235,235,245,.7)}
html.dark .dyhl .k,html.dark .dyent .t .sc,html.dark .dyck .top .link{color:#FF8FB0}
html.dark .dyent .nt{color:rgba(235,235,245,.8)}
html.dark .dyck,html.dark .dyck .top{background:#000}
html.dark .dy .pill.on,html.dark .dyck .pill.on{background:#3A1F29;color:#FF9DB8;box-shadow:inset 0 0 0 1.5px #C2587A}
html.dark button.row:active,html.dark a.row:active{background:#3A3A3C}
html.dark .card.note{background:#2C2C2E}
/* язык */
html.i18n-wait body{visibility:hidden}
.vw-lang{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:14px;z-index:4;display:flex;align-items:center;gap:6px;height:34px;padding:0 12px 0 10px;border-radius:17px;border:0;background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);color:#3A3A3C;font:500 14px/1 -apple-system,system-ui,sans-serif;box-shadow:0 1px 0 rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.06)}
.vw-lang svg{color:#E8789A}
.vw.lgon .vw-card{display:none}
.lgsh{position:relative;z-index:3;margin:0 10px calc(env(safe-area-inset-bottom) + 10px);padding:18px 14px 14px;border-radius:28px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(24px) saturate(1.7);backdrop-filter:blur(24px) saturate(1.7);box-shadow:0 10px 40px rgba(232,120,154,.16),0 1px 0 rgba(255,255,255,.8) inset;animation:lgin .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes lgin{from{opacity:0;transform:translateY(24px)}}
.lgt{font:600 20px/1.2 -apple-system,system-ui,sans-serif;text-align:center;color:#1C1C1E}
.lgs{font-size:13px;color:#8E8E93;text-align:center;margin:4px 0 12px}
.lgg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lgi{display:flex;align-items:center;justify-content:space-between;gap:6px;height:46px;padding:0 14px;border-radius:14px;border:0;background:rgba(255,255,255,.78);color:#1C1C1E;font:500 16px/1 -apple-system,system-ui,sans-serif;text-align:left;box-shadow:0 0 0 .5px rgba(60,60,67,.12) inset;transition:transform .15s,background .2s}
.lgi:active{transform:scale(.97)}
.lgi.on{background:#FCEBEF;color:#C2406B;box-shadow:inset 0 0 0 1.5px #E8869E}
.lgc{margin-top:12px}
.page .lgg{margin:0 0 8px}
html.dark .page .lgi{background:#1C1C1E;color:#fff;box-shadow:none}
html.dark .page .lgi.on{background:#3A1F29;color:#FF9DB8}
html.dark .sheet .lgi{background:#2C2C2E;color:#fff}
@media (max-height:700px){.lgi{height:40px}.lgsh{padding:14px 12px 12px}.lgs{margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){.lgsh{animation:none}}
/* video */
.vdg .vd{display:flex;gap:12px;align-items:center;padding:10px 12px;border-bottom:.5px solid var(--sep,rgba(0,0,0,.08))}
.vdg .vd:last-child{border-bottom:0}
.vd-ph{flex:0 0 54px;height:72px;border-radius:12px;border:0;background:linear-gradient(160deg,#FCEBEF,#F6D5DE);color:#C85A78;display:flex;align-items:center;justify-content:center;cursor:pointer}
.vd-tx{min-width:0;flex:1}.vd-t{font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vd.on{display:block;padding:8px}.vd.on iframe{display:block;width:min(100%,320px);aspect-ratio:9/16;margin:0 auto;border:0;border-radius:14px;background:#000}
.vd-s{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.vd-s .btn{flex:1;min-width:90px;text-align:center;text-decoration:none}
html.dark .vd-ph{background:linear-gradient(160deg,#3a2a30,#2c2024);color:#F2A7BB}
.tg{display:inline-block;vertical-align:middle}.row .vl:has(> .tg){display:flex;align-items:center;flex:none}
html.dark .bub.ai{background:#2C2C2E;color:#F2F2F7}.bub.ai:empty::before{content:"…";opacity:.6}
