.tm{--tm-bg:#000;--tm-glow:#9281f70f;--tm-panel:#0009;--tm-solid:#0a0a0af0;--tm-text:#fff;--tm-muted:#ffffff8c;--tm-dim:#ffffff59;--tm-line:#ffffff14;--tm-line-2:#292d30;--tm-accent:#d9d9d9;--tm-serif:Inter, system-ui, sans-serif;--tm-sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--tm-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;min-height:420px;color:var(--tm-text);font-family:var(--tm-sans);background:radial-gradient(70% 70% at 55% 42%, var(--tm-glow) 0%, transparent 70%), var(--tm-bg);font-size:14px;line-height:1.5;position:relative;overflow:hidden}.tm *,.tm :before,.tm :after{box-sizing:border-box}.tm button{font:inherit;color:inherit}.tm-label{font-family:var(--tm-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tm-muted);font-size:10.5px}.tm-grid{pointer-events:none;opacity:.35;background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.tm-canvas{cursor:grab;width:100%;height:100%;position:absolute;inset:0}.tm-canvas.dragging{cursor:grabbing}.tm-canvas.pointing{cursor:pointer}.tm-hud{pointer-events:none;z-index:2;position:absolute}.tm-hud>*{pointer-events:auto}.tm-hud-tl{top:16px;left:16px}.tm-title{font-family:var(--font-display,Georgia), serif;letter-spacing:-.01em;margin:6px 0 0;font-size:36px;font-weight:400;line-height:1}.tm-sub{color:var(--tm-muted);font-size:12px;font-family:var(--tm-mono);margin-top:6px}.tm-hud-tr{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:60%;display:flex;top:16px;right:16px}.tm-chip{font-family:var(--tm-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--tm-line-2);background:var(--tm-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;color:var(--tm-muted);border-radius:9999px;align-items:center;gap:6px;padding:5px 10px;font-size:10.5px;transition:color .2s,border-color .2s;display:inline-flex}.tm-chip i{border-radius:50%;width:7px;height:7px}.tm-chip.on{color:var(--tm-text);border-color:#ffffff73}.tm-chip:hover{color:var(--tm-text)}.tm-find input{background:var(--tm-panel);border:1px solid var(--tm-line-2);width:220px;color:var(--tm-text);font:11.5px var(--tm-mono);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:9999px;outline:none;margin-top:10px;padding:6px 12px;transition:border-color .2s,width .3s}.tm-find input:focus{border-color:#ffffff80;width:260px}.tm-find.miss input{border-color:var(--tm-accent);animation:.3s tm-shake}@keyframes tm-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.tm-legend{z-index:3;-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);background:linear-gradient(160deg,#ffffff12,#ffffff08);border-radius:16px;width:212px;padding:6px;position:absolute;bottom:92px;left:16px;box-shadow:0 20px 50px -20px #000c,inset 0 1px #ffffff0f}.tm-legend:before{content:"";border-radius:inherit;pointer-events:none;-webkit-mask-composite:xor;background:linear-gradient(140deg,#ffffff38,#ffffff14 40%,#ffffff0a 70%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tm-lg-head{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:6px 8px 8px;display:flex}.tm-lg-hint{color:var(--tm-dim);opacity:0;flex:1;font-size:10.5px;transition:opacity .3s}.tm-legend:hover .tm-lg-hint{opacity:1}.tm-lg-chev{color:var(--tm-muted);font-size:13px;line-height:1;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.tm-legend.closed .tm-lg-chev{transform:rotate(-90deg)}.tm-lg-body{gap:1px;max-height:420px;transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .3s;display:grid;overflow:hidden}.tm-legend.closed .tm-lg-body{opacity:0;max-height:0}.tm-lg-item{cursor:pointer;width:100%;color:var(--tm-muted);text-align:left;opacity:0;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:6px 8px;font-size:12px;transition:background .2s,color .2s,transform .25s cubic-bezier(.2,.7,.2,1);display:flex;transform:translate(-8px)}.tm-legend.ready .tm-lg-item{opacity:1;transition-delay:calc(var(--i) * 45ms);transform:none}.tm-legend.ready .tm-lg-item:hover{transition-delay:0s;transform:translate(3px)}.tm-lg-item span{flex:1}.tm-lg-item b{font-family:var(--tm-mono);color:var(--tm-dim);text-align:right;min-width:2ch;font-size:10.5px;font-weight:400}.tm-lg-item:hover,.tm-lg-item.on{background:color-mix(in srgb, var(--c) 12%, transparent);color:var(--tm-text)}.tm-lg-item:hover b,.tm-lg-item.on b{color:var(--c)}.tm-lg-item.on{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent)}.tm-lg-item.zero{opacity:.38!important}.tm-lg-sep{background:linear-gradient(90deg,#0000,#ffffff1f,#0000);height:1px;margin:5px 8px}.tm-sw{background:radial-gradient(circle at 32% 30%, #fff 0 12%, var(--c) 40%, color-mix(in srgb, var(--c) 45%, #000) 100%);width:10px;height:10px;animation:3.2s ease-in-out infinite tm-breathe;animation-delay:calc(var(--i) * -.4s);border-radius:50%;flex:none;position:relative}@keyframes tm-breathe{50%{transform:scale(.82)}}.tm-sw-ring:after,.tm-sw-orbit:after{content:"";border:1px solid var(--c);border-radius:50%;position:absolute;inset:-4px}.tm-sw-ring:after{animation:1.8s cubic-bezier(0,.6,.4,1) infinite tm-ping}@keyframes tm-ping{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.tm-sw-orbit:after{border-style:dashed;animation:6s linear infinite tm-spin}@keyframes tm-spin{to{transform:rotate(1turn)}}.tm-sw-blink{animation:1.4s steps(2,jump-none) infinite tm-blink}@keyframes tm-blink{50%{opacity:.35}}.tm-ln{background:repeating-linear-gradient(90deg, var(--c) 0 5px, transparent 5px 8px);width:18px;height:2px;box-shadow:0 0 8px color-mix(in srgb, var(--c) 60%, transparent);background-size:16px 2px;border-radius:2px;flex:none;margin:0 -4px;animation:.7s linear infinite tm-flow}.tm-ln-rev{animation-direction:reverse}@keyframes tm-flow{to{background-position:16px 0}}.tm-replay{z-index:3;background:var(--tm-panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--tm-line-2);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.tm-play{background:var(--tm-text);width:38px;height:38px;color:var(--tm-bg);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:transform .15s;display:grid}.tm-play:hover{transform:scale(1.06)}.tm-timeline{flex:1;gap:6px;min-width:0;display:grid}.tm-tl-top{font-family:var(--tm-mono);color:var(--tm-muted);letter-spacing:.06em;justify-content:space-between;gap:12px;font-size:10.5px;display:flex}.tm-tl-top b{color:var(--tm-text);font-weight:400}.tm-track{position:relative}.tm-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.tm-range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--tm-accent) var(--p,0%), var(--tm-line-2) var(--p,0%));border-radius:3px;height:3px}.tm-range::-moz-range-track{background:var(--tm-line-2);border-radius:3px;height:3px}.tm-range::-moz-range-progress{background:var(--tm-accent);height:3px}.tm-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--tm-text);border-radius:50%;width:13px;height:13px;margin-top:-5px;box-shadow:0 0 0 4px #ffffff2e}.tm-range::-moz-range-thumb{background:var(--tm-text);border:0;border-radius:50%;width:13px;height:13px}.tm-marks{pointer-events:none;height:0;position:absolute;top:-4px;left:6px;right:6px}.tm-mark{cursor:pointer;pointer-events:auto;background:var(--c);width:9px;height:9px;box-shadow:0 0 0 2px #000000e6, 0 0 10px var(--c);animation:.5s cubic-bezier(.2,1.6,.4,1) forwards tm-mark-in;animation-delay:var(--d);border:0;border-radius:50%;margin-left:-4.5px;padding:0;position:absolute;top:0;transform:scale(0)}@keyframes tm-mark-in{to{transform:rotate(45deg)scale(1)}}.tm-mark-tip{white-space:nowrap;pointer-events:none;background:var(--tm-solid);border:1px solid var(--tm-line-2);opacity:0;border-radius:8px;padding:6px 10px;font-size:12px;transition:opacity .15s;position:absolute;bottom:64px;transform:translate(-50%)}.tm-mark-tip.show{opacity:1}.tm-mark-tip b{font-family:var(--tm-mono);color:var(--tm-muted);margin-right:6px;font-size:10px;font-weight:400}.tm-speed{gap:4px;display:flex}.tm-speed button{font-family:var(--tm-mono);border:1px solid var(--tm-line-2);cursor:pointer;color:var(--tm-muted);background:0 0;border-radius:9999px;padding:4px 8px;font-size:10.5px}.tm-tip{pointer-events:none;background:var(--tm-solid);border:1px solid var(--tm-line-2);opacity:0;z-index:5;border-radius:10px;min-width:180px;padding:10px 12px;font-size:12px;transition:opacity .15s;position:absolute;transform:translate(14px,14px)}.tm-tip.show{opacity:1}.tm-tip b{font-size:13px;font-weight:500;display:block}.tm-mono{font-family:var(--tm-mono);color:var(--tm-dim);word-break:break-all;font-size:10.5px}.tm-kv{color:var(--tm-muted);justify-content:space-between;gap:16px;margin-top:4px;display:flex}.tm-kv span:last-child{color:var(--tm-text);font-family:var(--tm-mono);font-size:11px}.tm-panel{background:var(--tm-solid);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--tm-line-2);z-index:6;border-radius:14px;width:300px;max-height:calc(100% - 210px);padding:18px;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:absolute;top:108px;right:16px;overflow-y:auto;transform:translate(calc(100% + 32px))}.tm-close{border:1px solid var(--tm-line-2);cursor:pointer;width:26px;height:26px;color:var(--tm-muted);background:0 0;border-radius:50%;position:absolute;top:12px;right:12px}.tm-panel h3{font-family:var(--font-display,Georgia), serif;letter-spacing:-.01em;margin:8px 0 0;padding-right:30px;font-size:26px;font-weight:400;line-height:1.05}.tm-panel h4{margin:18px 0 4px}.tm-addr{font-family:var(--tm-mono);color:var(--tm-dim);word-break:break-all;cursor:pointer;margin-top:6px;font-size:11px}.tm-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tm-tag{font-family:var(--tm-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:9999px;padding:2px 8px;font-size:10px}.tm-stats{background:var(--tm-line);border:1px solid var(--tm-line);border-radius:10px;grid-template-columns:1fr 1fr;gap:1px;margin-top:14px;display:grid;overflow:hidden}.tm-stats div{background:#0d0d0d;padding:10px 12px}.tm-stats b{font-family:var(--tm-sans);letter-spacing:-.02em;font-size:24px;font-weight:400;display:block}.tm-cp{border-top:1px solid var(--tm-line);cursor:pointer;justify-content:space-between;gap:10px;padding:7px 0;font-size:12.5px;display:flex}.tm-cp:hover{color:#fff}.tm-cp span:last-child{font-family:var(--tm-mono);color:var(--tm-muted);white-space:nowrap;font-size:11px}.tm-ext{border:1px solid var(--tm-line-2);color:inherit;border-radius:9999px;margin-top:16px;padding:6px 12px;font-size:12px;text-decoration:none;display:inline-block}.tm-hint{color:var(--tm-muted)}@media (max-width:700px){.tm-legend{width:180px;bottom:84px}.tm-speed{display:none}.tm-hud-tr{max-width:100%;top:auto;bottom:84px;right:16px}}@media (prefers-reduced-motion:reduce){.tm-sw,.tm-sw:after,.tm-ln,.tm-mark{animation:none!important;transform:none!important}.tm-lg-item{opacity:1!important;transform:none!important}}.tm{background:radial-gradient(55% 60% at 62% 45%,#9696961f 0%,#0000 70%),#050505}.tm-grid{opacity:1;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(at 50% 45%,#000 30%,#0000 78%);mask-image:radial-gradient(at 50% 45%,#000 30%,#0000 78%)}.tm-label{letter-spacing:.18em}.tm-hud-tr{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000000a6;border:1px solid #292d30;border-radius:9px;gap:0;padding:3px}.tm-chip{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:6px;padding:6px 10px}.tm-chip.on{background:#ffffff12;border:0}.tm-chip i{border-radius:1px;transform:rotate(45deg)}.tm-find input{border-radius:6px}.tm-legend{width:212px;box-shadow:none;background:#0009;border:1px solid #292d30;border-radius:12px}.tm-legend:before{display:none}.tm-sw{border:1.5px solid var(--c);background:0 0;animation:none}.tm-sw-dia{border-radius:1px;transform:rotate(45deg)scale(.85)}.tm-sw-sq{border-radius:1px}.tm-sw-tri{border:0;border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:10px solid var(--c);border-radius:0;width:0;height:0}.tm-sw-glow{box-shadow:none}.tm-panel{border-color:#292d30;border-radius:12px}.tm-panel.open{transform:none}.tm-replay{background:#000000a6;border-color:#292d30;border-radius:12px;padding:10px 14px}.tm-play{color:#fff;background:#ffffff0f;border:1px solid #ffffff59;border-radius:9px;width:34px;height:34px}.tm-play:hover{background:#ffffff1a;border-color:#fff}.tm-play svg{width:11px;height:11px}.tm-speed button{border-radius:6px}.tm-speed button.on{color:#000;background:#fff;border-color:#fff}.tm-mark{border-radius:1px;width:7px;height:7px;margin-left:-3.5px;transform:rotate(45deg)scale(0)}.tm-mark:hover{transform:rotate(45deg)scale(1.5)!important}@media (max-width:700px){.tm-legend{bottom:84px}}.map-stage .tm{background:0 0}
