@layer components{.tm-stage{--map-land:color-mix(in oklab, var(--ink) 9%, var(--bg));--map-edge:var(--bg);background-color:color-mix(in oklab, var(--teal) 5%, var(--bg));background-image:radial-gradient(circle at 1px 1px, var(--dot) 1.2px, transparent 1.6px);background-size:16px 16px;min-height:0;position:relative;overflow:hidden}.tm-svg{touch-action:manipulation;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tm-prov{fill:var(--map-land);stroke:var(--map-edge);stroke-width:.9px;vector-effect:non-scaling-stroke;cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:fill .6s,opacity .45s}.tm-compact .tm-prov{cursor:default}.tm-prov:hover{filter:brightness(1.08)}.tm-intro .tm-prov{animation:.75s cubic-bezier(.2,.9,.3,1.2) backwards tm-rise}@keyframes tm-rise{0%{opacity:0;transform:translateY(-16px)scale(.94)}}.tm-dim .tm-prov:not(.tm-lit){opacity:.26}.tm-dim .tm-prov.tm-reach{opacity:.85}.tm-prov.tm-reach{fill:color-mix(in oklab, var(--gold) 45%, var(--map-land))!important}.tm-hover{fill:none;stroke:var(--ink);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.tm-sel-glow{fill:none;stroke:var(--gold);stroke-width:9px;vector-effect:non-scaling-stroke;opacity:.55;filter:blur(4px);pointer-events:none}.tm-sel-line{fill:none;stroke:var(--gold);stroke-width:2.6px;vector-effect:non-scaling-stroke;stroke-dasharray:8 6;pointer-events:none;animation:1s linear infinite tm-ants}@keyframes tm-ants{to{stroke-dashoffset:-14px}}.tm-ripple{fill:none;stroke:var(--gold);stroke-width:2.4px;vector-effect:non-scaling-stroke;pointer-events:none}.tm-spark-gold{fill:var(--gold);pointer-events:none}.tm-spark-teal{fill:var(--teal-bright);pointer-events:none}.tm-arc{fill:none;stroke:var(--gold);stroke-width:2.2px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px var(--glow));pointer-events:none}.tm-arc-dot{fill:var(--gold);pointer-events:none}.tm-home-dot{fill:var(--coral);stroke:var(--bg);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.tm-wave{fill:none;stroke:var(--gold);stroke-width:2.2px;vector-effect:non-scaling-stroke;pointer-events:none}.tm-pin-s{transform:scale(var(--z,1))}.tm-pin{cursor:pointer;outline:none}.tm-pin-drop{animation:.85s cubic-bezier(.3,1.6,.5,1) backwards tm-drop}.tm-svg:not(.tm-intro) .tm-pin-drop{animation:none}@keyframes tm-drop{0%{opacity:0;transform:translateY(-70px)}60%{opacity:1}}.tm-pin-body{fill:var(--ink);stroke:var(--bg);stroke-width:2px;transition:fill .2s}.tm-pin-txt{fill:var(--bg);font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:11px;font-weight:600}.tm-pin:hover .tm-pin-body,.tm-pin:focus-visible .tm-pin-body,.tm-pin-sel .tm-pin-body{fill:var(--gold)}.tm-pin:hover .tm-pin-txt,.tm-pin:focus-visible .tm-pin-txt,.tm-pin-sel .tm-pin-txt{fill:var(--on-gold)}.tm-pin:focus-visible .tm-pin-body{stroke:var(--coral);stroke-width:3px}.tm-label{font-family:var(--font-display);fill:var(--ink);text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:13px;font-weight:700;animation:.5s backwards tm-fade}@keyframes tm-fade{0%{opacity:0}}.tm-tip{z-index:5;border:1px solid var(--line);background:color-mix(in oklab, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:max-content;max-width:200px;box-shadow:var(--shadow-md);pointer-events:none;border-radius:14px;flex-direction:column;gap:0;padding:8px 12px;font-size:13px;line-height:1.5;display:flex;position:absolute}.tm-tip strong{font-family:var(--font-display);font-size:16px}.tm-tip-en,.tm-tip-n{color:var(--muted);font-size:12px}@media (prefers-reduced-motion:reduce){.tm-sel-line{animation:none}}}
