:root{
  --bg:#0a0e1a;
  --bg-2:#0d1424;
  --card:#111a2e;
  --border:rgba(0,229,255,.25);
  --neon-cyan:#00e5ff;
  --neon-gold:#ffd54a;
  --neon-red:#ff3d71;
  --text:#e8f1ff;
  --muted:#7a8aa8;
  --radius:14px;
  --topbar-h:52px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  background:radial-gradient(1200px 500px at 50% -200px, rgba(0,229,255,.10), transparent 60%), var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  min-height:100vh;
  padding-top:env(safe-area-inset-top);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;border:none;background:none;cursor:pointer;color:inherit}
.flex1{flex:1}

/* 顶栏 */
.topbar{position:sticky;top:0;z-index:50;height:var(--topbar-h);
  background:rgba(10,14,26,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border)}
.topbar-inner{max-width:1100px;margin:0 auto;height:100%;display:flex;align-items:center;gap:10px;padding:0 16px}
.logo{font-weight:800;font-size:18px;letter-spacing:1px;color:var(--neon-cyan);text-shadow:0 0 12px rgba(0,229,255,.6)}
.logo-sub{font-size:12px;color:var(--muted);letter-spacing:3px;padding-top:2px}
.back{font-size:20px;color:var(--neon-cyan);padding:4px 8px 4px 2px;line-height:1}
.acct-id-top{font-size:11px;color:var(--muted)}

/* chips */
.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;
  font-size:12px;border:1px solid var(--border);background:rgba(0,229,255,.06);white-space:nowrap}
.chip b{font-variant-numeric:tabular-nums;color:var(--neon-cyan);font-weight:700}
.chip .chip-t{white-space:nowrap}
.chip-gold{border-color:rgba(255,213,74,.4);background:rgba(255,213,74,.08)}
.chip-gold b,.chip-gold{color:var(--neon-gold)}
.chip-red{border-color:rgba(255,61,113,.4);background:rgba(255,61,113,.08);color:var(--neon-red)}
.chip-red b{color:var(--neon-red)}

/* 扫描线氛围 */
.scanline{position:relative;overflow:hidden}
.scanline::after{content:"";position:absolute;left:0;right:0;top:-100%;height:60%;
  background:linear-gradient(180deg,transparent,rgba(0,229,255,.05),transparent);
  animation:scan 6s linear infinite;pointer-events:none}
@keyframes scan{to{top:160%}}
@media (prefers-reduced-motion:reduce){.scanline::after{animation:none;display:none}}

.footer{padding:28px 16px calc(28px + env(safe-area-inset-bottom));text-align:center;color:var(--muted);font-size:12px}
.empty,.notfound{text-align:center;color:var(--muted);padding:90px 20px;line-height:2}
.notfound a{color:var(--neon-cyan)}
