:root{
  --bg:#000;--text:#fff;--sec:rgba(235,235,245,.6);--ter:rgba(235,235,245,.3);
  --sep:rgba(84,84,88,.55);--card:#1c1c1e;--card2:#2c2c2e;
  --green:#00d35a;--red:#ff453a;--orange:#ff9f0a;--cyan:#64d2ff;--blue:#0a84ff;--yellow:#ffd60a;--pink:#ff6b9a;
  --display:-apple-system,"SF Pro Display",BlinkMacSystemFont,"Helvetica Neue",system-ui,sans-serif;
  --textf:-apple-system,"SF Pro Text",BlinkMacSystemFont,"Helvetica Neue",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;
  --safe-t:env(safe-area-inset-top,0px);--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(--text);font:17px/1.3 var(--textf);
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
.num{font-variant-numeric:tabular-nums}
#screen{padding:calc(var(--safe-t) + 8px) 0 calc(var(--safe-b) + 96px)}
.gut{padding:0 16px}
.err{position:sticky;top:0;z-index:30;background:#000;color:var(--red);font-size:15px;
  padding:calc(var(--safe-t) + 10px) 16px 10px;border-bottom:.5px solid var(--sep)}
/* navbar */
.nav{display:flex;align-items:center;gap:8px;height:52px;padding:0 8px 0 16px}
.avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.avatar i{width:32px;height:32px;border-radius:50%;background:var(--card2);display:flex;align-items:center;
  justify-content:center;font-style:normal;font-weight:600;font-size:15px}
.brand{font-weight:600;font-size:17px;flex:1;min-height:44px;display:flex;align-items:center}
.brand b{color:var(--sec);font-weight:400;margin-left:4px}
.icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;position:relative}
.icon svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round}
.icon .dot{position:absolute;top:11px;right:11px;width:8px;height:8px;border-radius:50%;background:var(--green)}
h1.title{font:700 34px/1.1 var(--display);margin:8px 16px 12px;letter-spacing:.2px}
/* balance */
.bal{padding:6px 16px 0}
.balrow{display:flex;align-items:center;gap:10px}
.odo{font:600 66px/1 var(--display);letter-spacing:-1.5px;display:inline-flex;overflow:hidden;height:70px;align-items:flex-end}
.odo .ch{display:inline-block;height:70px;line-height:70px}
.odo .dg{display:inline-block;height:70px;overflow:hidden;position:relative}
.odo .strip{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.odo .strip span{height:70px;line-height:70px;text-align:center}
.pill{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:12px;font-size:13px;font-weight:600}
.paper{background:var(--orange);color:#000}
.mult{background:rgba(0,211,90,.16);color:var(--green)}
.sub{display:flex;gap:10px;align-items:center;margin-top:8px;color:var(--sec);font-size:15px}
.up{color:var(--green)}.down{color:var(--red)}
/* chart */
.chartwrap{position:relative;margin-top:14px;height:220px}
.chartwrap canvas{width:100%;height:100%;display:block}
.chartnote{position:absolute;left:16px;right:16px;bottom:14px;text-align:center;color:var(--sec);font-size:15px}
.ranges{display:flex;justify-content:space-between;padding:6px 10px 0}
.ranges button{min-width:44px;height:44px;border-radius:12px;color:var(--sec);font-size:14px;font-weight:600}
.ranges button.on{color:var(--text);background:var(--card)}
/* sections */
.sec{display:flex;align-items:baseline;justify-content:space-between;margin:26px 16px 10px}
.sec h2{font:700 22px/1.2 var(--display);margin:0}
.sec h2 span{color:var(--sec);font-weight:600}
.sec a,.sec button{color:var(--blue);font-size:17px;min-height:44px;display:flex;align-items:center}
/* carousel */
.car{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px;scrollbar-width:none}
.car::-webkit-scrollbar{display:none}
.acard{flex:0 0 calc(100vw - 32px);max-width:560px;aspect-ratio:504/470;background:var(--card);
  border-radius:calc(42 * min(100vw - 32px, 560px) / 504);scroll-snap-align:center;padding:22px;display:flex;flex-direction:column}
.acard .hd{display:flex;align-items:center;gap:10px}
.acard .sw{width:10px;height:10px;border-radius:50%}
.acard .nm{font-weight:600;font-size:17px;flex:1}
.acard .st{font-size:13px;color:var(--sec)}
.acard .big{font:700 34px/1.1 var(--display);margin-top:14px}
.acard .lbl{color:var(--sec);font-size:15px;margin-top:4px}
.acard .body{flex:1;margin-top:14px;overflow:hidden;display:flex;flex-direction:column;gap:2px}
.acard .empty{margin:auto 0;color:var(--sec);font-size:15px;line-height:1.4}
.feed{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:.5px solid var(--sep);font-size:15px;min-height:44px;align-items:center}
.feed:last-child{border-bottom:0}
.feed .r{color:var(--sec);font-size:13px;text-align:right}
.strips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.strips i{height:28px;border-radius:7px;background:var(--card2)}
.ring{width:120px;height:120px;margin:4px auto 0;display:block}
.bar{height:6px;border-radius:3px;background:var(--card2);margin-top:12px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--green)}
.tpills{display:flex;gap:8px;margin-top:auto}
.tp{font:600 13px var(--mono);padding:5px 9px;border-radius:9px}
.tp.red{color:var(--red);background:rgba(255,69,58,.14)}
.tp.green{color:var(--green);background:rgba(0,211,90,.14)}
/* lists */
.list{margin:0 16px;background:var(--card);border-radius:14px;overflow:hidden}
.row{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:60px;position:relative}
.row+.row::before{content:"";position:absolute;top:0;left:16px;right:0;border-top:.5px solid var(--sep)}
.row .ic{width:36px;height:36px;border-radius:50%;background:var(--card2);flex:0 0 36px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}
.row .mid{flex:1;min-width:0}
.row .t{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .s{font-size:14px;color:var(--sec);margin-top:2px}
.row .v{text-align:right;font-size:15px}
.row .chev{color:var(--ter);font-size:20px}
.emptybox{margin:0 16px;background:var(--card);border-radius:14px;padding:28px 16px;text-align:center;color:var(--sec);font-size:15px;line-height:1.45}
.note{color:var(--sec);font-size:13px;margin:8px 32px 0;line-height:1.4}
.ghead{color:var(--sec);font-size:13px;margin:24px 32px 6px}
/* agents tab */
.fcard{margin:0 16px 12px;background:var(--card);border-radius:20px;padding:16px}
.fcard .hd{display:flex;align-items:center;gap:10px;min-height:44px}
.fcard .nm{font-weight:600;flex:1}
.toggle{width:51px;height:31px;border-radius:16px;background:var(--card2);position:relative;opacity:.5}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff}
.toggle.on{background:var(--green)}.toggle.on::after{left:22px}
.fcard .meta{color:var(--sec);font-size:14px;margin-top:6px;line-height:1.4}
/* tab bar */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;
  padding:6px 8px calc(var(--safe-b) + 6px);background:rgba(18,18,18,.72);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--sep)}
.tabbar button{flex:1;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--ter);font-size:10px;font-weight:500}
.tabbar svg{width:24px;height:24px;fill:currentColor}
.tabbar svg path[fill=none]{stroke:currentColor}
.tabbar button.on{color:var(--text)}
/* skeleton */
.sk{background:var(--card);border-radius:12px;animation:pulse 1.2s ease-in-out infinite alternate}
@keyframes pulse{from{opacity:.5}to{opacity:1}}
/* sheet (coin screen) */
.sheet{position:fixed;inset:0;z-index:40;background:#000;overflow-y:auto;padding:calc(var(--safe-t) + 4px) 0 calc(var(--safe-b) + 24px)}
.back{min-width:44px;min-height:44px;color:var(--blue);font-size:17px;display:flex;align-items:center;padding:0 16px}
.price{font:600 44px/1.1 var(--display);margin:6px 16px 0;letter-spacing:-.5px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--sep);margin:16px;border-radius:14px;overflow:hidden}
.stats div{background:var(--card);padding:12px 14px}
.stats span{display:block;color:var(--sec);font-size:13px}
.stats b{font-weight:600;font-size:17px}
.cta{display:flex;align-items:center;justify-content:center;margin:16px;height:52px;border-radius:26px;background:var(--green);color:#000;font-weight:600;font-size:17px}
.onboard{min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding:0 28px;text-align:center}
.onboard h1{font:700 28px var(--display);margin:0 0 10px}
.onboard p{color:var(--sec);font-size:15px;line-height:1.45;margin:0}
@media (prefers-reduced-motion:reduce){.odo .strip{transition:none}.sk{animation:none}}
