  :root{
    --bg:#F2F4F7; --phone:#F7F8FA; --card:#FFFFFF; --card2:#F4F6F8; --border:#E7EAEE;
    --green:#21A038; --g1:#21A038; --g2:#2FBF4F; --teal:#0FA3A8; --amber:#E8A400;
    --bond:#9BCB2E; --cash:#C9CED6; --barbg:#EEF0F3; --grey:#DDE1E6;
    --text:#1C1C1E; --muted:#79797F; --faint:#A2A2A8; --red:#E0453A;
    --gup:#1D8A33; --r:22px;
  }
  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
  html,body{background:var(--bg)}
  body{font-family:'Inter','SB Sans Text',-apple-system,'SF Pro Text',system-ui,sans-serif;color:var(--text);display:flex;justify-content:center;min-height:100vh}

  .phone{width:100%;max-width:430px;min-height:100vh;background:var(--phone);display:flex;flex-direction:column;position:relative}
  @media(min-width:480px){.phone{margin:16px 0;min-height:calc(100vh - 32px);border-radius:44px;border:1px solid #E3E6EA;overflow:hidden;box-shadow:0 24px 70px rgba(28,40,64,.14)}}

  .top{position:sticky;top:0;z-index:20;background:rgba(247,248,250,.9);backdrop-filter:blur(14px);padding:14px 18px 12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}
  .ava{width:40px;height:40px;border-radius:14px;background:radial-gradient(120% 120% at 20% 15%,#2FBF4F 0%,#21A038 55%,#157A2A 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(33,160,56,.35);flex-shrink:0}
  .ava svg{width:22px;height:22px}
  .top .t1{font-size:15px;font-weight:600;letter-spacing:-.2px}
  .top .t2{font-size:12px;color:var(--green);display:flex;align-items:center;gap:6px;font-weight:500}
  .dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.6s infinite}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
  .voice-ind{margin-left:auto;display:flex;align-items:flex-end;gap:2.5px;height:18px}
  .voice-ind i{width:3px;border-radius:2px;background:var(--green);animation:eq 1s ease-in-out infinite}
  .voice-ind i:nth-child(1){height:7px}
  .voice-ind i:nth-child(2){height:14px;animation-delay:.15s}
  .voice-ind i:nth-child(3){height:10px;animation-delay:.3s}
  .voice-ind i:nth-child(4){height:16px;animation-delay:.45s}
  .voice-ind i:nth-child(5){height:8px;animation-delay:.6s}
  @keyframes eq{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}
  @media(prefers-reduced-motion:reduce){.voice-ind i,.dot{animation:none}}

  .feed{flex:1;padding:16px 14px calc(136px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}

  .client{align-self:flex-end;max-width:78%;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font-weight:600;font-size:14px;padding:10px 16px;border-radius:20px 20px 6px 20px;box-shadow:0 4px 14px rgba(33,160,56,.28);animation:in .35s ease}
  .client .mic{font-size:11px;font-weight:500;opacity:.85;display:block;margin-bottom:2px}

  .blk{animation:in .4s ease}
  @keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .say{background:var(--card);border:1px solid var(--border);border-radius:var(--r) var(--r) var(--r) 8px;padding:16px 18px;font-size:14.5px;line-height:1.58;color:#2A2A2E;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .say b{color:var(--text)}
  .say .tag{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
  .say .tag .eqm{display:inline-flex;align-items:flex-end;gap:2px;height:10px}
  .say .tag .eqm i{width:2px;background:var(--teal);border-radius:1px;animation:eq 1.1s infinite}
  .say .tag .eqm i:nth-child(1){height:5px}.say .tag .eqm i:nth-child(2){height:9px;animation-delay:.2s}.say .tag .eqm i:nth-child(3){height:6px;animation-delay:.4s}

  .w{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:18px;margin-top:10px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .w h4{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:14px}
  .w h4 span{color:var(--text)}

  .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
  .chip{border:1px solid #D8DCE1;background:#fff;color:#33353A;font-size:13.5px;font-weight:500;padding:11px 16px;border-radius:999px;cursor:pointer;transition:.2s;font-family:inherit;min-height:42px}
  .chip:hover{border-color:var(--green);color:var(--green)}
  .chip:focus-visible{outline:2px solid var(--green);outline-offset:2px}
  .chip.main{background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font-weight:600;border:none;box-shadow:0 4px 14px rgba(33,160,56,.3)}
  .chips.used .chip{opacity:.4;pointer-events:none}

  .mini .big{font-size:32px;font-weight:700;letter-spacing:-1px}
  .mini .sub{display:flex;gap:8px;margin-top:8px;font-size:13px;flex-wrap:wrap}
  .badge{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;padding:4px 11px;border-radius:999px;white-space:nowrap}
  .badge.up{background:rgba(33,160,56,.1);color:var(--gup)}
  .badge.dn{background:rgba(224,69,58,.1);color:var(--red)}
  .badge.tl{background:rgba(15,163,168,.1);color:#0B8489}
  .badge.yl{background:rgba(232,164,0,.12);color:#A97A00}

  .stack{display:flex;height:14px;border-radius:8px;overflow:hidden;margin-bottom:14px;gap:2px;background:var(--card)}
  .stack i{height:100%;border-radius:3px}
  .leg{display:flex;flex-direction:column;gap:9px}
  .leg .row{display:flex;align-items:center;gap:9px;font-size:13.5px}
  .leg .d{width:9px;height:9px;border-radius:50%;flex-shrink:0}
  .leg .n{color:#2A2A2E}
  .leg .p{margin-left:auto;font-weight:600;white-space:nowrap}
  .leg .v{color:var(--muted);font-size:12.5px;min-width:76px;text-align:right;white-space:nowrap}

  .hb{display:flex;flex-direction:column;gap:13px}
  .hb .r{display:grid;grid-template-columns:1fr;gap:5px}
  .hb .l{display:flex;justify-content:space-between;gap:10px;font-size:13px}
  .hb .l .nm{color:#2A2A2E}.hb .l .vl{font-weight:600;white-space:nowrap}
  .hb .r.ref .nm,.hb .r.ref .vl{color:var(--faint)}
  .hb .bar{height:12px;border-radius:7px;background:var(--barbg);position:relative;overflow:hidden}
  .hb .bar i{position:absolute;inset:0 auto 0 0;border-radius:7px;background:#B9BFC7;min-width:6px}
  .hb .r.ref .bar i{background:repeating-linear-gradient(45deg,#CFD4DA 0 4px,#E4E7EB 4px 8px)}
  .hb .r.hero .bar i{background:linear-gradient(90deg,var(--g1),var(--g2));box-shadow:0 1px 8px rgba(33,160,56,.35)}
  .hb .r.hero .vl{color:var(--gup)}
  .hb .r.neg .bar i{background:#EFB6B1}
  .hb .r.neg .vl{color:var(--red)}

  .mb{display:flex;align-items:flex-end;gap:8px;height:118px}
  .mb .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
  .mb .col .v{font-size:10.5px;color:var(--muted);white-space:nowrap}
  .mb .col .b{width:100%;max-width:30px;border-radius:7px;background:var(--grey)}
  .mb .col.best .b{background:linear-gradient(180deg,var(--g2),var(--g1));box-shadow:0 2px 10px rgba(33,160,56,.35)}
  .mb .col.best .v{color:var(--gup);font-weight:700}
  .mb .col.neg .b{background:#EFB6B1}
  .mb .col.neg .v{color:var(--red)}
  .mb .col .m{font-size:11px;color:var(--faint)}

  .line svg{width:100%;height:auto;display:block}
  .key{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:11.5px;color:var(--muted)}
  .key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}

  .rank{display:flex;flex-direction:column;gap:10px}
  .rank .it{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--card2);border-radius:14px}
  .rank .h{display:flex;align-items:baseline;gap:8px;font-size:14px;flex-wrap:wrap}
  .rank .h .n{font-weight:600}
  .rank .h .p{margin-left:auto;font-weight:700;white-space:nowrap}
  .rank .h .p.up{color:var(--gup)} .rank .h .p.dn{color:var(--red)}
  .rank .h .rub{color:var(--muted);font-size:12px;white-space:nowrap}
  .rank .c{font-size:12.5px;color:var(--muted);line-height:1.5}

  /* хелс-чек светофор */
  .hc{display:flex;flex-direction:column;gap:10px}
  .hc .it{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;background:var(--card2);border-radius:14px}
  .hc .led{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:3px}
  .hc .led.ok{background:#2FBF4F;box-shadow:0 0 8px rgba(47,191,79,.5)}
  .hc .led.warn{background:#E8A400;box-shadow:0 0 8px rgba(232,164,0,.5)}
  .hc .t{font-size:13.5px;font-weight:600}
  .hc .s{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px}
  .hc .s b{color:var(--gup)}

  .tblwrap{overflow-x:auto;margin:0 -4px;padding:0 4px}
  .tbl{width:100%;border-collapse:collapse;font-size:12.5px}
  .tbl th{color:var(--faint);font-weight:500;text-align:left;padding:6px 10px 8px 0;border-bottom:1px solid var(--border);white-space:nowrap}
  .tbl td{padding:10px 10px 10px 0;border-bottom:1px solid #EFF1F4;vertical-align:top;line-height:1.4}
  .tbl th:last-child,.tbl td:last-child{padding-right:0}
  .tbl tr:last-child td{border-bottom:none}
  .tbl .num{text-align:right;white-space:nowrap}
  .tbl th.num{text-align:right}
  .tbl .g{color:var(--gup);font-weight:600}.tbl .rd{color:var(--red);font-weight:600}
  .tbl .mut{color:var(--faint);font-size:11.5px}
  .tbl tr.sum td{border-top:1.5px solid var(--border);font-weight:600}

  .pay{display:flex;align-items:flex-end;gap:5px;height:112px}
  .pay .c{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%;min-width:0}
  .pay .b{width:100%;max-width:24px;border-radius:6px}
  .pay .fact{background:linear-gradient(180deg,var(--g2),var(--g1))}
  .pay .plan{background:repeating-linear-gradient(45deg,rgba(33,160,56,.5) 0 4px,rgba(33,160,56,.16) 4px 8px);border:1px dashed rgba(33,160,56,.55)}
  .pay .m{font-size:10px;color:var(--faint)}
  .pay .v{font-size:9.5px;color:var(--muted);white-space:nowrap}
  .pay .c.peak .v{color:var(--gup);font-weight:700}

  .wi{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .wi .c{background:var(--card2);border-radius:16px;padding:14px;min-width:0}
  .wi .t{font-size:12px;color:var(--muted);margin-bottom:8px}
  .wi .f{font-size:18px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  .wi .f .ar{color:var(--teal);font-size:14px}
  .wi .e{margin-top:9px;font-size:12px;line-height:1.45;color:#4A4A50}
  .wi .e b{color:var(--gup)}
  @media(max-width:374px){.wi{grid-template-columns:1fr}}

  .kv{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .kv .c{background:var(--card2);border-radius:14px;padding:11px 13px;min-width:0}
  .kv .t{font-size:11px;color:var(--muted);line-height:1.3}
  .kv .f{font-size:15px;font-weight:700;margin-top:3px;white-space:nowrap}
  .kv .f small{display:block;font-size:11px;color:var(--gup);font-weight:600;margin-left:0;margin-top:2px;white-space:normal;line-height:1.25}
  .kv .f.neg{color:var(--red)}
  .cib{margin-top:12px;display:flex;align-items:center;gap:10px;background:rgba(33,160,56,.07);border:1px solid rgba(33,160,56,.18);border-radius:14px;padding:12px 14px}
  .cib .b1{font-size:13.5px;font-weight:700;color:var(--gup)}
  .cib .b2{font-size:12px;color:var(--muted);margin-top:1px}

  /* водопад атрибуции */
  .att{display:flex;flex-direction:column;gap:12px}
  .att .r{display:grid;gap:5px}
  .att .l{display:flex;justify-content:space-between;gap:10px;font-size:13px;align-items:baseline}
  .att .l .nm{color:#2A2A2E}
  .att .l .nm small{display:block;font-size:11px;color:var(--faint);font-weight:400;margin-top:1px}
  .att .l .vl{font-weight:700;white-space:nowrap}
  .att .track{height:12px;border-radius:7px;background:var(--barbg);position:relative}
  .att .track i{position:absolute;top:0;bottom:0;border-radius:7px}
  .att .pos i{background:linear-gradient(90deg,var(--g1),var(--g2))}
  .att .pos .vl{color:var(--gup)}
  .att .neg i{background:#EFB6B1}
  .att .neg .vl{color:var(--red)}
  .att .base i{background:#B9BFC7}
  .att .total{border-top:1.5px solid var(--border);padding-top:12px}
  .att .total i{background:linear-gradient(90deg,var(--g1),var(--g2));box-shadow:0 1px 8px rgba(33,160,56,.35)}
  .att .total .vl{color:var(--gup);font-size:15px}
  .att .total .nm{font-weight:700}
  .kv3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
  .kv3 .c{background:var(--card2);border-radius:14px;padding:11px 12px;min-width:0}
  .kv3 .t{font-size:10.5px;color:var(--muted);line-height:1.3}
  .kv3 .f{font-size:14.5px;font-weight:700;margin-top:3px;white-space:nowrap}
  .kv3 .f.dn{color:var(--red)}
  @media(max-width:374px){.kv3{grid-template-columns:1fr 1fr}}
  .pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
  .pill{font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--card2);color:var(--muted);border:1px solid var(--border);font-family:inherit}
  .pill.on{background:rgba(33,160,56,.1);color:var(--gup);border-color:rgba(33,160,56,.25)}
  button.pill{cursor:pointer;min-height:32px;transition:.15s}
  button.pill:hover{border-color:var(--green);color:var(--green)}
  button.pill.on.stress{background:rgba(224,69,58,.08);color:var(--red);border-color:rgba(224,69,58,.25)}
  .wi .e b.dnb{color:var(--red)}

  .alloc{display:flex;flex-direction:column;gap:10px}
  .alloc .it{display:flex;align-items:center;gap:12px;background:var(--card2);border-radius:14px;padding:12px 13px}
  .alloc .ic{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
  .alloc .tx{min-width:0}
  .alloc .n{font-size:13.5px;font-weight:600}
  .alloc .s{font-size:12px;color:var(--muted);margin-top:1px}
  .alloc .a{margin-left:auto;text-align:right;flex-shrink:0;padding-left:8px}
  .alloc .a .v{font-weight:700;font-size:14px;white-space:nowrap}
  .alloc .a .y{font-size:11.5px;color:var(--gup);font-weight:600;white-space:nowrap}

  .dp{display:grid;grid-template-columns:1fr 26px 1fr;gap:8px;align-items:center;margin-bottom:14px}
  .dp .col .lbl{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;text-align:center;font-weight:600}
  .dp .vstack{display:flex;flex-direction:column;height:150px;border-radius:14px;overflow:hidden;gap:2px;background:var(--card)}
  .dp .vstack i{width:100%;border-radius:3px}
  .dp .arrow{color:var(--green);font-size:18px;text-align:center;font-weight:700}
  .met{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .met .c{background:var(--card2);border-radius:14px;padding:12px;min-width:0}
  .met .t{font-size:11.5px;color:var(--muted);line-height:1.35}
  .met .f{font-size:16px;font-weight:700;margin-top:5px;white-space:nowrap}
  .met .f .to{color:var(--gup)}
  .met .f .ar{color:var(--faint);font-weight:400;font-size:13px;padding:0 4px}
  @media(max-width:374px){.met{grid-template-columns:1fr}}

  .npvhead{display:flex;justify-content:center;margin-bottom:14px}
  .npv{display:flex;gap:22px;align-items:flex-end;height:168px;padding:0 8px}
  .npv .c{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;height:100%}
  .npv .b{width:100%;max-width:110px;border-radius:14px 14px 6px 6px}
  .npv .base{background:var(--grey)}
  .npv .off{background:linear-gradient(180deg,var(--g2),var(--g1));box-shadow:0 6px 18px rgba(33,160,56,.3)}
  .npv .v{font-weight:700;font-size:15px;white-space:nowrap}
  .npv .c:last-child .v{color:var(--gup)}
  .npv .n{font-size:11.5px;color:var(--muted);text-align:center;line-height:1.35}

  .steps{display:flex;flex-direction:column}
  .steps .st{display:flex;gap:12px;position:relative;padding-bottom:16px}
  .steps .st:last-child{padding-bottom:0}
  .steps .st::before{content:'';position:absolute;left:11px;top:27px;bottom:3px;width:1.5px;background:var(--border)}
  .steps .st:last-child::before{display:none}
  .steps .num{width:24px;height:24px;border-radius:50%;background:rgba(33,160,56,.1);color:var(--gup);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}
  .steps .tx{font-size:13.5px;line-height:1.45;padding-top:2px}
  .steps .tx span{color:var(--muted);display:block;font-size:12px}

  .cta{display:block;width:100%;margin-top:14px;padding:15px;border:none;border-radius:16px;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 6px 18px rgba(33,160,56,.3)}
  .note{font-size:11px;color:var(--faint);margin-top:12px;line-height:1.45}

  /* каталог всех вопросов */
  .fmic{position:relative}
  .fmic::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(33,160,56,.32);animation:ring 2.6s ease-out infinite}
  @keyframes ring{0%{transform:scale(.85);opacity:0}45%{opacity:1}100%{transform:scale(1.18);opacity:0}}
  @media(prefers-reduced-motion:reduce){.fmic::after{animation:none;opacity:.5}}
  .sheet{position:fixed;inset:0;z-index:60;display:none}
  .sheet.on{display:block}
  .sheet .scrim{position:absolute;inset:0;background:rgba(20,26,32,.42);backdrop-filter:blur(2px);animation:fade .2s ease}
  @keyframes fade{from{opacity:0}to{opacity:1}}
  .sheet .panel{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:430px;max-height:86vh;background:var(--phone);border-radius:26px 26px 0 0;box-shadow:0 -10px 40px rgba(16,24,40,.22);display:flex;flex-direction:column;animation:up .28s cubic-bezier(.22,.8,.3,1)}
  @keyframes up{from{transform:translate(-50%,14%);opacity:.6}to{transform:translate(-50%,0);opacity:1}}
  @media(prefers-reduced-motion:reduce){.sheet .panel,.sheet .scrim{animation:none}}
  .sheet .listen{display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:12.5px;color:var(--gup);font-weight:600;background:rgba(33,160,56,.06);border-bottom:1px solid var(--border)}
  .sheet .veq{display:inline-flex;align-items:flex-end;gap:2.5px;height:14px}
  .sheet .veq i{width:3px;border-radius:2px;background:var(--green);animation:eq 1s ease-in-out infinite}
  .sheet .veq i:nth-child(1){height:6px}
  .sheet .veq i:nth-child(2){height:12px;animation-delay:.15s}
  .sheet .veq i:nth-child(3){height:8px;animation-delay:.3s}
  .sheet .veq i:nth-child(4){height:13px;animation-delay:.45s}
  .sheet .veq i:nth-child(5){height:7px;animation-delay:.6s}
  .sheet .grab{width:38px;height:4px;border-radius:3px;background:#D3D7DC;margin:9px auto 4px}
  .sheet .shead{display:flex;align-items:center;gap:12px;padding:6px 18px 12px;border-bottom:1px solid var(--border)}
  .sheet .shead .h1{font-size:16px;font-weight:700}
  .sheet .shead .h2{font-size:12px;color:var(--muted);margin-top:1px}
  .sheet .close{margin-left:auto;width:32px;height:32px;border-radius:50%;border:none;background:var(--card2);color:var(--muted);font-size:17px;cursor:pointer;font-family:inherit;line-height:1}
  .sheet .body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px calc(20px + env(safe-area-inset-bottom))}
  .grp{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--faint);margin:14px 4px 8px}
  .grp:first-child{margin-top:2px}
  .qlist{display:flex;flex-direction:column;gap:7px}
  .q{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:15px;padding:12px 14px;font-family:inherit;font-size:13.5px;color:#2A2A2E;cursor:pointer;transition:.15s;line-height:1.35}
  .q:hover{border-color:var(--green);background:#fff}
  .q .qi{width:26px;height:26px;border-radius:9px;background:rgba(33,160,56,.1);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
  .q .qa{margin-left:auto;color:var(--faint);font-size:15px;flex-shrink:0}
  .q.done{opacity:.55}
  .q.done .qa::after{content:'✓';color:var(--gup)}
  .q.done .qa{font-size:13px}
  /* голосовой режим */
  .sndbtn{margin-left:12px;width:38px;height:38px;border-radius:50%;border:1px solid #D8DCE1;background:#fff;color:#33353A;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0}
  .sndbtn svg{width:18px;height:18px}
  .sndbtn.off{color:#B6B9BE}
  .top .voice-ind{margin-left:auto;opacity:.28;transition:.2s}
  body.speaking .top .voice-ind{opacity:1}
  .blk.now .say{border-color:rgba(33,160,56,.45);box-shadow:0 2px 14px rgba(33,160,56,.13)}
  .fmic.listening{background:linear-gradient(135deg,#E0453A,#F2685E);box-shadow:0 6px 20px rgba(224,69,58,.4)}
  .fmic.listening::after{border-color:rgba(224,69,58,.35);animation-duration:1.1s}
  .fhint.live{color:#2A2A2E;font-weight:600}
  .fhint.live em{color:var(--faint);font-style:normal;font-weight:400}
  .footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:30}
  .fbar{width:100%;max-width:430px;padding:10px 18px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(247,248,250,0),rgba(247,248,250,.9) 30%,rgba(247,248,250,.98) 60%);display:flex;flex-direction:column;align-items:center}
  .ptt{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:8px}
  .fhint{color:var(--muted);font-size:13.5px;font-weight:600;text-align:center;letter-spacing:.1px;transition:color .2s;min-height:17px}
  .fhint.talking{color:var(--gup)}
  .fmic{pointer-events:auto;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--g1),var(--g2));display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(33,160,56,.34);border:none;cursor:pointer;flex-shrink:0;transition:transform .08s}
  .fmic:active{transform:scale(.94)}
  .vhint{font-size:11px;color:var(--faint);text-align:center;padding:0 14px;line-height:1.35;min-height:13px}
  .vhint.act{color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer;pointer-events:auto;padding:4px 12px;border-radius:8px;min-height:auto}
  .vhint.act:active{background:rgba(0,0,0,.05)}

/* Компактный заголовок раздела (голос рассказывает суть; на экране только визуал) */
.blkhead{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--faint);margin:14px 2px 2px}
.blk.now .blkhead{color:var(--gup)}
.blkhead .eqm{display:inline-flex;align-items:flex-end;gap:2px;height:10px}
.blkhead .eqm i{width:2px;background:var(--teal);border-radius:1px;animation:eq 1.1s infinite}
.blkhead .eqm i:nth-child(1){height:5px}.blkhead .eqm i:nth-child(2){height:9px;animation-delay:.2s}.blkhead .eqm i:nth-child(3){height:6px;animation-delay:.4s}
.blk .w:first-of-type{margin-top:6px}

/* Строка-вердикт: главный вывод экрана простыми словами — якорь для клиента */
.verdict{display:flex;align-items:flex-start;gap:8px;margin:6px 2px 2px;padding:11px 14px;border-radius:14px;
  background:rgba(33,160,56,.09);border:1px solid rgba(33,160,56,.18);
  color:#0F7A2E;font-size:14px;font-weight:600;line-height:1.35}
.verdict.warn{background:rgba(232,164,0,.10);border-color:rgba(232,164,0,.22);color:#A97A00}
.verdict.info{background:rgba(15,163,168,.09);border-color:rgba(15,163,168,.2);color:#0B8489;font-weight:500}
.verdict + .w{margin-top:10px}
.mini .mb{margin-top:14px}
.mini .note{margin-top:8px}

/* Подсказка «нажмите» на интерактивных плашках (макро-сценарии) */
.taphint{display:flex;align-items:center;gap:6px;margin:2px 2px 9px;font-size:13px;font-weight:600;color:var(--teal);animation:tappulse 1.8s ease-in-out infinite}
@keyframes tappulse{0%,100%{opacity:.55}50%{opacity:1}}

/* Push-to-talk: удержание кнопки не должно вызывать скролл/выделение/меню на тач-экране */
#micBtn{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}

/* Мультилинейный график доходности (returnChart) */
.rchart svg{display:block;width:100%;height:auto}
.rkey{margin-top:11px;display:flex;flex-direction:column;gap:6px}
.rrow{display:flex;align-items:center;gap:9px;font-size:12.5px}
.rrow .rsw{width:18px;height:0;border-top:3px solid var(--grey,#aeb6bf);border-radius:2px;flex:none}
.rrow .rsw.dash{border-top-style:dashed}
.rrow .rnm{color:var(--muted);flex:1;min-width:0}
.rrow.hero .rnm{color:#1c1c22;font-weight:600}
.rrow .rpl{font-weight:700;font-variant-numeric:tabular-nums}
.rrow .rpl.pos{color:var(--gup)} .rrow .rpl.neg{color:var(--red)} .rrow .rpl.ref{color:var(--muted)}
/* ======================= GOAL: home + widgets ======================= */
.view{display:none}
.view.on{display:flex;flex-direction:column;min-height:100vh}
@media(min-width:480px){.view.on{min-height:calc(100vh - 32px)}}

/* ---- HOME (main app screen) ---- */
.hometop{position:sticky;top:0;z-index:20;background:rgba(247,248,250,.92);backdrop-filter:blur(14px);padding:15px 18px 13px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--border)}
.hometop .logo{width:36px;height:36px;border-radius:11px;background:radial-gradient(120% 120% at 20% 15%,#2FBF4F,#21A038 55%,#157A2A);flex-shrink:0}
.hometop .hn{font-size:15px;font-weight:700}
.hometop .hn small{display:block;font-size:11.5px;color:var(--muted);font-weight:400}
.hometop .bell{margin-left:auto;font-size:18px;opacity:.5}
.homebody{flex:1;padding:16px 14px 40px;display:flex;flex-direction:column;gap:14px}
.greet{font-size:20px;font-weight:730;letter-spacing:-.02em;padding:2px 4px 0}
.balcard{background:linear-gradient(150deg,#157A2A,#21A038 60%,#0FA3A8);color:#fff;border-radius:22px;padding:18px;position:relative;overflow:hidden}
.balcard::after{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.09)}
.balcard .bl{font-size:12px;color:rgba(255,255,255,.82)}
.balcard .bv{font-size:30px;font-weight:770;letter-spacing:-.02em;margin-top:5px}
.balcard .bd{margin-top:9px;font-size:12.5px;color:rgba(255,255,255,.9)}
.homesec{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--faint);margin:8px 4px 0}

/* banners */
.banner{border-radius:20px;padding:17px;cursor:pointer;position:relative;overflow:hidden;border:none;text-align:left;font-family:inherit;color:#fff;transition:transform .1s,box-shadow .15s;display:block;width:100%}
.banner:hover{transform:translateY(-2px)}
.banner:active{transform:scale(.99)}
.banner::after{content:"";position:absolute;right:-26px;bottom:-34px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08)}
.banner.b1{background:linear-gradient(150deg,#3A2A6E,#5B3FA8 55%,#7B54C8);box-shadow:0 8px 22px rgba(91,63,168,.28)}
.banner.b2{background:linear-gradient(150deg,#0E6E62,#12A08C);box-shadow:0 8px 22px rgba(18,160,140,.22)}
.banner.b3{background:linear-gradient(150deg,#8A5A12,#D68A0C);box-shadow:0 8px 22px rgba(214,138,12,.22)}
.banner .bk{font-family:inherit;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8);font-weight:700}
.banner .bt{font-size:17px;font-weight:730;letter-spacing:-.01em;margin:8px 0 4px;line-height:1.2;position:relative;text-wrap:balance}
.banner .bs{font-size:13px;color:rgba(255,255,255,.9);line-height:1.45;position:relative}
.banner .bcta{margin-top:13px;display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;background:rgba(255,255,255,.18);border-radius:11px;padding:9px 14px;position:relative}
.banner .bcta .m{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center}
.banner .bcta .m svg{width:10px;height:10px}

/* back button in assistant top */
.top .back{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:17px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}

/* ---- shared widget bits ---- */
.gval{font-variant-numeric:tabular-nums}
.field{margin-top:4px}
.field+.field{margin-top:14px}
.field .frow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.field .flab{font-size:13px;color:var(--muted)}
.field .fval{font-weight:730;font-size:17px;color:var(--text);font-variant-numeric:tabular-nums}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:5px;background:var(--barbg);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 2px 8px rgba(33,160,56,.4);cursor:pointer}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--green);border:3px solid #fff;cursor:pointer}
.anchors{display:flex;justify-content:space-between;margin-top:8px;font-size:10.5px;color:var(--faint)}
.anchors b{color:var(--muted);font-weight:600}

/* assets */
.assets{display:flex;flex-direction:column;gap:9px}
.asset{display:flex;align-items:center;gap:11px;padding:11px 12px;background:var(--card2);border-radius:14px;cursor:pointer;border:1.5px solid transparent;transition:.15s}
.asset.on{border-color:var(--green);background:rgba(33,160,56,.06)}
.asset .ico{width:34px;height:34px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.asset .nm{flex:1;font-size:13.5px;font-weight:600}
.asset .nm small{display:block;font-weight:400;color:var(--faint);font-size:11px;margin-top:1px}
.asset .amt{font-weight:700;font-size:13.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.asset .chk{width:22px;height:22px;border-radius:7px;border:2px solid var(--grey);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.asset.on .chk{background:var(--green);border-color:var(--green)}
.startbar{margin-top:14px;background:var(--card2);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--muted)}
.startbar b{color:var(--text)}
.pmini{height:8px;background:var(--barbg);border-radius:5px;margin-top:9px;overflow:hidden}
.pmini i{display:block;height:100%;background:linear-gradient(90deg,var(--g2),var(--green));border-radius:5px;transition:.3s}

/* MIXER */
.w.mixer{border:2px solid var(--green)}
.gauge{display:flex;align-items:center;gap:16px;margin:4px 0}
.ring{--pct:0;width:108px;height:108px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--green) calc(var(--pct)*1%),var(--barbg) 0);display:flex;align-items:center;justify-content:center;position:relative;transition:.3s}
.ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}
.ring .rc{position:relative;text-align:center}
.ring .rc .p{font-weight:800;font-size:23px;font-variant-numeric:tabular-nums;line-height:1}
.ring .rc .t{font-size:9.5px;color:var(--faint);margin-top:2px}
.gout{flex:1}
.gout .proj{font-size:12px;color:var(--muted)}
.gout .projv{font-weight:800;font-size:25px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text)}
.gout .tgt{font-size:12px;color:var(--faint);margin-top:2px}
.gout .gap{margin-top:8px;font-size:12.5px;font-weight:600;padding:5px 9px;border-radius:8px;display:inline-block}
.gap.ok{color:var(--gup);background:rgba(33,160,56,.12)}
.gap.miss{color:#B5730A;background:rgba(232,164,0,.15)}
.conf{margin-top:15px}
.conf .crow{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-bottom:6px}
.conf .crow b{font-weight:700}
.conf .cbar{height:9px;border-radius:5px;background:var(--barbg);overflow:hidden}
.conf .cbar i{display:block;height:100%;border-radius:5px;transition:.3s}
.cone{margin-top:11px;font-size:11.5px;color:var(--faint);display:flex;justify-content:space-between;gap:8px}
.cone b{color:var(--muted);font-weight:600}
.risk{display:flex;gap:7px}
.risk button{flex:1;font-size:12px;font-weight:600;color:var(--muted);background:var(--card2);border:1.5px solid transparent;border-radius:11px;padding:9px 6px;cursor:pointer;line-height:1.2;font-family:inherit}
.risk button small{display:block;font-weight:400;color:var(--faint);font-size:10px;margin-top:2px}
.risk button.on{border-color:var(--green);color:var(--green);background:rgba(33,160,56,.07)}
.toggles{display:flex;gap:8px;margin-top:14px}
.tg{flex:1;display:flex;align-items:center;gap:9px;background:var(--card2);border-radius:12px;padding:10px 11px;cursor:pointer;font-size:12px;color:var(--muted);border:1.5px solid transparent}
.tg.on{border-color:var(--teal);color:var(--text)}
.tg .sw{width:34px;height:20px;border-radius:11px;background:var(--grey);position:relative;flex-shrink:0;transition:.2s}
.tg .sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.tg.on .sw{background:var(--teal)}.tg.on .sw::after{left:16px}
.ghint{margin-top:14px;font-size:12.5px;color:var(--muted);background:var(--card2);border-radius:12px;padding:11px 13px;line-height:1.5}
.ghint b{color:var(--text)}
.solve{display:flex;gap:8px;margin-top:12px}
.solve button{flex:1;font-size:12.5px;font-weight:700;color:var(--green);background:rgba(33,160,56,.1);border:1px solid rgba(33,160,56,.3);border-radius:11px;padding:11px;cursor:pointer;font-family:inherit}

/* found money */
.found{display:flex;flex-direction:column;gap:8px}
.fsrc{display:flex;align-items:center;gap:10px;padding:11px 12px;background:var(--card2);border-radius:12px;cursor:pointer;border:1.5px solid transparent;transition:.15s}
.fsrc.on{border-color:var(--green);background:rgba(33,160,56,.06)}
.fsrc .nm{flex:1;font-size:13px;font-weight:600}
.fsrc .nm small{display:block;font-weight:400;color:var(--faint);font-size:11px}
.fsrc .amt{font-weight:700;font-size:13px;color:var(--gup);font-variant-numeric:tabular-nums}
.fsrc .chk{width:20px;height:20px;border-radius:6px;border:2px solid var(--grey);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}
.fsrc.on .chk{background:var(--green);border-color:var(--green)}
.foundsum{margin-top:12px;font-size:13px;color:var(--muted);text-align:center}
.foundsum b{color:var(--gup);font-weight:700}

/* strategy + faq */
.strat{display:flex;flex-direction:column;gap:9px}
.srow{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;background:var(--card2);border-radius:12px;font-size:13px;gap:10px}
.srow .sn{color:var(--muted)}.srow .sv{font-weight:700;text-align:right}
.faqc{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.answer{margin-top:11px;font-size:13px;color:var(--muted);background:var(--card2);border-radius:12px;padding:12px 13px;line-height:1.55;display:none}
.answer.show{display:block}
.answer b{color:var(--text)}

/* create */
.summary{display:flex;flex-direction:column;gap:2px}
.sumrow{display:flex;justify-content:space-between;font-size:13.5px;padding:7px 0;border-bottom:1px solid var(--border)}
.sumrow:last-child{border-bottom:none}
.sumrow .l{color:var(--muted)}.sumrow .r{font-weight:700;text-align:right}
.cta-main{margin-top:14px;width:100%;background:linear-gradient(135deg,var(--g2),var(--green));color:#fff;border:none;border-radius:14px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px rgba(33,160,56,.3)}

/* support nudges */
.nudge{display:flex;gap:12px;align-items:flex-start;padding:13px;border-radius:14px;border:1px solid var(--border)}
.nudge+.nudge{margin-top:10px}
.nudge.warn{background:rgba(232,164,0,.08);border-color:rgba(232,164,0,.35)}
.nudge.good{background:rgba(33,160,56,.07);border-color:rgba(33,160,56,.3)}
.nudge .ni{font-size:20px;line-height:1;flex-shrink:0}
.nudge .nt{font-size:13px;font-weight:700;margin-bottom:2px}
.nudge .nb{font-size:12px;color:var(--muted);line-height:1.45}
.nudge .nvoice{margin-top:9px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--green);background:rgba(33,160,56,.11);border:none;border-radius:9px;padding:7px 11px;cursor:pointer;font-family:inherit}
.nvoice .m{width:16px;height:16px;border-radius:50%;background:var(--green);display:inline-flex;align-items:center;justify-content:center}
.nvoice .m svg{width:9px;height:9px}
