*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0d1117;--bg2:#161b22;--bg3:#1c2330;--border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.14);
--text:#e6edf3;--text2:#9aa4af;--text3:#6b7480;--teal:#1D9E75;--teal-dim:rgba(29,158,117,.15);--teal-bright:#3ecf9e;
--amber:#EF9F27;--amber-dim:rgba(239,159,39,.12);--blue:#58a6ff;--blue-dim:rgba(88,166,255,.12);--red:#f85149;--red-dim:rgba(248,81,73,.12);
--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--radius:10px;--radius-lg:14px}
html{color-scheme:dark}
body{font-family:var(--sans);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;padding-bottom:3rem}
a{color:var(--teal-bright)}a:hover{color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono,code{font-family:var(--mono)}

/* nav */
.nav{position:sticky;top:0;z-index:100;background:rgba(13,17,23,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:.5px solid var(--border);padding:0 1.25rem}
.nav-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;flex-wrap:wrap}
.logo{display:flex;align-items:center;text-decoration:none}
.logo-img{height:44px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nav-link{font-size:14px;color:var(--text2);text-decoration:none;padding:6px 10px;border-radius:7px}
.nav-link:hover{color:var(--text);background:var(--bg3)}
.nav-link.on{color:var(--teal-bright);background:var(--teal-dim)}
.nav-dropdown{position:relative}
.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;min-width:170px;background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius);padding:6px;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
.nav-dropdown-item{display:block;font-size:13px;padding:8px 12px;color:var(--text2);text-decoration:none;border-radius:6px}
.nav-dropdown-item:hover{background:var(--bg3);color:var(--teal-bright)}

/* layout */
.page{max-width:960px;margin:0 auto;padding:1.75rem 1.25rem 0}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:1.25rem}
h1{font-size:26px;font-weight:600;letter-spacing:-.01em}
.sub{color:var(--text2);font-size:14px;margin-top:2px}
.state{font-size:13px;padding:6px 12px;border-radius:99px;background:var(--bg3);color:var(--text2)}
.state.ok{background:var(--teal-dim);color:var(--teal-bright)}
.state.bad{background:var(--red-dim);color:var(--red)}
.grid2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;margin-bottom:16px}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}
.card{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;margin-bottom:16px}
.grid2 .card{margin-bottom:0}
.card-title{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text2);margin-bottom:.9rem}
.hint{color:var(--text2);font-size:14px;margin:.3rem 0 .8rem}
.empty,.msg{color:var(--text2);font-size:14px;padding:.9rem 1.1rem}
.msg.bad{color:var(--red)}

/* stats */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.stat{background:var(--bg3);border-radius:var(--radius);padding:1rem 1.1rem}
.stat .k{font-size:14px;color:var(--text2)}
.stat .v{font-size:28px;white-space:nowrap;font-weight:600;margin-top:2px}
.stat .v.teal{color:var(--teal-bright)}.stat .v.blue{color:var(--blue)}.stat .v.amber{color:var(--amber)}
.stat .s{font-size:14px;color:var(--text3);margin-top:2px}
.terms{color:var(--text2);font-size:15px;margin-top:.8rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;margin:.2rem 0 .9rem}
.kv dt{color:var(--text2)}.kv dd{word-break:break-word}
.chip{display:inline-block;font-family:var(--mono);font-size:13px;background:var(--teal-dim);color:var(--teal-bright);border-radius:6px;padding:2px 8px}

/* command box */
.cmdrow{display:flex;gap:8px;align-items:stretch;margin:.4rem 0 .9rem}
.cmdrow code{flex:1;min-width:0;background:#0a0e13;border:.5px solid var(--border2);border-radius:var(--radius);padding:.6rem .8rem;font-size:13px;overflow-x:auto;white-space:pre;color:var(--teal-bright)}
.copy,.lookup-btn,.rng button{font:inherit;font-size:13px;cursor:pointer;border-radius:var(--radius);border:.5px solid var(--border2);background:var(--bg3);color:var(--text);padding:.45rem .9rem}
.copy:hover,.lookup-btn:hover,.rng button:hover{border-color:var(--teal);color:var(--teal-bright)}
.lookup-btn{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}
.lookup-btn:hover{background:var(--teal-bright);color:#04130d}
:focus-visible{outline:2px solid var(--teal-bright);outline-offset:2px}

/* lookup */
.lookup-title{font-size:18px;font-weight:600}
.lookup{display:flex;gap:10px;flex-wrap:wrap;margin:.4rem 0 .5rem}
.lookup-input{flex:1;min-width:220px;font:inherit;font-family:var(--mono);font-size:14px;background:#0a0e13;color:var(--text);border:.5px solid var(--border2);border-radius:var(--radius);padding:.6rem .8rem}
.lookup-input:focus{border-color:var(--teal);outline:none}
.mine{margin-top:1rem}
.mine .head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:.8rem}
.mine .addr{font-family:var(--mono);font-size:12px;color:var(--text2);word-break:break-all}
.readings{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:1rem}
.readings>div{background:var(--bg3);border-radius:var(--radius);padding:.7rem .85rem}
.readings dt{font-size:12px;color:var(--text2)}.readings dd{font-size:18px;font-weight:600;margin-top:2px}
.readings small{display:block;font-size:12px;font-weight:400;color:var(--text3);margin-top:2px}
.mine h3{font-size:14px;margin:1rem 0 .4rem;color:var(--text2)}
.rng{display:flex;gap:6px;margin-bottom:.5rem;flex-wrap:wrap}
.rng button[aria-pressed=true]{background:var(--teal-dim);border-color:var(--teal);color:var(--teal-bright)}
.mchart svg{display:block;width:100%;height:auto}
.mchart text{fill:var(--text3);font-size:11px;font-family:var(--sans)}
.mchart .gl{stroke:var(--border);stroke-width:1}
.mchart .ln{fill:none;stroke:var(--teal-bright);stroke-width:2}
.mchart .fill{fill:var(--teal-dim)}

/* tables */
.table-card{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}
.table-header{padding:.9rem 1.25rem;border-bottom:.5px solid var(--border)}
.table-header-title{font-size:15px;font-weight:600}
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text2);padding:.6rem 1.25rem;white-space:nowrap}
td{padding:.6rem 1.25rem;border-top:.5px solid var(--border);white-space:nowrap}
th.n,td.n{text-align:right}
tbody tr:hover{background:var(--bg3)}
.pill{font-size:12px;border-radius:99px;padding:2px 9px;background:var(--bg3)}
.pill.ok{background:var(--teal-dim);color:var(--teal-bright)}
.mine .tbl,.card .tbl{margin:0 -1.25rem}

/* ports grid */
.ports{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}
.port{background:var(--bg3);border:.5px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}
.port.rec{border-color:var(--teal);background:var(--teal-dim)}
.port .pn{font-size:12px;color:var(--text2)}
.port .pp{font-family:var(--mono);font-size:14px;color:var(--teal-bright);margin:3px 0;overflow-wrap:anywhere}
.port .pd{font-size:13px}.port .pr{font-size:12px;color:var(--text3);margin-top:2px}

/* guide + faq */
.guide{max-width:820px}
.block{background:var(--bg2);border:.5px solid var(--border2);border-radius:var(--radius-lg);padding:1.1rem 1.4rem;margin-bottom:16px}
.block h2{font-size:18px;font-weight:600;margin-bottom:.4rem}
.steps{margin:.3rem 0 .3rem 1.2rem;color:var(--text2);font-size:14px}
.steps li{margin:.35rem 0}
.steps b{color:var(--text)}
details.q{border-top:.5px solid var(--border);padding:.7rem 0}
details.q:first-of-type{border-top:0}
details.q summary{cursor:pointer;font-weight:600;font-size:15px}
details.q p,details.q ul{color:var(--text2);font-size:14px;margin-top:.5rem}
details.q ul{margin-left:1.2rem}

footer{max-width:960px;margin:1rem auto 0;padding:1rem 1.25rem;text-align:center;color:var(--text2);font-size:13px;border-top:.5px solid var(--border)}
.flinks{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:.5rem}
@media(prefers-reduced-motion:no-preference){.mchart .ln.draw{animation:dr 1.5s ease-out}@keyframes dr{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}}

.foot-a{font-weight:700;border:.5px solid var(--border2);border-radius:6px;padding:1px 7px;text-decoration:none}
.nav-a{font-weight:700;font-size:13px;padding:6px 9px;border:.5px solid var(--border2)}
.port.solo{display:block;text-decoration:none;color:inherit;border-color:var(--amber);background:var(--amber-dim)}
.port.solo .pp{color:var(--amber)}
.port.solo:hover{border-color:#fff}
.k{display:block;font-size:13px;color:var(--text2);margin:.2rem 0 .3rem}
#walletIn{width:100%;min-width:0}
#connectErr:empty{display:none}
.grid2 .card:first-child{padding:1.4rem 1.6rem}
.grid2 .card:last-child{padding:.9rem 1rem;font-size:14px}
.grid2 .card:last-child .cmdrow code{font-size:12px}
.grid2 .card:last-child .cmdrow code{white-space:pre-wrap;overflow-wrap:anywhere}
.addr-blue{color:var(--blue)}
