.hero{isolation:isolate}.blockchain-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.75}.hero:has(.blockchain-scene):before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(7,28,43,.48),transparent 80%)}.crypto-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:10000;pointer-events:none;opacity:0;color:var(--accent,#58c7b3);transition:opacity .15s;will-change:transform}.crypto-cursor.visible{opacity:1}.crypto-reticle{position:absolute;left:-15px;top:-15px;width:30px;height:30px;border:1px dashed currentColor;border-radius:7px;animation:crypto-spin 7s linear infinite;transition:width .18s,height .18s,left .18s,top .18s;box-shadow:0 0 12px #55d9bc28}.crypto-dot{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:currentColor}.crypto-hash{position:absolute;left:22px;top:14px;font:9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;padding:3px 5px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:3px;white-space:nowrap}.crypto-cursor.interactive .crypto-reticle{width:40px;height:40px;left:-20px;top:-20px;border-style:solid}.crypto-pointer,.crypto-pointer body,.crypto-pointer a,.crypto-pointer button{cursor:none!important}@keyframes crypto-spin{to{transform:rotate(360deg)}}@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.crypto-cursor{display:none}.blockchain-scene{opacity:.5}.crypto-pointer,.crypto-pointer body{cursor:auto!important}}

body:is([data-cursor=crosshair],[data-cursor=dot],[data-cursor=diamond],[data-cursor=hexagon],[data-cursor=target],[data-cursor=comet],[data-cursor=orbit]) .crypto-hash{display:none}
body[data-cursor=crosshair] .crypto-reticle{border:0;border-radius:0;animation:none;background:linear-gradient(currentColor,currentColor) center/1px 100% no-repeat,linear-gradient(currentColor,currentColor) center/100% 1px no-repeat}
body[data-cursor=dot] .crypto-reticle{display:none}body[data-cursor=dot] .crypto-dot{width:10px;height:10px;left:-5px;top:-5px;box-shadow:0 0 16px currentColor}
body[data-cursor=diamond] .crypto-reticle{border-radius:0;border-style:solid;animation:crypto-spin 5s linear infinite}
body[data-cursor=hexagon] .crypto-reticle{border:0;border-radius:0;background:currentColor;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%,25% 0,27% 5%,5% 50%,27% 95%,73% 95%,95% 50%,73% 5%,27% 5%)}
body[data-cursor=target] .crypto-reticle{border-radius:50%;border-style:solid;animation:none;outline:1px solid currentColor;outline-offset:6px}
body[data-cursor=comet] .crypto-reticle{width:42px;height:8px;left:-40px;top:-4px;border:0;border-radius:50%;animation:none;background:linear-gradient(90deg,transparent,currentColor)}
body[data-cursor=orbit] .crypto-reticle{border-radius:50%;border-style:solid;animation:crypto-spin 2s linear infinite}body[data-cursor=orbit] .crypto-reticle:after{content:'';position:absolute;top:-3px;left:12px;width:5px;height:5px;border-radius:50%;background:currentColor}
