.tp-grid{background-image:linear-gradient(90deg,#a78bfa17 1px,#0000 1px),linear-gradient(#a78bfa17 1px,#0000 1px);background-position:top;background-size:46px 46px;-webkit-mask-image:radial-gradient(115% 85% at 50% 0,#000 0%,#0006 48%,#0000 82%);mask-image:radial-gradient(115% 85% at 50% 0,#000 0%,#0006 48%,#0000 82%)}.tp-grid--fine{background-size:22px 22px;-webkit-mask-image:radial-gradient(80% 70% at 50% 45%,#000 0%,#0000 78%);mask-image:radial-gradient(80% 70% at 50% 45%,#000 0%,#0000 78%)}.tp-wash{background:radial-gradient(100% 78% at 50% 0,#7c5cec33 0%,#7c5cec0d 44%,#0000 72%)}.tp-lamp{background:radial-gradient(62% 100% at 50% 100%,#8b5cf647 0%,#7c5cec14 42%,#0000 74%)}.tp-plate{opacity:0;visibility:hidden;grid-area:1/1;transition:opacity .42s cubic-bezier(.22,1,.36,1),visibility 0s linear .42s}.tp-plate[data-active=true]{opacity:1;visibility:visible;transition:opacity .42s cubic-bezier(.22,1,.36,1),visibility linear}.tp-swap{transition:opacity .32s ease-out 90ms,transform .32s cubic-bezier(.22,1,.36,1) 90ms}.tp-part{stroke:#ffffff38;fill:none;transition:stroke .26s ease-out,fill .26s ease-out,opacity .26s ease-out}.tp-part[data-active=true]{stroke:#a78bfa}.tp-part--filled[data-active=true]{fill:#8b5cf629}.tp-hatch{stroke:#ffffff24;fill:none}.tp-marker-ring{fill:#0a0912d9;stroke:#ffffff47;transition:fill .26s ease-out,stroke .26s ease-out}.tp-marker-num{fill:#ffffff8c;transition:fill .26s ease-out}[data-active=true]>.tp-marker-ring{fill:#7c3aed;stroke:#c4b5fd}[data-active=true]>.tp-marker-num{fill:#fff}.tp-marker:focus-visible{outline-offset:2px;outline:2px solid #a78bfa}@media (prefers-reduced-motion:reduce){.tp-plate,.tp-plate[data-active=true],.tp-swap,.tp-part,.tp-marker-ring,.tp-marker-num{transition:none!important}}html[data-perf=lite] .tp-plate,html[data-perf=lite] .tp-plate[data-active=true],html[data-perf=lite] .tp-swap,html[data-perf=lite] .tp-part,html[data-perf=lite] .tp-marker-ring,html[data-perf=lite] .tp-marker-num{transition:none!important}@keyframes tp-rail-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tp-rail{transform-origin:0;will-change:transform;animation:linear forwards tp-rail-fill;transform:scaleX(0)}.tp-paused .tp-rail{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.tp-rail{animation:none}}
