:root{--bg:#0B1426;--card:#151F33;--card2:#1B2740;--line:#233049;--ink:#F2F5FA;--muted:#7C8AA5;--blue:#3375BB;--blue2:#4A90E2;--ok:#2ECC71;--err:#E5533D}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%}
body{background:#05090F;color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;display:flex;justify-content:center;align-items:flex-start}
.phone{width:100%;max-width:430px;min-height:100vh;background:var(--bg);padding:0 16px 120px;display:flex;flex-direction:column;position:relative}
.statusbar{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);padding:10px 4px 2px}
.sb-icons{letter-spacing:2px}
.brandbar{display:flex;align-items:center;gap:11px;padding:12px 0 10px}
.mark{width:34px;height:34px;border-radius:10px;display:block}
.brandtext{flex:1}
.brandname{font-size:14.5px;font-weight:700;letter-spacing:-.3px}
.brandsub{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.11em;margin-top:1px}
.live{font-size:9.5px;color:var(--ok);border:1px solid var(--ok);border-radius:99px;padding:2px 8px;text-transform:uppercase;letter-spacing:.09em}
.intro{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0 0 14px}
.balance{padding:8px 2px 4px;position:relative}
.bal-main{font-size:38px;font-weight:700;letter-spacing:-1.6px;display:flex;align-items:baseline;gap:2px;font-variant-numeric:tabular-nums}
.cur{font-size:22px;opacity:.65;font-weight:600}
.bal-sub{display:flex;gap:8px;font-size:13px;margin-top:2px}
.delta.up{color:var(--ok)}
.bal-note{color:var(--muted)}
.eye{position:absolute;right:2px;top:14px;background:none;border:0;color:var(--muted);font-size:14px;cursor:pointer}
body.hidden-bal .bal-main,body.hidden-bal .bal-sub{filter:blur(7px)}
.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 22px}
.act{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--ink);cursor:pointer}
.act-ic{width:26px;height:26px;border-radius:50%;background:rgba(51,117,187,.18);color:var(--blue2);display:grid;place-items:center;font-size:14px;font-weight:700}
.section-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px 8px}
.section-head h2{font-size:15px;margin:0;font-weight:600}
.muted{color:var(--muted);font-size:12px}
.tokens{list-style:none;margin:0;padding:0}
.tokens li{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(35,48,73,.6)}
.tokens li:last-child{border-bottom:0}
.coin{width:38px;height:38px;border-radius:50%;flex:none;display:block;object-fit:contain}
.coin.usdt{background:#26A17B}
.coin.trx{background:#EB0029}
.tok-meta{flex:1;min-width:0}
.tok-name{font-size:14px;font-weight:600}
.tok-chain{font-size:11.5px;color:var(--muted)}
.tok-amt{text-align:right}
.tok-qty{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.tok-fiat{font-size:11.5px;color:var(--muted)}
.foot{display:flex;gap:12px;align-items:center;font-size:10.5px;color:var(--muted);padding:14px 2px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:16px;flex-wrap:wrap}
.foot a{color:var(--muted);text-decoration:none}
.foot span{margin-right:auto}
.connect-pill{position:fixed;bottom:104px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;border:0;border-radius:99px;padding:13px 26px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 10px 30px rgba(51,117,187,.4);display:flex;align-items:center;gap:8px;z-index:30}
.cp-dot{width:7px;height:7px;border-radius:50%;background:#fff}
.sheet-wrap{position:fixed;inset:0;background:rgba(3,7,12,.72);display:flex;align-items:flex-end;justify-content:center;z-index:40}
.sheet{width:100%;max-width:430px;background:var(--card);border-radius:20px 20px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));animation:up .22s ease-out;max-height:94vh;overflow:auto}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.sheet-grab{width:38px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 16px}
.sheet h3{margin:0 0 6px;font-size:18px;letter-spacing:-.4px}
.sheet-sub{margin:0 0 18px;font-size:13px;color:var(--muted)}
.qr-box{background:#fff;border-radius:16px;padding:14px;display:grid;place-items:center;margin-bottom:14px}
.qr-box canvas{display:block;width:220px;height:220px;border-radius:8px}
.deeplink{display:block;text-align:center;background:var(--blue);color:#fff;text-decoration:none;border-radius:12px;padding:13px;font-weight:600;font-size:14px}
.link{display:block;width:100%;background:none;border:0;color:var(--muted);font-size:13px;padding:14px 0 0;cursor:pointer}
.v-head{text-align:center}
.v-shield{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:rgba(51,117,187,.16);display:grid;place-items:center}
.v-shield svg{width:26px;height:26px;fill:var(--blue2)}
.v-head h3{margin:0 0 4px;font-size:17px;letter-spacing:-.3px}
.steps{list-style:none;margin:16px 0;padding:0;font-size:13px}
.steps li{display:flex;gap:10px;padding:7px 0;color:var(--muted);align-items:center}
.steps li .mk{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex:none;display:grid;place-items:center;font-size:10px}
.steps li.run{color:var(--ink)}
.steps li.run .mk{border-color:var(--blue2);animation:pulse 1s infinite}
.steps li.done{color:var(--ink)}
.steps li.done .mk{background:var(--ok);border-color:var(--ok);color:#04220f}
@keyframes pulse{50%{opacity:.35}}
.verdict{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:4px 14px;margin-bottom:14px}
.v-row{display:flex;justify-content:space-between;padding:9px 0;font-size:13px;border-bottom:1px solid rgba(35,48,73,.6)}
.v-row:last-child{border-bottom:0}
.v-row b.ok{color:var(--ok)}
.ask{font-size:13px;color:#C7D2E4;margin-bottom:12px}
.ask-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.ask-meta span{font-size:11px;background:rgba(51,117,187,.14);color:var(--blue2);padding:3px 9px;border-radius:99px}
.cta{width:100%;background:var(--blue);color:#fff;border:0;border-radius:12px;padding:14px;font-size:15px;font-weight:600;cursor:pointer}
.cta:disabled{opacity:.55}
.fine{font-size:11.5px;color:var(--muted);text-align:center;margin:10px 0 0;line-height:1.45}
.radar{width:64px;height:64px;margin:6px auto 18px;border-radius:50%;border:2px solid rgba(51,117,187,.28);display:grid;place-items:center}
.radar span{width:44px;height:44px;border-radius:50%;border:2px solid var(--blue2);border-top-color:transparent;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.scanlines{list-style:none;margin:0 0 14px;padding:0;font-size:12.5px;color:var(--muted);min-height:96px}
.scanlines li{padding:4px 0;opacity:.45;transition:opacity .3s}
.scanlines li.on{opacity:1;color:var(--ink)}
.scanlines li.on::before{content:"▸ ";color:var(--blue2)}
.bar{height:4px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:12px}
.bar i{display:block;height:100%;width:0;background:var(--blue2);transition:width .5s linear}
.ricon{width:60px;height:60px;border-radius:50%;margin:4px auto 14px;display:grid;place-items:center;font-size:28px;font-weight:700}
.ricon.ok{background:rgba(46,204,113,.15);color:var(--ok)}
.ricon.bad{background:rgba(229,83,61,.15);color:var(--err)}
#resultBlock{text-align:center}
#resultBlock h3{margin:0 0 6px;font-size:17px;letter-spacing:-.3px}
#resultBlock .cta{margin-top:14px}
.toasts{position:fixed;bottom:168px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:60;width:calc(100% - 32px);max-width:400px}
.toast{background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;padding:10px 14px;font-size:13px}
.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--err)}
.hidden{display:none !important}
.fine.warn{color:var(--warn);font-weight:600}