:root{--bg:#070b1a;--bg2:#0c1330;--line:#1c2650;--txt:#e7ecff;--mut:#8792bd;--acc:#5ce1ff;--acc2:#c86bff;--good:#3ef0a0;--bad:#ff5d7a;--glass:rgba(14,20,48,.72)}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);font:14px/1.4 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:var(--txt)}
.mono,#list .addr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
header#top{position:fixed;z-index:30;top:0;left:0;right:0;height:56px;display:flex;align-items:center;gap:14px;padding:0 16px;background:linear-gradient(#070b1aee,#070b1a99);backdrop-filter:blur(10px);border-bottom:1px solid #ffffff0d}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;letter-spacing:.3px}.brand img{width:30px;height:30px}.brand b{font-weight:800;background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:4px}
.hsearch{flex:1;max-width:520px;display:flex;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;overflow:hidden}.hsearch input{flex:1;background:none;border:0;padding:9px 12px;outline:0;font-size:13px}.hsearch button{background:none;border:0;padding:0 14px;color:var(--acc);font-size:18px}
.ghost{margin-left:auto;padding:7px 14px;border-radius:10px;border:1px solid #ffffff1a;color:var(--mut)}.ghost:hover{color:var(--txt);border-color:var(--acc)}
#trend{position:fixed;z-index:25;top:56px;left:0;right:0;height:40px;display:flex;align-items:center;gap:10px;padding:0 16px;background:#070b1a99;backdrop-filter:blur(8px);border-bottom:1px solid #ffffff0a;overflow:hidden}
.tl{color:var(--mut);font-size:12px;white-space:nowrap}#trendrow{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}#trendrow::-webkit-scrollbar{display:none}
.tchip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:99px;background:#ffffff0a;border:1px solid #ffffff12;white-space:nowrap;font-size:12px}.tchip:hover{border-color:var(--acc)}.tchip img,.tchip .ph{width:22px;height:22px;border-radius:50%;background:#223}.up{color:var(--good)}.dn{color:var(--bad)}
#landing{position:relative;min-height:100%;padding:130px 20px 40px;overflow:hidden;background:radial-gradient(#ffffff14 1px,transparent 1px) 0 0/22px 22px,var(--bg)}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.45;pointer-events:none}.g1{width:520px;height:520px;background:#1b6bff;left:-120px;top:40px}.g2{width:460px;height:460px;background:#a020f0;right:-100px;top:220px}
.hero{position:relative;max-width:860px;margin:0 auto;text-align:center}.kicker{font-size:12px;letter-spacing:3px;color:var(--acc)}
h1{font-size:clamp(34px,6vw,64px);line-height:1.04;margin:14px 0;font-weight:800;letter-spacing:-1.5px}h1 em{font-style:normal;background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--mut);font-size:17px;max-width:640px;margin:0 auto 26px}
#bigsearch{display:flex;gap:8px;padding:8px;border-radius:18px;background:#0e1534cc;border:1px solid #2a3a7a;box-shadow:0 0 0 6px #5ce1ff0d,0 20px 60px #0008}
#bigsearch input{flex:1;min-width:0;background:none;border:0;outline:0;padding:14px;font-size:16px;font-family:ui-monospace,Menlo,monospace}
#bigsearch button{border:0;border-radius:12px;padding:0 26px;font-weight:700;background:linear-gradient(90deg,#2a8bff,#b04cff);box-shadow:0 6px 24px #6a4cff66}
.err{color:var(--bad);min-height:20px;margin-top:8px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.grid{position:relative;max-width:1100px;margin:46px auto 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{padding:14px;border-radius:16px;background:linear-gradient(160deg,#121a40,#0a1029);border:1px solid #ffffff10;display:flex;gap:12px;align-items:center;transition:.2s}.card:hover{transform:translateY(-3px);border-color:#5ce1ff55;box-shadow:0 12px 40px #0006}
.card img,.card .ph{width:44px;height:44px;border-radius:50%;background:#223}.card .n{font-weight:700}.card .s{color:var(--mut);font-size:12px}
footer{text-align:center;color:#5a648f;font-size:12px;margin-top:60px}
#mapview{position:fixed;inset:96px 0 0 0}#cv{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}#cv:active{cursor:grabbing}
#tokbar{position:absolute;left:16px;top:14px;display:flex;gap:10px;align-items:center;padding:8px 14px 8px 8px;border-radius:16px;background:var(--glass);backdrop-filter:blur(12px);border:1px solid #ffffff14;max-width:min(440px,60vw)}
#tlogo{width:40px;height:40px;border-radius:50%;background:#223;object-fit:cover}.tname{font-weight:800;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sym{color:var(--acc);font-weight:600;font-size:13px}.tstats{color:var(--mut);font-size:12px;display:flex;gap:10px;flex-wrap:wrap}
#ctl{position:absolute;top:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center}
.pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:var(--glass);border:1px solid #ffffff14;backdrop-filter:blur(12px);font-size:12px;color:var(--mut);white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 10px var(--good)}.dot.busy{background:#ffc94d;box-shadow:0 0 10px #ffc94d;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}
.ib{width:36px;height:36px;border-radius:12px;border:1px solid #ffffff14;background:var(--glass);backdrop-filter:blur(12px);font-size:16px;display:grid;place-items:center}.ib:hover{border-color:var(--acc);color:var(--acc)}
#progress{position:absolute;left:50%;top:64px;transform:translateX(-50%);width:min(420px,86vw);padding:12px 14px;border-radius:14px;background:var(--glass);backdrop-filter:blur(12px);border:1px solid #5ce1ff33}
.ptxt{font-weight:600;font-size:13px}.psub{color:var(--mut);font-size:11px;margin-top:6px}.bar{height:6px;border-radius:9px;background:#ffffff12;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));transition:width .4s}
#legend{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;gap:8px}
.seg{display:flex;background:var(--glass);border:1px solid #ffffff14;border-radius:12px;padding:3px;backdrop-filter:blur(12px);width:max-content}.seg button{border:0;background:none;padding:6px 12px;border-radius:9px;color:var(--mut);font-size:12px}.seg button.on{background:#5ce1ff22;color:var(--acc)}
.lg{display:flex;gap:12px;font-size:11px;color:var(--mut);background:var(--glass);padding:6px 10px;border-radius:10px;backdrop-filter:blur(12px)}.lg span{display:flex;align-items:center;gap:5px}.lg i{display:inline-block}
.lw{width:10px;height:10px;border-radius:50%;background:#5ce1ff66;border:1px solid #5ce1ff}.lc{width:10px;height:10px;border-radius:50%;border:1px dashed #aab}.ll{width:16px;height:2px;background:#c86bff}.lf{width:16px;border-top:2px dotted #8a96c8}
#zoom{position:absolute;right:376px;bottom:16px;display:flex;flex-direction:column;gap:6px}
#panel{position:absolute;right:12px;top:12px;bottom:12px;width:350px;display:flex;flex-direction:column;border-radius:18px;background:linear-gradient(#10183dcc,#0a1030e6);backdrop-filter:blur(16px);border:1px solid #ffffff14;box-shadow:0 20px 60px #0008;overflow:hidden}
.grab{display:none}.phead{display:flex;align-items:center;gap:8px;padding:14px 14px 8px}.phead h3{margin:0;font-size:16px}#pcount{color:var(--mut);font-size:12px}
.tbtn{margin-left:auto;border:0;border-radius:99px;padding:5px 12px;font-size:12px;background:#c86bff26;color:#e3a8ff}.tbtn.on{background:#5ce1ff26;color:var(--acc)}
.psearch{padding:0 14px}.psearch input{width:100%;background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px;padding:8px 10px;outline:0;font-size:13px}.psearch input:focus{border-color:var(--acc)}
.filters{display:flex;gap:6px;padding:8px 14px}.fb{flex:1;border:1px solid #ffffff12;background:#ffffff08;border-radius:9px;padding:5px;font-size:11px;color:var(--mut)}.fb.on{color:var(--txt)}.fb:not(.on){opacity:.5;text-decoration:line-through}
#list{flex:1;overflow:auto;padding:0 8px 8px}.row{display:grid;grid-template-columns:22px 40px 1fr auto;gap:6px;align-items:center;padding:7px 8px;border-radius:9px;font-size:12.5px;cursor:pointer}.row:hover{background:#ffffff0a}.row.sel{background:#5ce1ff1a}
.row .eye{opacity:.6;background:none;border:0;padding:0}.row.off{opacity:.38}.row .rk{color:var(--mut)}.row .pct{font-variant-numeric:tabular-nums}.row .lab{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .lab small{color:var(--mut)}
.chead{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:center;padding:8px;margin-top:4px;border-radius:10px;cursor:pointer;font-size:12.5px;position:relative}.chead:hover{background:#ffffff0a}.chead:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--c)}
.ctag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);font-weight:600}.ctag .cnt{color:var(--mut);font-weight:400}.chead .pct{color:var(--c);font-weight:700}
.cbody{margin-left:12px;border-left:1px dashed #ffffff18}.pfoot{padding:8px 14px;color:#5a648f;font-size:10.5px;border-top:1px solid #ffffff0d}
#tip{position:fixed;z-index:50;pointer-events:none;padding:10px 12px;border-radius:12px;background:#0b1130f2;border:1px solid #5ce1ff44;box-shadow:0 10px 40px #000a;font-size:12px;max-width:300px}#tip b{font-size:13px}#tip .m{color:var(--mut)}
#toast{position:fixed;z-index:60;left:50%;bottom:30px;transform:translateX(-50%);padding:10px 16px;border-radius:12px;background:#14204f;border:1px solid var(--acc)}
@media (max-width:820px){#trend{display:none}#mapview{inset:56px 0 0 0}.ghost{display:none}.hsearch{max-width:none}
#panel{left:0;right:0;top:auto;bottom:0;width:auto;height:46%;border-radius:20px 20px 0 0;transition:height .25s}#panel.min{height:118px}#panel.max{height:82%}
.grab{display:block;width:44px;height:5px;border-radius:9px;background:#ffffff40;margin:8px auto 0;cursor:grab}
#tokbar{left:10px;top:10px;max-width:calc(100vw - 20px)}#ctl{top:auto;bottom:calc(46% + 62px);left:10px;transform:none}#progress{top:auto;bottom:calc(46% + 110px)}.tstats{font-size:11px}#legend{bottom:calc(46% + 10px);left:10px}#legend .lg{display:none}#zoom{right:10px;bottom:calc(46% + 10px)}#landing{padding-top:90px}}
