@font-face{font-family:Satoshi;src:url(/assets/fonts/satoshi-variable.woff2) format('woff2');font-weight:300 900}
@font-face{font-family:GeistMono;src:url(/assets/fonts/geist-mono-latin.woff2) format('woff2')}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:Satoshi,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.mono{font-family:GeistMono,ui-monospace,monospace}
.pva{width:100%;height:auto;display:block}.pva text{font-family:GeistMono,monospace}
.spark{width:100%;height:56px}
.bar{display:grid;grid-template-columns:64px 1fr 36px;gap:8px;align-items:center;font-size:12px;margin:7px 0}
.bar i{height:8px;border-radius:9px;overflow:hidden}.bar b{display:block;height:100%;width:0;border-radius:9px;transition:width 1.4s cubic-bezier(.4,0,.2,1)}
.in .bar b{width:var(--w)}.bar em{font-style:normal;font-family:GeistMono,monospace;opacity:.7}
.donut{width:64px;height:64px}.fv{min-height:72px;display:flex;align-items:center;gap:14px}.fv>div:not(.dl):not(.qrw):not(.qrl){width:100%}
.dl b,.qrl b{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em}.dl span,.qrl span{font-size:11px;opacity:.65;line-height:1.3}
.qrw{position:relative;width:64px;height:64px}.qrs{width:64px;height:64px;fill:currentColor}
.scan{position:absolute;left:-4px;right:-4px;height:2px;background:#6E56FF;box-shadow:0 0 12px #6E56FF;animation:scan 2s ease-in-out infinite}
@keyframes scan{0%,100%{top:0}50%{top:62px}}
.ic{width:22px;height:22px;flex:none}
.fh{display:flex;gap:10px;align-items:center}.fh h3{font-size:16px;font-weight:600}
.fc p{font-size:13.5px;line-height:1.45;opacity:.7}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:600;font-size:15px}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px}.live:before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 #22c55e88;animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px #22c55e00}}
.rv{opacity:0;transform:translateY(18px);transition:.8s cubic-bezier(.2,.7,.2,1)}.rv.on{opacity:1;transform:none}
.portfolio .p{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em}
.sq{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800}
