  /* Запрет zoom и выделения */
  html,body{-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;overscroll-behavior:none;-webkit-touch-callout:none}
  input,textarea{-webkit-user-select:text;user-select:text}
:root {
    --bg:#ECEEF2;--card:rgba(255,255,255,0.82);--card-blur:blur(16px);
    --card-border:rgba(255,255,255,0.65);--text:#1C1C1E;--text2:#6E6E73;
    --text3:#AEAEB2;--btn:#2C2C2E;--green:#30D158;--red:#FF453A;
    --orange:#FF9F0A;--blue:#0A84FF;--border:rgba(0,0,0,0.07);
    --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
    --tab-h:58px;
  }
  /* ─ SPLASH ──────────────────────────────────────────── */
  #splash{
    position:fixed;inset:0;z-index:999;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
    background:var(--bg);
    transition:opacity .4s ease, transform .4s ease;
  }
  #splash.hide{opacity:0;transform:scale(1.04);pointer-events:none}
  .splash-logo{
    width:88px;height:88px;border-radius:28px;
    background:linear-gradient(135deg,rgba(18,22,28,0.97),rgba(22,28,22,0.97));
    border:1px solid rgba(48,209,88,0.2);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 32px rgba(0,0,0,0.18),0 0 0 1px rgba(48,209,88,0.08);
    animation:splashPulse 1.8s ease-in-out infinite;
  }
  @keyframes splashPulse{0%,100%{box-shadow:0 8px 32px rgba(0,0,0,.18),0 0 0 6px rgba(48,209,88,.04)}50%{box-shadow:0 8px 40px rgba(0,0,0,.22),0 0 0 12px rgba(48,209,88,.08)}}
  .splash-name{font-size:20px;font-weight:700;letter-spacing:-.4px;color:var(--text)}
  .splash-sub{font-size:13px;color:var(--text2)}
  .splash-dots{display:flex;gap:6px}
  .splash-dot{width:6px;height:6px;border-radius:50%;background:var(--green);opacity:.25;animation:sdot 1.2s ease-in-out infinite}
  .splash-dot:nth-child(2){animation-delay:.2s}
  .splash-dot:nth-child(3){animation-delay:.4s}
  @keyframes sdot{0%,80%,100%{opacity:.25;transform:scale(1)}40%{opacity:1;transform:scale(1.3)}}

  /* ─ THEME TRANSITION — only specific elements ───────── */
  body, #tabbar-wrap, .card, .card-dark, .bal-trade, .bal-avail,
  .refbonus-card, .stat-card, .sheet, .cdialog-box,
  .lang-btn, .calc-pct-btn, .calc-chip, .toggle-wrap,
  .tab-lbl, .label, .f12, .f13, .f14, .f15 {
    transition:background-color .28s ease, border-color .22s ease, color .22s ease !important;
  }

  *{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
  html,body{height:100%;background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Rounded','Segoe UI',sans-serif;color:var(--text);overflow:hidden}
  body{display:block}

  /* BG BLOBS */
  #bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
  .blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.15}
  .b1{width:320px;height:320px;background:#30D158;top:-90px;right:-70px}
  .b2{width:260px;height:260px;background:#0A84FF;bottom:80px;left:-90px}
  .b3{width:200px;height:200px;background:#FF9F0A;top:45%;right:-50px}

  #app{position:fixed;inset:0;overflow:hidden;z-index:1}
  body:not(.ob-done) #app{pointer-events:none}
  body:not(.ob-done) #tabbar-wrap{pointer-events:none}
  .page{position:absolute;inset:0;overflow-y:auto;padding:calc(var(--safe-t) + 16px) 16px calc(var(--tab-h) + 56px);display:none;-webkit-overflow-scrolling:touch;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
  .page.active{display:block;opacity:1;transform:translateY(0)}

  .card{background:var(--card);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--card-border);border-radius:22px;padding:18px 20px;margin-bottom:14px}
  .card-dark{background:rgba(26,26,28,0.93);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid rgba(255,255,255,0.06);border-radius:22px;padding:20px 22px;margin-bottom:14px;position:relative;overflow:hidden;cursor:pointer}
  .card-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 75% 15%,rgba(48,209,88,.16) 0%,transparent 55%),radial-gradient(ellipse at 20% 85%,rgba(10,132,255,.12) 0%,transparent 50%);pointer-events:none}

  /* ═══ TAB BAR — premium glass ═══════════════════════════ */
  #tabbar-wrap{
    position:fixed;bottom:0;left:0;right:0;
    z-index:50;
    background:rgba(228,231,237,0.72);
    backdrop-filter:blur(28px) saturate(200%);
    -webkit-backdrop-filter:blur(28px) saturate(200%);
    border-top:1px solid rgba(255,255,255,0.6);
    padding-bottom:var(--safe-b);
  }
  /* shimmer line */
  #tabbar-wrap::before{
    content:'';position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,0.95) 30%,rgba(255,255,255,0.95) 70%,transparent);
    pointer-events:none;
  }
  #tabbar{
    height:58px;
    display:flex;align-items:stretch;justify-content:space-around;
    position:relative;
  }
  .tab-btn{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;flex:1;cursor:pointer;position:relative;
    -webkit-user-select:none;user-select:none;
    padding:6px 0 4px;
    transition:opacity .12s;
  }
  .tab-btn:active{opacity:.7}
  /* icon container */
  .tab-pill{
    width:44px;height:28px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    transition:background .22s ease, transform .2s cubic-bezier(.34,1.46,.64,1);
    position:relative;
  }
  .tab-btn.active .tab-pill{
    background:rgba(40,198,80,0.13);
    transform:scale(1.06);
  }
  .tab-btn:not(.active) .tab-pill{background:transparent}
  .tab-lbl{
    font-size:10px;font-weight:500;letter-spacing:0.15px;
    color:rgba(60,60,67,0.38);
    transition:color .2s,font-weight .2s;
    line-height:1;
  }
  .tab-btn.active .tab-lbl{
    color:rgba(28,28,30,0.82);
    font-weight:600;
    letter-spacing:0.05px;
  }
  /* SVG stroke colours */
  .tab-btn:not(.active) .tab-pill svg{stroke:rgba(60,60,67,0.32)}
  .tab-btn.active .tab-pill svg{stroke:#28C650}
  /* hairline active indicator */
  .tab-btn::after{
    content:'';position:absolute;top:0;left:50%;
    transform:translateX(-50%);
    width:20px;height:2px;border-radius:0 0 2px 2px;
    background:linear-gradient(90deg,rgba(40,198,80,0) 0%,#28C650 50%,rgba(40,198,80,0) 100%);
    opacity:0;transition:opacity .25s,width .25s;
  }
  .tab-btn.active::after{opacity:1;width:28px}

  .mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
  .label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.6px}

  /* BUTTONS */
  .btn{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:15px;border:none;cursor:pointer;font-size:15px;font-weight:600;width:100%;background:var(--btn);color:#fff;transition:transform .12s,opacity .12s;-webkit-user-select:none;user-select:none;font-family:inherit}
  .btn:active{transform:scale(0.96);opacity:.85}
  .btn:disabled{opacity:.3;pointer-events:none}
  .btn-outline{background:transparent;color:var(--text);border:1.5px solid rgba(0,0,0,.12)}
  .btn-sm{height:40px;font-size:13px;border-radius:11px}
  .btn-green{background:#27C24C}
  .btn-share{background:var(--green);color:#fff}
  .btn-support{background:var(--btn);color:#fff}
  .btn-red{background:#E5342A}
  .icon-btn{width:40px;height:40px;border-radius:12px;background:rgba(0,0,0,.06);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s,background .12s;flex-shrink:0}
  .icon-btn:active{transform:scale(.93);background:rgba(0,0,0,.1)}

  .badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}
  .bg{background:rgba(48,209,88,.13);color:#167A33}
  .bb{background:rgba(110,110,115,.1);color:var(--text2)}
  .bo{background:rgba(255,159,10,.13);color:#9A5500}
  .bbl{background:rgba(10,132,255,.11);color:#0055B3}
  .br{background:rgba(255,69,58,.1);color:#B01810}

  .stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
  .stat-card{background:var(--card);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);border:1px solid var(--card-border);border-radius:18px;padding:14px 16px}
  .stat-val{font-size:24px;font-weight:700;letter-spacing:-.3px;margin-top:4px}

  /* BALANCE */
  /* Two-card balance block */
  .bal-block{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}

  /* Trading balance — dark card (existing card-dark, keep as is) */
  .bal-trade{
    background:linear-gradient(135deg,rgba(18,22,28,0.97) 0%,rgba(24,30,22,0.97) 100%);
    backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);
    border:1px solid rgba(48,209,88,0.14);
    border-radius:22px;padding:18px 20px;
    position:relative;overflow:hidden;
    cursor:pointer;transition:transform .12s;
  }
  .bal-trade:active{transform:scale(0.985)}
  .bal-trade::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 80% 10%,rgba(48,209,88,0.12) 0%,transparent 55%),
               radial-gradient(ellipse at 15% 90%,rgba(10,132,255,0.08) 0%,transparent 50%);
    pointer-events:none;border-radius:inherit;
  }

  /* Available balance — matches trading balance card */
  .bal-avail{
    background:linear-gradient(135deg,rgba(18,22,28,0.97) 0%,rgba(22,28,22,0.97) 100%);
    backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);
    border:1px solid rgba(10,132,255,0.14);
    border-radius:22px;padding:18px 20px;
    position:relative;overflow:hidden;
  }
  .bal-avail::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 80% 10%,rgba(10,132,255,0.1) 0%,transparent 55%),
               radial-gradient(ellipse at 15% 90%,rgba(48,209,88,0.07) 0%,transparent 50%);
    pointer-events:none;border-radius:inherit;
  }
  /* text colors inside avail card — dark bg needs light text */
  .bal-avail .bal-label{color:rgba(255,255,255,0.5)}
  .bal-avail #avail-lbl{color:rgba(255,255,255,0.5)}
  .bal-avail .bal-amt,.bal-avail #avail-total{color:#fff!important}
  .bal-avail .bal-unit{color:rgba(255,255,255,0.45)!important}
  .bal-avail-divider{display:none}

  /* Action buttons row */
  .bal-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
  .bal-btn-reinvest{
    background:linear-gradient(135deg,rgba(10,132,255,0.12) 0%,rgba(48,209,88,0.12) 100%);
    color:var(--text);
    border:1px solid rgba(10,132,255,0.2);
  }
  body.dark .bal-btn-reinvest{
    background:linear-gradient(135deg,rgba(10,132,255,0.2) 0%,rgba(48,209,88,0.18) 100%);
    color:#fff;border-color:rgba(10,132,255,0.3);
  }
  .bal-btn{
    height:46px;border-radius:13px;border:none;cursor:pointer;
    font-size:14px;font-weight:600;font-family:inherit;
    display:flex;align-items:center;justify-content:center;gap:7px;
    transition:transform .12s ease,opacity .12s ease;
    -webkit-user-select:none;user-select:none;
  }
  .bal-btn:active{transform:scale(0.95);opacity:.85}
  .bal-btn-deposit{background:var(--green);color:#fff}
  .bal-avail .bal-btn-reinvest{background:rgba(10,132,255,0.25);color:#fff;border-color:rgba(10,132,255,0.35)}
  .bal-btn-withdraw{background:rgba(0,0,0,0.07);color:var(--text);border:1px solid rgba(0,0,0,0.09)}

  /* dark overrides */
  /* bal-avail already dark in both modes */
  .bal-avail .bal-btn-withdraw{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.18)}
  body.dark .bal-btn-withdraw{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.12)}
  .bal-label{font-size:11px;color:rgba(255,255,255,.48);font-weight:600;text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px}
  .bal-amt{font-size:40px;font-weight:700;letter-spacing:-1.4px;color:#fff;line-height:1}
  .bal-unit{font-size:16px;font-weight:600;color:rgba(255,255,255,.45);margin-left:4px;vertical-align:2px}
  .bal-sub{font-size:12px;color:rgba(255,255,255,.38);margin-top:8px}

  /* AGENT — analyst */
  .agent-card{overflow:hidden;position:relative}
  .agent-viz{
    width:100%;height:150px;
    margin:0 auto 16px;
    position:relative;overflow:hidden;
    border-radius:18px;
    background:rgba(246,248,250,0.95);
    border:1px solid rgba(0,0,0,0.07);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
  }
  #wave-canvas{width:100%;height:100%;display:block}
  .agent-viz.inactive #wave-canvas{opacity:0.35;filter:saturate(0.2)}

  /* AGENT LOADING SEQUENCE */
  .agent-seq{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    border-radius:inherit;
    z-index:10;
    opacity:0;pointer-events:none;
    transition:opacity .3s;
  }
  .agent-seq.show{opacity:1;pointer-events:all}
  .seq-txt{
    font-size:14px;font-weight:600;text-align:center;
    color:var(--text2);letter-spacing:-.1px;
    opacity:0;transform:translateY(6px);
    transition:opacity .4s ease, transform .4s ease;
    padding:0 20px;
  }
  .seq-txt.vis{opacity:1;transform:translateY(0)}
  .seq-txt.green{color:#1A8A38;font-size:15px;letter-spacing:-.2px}
  .seq-dots{display:inline-block;overflow:hidden;width:0;animation:dotsDot .8s steps(3,end) infinite}
  @keyframes dotsDot{0%{width:0}33%{width:6px}66%{width:12px}100%{width:18px}}

  /* PROFIT HISTORY */
  .phist-wrap{
    overflow:hidden;
    max-height:0;
    transition:max-height .4s cubic-bezier(.4,0,.2,1), opacity .3s ease;
    opacity:0;
  }
  .phist-wrap.open{max-height:2000px;opacity:1}
  .ph-item{
    display:flex;align-items:center;justify-content:space-between;
    padding:11px 0;border-bottom:1px solid var(--border);
    animation:phIn .28s ease both;
  }
  .ph-item:last-child{border-bottom:none}
  @keyframes phIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
  .ph-amount{font-size:15px;font-weight:700;color:var(--green);font-feature-settings:"tnum"}
  .ph-date{font-size:12px;color:var(--text3)}
  .ph-actions{display:flex;gap:8px;margin-top:14px}

  /* PROGRESS */
  .prog-track{height:7px;background:rgba(0,0,0,.07);border-radius:4px;overflow:hidden;margin:10px 0 6px}
  .prog-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#27C24C,#30D158);transition:width .6s cubic-bezier(.4,0,.2,1)}

  /* HINT */
  .hint{background:rgba(255,199,0,.09);border:1px solid rgba(255,199,0,.25);border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:13px;color:#7A5800;display:flex;align-items:flex-start;gap:10px;line-height:1.5}
  .hint.hidden{display:none}

  /* SETTINGS */
  .lang-btn{
    display:flex;align-items:center;gap:10px;
    padding:13px 16px;border-radius:14px;border:1.5px solid rgba(0,0,0,0.08);
    background:#fff;cursor:pointer;font-size:14px;font-weight:500;
    color:var(--text);font-family:inherit;transition:all .18s;
  }
  .lang-btn:active{transform:scale(0.97)}
  .lang-btn.active{border-color:var(--green);background:rgba(48,209,88,0.07);color:#1A8A38;font-weight:600}
  .lang-flag{width:32px;height:32px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(0,0,0,0.1)}
  .lang-flag svg{width:32px;height:32px;display:block;flex-shrink:0}
  .toggle-wrap{
    width:50px;height:30px;border-radius:15px;
    background:rgba(0,0,0,0.1);
    position:relative;cursor:pointer;
    transition:background .25s;flex-shrink:0;
  }
  .toggle-wrap.on{background:var(--green)}
  .toggle-knob{
    width:26px;height:26px;border-radius:13px;background:#fff;
    position:absolute;top:2px;left:2px;
    box-shadow:0 2px 6px rgba(0,0,0,0.18);
    transition:transform .25s cubic-bezier(.34,1.56,.64,1);
  }
  .toggle-wrap.on .toggle-knob{transform:translateX(20px)}

  /* DARK MODE */
  body.dark{
    --bg:#0F0F12;--card:rgba(28,28,32,0.85);--card-border:rgba(255,255,255,0.08);
    --text:#F5F5F7;--text2:#98989F;--text3:#636366;--btn:#F5F5F7;--btn-text:#000;
    --border:rgba(255,255,255,0.08);
  }
  body.dark .card-dark{background:rgba(20,20,24,0.95)}
  body.dark .fi{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.1);color:#fff}
  body.dark .fi::placeholder{color:rgba(255,255,255,0.3)}
  body.dark #tabbar-wrap{background:rgba(18,18,22,0.82);border-top-color:rgba(255,255,255,0.08)}
  body.dark .tab-btn:not(.active) .tab-pill svg{stroke:rgba(255,255,255,0.28)}
  body.dark .tab-lbl{color:rgba(255,255,255,0.28)}
  body.dark .tab-btn.active .tab-lbl{color:rgba(255,255,255,0.85)}
  body.dark .sheet{background:#1C1C1E}
  body.dark .lang-btn{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.1);color:var(--text)}
  body.dark .lang-btn.active{background:rgba(48,209,88,0.12);border-color:var(--green);color:var(--green)}
  body.dark .toggle-wrap{background:rgba(255,255,255,0.12)}
  body.dark .stat-card{background:rgba(28,28,32,0.9);border-color:rgba(255,255,255,0.06)}
  body.dark .addr{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.08)}
  body.dark .hint{background:rgba(255,199,0,0.08);border-color:rgba(255,199,0,0.2);color:#FFCC00}
  body.dark .saved-wallet{background:rgba(48,209,88,0.08);border-color:rgba(48,209,88,0.15)}
  body.dark #bg .b1{opacity:.08}body.dark #bg .b2{opacity:.06}body.dark #bg .b3{opacity:.05}

  /* Dark: pill tabs (Пополнить/Вывести/История) */
  body.dark .pills{background:rgba(255,255,255,0.07)}
  body.dark .pill{color:rgba(255,255,255,0.45)}
  body.dark .pill.active{background:rgba(255,255,255,0.14);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,0.4)}

  /* Dark: outline buttons */
  body.dark .btn-outline{background:rgba(255,255,255,0.08);color:#fff;border-color:rgba(255,255,255,0.15)}
  body.dark .btn-share{background:rgba(48,209,88,0.85);color:#fff}
  body.dark .btn-support{background:rgba(255,255,255,0.12);color:#fff;border:1px solid rgba(255,255,255,0.15)}
  /* dark btn — keep dark bg, white text for action buttons */
  #abtn{background:var(--btn);color:#fff}
  #abtn.agent-on{background:#E5342A!important;color:#fff}
  body.dark #abtn{background:rgba(255,255,255,0.12);color:#fff}
  body.dark #abtn.agent-on{background:rgba(229,52,42,0.85)!important;color:#fff}
  body.dark .btn-sm:not(.btn-outline):not(.btn-share){background:rgba(255,255,255,0.1);color:#fff}
  /* Withdraw button dark mode */
  body.dark #wbtn{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.5)}
  body.dark #wbtn:not([disabled]){background:var(--green);color:#fff}
  body.dark .btn-outline:active{background:rgba(255,255,255,0.14)}

  /* Dark: icon-btn */
  body.dark .icon-btn{background:rgba(255,255,255,0.1)}
  body.dark .icon-btn svg{stroke:rgba(255,255,255,0.7)}

  /* Dark: sw-ico-btn */
  body.dark .sw-ico-btn{background:rgba(255,255,255,0.1)}
  body.dark .sw-ico-btn.del{background:rgba(255,69,58,0.15)}

  /* Dark: sheet background */
  body.dark .sheet{background:#1A1A1C}
  body.dark .modal-handle,.dark .handle{background:rgba(255,255,255,0.15)}

  /* Dark: form inputs */
  body.dark .fg .f12{color:rgba(255,255,255,0.4)}

  /* Dark: agent-viz */
  body.dark .agent-viz{background:rgba(240,242,246,0.06);border-color:rgba(255,255,255,0.06)}

  /* Dark: tag labels / badge gray */
  body.dark .bb{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.5)}

  /* Dark: progress track */
  body.dark .prog-track{background:rgba(255,255,255,0.1)}

  /* Dark: section headers */
  body.dark .label{color:rgba(255,255,255,0.45)}

  /* Dark: card border */
  body.dark .card{border-color:rgba(255,255,255,0.07)}

  /* Dark: phist toggle btn */
  body.dark #phist-toggle-btn{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6)}

  /* Dark: cdialog */
  body.dark .cdialog-box{background:#1C1C1E;color:#fff}
  body.dark .cdialog-msg{color:rgba(255,255,255,0.55)}
  body.dark .cdialog-addr{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.8)}

  /* Dark: lang buttons */
  body.dark .lang-btn{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8)}
  body.dark .lang-btn.active{background:rgba(48,209,88,0.15);border-color:#28C650;color:#28C650}

  /* Dark: toggle */
  body.dark .toggle-wrap{background:rgba(255,255,255,0.15)}

  /* CONFIRM DIALOG */
  .cdialog{
    position:fixed;inset:0;z-index:200;
    display:flex;align-items:center;justify-content:center;padding:24px;
    opacity:0;pointer-events:none;transition:opacity .22s;
  }
  .cdialog::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .cdialog.open{opacity:1;pointer-events:all}
  .cdialog-box{
    position:relative;z-index:1;
    background:#fff;border-radius:22px;
    padding:24px 22px 20px;width:100%;max-width:320px;
    transform:scale(0.92) translateY(10px);
    transition:transform .28s cubic-bezier(.34,1.46,.64,1);
    box-shadow:0 20px 60px rgba(0,0,0,0.2);
  }
  .cdialog.open .cdialog-box{transform:scale(1) translateY(0)}
  .cdialog-ico{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
  .cdialog-ico.warn{background:rgba(255,159,10,.12)}
  .cdialog-ico.danger{background:rgba(255,69,58,.1)}
  .cdialog-title{font-size:17px;font-weight:700;text-align:center;margin-bottom:8px;letter-spacing:-.2px}
  .cdialog-msg{font-size:14px;color:var(--text2);text-align:center;line-height:1.55;margin-bottom:20px}
  .cdialog-addr{background:rgba(0,0,0,.04);border-radius:10px;padding:9px 12px;font-size:11px;font-family:monospace;word-break:break-all;color:var(--text);text-align:center;margin-bottom:18px}
  .cdialog-btns{display:flex;gap:10px}

  /* Saved wallet banner */
  .saved-wallet{
    background:rgba(48,209,88,.08);border:1px solid rgba(48,209,88,.2);
    border-radius:13px;padding:11px 14px;margin-bottom:14px;
    display:flex;align-items:center;gap:10px;
  }
  .saved-wallet-addr{flex:1;min-width:0}
  .saved-wallet-addr span{display:block;font-size:11px;font-family:monospace;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .saved-wallet-addr small{font-size:11px;color:var(--green);font-weight:600}
  .sw-actions{display:flex;gap:6px;flex-shrink:0}
  .sw-ico-btn{width:32px;height:32px;border-radius:9px;background:rgba(0,0,0,.06);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}
  .sw-ico-btn:active{background:rgba(0,0,0,.12)}
  .sw-ico-btn.del{background:rgba(255,69,58,.08)}
  .sw-ico-btn.del:active{background:rgba(255,69,58,.16)}

  /* MODALS */
  .overlay{
    position:fixed;inset:0;z-index:100;
    display:flex;align-items:flex-end;
    opacity:0;pointer-events:none;
    transition:opacity .3s ease;
  }
  /* Blur backdrop */
  .overlay::before{
    content:'';position:absolute;inset:0;
    background:rgba(0,0,0,.45);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transition:opacity .3s ease;
    opacity:0;
  }
  .overlay.open{opacity:1;pointer-events:all}
  .overlay.open::before{opacity:1}
  .sheet{
    position:relative;z-index:1;
    width:100%;
    height:82vh;          /* фиксированная высота */
    background:#F5F5F7;
    border-radius:22px 22px 0 0;
    padding:10px 20px calc(var(--safe-b) + 28px);
    transform:translateY(100%);
    transition:transform .38s cubic-bezier(.32,.72,0,1);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    will-change:transform;
  }
  .overlay.open .sheet{transform:translateY(0)}
  /* Dragging state — no transition */
  .sheet.dragging{transition:none}
  .handle{
    width:40px;height:4px;
    background:#D1D1D6;border-radius:2px;
    margin:0 auto 20px;cursor:grab;
    flex-shrink:0;
  }

  .pills{display:flex;background:rgba(0,0,0,.06);border-radius:12px;padding:3px;margin-bottom:18px}
  .pill{flex:1;text-align:center;padding:8px 2px;font-size:12px;font-weight:600;border-radius:10px;cursor:pointer;color:var(--text2);transition:all .15s}
  .pill.active{background:#fff;color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.1)}
  .tc{display:none}.tc.active{display:block}

  .fg{margin-bottom:14px}
  .fl{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:7px;display:flex;align-items:center;gap:5px}
  .fi{width:100%;height:50px;border-radius:13px;border:1.5px solid rgba(0,0,0,.09);background:#fff;padding:0 16px;font-size:15px;color:var(--text);outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}
  .fi:focus{border-color:rgba(44,44,46,.3);box-shadow:0 0 0 3px rgba(44,44,46,.05)}

  .addr{background:rgba(0,0,0,.04);border-radius:12px;padding:12px 14px;font-size:11px;font-family:monospace;word-break:break-all;cursor:pointer;border:1px solid var(--border);display:flex;align-items:center;gap:10px;transition:background .12s}
  .addr:active{background:rgba(0,0,0,.08)}

  /* ─ TX FILTER BAR ─────────────────────────────────── */
  .tx-filter-bar{
    display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }
  .tx-filter-bar::-webkit-scrollbar{display:none}
  .tx-filter-btn{
    flex-shrink:0;height:34px;padding:0 14px;
    border-radius:10px;border:1px solid var(--card-border);
    background:var(--card);color:var(--text2);
    font-size:13px;font-weight:600;cursor:pointer;
    transition:all .15s ease;white-space:nowrap;
    font-family:inherit;
  }
  .tx-filter-btn.active{
    background:var(--btn);color:#fff;border-color:transparent;
  }
  body.dark .tx-filter-btn{background:rgba(255,255,255,0.07);color:var(--text2);border-color:rgba(255,255,255,0.1)}
  body.dark .tx-filter-btn.active{background:var(--green);color:#fff}

  .tx-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
  .tx-item:last-child{border-bottom:none}
  .tx-ico{
    width:38px;height:38px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .tx-ico.in{background:rgba(48,209,88,.12)}
  .tx-ico.out{background:rgba(255,69,58,.1)}
  .tx-ico.ref{background:rgba(10,132,255,.1)}
  .tx-d{flex:1;min-width:0}
  .tx-d strong{font-size:14px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tx-d span{font-size:12px;color:var(--text2)}
  .tx-amt{font-size:14px;font-weight:700;text-align:right;flex-shrink:0}
  .tx-amt.in{color:var(--green)}.tx-amt.out{color:var(--red)}.tx-amt.ref{color:var(--blue)}
  .txs{font-size:10px;padding:1px 6px;border-radius:6px;font-weight:600}
  .txs.p{background:rgba(255,159,10,.12);color:#8A4800}
  .txs.ok{background:rgba(48,209,88,.12);color:#15712E}
  .txs.f{background:rgba(255,69,58,.1);color:#A01408}

  .faq-item{border-bottom:1px solid var(--border)}
  .faq-q{padding:14px 0;font-size:14px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;line-height:1.4;-webkit-user-select:none;user-select:none}
  .faq-q svg{flex-shrink:0;transition:transform .28s cubic-bezier(.4,0,.2,1);stroke:var(--text2)}
  .faq-q.open svg{transform:rotate(180deg)}
  .faq-q.open span{color:var(--text)}
  .faq-a{font-size:13px;color:var(--text2);line-height:1.65;overflow:hidden;max-height:0;opacity:0;transition:max-height .38s cubic-bezier(.4,0,.2,1),opacity .25s ease,padding .28s ease;padding-bottom:0}
  .faq-a.open{max-height:400px;opacity:1;padding-bottom:14px}

  .ref-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
  .ref-item:last-child{border-bottom:none}
  .ref-link-box{
    display:flex;align-items:center;gap:10px;
    background:rgba(48,209,88,0.07);
    border:1px solid rgba(48,209,88,0.2);
    border-radius:13px;padding:12px 14px;
    cursor:pointer;transition:background .12s;
  }
  .ref-link-box:active{background:rgba(48,209,88,0.12)}
  .ref-link-icon{flex-shrink:0}
  .ref-link-text{
    flex:1;font-size:12px;font-family:monospace;
    color:var(--text);word-break:break-all;line-height:1.4;
  }
  .ref-link-copy{flex-shrink:0}
  body.dark .ref-link-box{background:rgba(48,209,88,0.1);border-color:rgba(48,209,88,0.25)}
  body.dark .ref-link-text{color:rgba(255,255,255,0.85)}

  /* ─── CALCULATOR ─────────────────────────────────────── */
  .calc-input-wrap{
    background:var(--card);
    backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);
    border:1px solid var(--card-border);
    border-radius:22px;padding:20px 22px;
    margin-bottom:14px;
  }
  .calc-input-label{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;display:flex;align-items:center;gap:6px}
  .calc-amount-row{display:flex;align-items:center;gap:0;margin-bottom:14px}
  .calc-currency{font-size:28px;font-weight:700;color:var(--text2);margin-right:8px;flex-shrink:0}
  .calc-input{
    flex:1;border:none;background:transparent;outline:none;
    font-size:42px;font-weight:700;letter-spacing:-1.5px;
    color:var(--text);font-family:inherit;
    font-feature-settings:"tnum";min-width:0;width:100%;
  }
  .calc-input::placeholder{color:var(--text3)}
  .calc-input::-webkit-inner-spin-button{display:none}
  /* Quick amount chips */
  .calc-chips{display:flex;gap:8px;flex-wrap:wrap}
  .calc-chip{
    padding:10px 18px;border-radius:20px;font-size:14px;font-weight:600;
    background:rgba(0,0,0,0.06);color:var(--text2);
    border:1px solid rgba(0,0,0,0.07);cursor:pointer;
    transition:all .15s;-webkit-user-select:none;user-select:none;
  }
  .calc-chip:active{transform:scale(0.94);background:rgba(48,209,88,0.12);color:var(--green);border-color:rgba(48,209,88,0.2)}
  .calc-chip.sel{background:rgba(48,209,88,0.1);color:#1A8A38;border-color:rgba(48,209,88,0.25);font-weight:700}
  body.dark .calc-chip{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.08)}
  body.dark .calc-chip.sel{background:rgba(48,209,88,0.15);color:#28C650;border-color:rgba(48,209,88,0.3)}

  /* Result cards */
  .calc-results{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
  .calc-result-card{
    background:var(--card);backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);
    border:1px solid var(--card-border);border-radius:18px;
    padding:16px 20px;
    display:flex;align-items:center;justify-content:space-between;
    transition:transform .15s;
  }
  .calc-result-card.highlight{
    background:linear-gradient(135deg,rgba(18,22,28,0.97),rgba(22,28,22,0.97));
    border-color:rgba(48,209,88,0.2);
  }
  .calc-result-card.highlight .calc-res-label{color:rgba(255,255,255,0.5)}
  .calc-result-card.highlight .calc-res-period{color:rgba(255,255,255,0.3)}
  .calc-res-left{display:flex;flex-direction:column;gap:3px}
  .calc-res-label{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}
  .calc-res-period{font-size:11px;color:var(--text3);margin-top:2px}
  .calc-res-amount{font-size:26px;font-weight:700;letter-spacing:-.5px;color:var(--green);font-feature-settings:"tnum"}
  .calc-result-card.highlight .calc-res-amount{color:#28C650}
  .calc-res-usdt{font-size:13px;font-weight:500;color:var(--text2);margin-left:3px}
  .calc-result-card.highlight .calc-res-usdt{color:rgba(255,255,255,0.35)}
  /* CTA */
  .calc-cta{margin-top:4px}
  body.dark .calc-input-wrap{background:rgba(28,28,34,0.9);border-color:rgba(255,255,255,0.07)}
  body.dark .calc-input{color:#fff}
  body.dark .calc-input::placeholder{color:rgba(255,255,255,0.2)}

  /* REF BONUS SYSTEM */
  .refbonus-card{
    background:linear-gradient(135deg,rgba(18,22,28,0.97) 0%,rgba(18,22,30,0.97) 100%);
    backdrop-filter:var(--card-blur);-webkit-backdrop-filter:var(--card-blur);
    border:1px solid rgba(255,159,10,0.18);
    border-radius:22px;padding:20px;margin-bottom:14px;position:relative;overflow:hidden;
  }
  .refbonus-card::before{content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse at 90% 10%,rgba(255,159,10,.12) 0%,transparent 55%);
    pointer-events:none;border-radius:inherit}
  .refbonus-current{
    display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;
  }
  .refbonus-pct-badge{
    background:rgba(255,159,10,.15);border:1px solid rgba(255,159,10,.3);
    border-radius:12px;padding:8px 14px;text-align:center;
  }
  .refbonus-pct-val{font-size:26px;font-weight:700;color:#FF9F0A;letter-spacing:-.5px;font-feature-settings:"tnum"}
  .refbonus-pct-lbl{font-size:10px;color:rgba(255,159,10,.7);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
  .refbonus-info{flex:1;margin-left:16px}
  .refbonus-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px}
  .refbonus-vol{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5}

  /* Progress bar multi-step */
  .refbonus-track{background:rgba(255,255,255,.08);height:6px;border-radius:3px;position:relative;margin:14px 0 10px}
  .refbonus-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#FF9F0A,#FFB830);transition:width .6s cubic-bezier(.4,0,.2,1)}
  .refbonus-milestones{display:flex;justify-content:space-between;margin-bottom:14px}
  .refbonus-ms{text-align:center;flex:1}
  .refbonus-ms-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.2);margin:0 auto 4px;transition:all .3s}
  .refbonus-ms-dot.reached{background:#FF9F0A;border-color:#FF9F0A;box-shadow:0 0 8px rgba(255,159,10,.5)}
  .refbonus-ms-dot.current{background:#FF9F0A;border-color:#FFB830;box-shadow:0 0 12px rgba(255,159,10,.6);animation:msPulse 2s infinite}
  @keyframes msPulse{0%,100%{box-shadow:0 0 8px rgba(255,159,10,.4)}50%{box-shadow:0 0 16px rgba(255,159,10,.7)}}
  .refbonus-ms-label{font-size:10px;color:rgba(255,255,255,.4);font-weight:500}
  .refbonus-ms-label.reached{color:rgba(255,159,10,.8)}
  .refbonus-ms-bonus{font-size:9px;color:rgba(255,159,10,.6);font-weight:600;margin-top:1px}

  /* Next level card */
  .refbonus-next{
    background:rgba(255,255,255,.06);border-radius:13px;padding:12px 14px;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
  }
  .refbonus-next-lbl{font-size:12px;color:rgba(255,255,255,.5);line-height:1.5}
  .refbonus-next-amt{font-size:18px;font-weight:700;color:#FF9F0A;white-space:nowrap;font-feature-settings:"tnum"}
  body.dark .refbonus-card{border-color:rgba(255,159,10,.22)}

  .ref-av{width:40px;height:40px;border-radius:50%;background:rgba(44,44,46,.08);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text2);flex-shrink:0}

  /* ONBOARDING */
  #ob{position:fixed;inset:0;z-index:600;background:var(--bg);display:flex;flex-direction:column;padding:calc(var(--safe-t) + 50px) 28px calc(var(--safe-b) + 36px)}
  .ob-slides{flex:1;position:relative;overflow:hidden}
  .ob-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;opacity:0;transform:translateX(55px);transition:all .36s cubic-bezier(.32,.72,0,1);pointer-events:none;z-index:1}
  .ob-slide.active{opacity:1;transform:translateX(0);pointer-events:all;z-index:2}
  .ob-slide.prev{opacity:0;transform:translateX(-55px)}
  .ob-ico{width:96px;height:96px;border-radius:30px;background:rgba(44,44,46,.07);display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.65)}
  .ob-dots{display:flex;gap:6px;justify-content:center;margin-bottom:22px}
  .ob-dot{height:5px;border-radius:3px;background:var(--text3);transition:all .28s;width:6px}
  .ob-dot.active{width:22px;background:var(--text)}
  .ob-t{font-size:26px;font-weight:700;letter-spacing:-.5px;line-height:1.2}
  .ob-p{font-size:15px;color:var(--text2);line-height:1.6;max-width:280px}

  .sdot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
  .sdot.g{background:var(--green);animation:sp 2s infinite}
  .sdot.d{background:var(--text3)}
  @keyframes sp{0%,100%{box-shadow:0 0 0 0 rgba(48,209,88,.3)}50%{box-shadow:0 0 0 5px rgba(48,209,88,.06)}}

  #toast{position:fixed;bottom:calc(var(--tab-h) + var(--safe-b) + 14px);left:50%;transform:translateX(-50%) translateY(14px);background:rgba(26,26,28,.93);color:#fff;padding:10px 18px;border-radius:22px;font-size:13px;font-weight:500;z-index:300;opacity:0;transition:all .22s;white-space:nowrap;pointer-events:none;backdrop-filter:blur(10px)}
  #toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

  /* RIPPLE on buttons */
  .btn{overflow:hidden;position:relative}
  .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.25);transform:scale(0);animation:rpl .5s ease-out forwards;pointer-events:none}
  @keyframes rpl{to{transform:scale(4);opacity:0}}

  /* Card press effect */
  .card-dark:active{transform:scale(0.985);transition:transform .1s}

  /* Number counter animation */
  .num-anim{transition:color .3s}

  /* Shimmer skeleton */
  .skeleton{background:linear-gradient(90deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.09) 50%,rgba(0,0,0,.05) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px;color:transparent!important}
  body.dark .skeleton{background:linear-gradient(90deg,rgba(255,255,255,.06) 25%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.06) 75%);background-size:200% 100%}
  @keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
  /* skeleton placeholders */
  .skel-bal{height:42px;width:160px;border-radius:10px;margin:4px 0}
  .skel-txt{height:14px;border-radius:7px;margin:6px 0}
  .skel-txt.w60{width:60%}.skel-txt.w40{width:40%}.skel-txt.w80{width:80%}
  @keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

  /* Slide-up animation for cards on page load */
  @keyframes slideUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
  .page.active .card, .page.active .card-dark, .page.active .stat-row{animation:slideUp .35s ease both}
  .page.active .card:nth-child(2){animation-delay:.06s}
  .page.active .card:nth-child(3){animation-delay:.12s}
  .page.active .card:nth-child(4){animation-delay:.18s}
  .page.active .stat-row{animation-delay:.22s}

  /* Success checkmark animation */
  @keyframes checkPop{0%{transform:scale(0) rotate(-10deg);opacity:0}60%{transform:scale(1.2) rotate(3deg)}100%{transform:scale(1) rotate(0);opacity:1}}
  .check-pop{animation:checkPop .4s cubic-bezier(.34,1.56,.64,1) both}

  .uav img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.65)}
  .uav-ph{width:44px;height:44px;border-radius:50%;background:rgba(44,44,46,.09);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--text2);border:2px solid rgba(255,255,255,.65)}
  .notif-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:#FF3B30;border:2px solid var(--bg);display:none}
  .notif-dot.on{display:block}



  .empty{text-align:center;padding:32px 16px}
  .empty p{font-size:14px;color:var(--text3);margin-top:12px;font-weight:500}
  .empty small{font-size:12px;color:var(--text3);display:block;margin-top:4px}

  .row{display:flex;align-items:center}
  .rb{display:flex;align-items:center;justify-content:space-between}
  .g6{gap:6px}.g8{gap:8px}.g10{gap:10px}.g12{gap:12px}
  .mt4{margin-top:4px}.mt8{margin-top:8px}.mt10{margin-top:10px}.mt12{margin-top:12px}.mt16{margin-top:16px}
  .mb0{margin-bottom:0!important}
  .white{color:#fff}.c2{color:var(--text2)}.c3{color:var(--text3)}
  .f11{font-size:11px}.f12{font-size:12px}.f13{font-size:13px}.f14{font-size:14px}.f15{font-size:15px}
  .w5{font-weight:500}.w6{font-weight:600}.w7{font-weight:700}
  .lh{line-height:1.6}