geo-target.gt{display:grid;gap:var(--s-4);width:min(100%,38rem);margin-inline:auto;color:var(--fg)}.gt__modes{min-width:0;margin:0;padding:0;border:0}.gt__legend{margin-bottom:var(--s-2);padding:0;color:var(--fg-subtle);font:500 var(--fs-label) var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.gt__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}@media(min-width:40rem){.gt__opts{grid-template-columns:repeat(4,minmax(0,1fr))}}.gt__opt{position:relative;display:flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.45rem .75rem;border-radius:var(--r-m);background:var(--bg-raised);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-muted);font-size:var(--fs-small);font-weight:550;line-height:1.2;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.gt__opt input{position:absolute;inset:0;margin:0;border-radius:inherit;opacity:0;cursor:pointer}.gt__opt:hover{color:var(--fg)}.gt__opt:has(input:checked){color:var(--fg);background:color-mix(in oklab,var(--b24) 10%,var(--bg-raised));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--b24) 60%,transparent)}.gt__opt:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.gt__ico{flex:none;width:1.1rem;height:1.1rem;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--fg-subtle)}.gt__ico--city{background:radial-gradient(circle,var(--b24) 0 48%,transparent 50%)}.gt__ico--region{background:radial-gradient(circle,var(--b24) 0 48%,color-mix(in oklab,var(--b24) 45%,transparent) 50%)}.gt__ico--radius{background:radial-gradient(circle at 66% 38%,var(--b24) 0 26%,transparent 28%)}.gt__ico--oblast{background:radial-gradient(circle,transparent 0 46%,color-mix(in oklab,var(--b24) 55%,transparent) 48%)}.gt__fig{position:relative;margin:0}.gt__svg{display:block;width:min(100%,32rem,58svh);height:auto;margin-inline:auto;overflow:visible}.gt__remote{fill:none;stroke:color-mix(in oklab,var(--fg) 16%,transparent);stroke-dasharray:3 6}.gt__zone{fill:transparent;transition:fill var(--dur-slow) var(--ease-out)}.gt__ring{fill:none;stroke:color-mix(in oklab,var(--b24) 45%,transparent);stroke-width:1.5}.gt__ring--mkad{stroke:color-mix(in oklab,var(--b24) 70%,var(--fg));stroke-width:2}.gt__ring--minor{stroke:color-mix(in oklab,var(--fg) 18%,transparent);stroke-width:1}.gt__roads path{stroke:color-mix(in oklab,var(--fg) 14%,transparent);stroke-width:1}.gt__hatch{opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}.gt__hatch path{stroke:color-mix(in oklab,var(--fg) 22%,transparent);stroke-width:1.5}.gt__radius{opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}.gt__zone--radius{stroke:var(--b24);stroke-width:1.5;stroke-dasharray:4 4}.gt__radius-wave{fill:none;stroke:var(--b24);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}.gt__pin circle{fill:var(--b24);stroke:var(--bg);stroke-width:3}.gt__pin text{fill:var(--fg);font:600 16px var(--font-text);paint-order:stroke;stroke:var(--bg);stroke-width:5px}.gt__pin{opacity:.55;transition:opacity var(--dur-slow) var(--ease-out)}.gt__label,.gt__excl{fill:var(--fg-subtle);font:500 15px var(--font-mono);letter-spacing:.12em;text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:6px;stroke-linejoin:round}.gt__excl{fill:var(--fg-muted);opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}@media(max-width:47.99rem){.gt__label,.gt__excl{font-size:20px}.gt__pin text{font-size:21px}}.gt__dot{fill:color-mix(in oklab,var(--fg) 30%,transparent);opacity:.25;transition:opacity var(--dur-slow) var(--ease-out),fill var(--dur-slow) var(--ease-out)}geo-target[data-mode=city] .gt__zone--city,geo-target[data-mode=region] .gt__zone--city{fill:color-mix(in oklab,var(--b24) 22%,transparent)}geo-target[data-mode=region] .gt__zone--oblast,geo-target[data-mode=oblast] .gt__zone--oblast{fill:color-mix(in oklab,var(--b24) 13%,transparent)}geo-target[data-mode=radius] .gt__radius{opacity:1}geo-target[data-mode=radius] .gt__zone--radius{fill:color-mix(in oklab,var(--b24) 22%,transparent)}geo-target[data-mode=radius] .gt__pin{opacity:1}geo-target[data-mode=oblast] .gt__hatch,geo-target[data-mode=oblast] .gt__excl{opacity:1}geo-target[data-mode=city] .gt__dot[data-z=city],geo-target[data-mode=region] .gt__dot,geo-target[data-mode=oblast] .gt__dot[data-z=oblast],geo-target[data-mode=radius] .gt__dot[data-rad]{fill:var(--b24);opacity:1}.gt__ad{display:grid;gap:.2rem;padding:var(--s-3) var(--s-4);border-radius:var(--r-m);background:color-mix(in oklab,var(--bg-raised) 92%,transparent);box-shadow:inset 0 0 0 1px var(--line-strong),var(--shadow-float);backdrop-filter:blur(8px)}@media(min-width:48rem){.gt__ad{position:absolute;bottom:4%;left:0;max-width:19rem}}.gt__ad-tag{justify-self:start;padding:.05rem .45rem;border-radius:.3rem;background:color-mix(in oklab,var(--fg) 10%,transparent);color:var(--fg-muted);font:500 var(--fs-label) var(--font-mono)}.gt__ad-title{color:var(--accent-strong);font-weight:600}.gt__ad-text{color:var(--fg-muted);font-size:var(--fs-small)}.gt__ad-url{color:var(--fg-subtle);font:500 var(--fs-label) var(--font-mono)}.gt__when{min-height:3.2em;margin:0;padding:var(--s-3) var(--s-4);border-radius:var(--r-m);background:color-mix(in oklab,var(--fg) 5%,transparent);color:var(--fg-muted);font-size:var(--fs-small)}.gt__note{margin:0;color:var(--fg-subtle);font-size:var(--fs-small);text-align:center}@media(prefers-reduced-motion:no-preference){:root:not([data-motion=off]) geo-target[data-mode=city] .gt__dot[data-z=city],:root:not([data-motion=off]) geo-target[data-mode=region] .gt__dot,:root:not([data-motion=off]) geo-target[data-mode=oblast] .gt__dot[data-z=oblast],:root:not([data-motion=off]) geo-target[data-mode=radius] .gt__dot[data-rad]{animation:gt-show 3.6s var(--ease-out) calc(var(--k) * .3s) infinite}:root:not([data-motion=off]) geo-target[data-mode=radius] .gt__radius-wave{animation:gt-wave 2.8s var(--ease-out) infinite}[data-off] geo-target .gt__dot,[data-off] geo-target .gt__radius-wave{animation-play-state:paused}}@keyframes gt-show{0%,to{opacity:.45}12%{opacity:1}}@keyframes gt-wave{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.45)}}
