:root{--bg: #06080b;--bg-1: #0a0e13;--bg-2: #0e141b;--bg-3: #131b24;--panel: #0b1016;--line: #1b2530;--line-soft: #141c25;--line-bright: #283544;--txt: #c8d4df;--txt-dim: #7c8a99;--txt-faint: #4c5866;--cyan: #2fd6e0;--cyan-dim: #1a8a91;--amber: #f0a830;--amber-dim: #9c6e1f;--green: #46d17f;--red: #ef5f6b;--violet: #8b7ff0;--in: #46d17f;--out: #f0a830;--self: #8b7ff0;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 3px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#0c1620 0%,transparent 60%),var(--bg);color:var(--txt);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#2fd6e040}a{color:var(--cyan);text-decoration:none}button{font-family:inherit}.mono{font-family:var(--mono);font-variant-ligatures:none}.micro{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-dim);font-weight:600}.app{min-height:100%;display:flex;flex-direction:column}.app__main{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:22px 24px 80px}.app__footer{border-top:1px solid var(--line-soft);color:var(--txt-faint);font-size:11px;letter-spacing:.08em;padding:14px 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.header{border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0f161ee6,#06080b99);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:sticky;top:0;z-index:20}.header__inner{width:100%;max-width:1320px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.brand{display:flex;flex-direction:column;gap:2px;cursor:pointer;-webkit-user-select:none;user-select:none}.brand__mark{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:.42em;color:#eaf4f6;text-shadow:0 0 18px rgba(47,214,224,.35);line-height:1}.brand__tag{font-size:9.5px;letter-spacing:.34em;color:var(--cyan-dim);text-transform:uppercase;font-weight:600}.search{flex:1;min-width:320px;display:flex;flex-direction:column;gap:4px}.search__row{display:flex;gap:8px;align-items:stretch}.search__field{flex:1;position:relative;display:flex;align-items:center}.search__prefix{position:absolute;left:12px;font-size:10px;letter-spacing:.2em;color:var(--txt-faint);pointer-events:none;text-transform:uppercase}.search input{width:100%;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);color:var(--txt);font-family:var(--mono);font-size:13px;letter-spacing:.02em;padding:11px 12px 11px 64px;outline:none;transition:border-color .15s,box-shadow .15s}.search input::placeholder{color:var(--txt-faint);letter-spacing:0}.search input:focus{border-color:var(--cyan-dim);box-shadow:0 0 0 1px #2fd6e040,0 0 18px #2fd6e01f}.search input.is-invalid{border-color:var(--red);box-shadow:0 0 0 1px #ef5f6b4d}.btn{background:var(--bg-3);border:1px solid var(--line-bright);color:var(--txt);border-radius:var(--radius);padding:0 18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--cyan-dim);color:#eaf4f6}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:linear-gradient(180deg,#123238,#0c2126);border-color:var(--cyan-dim);color:var(--cyan)}.btn--primary:hover:not(:disabled){background:linear-gradient(180deg,#16414a,#0e2a30);box-shadow:0 0 16px #2fd6e02e}.btn--ghost{background:transparent;border-color:var(--line);color:var(--txt-dim);padding:5px 12px}.search__hint{font-size:10.5px;color:var(--txt-faint);letter-spacing:.04em;min-height:14px}.search__hint.is-error{color:var(--red)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);position:relative}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft)}.panel__title{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-weight:700}.panel__body{padding:14px}.corner-marks:before,.corner-marks:after{content:"";position:absolute;width:8px;height:8px;border-color:var(--line-bright);border-style:solid;pointer-events:none}.corner-marks:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.corner-marks:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.identity{margin-bottom:18px}.identity__addr-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.identity__addr{font-family:var(--mono);font-size:15px;color:#eaf4f6;letter-spacing:.01em;word-break:break-all}.copybtn{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--txt-dim);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;cursor:pointer;transition:all .15s}.copybtn:hover{border-color:var(--cyan-dim);color:var(--cyan)}.copybtn.is-copied{color:var(--green);border-color:var(--green)}.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line-soft)}.stat{background:var(--panel);padding:11px 14px;display:flex;flex-direction:column;gap:4px}.stat__label{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);font-weight:600}.stat__value{font-family:var(--mono);font-size:18px;color:#eaf4f6;font-weight:600}.stat__value.accent{color:var(--cyan)}.stat__sub{font-size:10.5px;color:var(--txt-dim)}.stat__value--in{color:var(--in)}.stat__value--out{color:var(--out)}.section{margin-bottom:18px}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.section__title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--txt);font-weight:700}.section__note{font-size:10.5px;color:var(--txt-faint);letter-spacing:.06em}.chaingrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.chaincard{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:12px 13px;cursor:pointer;text-align:left;color:inherit;display:flex;flex-direction:column;gap:9px;transition:border-color .15s,background .15s,transform .05s}.chaincard:hover{border-color:var(--line-bright);background:var(--bg-2)}.chaincard.is-active{border-color:var(--cyan-dim);background:linear-gradient(180deg,#0c1a1f,#091217);box-shadow:inset 0 0 0 1px #2fd6e033}.chaincard__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.chaincard__name{font-size:12.5px;font-weight:600;color:#eaf4f6;letter-spacing:.02em}.chaincard__id{font-family:var(--mono);font-size:9.5px;color:var(--txt-faint)}.chaincard__count{font-family:var(--mono);font-size:20px;color:var(--cyan);font-weight:600}.chaincard__count-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint)}.splitbar{height:6px;width:100%;background:var(--bg-3);border-radius:99px;overflow:hidden;display:flex}.splitbar__out{background:var(--out);height:100%}.splitbar__in{background:var(--in);height:100%}.splitlegend{display:flex;gap:12px;font-size:9.5px;color:var(--txt-dim);letter-spacing:.04em}.dot{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;vertical-align:middle}.dot--in{background:var(--in)}.dot--out{background:var(--out)}.dot--self{background:var(--self)}.detail{display:grid;grid-template-columns:1fr;gap:14px}.detail__row{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px}@media (max-width: 920px){.detail__row{grid-template-columns:1fr}}.detail__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.detail__chain{font-size:15px;font-weight:700;letter-spacing:.04em;color:#eaf4f6}.detail__chain small{font-family:var(--mono);font-size:10px;color:var(--txt-faint);letter-spacing:0;margin-left:8px;font-weight:400}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.toggle button{background:var(--bg-1);border:none;color:var(--txt-dim);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:5px 11px;cursor:pointer;border-right:1px solid var(--line);transition:all .12s}.toggle button:last-child{border-right:none}.toggle button:hover{color:var(--txt)}.toggle button.is-active{background:var(--bg-3);color:var(--cyan)}.chart{width:100%}.chart svg{display:block;width:100%;height:auto}.chart__grid{stroke:var(--line-soft);stroke-width:1}.chart__axis{fill:var(--txt-faint);font-size:9px;font-family:var(--mono)}.chart__bar-out{fill:var(--out)}.chart__bar-in{fill:var(--in)}.chart__bar-out:hover,.chart__bar-in:hover{filter:brightness(1.3)}.cplist{display:flex;flex-direction:column}.cprow{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft)}.cprow:last-child{border-bottom:none}.cprow__rank{font-family:var(--mono);font-size:10px;color:var(--txt-faint);text-align:right}.cprow__main{min-width:0}.cprow__addr{font-family:var(--mono);font-size:12px;color:var(--cyan);cursor:pointer;background:none;border:none;padding:0;text-align:left}.cprow__addr:hover{text-decoration:underline}.cprow__bar{height:4px;margin-top:5px;background:var(--bg-3);border-radius:99px;overflow:hidden}.cprow__bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan-dim),var(--cyan))}.cprow__count{font-family:var(--mono);font-size:12px;color:var(--txt);text-align:right}.cprow__split{font-size:9px;color:var(--txt-faint);text-align:right}.radial svg{display:block;width:100%;height:auto}.radial__edge{stroke:var(--line-bright);stroke-width:1}.radial__node{fill:var(--bg-3);stroke:var(--cyan-dim);stroke-width:1;cursor:pointer}.radial__node:hover{fill:#16313a}.radial__center{fill:#0c2126;stroke:var(--cyan);stroke-width:1.5}.radial__label{fill:var(--txt-dim);font-size:8.5px;font-family:var(--mono)}.radial__center-label{fill:var(--cyan);font-size:9px;font-family:var(--mono);font-weight:600}.txtable-wrap{overflow-x:auto}.txtable{width:100%;border-collapse:collapse;font-size:12px}.txtable th{text-align:left;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.txtable td{padding:8px 10px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.txtable tr:hover td{background:var(--bg-1)}.txtable .mono{font-size:11.5px}.txtable .num{text-align:right;font-family:var(--mono);color:var(--txt-dim)}.badge{display:inline-block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:2px 7px;border-radius:99px;border:1px solid currentColor}.badge--in{color:var(--in)}.badge--out{color:var(--out)}.badge--self{color:var(--self)}.arrow{color:var(--txt-faint);padding:0 4px}.linkaddr{background:none;border:none;padding:0;font-family:var(--mono);font-size:11.5px;color:var(--cyan);cursor:pointer}.linkaddr:hover{text-decoration:underline}.dimaddr{font-family:var(--mono);font-size:11.5px;color:var(--txt-dim)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;margin-top:4px;border-top:1px solid var(--line-soft)}.pager__info{font-size:10.5px;color:var(--txt-faint);letter-spacing:.06em}.state{border:1px dashed var(--line);border-radius:var(--radius);padding:40px 28px;text-align:center;color:var(--txt-dim)}.state--inline{padding:26px 18px}.state__title{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt);font-weight:700;margin-bottom:8px}.state__msg{font-size:12.5px;color:var(--txt-dim);max-width:560px;margin:0 auto}.state--error{border-color:#ef5f6b66;color:var(--red)}.state--error .state__title{color:var(--red)}.example{display:inline-block;margin-top:16px}.example__btn{font-family:var(--mono);font-size:12px;color:var(--cyan);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:7px 12px;cursor:pointer;transition:all .15s;display:block;margin:6px auto 0}.example__btn:hover{border-color:var(--cyan-dim);background:var(--bg-2)}.scan{position:relative;overflow:hidden;min-height:90px;border:1px solid var(--line);border-radius:var(--radius);background:repeating-linear-gradient(0deg,transparent 0,transparent 22px,rgba(47,214,224,.03) 23px)}.scan:after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(47,214,224,.55),transparent);animation:scanmove 1.4s ease-in-out infinite}.scan__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}@keyframes scanmove{0%{top:8%;opacity:.2}50%{top:88%;opacity:.9}to{top:8%;opacity:.2}}.skel{background:linear-gradient(90deg,var(--bg-1) 25%,var(--bg-2) 37%,var(--bg-1) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skelgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.skelcard{height:110px}.spin{display:inline-block;width:11px;height:11px;border:2px solid var(--line-bright);border-top-color:var(--cyan);border-radius:50%;animation:rot .7s linear infinite;vertical-align:middle}@keyframes rot{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:var(--bg-3);border:1px solid var(--cyan-dim);color:var(--cyan);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;border-radius:var(--radius);box-shadow:0 8px 24px #00000080;z-index:50;animation:toastin .18s ease}@keyframes toastin{0%{opacity:0;transform:translate(-50%) translateY(6px)}}.errnote{font-size:10.5px;color:var(--amber);letter-spacing:.04em;margin-top:8px}.datamodel-note{display:flex;align-items:flex-start;gap:8px;margin:10px 14px 0;padding:8px 11px;font-size:11px;line-height:1.5;letter-spacing:.02em;color:var(--txt-dim);background:var(--bg-1);border:1px solid var(--line);border-left:2px solid var(--cyan-dim);border-radius:2px}.datamodel-note__glyph{color:var(--cyan);font-size:12px;line-height:1.4;flex:none}.datamodel-note strong{color:var(--out);font-weight:700}
