:root{--bg:#07080f;--panel:#0d0f1c;--line:#ffffff1f;--txt:#e8ecf6;--dim:#cdcdd28c;--ok:#7ddea0;--warn:#e8c07a;--bad:#e88a8a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px), radial-gradient(1000px 500px at 80% -10%, #ffffff0d, transparent 60%), var(--bg);min-height:100%;color:var(--txt);background-size:30px 30px,30px 30px,auto,auto;font-family:Space Grotesk,Segoe UI,system-ui,sans-serif}.mono{font-family:Space Mono,Consolas,monospace}.tech{font-family:Orbitron,Space Grotesk,sans-serif}.bar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07080fe0;padding:14px 20px;position:sticky;top:0}.bar-in{flex-wrap:wrap;align-items:center;gap:16px;width:min(1100px,100%);margin:0 auto;display:flex}.brand{color:var(--txt);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-logo{width:auto;height:36px;display:block}.brand-tag{letter-spacing:.12em;text-transform:uppercase;opacity:.55;font-family:Orbitron,sans-serif;font-size:11px;font-weight:600}.cluster{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:11px}.live-dot{letter-spacing:.1em;text-transform:uppercase;color:var(--ok);border:1px solid #7ddea059;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;display:inline-flex}.live-dot:before{content:"";background:var(--ok);border-radius:50%;width:6px;height:6px;animation:1.6s infinite pulse;box-shadow:0 0 #7ddea0b3}@keyframes pulse{70%{box-shadow:0 0 0 8px #7ddea000}to{box-shadow:0 0 #7ddea000}}.live-inline{float:right;letter-spacing:.08em;color:var(--ok);text-transform:uppercase;font-size:10px}.wrap{width:min(1100px,100%);margin:0 auto;padding:28px 20px 64px}.search{gap:10px;margin-bottom:28px;display:flex}.search input{border:1px solid var(--line);min-width:0;color:var(--txt);background:#ffffff0a;border-radius:10px;flex:1;padding:14px 16px;font-family:Space Mono,monospace;font-size:13px}.search input:focus{border-color:#ffffff59;outline:none}.search button,.ghost{color:var(--txt);letter-spacing:.06em;cursor:pointer;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:12px 18px;font-family:Orbitron,sans-serif;font-size:11px}.search button:hover,.ghost:hover{background:#ffffff24}h1{margin-bottom:8px;font-family:Orbitron,sans-serif;font-size:clamp(22px,4vw,32px);font-weight:700}.sub{color:var(--dim);max-width:52ch;margin-bottom:28px;line-height:1.5}.grid{gap:22px;display:grid}@media (width>=900px){.grid-2{grid-template-columns:1.2fr .8fr}}.panel{border:1px solid var(--line);background:#0d0f1cb8;border-radius:12px;overflow:hidden}.panel h2{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line);color:var(--dim);padding:14px 16px;font-family:Orbitron,sans-serif;font-size:12px}.row{color:inherit;cursor:pointer;border-bottom:1px solid #ffffff0f;grid-template-columns:1fr auto;gap:8px 12px;padding:12px 16px;text-decoration:none;transition:background .15s;display:grid}.row:hover{background:#ffffff0a}.row:last-child{border-bottom:none}.row .ix{font-size:14px;font-weight:500}.row .meta{color:var(--dim);font-family:Space Mono,monospace;font-size:12px}.row .time{color:var(--dim);align-self:center;font-size:11px}.badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:3px 8px;font-size:10px;display:inline-block}.badge.ok{color:var(--ok);border-color:#7ddea059}.badge.bad{color:var(--bad);border-color:#e88a8a66}.badge.warn{color:var(--warn);border-color:#e8c07a66}.kv{grid-template-columns:140px 1fr;gap:8px 12px;padding:14px 16px;font-size:13px;display:grid}.kv dt{color:var(--dim)}.kv dd{word-break:break-all;font-family:Space Mono,monospace}.err{color:var(--bad);padding:16px;font-size:13px}.empty{color:var(--dim);padding:24px 16px;font-size:13px}.footer{border-top:1px solid var(--line);color:var(--dim);flex-wrap:wrap;gap:16px;margin-top:40px;padding-top:16px;font-size:12px;display:flex}.footer a{color:var(--txt);opacity:.75}.footer a:hover{opacity:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.anim{animation:.45s both fadeUp}.cs-gate{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative;overflow:hidden}.cs-ambient{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cs-orb{filter:blur(60px);opacity:.35;border-radius:50%;animation:12s ease-in-out infinite csOrbFloat;position:absolute}.cs-orb-a{background:#e8ecf624;width:320px;height:320px;top:-8%;left:55%}.cs-orb-b{background:#788cb429;width:260px;height:260px;animation-delay:-4s;bottom:5%;left:-5%}.cs-grid{opacity:.7;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:-20%;-webkit-mask-image:radial-gradient(#000 20%,#0000 70%);mask-image:radial-gradient(#000 20%,#0000 70%)}.cs-gate-inner{z-index:1;max-width:480px;animation:.7s both fadeUp;position:relative}.cs-hero-logo{filter:none;background:0 0;width:min(220px,56vw);height:auto;margin:0 auto 32px;animation:5s ease-in-out infinite csLogoFloat;display:block}.cs-title{letter-spacing:-.02em;background:linear-gradient(#fff 0%,#c8cedc 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:14px;font-family:Orbitron,Space Grotesk,sans-serif;font-size:clamp(28px,5vw,40px);font-weight:700}.cs-body{color:var(--dim);white-space:pre-wrap;font-size:15px;line-height:1.6}@keyframes csOrbFloat{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-24px,18px)scale(1.08)}}@keyframes csLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.nft-panel{overflow:visible}.nft-panel>h2{border-bottom:1px solid var(--line)}.nft-detail{padding:0}.nft-hero{gap:24px;padding:20px;display:grid}@media (width>=720px){.nft-hero{grid-template-columns:minmax(240px,360px) 1fr;align-items:start}}.nft-media{background:#00000059;border:1px solid #ffffff24;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 24px 48px #00000073}.nft-image{aspect-ratio:1;object-fit:cover;background:#0a0c14;width:100%;display:block}.nft-image--empty{color:var(--dim);place-items:center;min-height:240px;font-size:13px;display:grid}.nft-media-badges{flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.nft-chip{letter-spacing:.08em;text-transform:uppercase;color:var(--txt);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07080fd1;border:1px solid #ffffff2e;border-radius:999px;padding:5px 10px;font-family:Orbitron,sans-serif;font-size:10px}.nft-chip--edition{color:var(--ok);border-color:#7ddea073}.nft-summary{min-width:0}.nft-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:8px;font-size:11px}.nft-title{word-break:break-word;margin-bottom:10px;font-family:Orbitron,sans-serif;font-size:clamp(20px,3vw,28px);font-weight:700;line-height:1.2}.nft-onchain-name{color:var(--dim);margin-bottom:12px;font-size:12px}.nft-desc{color:#e8ecf6d1;white-space:pre-wrap;margin-bottom:16px;font-size:14px;line-height:1.55}.nft-owner-badge{background:linear-gradient(135deg,#7ddea014,#ffffff08);border:1px solid #7ddea047;border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.nft-owner-icon{width:36px;height:36px;color:var(--ok);background:#7ddea01f;border:1px solid #7ddea059;border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;display:grid}.nft-owner-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.nft-owner-label{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:10px}.nft-cert-bridge{background:#5078c814;border:1px solid #8cb4ff47;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.nft-cert-id{color:#cfe0ff;cursor:pointer;text-align:left;word-break:break-all;background:0 0;border:0;padding:0;font-size:12px}.nft-cert-id:hover{text-decoration:underline}button.linkish{color:inherit;cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.nft-owner-addr{color:var(--txt);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:Space Mono,monospace;font-size:14px}.nft-owner-addr:hover{color:var(--ok);text-decoration:underline}.nft-owner-link{flex-shrink:0}.nft-flags{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.nft-mini-kv{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:4px;display:grid}.nft-mini-kv div{border:1px solid var(--line);background:#ffffff08;border-radius:10px;padding:10px 12px}.nft-mini-kv dt{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:4px;font-size:10px}.nft-mini-kv dd{font-size:13px;font-weight:500}.nft-section{border-top:1px solid var(--line);padding:16px 20px 20px}.nft-section--tech{background:#0000002e}.nft-section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:14px;font-family:Orbitron,sans-serif;font-size:11px}.nft-traits{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.nft-trait{border:1px solid var(--line);background:#ffffff08;border-radius:10px;min-height:72px;padding:12px;position:relative}.nft-trait-type{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;font-size:10px;display:block}.nft-trait-val{word-break:break-word;font-size:14px;font-weight:600;display:block}.nft-trait-src{letter-spacing:.06em;text-transform:uppercase;color:var(--ok);opacity:.7;font-size:8px;position:absolute;top:8px;right:8px}.nft-tech-kv{padding:0}.nft-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;padding:16px;display:grid}.nft-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:14px;padding:16px;display:flex;overflow-x:auto}.nft-strip::-webkit-scrollbar{display:none}.nft-strip .nft-card{scroll-snap-align:start;flex:0 0 148px;width:148px}.uav-dash-panel h2{padding:16px 16px 0}.uav-dash-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 0;display:flex}.uav-dash-head h2{margin:0;padding:0}.uav-dash-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:14px;padding:16px;display:flex;overflow-x:auto}.uav-dash-strip::-webkit-scrollbar{display:none}.uav-dash-card{scroll-snap-align:start;border:1px solid var(--line);background:#ffffff08;border-radius:12px;flex:0 0 220px;overflow:hidden}.uav-dash-media{aspect-ratio:16/10;background:#0a0c14;position:relative}.uav-dash-media img{object-fit:cover;width:100%;height:100%;display:block}.uav-dash-media--empty{background:linear-gradient(135deg,#7ddea01f,#ffffff0a);width:100%;height:100%}.uav-dash-badge{letter-spacing:.1em;color:var(--ok);background:#07080fd9;border:1px solid #7ddea073;border-radius:999px;padding:3px 8px;font-size:9px;position:absolute;top:8px;right:8px}.uav-dash-body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.uav-dash-title{font-size:14px;font-weight:600;line-height:1.25}.uav-dash-meta{opacity:.55;font-size:10px}.uav-dash-row{justify-content:space-between;gap:8px;font-size:11px;display:flex}.uav-dash-row.dim{opacity:.65}.uav-dash-open{align-self:flex-start;margin-top:2px}.uav-dash-wallet{color:var(--ok);cursor:pointer;text-align:left;background:0 0;border:0;margin-top:4px;padding:4px 0;font-family:inherit;font-size:10px}.uav-dash-wallet:hover{text-decoration:underline}.nft-card{text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;background:#ffffff08;border-radius:12px;flex-direction:column;padding:0;transition:border-color .15s,transform .15s,background .15s;display:flex;overflow:hidden}.nft-card:hover{background:#ffffff0f;border-color:#ffffff47;transform:translateY(-2px)}.nft-card-media{aspect-ratio:1;background:#0a0c14;position:relative}.nft-card-img{object-fit:cover;width:100%;height:100%;display:block}.nft-card-img--empty{background:linear-gradient(145deg,#ffffff0a,#ffffff03)}.nft-card-ed{letter-spacing:.08em;color:var(--ok);background:#07080fd9;border:1px solid #7ddea066;border-radius:999px;padding:4px 8px;font-family:Orbitron,sans-serif;font-size:9px;position:absolute;bottom:8px;left:8px}.nft-card-body{flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.nft-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.nft-card-meta{color:var(--dim);font-family:Space Mono,monospace;font-size:11px}.nft-card-owner{align-self:flex-start;font-size:9px}
