.tm-boundary{stroke-dasharray:6 6;animation:march 1.6s linear infinite}@keyframes march{to{stroke-dashoffset:-12}}.tm-draw{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400);animation:draw 1.4s var(--ease-out) forwards;animation-delay:var(--d,.5s)}@keyframes draw{to{stroke-dashoffset:0}}.tm-node{opacity:0;animation:node-in .8s var(--ease-out) forwards;animation-delay:var(--d,.8s);transform-box:fill-box;transform-origin:center}@keyframes node-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.tm-core{animation:core 4.8s ease-in-out infinite}@keyframes core{50%{stroke-opacity:.45}}.tm-marker{opacity:0;animation:marker-in .6s var(--ease-out) forwards;animation-delay:calc(1.5s + var(--i) * 90ms)}@keyframes marker-in{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}.tm-marker[aria-pressed=false]:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--threat);animation:ping 2.6s var(--ease-out) infinite;animation-delay:calc(var(--i) * .5s)}@keyframes ping{0%{transform:scale(1);opacity:.8}70%,to{transform:scale(2.1);opacity:0}}.tm-marker{transition:background-color .3s,color .3s,box-shadow .3s,transform .3s var(--ease-out)}.tm-marker:hover{transform:translate(-50%,-50%) scale(1.12)}.tm-finding{animation:finding-in .55s var(--ease-out)}@keyframes finding-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.glyph{overflow:visible}.glyph .g-scan{animation:g-scan 3.6s ease-in-out infinite}@keyframes g-scan{0%,to{transform:translateY(-26px);opacity:0}15%,85%{opacity:1}50%{transform:translateY(26px)}}.glyph .g-needle{transform-origin:48px 48px;animation:g-needle 6s var(--ease-out) infinite}@keyframes g-needle{0%{transform:rotate(-70deg)}30%{transform:rotate(28deg)}45%{transform:rotate(8deg)}60%,to{transform:rotate(14deg)}}.glyph .g-block{animation:g-block 4.8s var(--ease-out) infinite;animation-delay:calc(var(--i) * .25s);opacity:0}@keyframes g-block{0%{opacity:0;transform:translateY(-10px)}15%,80%{opacity:1;transform:none}to{opacity:0}}.glyph .g-link{stroke-dasharray:60;stroke-dashoffset:60;animation:g-link 5s ease-in-out infinite;animation-delay:calc(var(--i) * .35s)}@keyframes g-link{30%,75%{stroke-dashoffset:0}to{stroke-dashoffset:-60}}.glyph .g-pulse{animation:core 2.4s ease-in-out infinite}.plate{transition:border-color .4s,transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}.plate:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(15,27,45,.35);border-color:color-mix(in srgb,var(--brass-mark) 60%,transparent)}.trace{position:relative}.trace:after,.trace:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;border-radius:2px}.trace:before{background:var(--rule)}.trace:after{background:linear-gradient(var(--brass-mark),var(--brass));transform-origin:top;transform:scaleY(var(--p,0));transition:transform .2s linear}.trace-dot{position:absolute;left:0;top:1.55rem;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--rule);z-index:1;transition:border-color .5s,background-color .5s,box-shadow .5s}[data-lit]>.trace-dot{border-color:var(--brass-mark);background:var(--brass-mark);box-shadow:0 0 0 6px color-mix(in srgb,var(--brass-mark) 20%,transparent)}.portrait-orbit{position:absolute;inset:-9%;pointer-events:none}.portrait-orbit ellipse{transform-origin:50% 50%;transform-box:view-box}.portrait-orbit .spin{animation:orbit-spin 60s linear infinite;transform-origin:200px 250px}.live-dot{position:relative;display:inline-block;width:8px;height:8px}.live-dot,.live-dot:after{border-radius:50%;background:var(--ok)}.live-dot:after{content:"";position:absolute;inset:0;animation:ping 2.2s var(--ease-out) infinite}@media (prefers-reduced-motion:reduce){.tm-live{display:none}.tm-marker,.tm-node{animation:none!important;opacity:1;transform:none}.tm-draw{stroke-dashoffset:0}.glyph *,.portrait-orbit .spin,.tm-draw{animation:none!important}.glyph .g-block{opacity:1}.glyph .g-link{stroke-dashoffset:0}}