/* Paradigm World extras (boot-up, tap-a-part, thermal view, live status, cursor trail, dust, glass) */
#map.boot-dark #pc{filter:brightness(.07);transition:none}
#map.boot-lit #pc{transition:filter 1.6s ease}
#map.boot-dark .pname{opacity:0}
.pname.pname-on{animation:pnameOn 1.1s steps(1) 1}
@keyframes pnameOn{0%{opacity:0}10%{opacity:1}18%{opacity:.1}26%{opacity:1}40%{opacity:.25}50%,100%{opacity:1}}
.pname.surge .pname-main{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 26px #ff7a18)}
.pname.surge .pname-edge{stroke:#fff}
.xpart{fill:transparent;stroke:transparent;stroke-width:2;cursor:pointer;outline:none}
.xpart:hover,.xpart:focus{stroke:rgba(101,250,255,.75);fill:rgba(101,250,255,.07)}
.xlive{fill:none;stroke-width:2.6;pointer-events:none;filter:drop-shadow(0 0 5px rgba(255,255,255,.45));animation:livepulse 2.6s ease-in-out infinite}
@keyframes livepulse{0%,100%{opacity:.55}50%{opacity:1}}
.xlivetxt{font:700 13px "Courier New",monospace;letter-spacing:.25em;text-anchor:middle}
.trailbit{font:700 13px "Courier New",monospace;pointer-events:none;animation:trailfade .95s ease-out forwards}
@keyframes trailfade{from{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}
.dust{fill:#fff;pointer-events:none;opacity:0;animation:dustdrift var(--d,14s) ease-in-out infinite}
@keyframes dustdrift{0%,100%{transform:translate(0,0);opacity:0}20%,80%{opacity:.35}50%{transform:translate(var(--dx,10px),var(--dy,-10px))}}
@media (prefers-reduced-motion:reduce){.xlive,.trailbit,.dust{animation:none}}
