.radial{position:fixed;inset:0;z-index:calc(var(--z-overlay, 1000) + 5);pointer-events:none}.radial__catch{inset:0}.radial__catch,.radial__scrim{position:fixed;pointer-events:auto}.radial__scrim{background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),rgba(6,6,8,.04) 90px,rgba(6,6,8,.3) 320px,rgba(6,6,8,.46) 640px);backdrop-filter:blur(4px) saturate(115%);-webkit-backdrop-filter:blur(4px) saturate(115%)}.radial__wheel{--wedge-fill:rgba(18,18,22,.62);--wedge-fill-hot:rgba(30,30,36,.74);--wedge-stroke:hsla(0,0%,100%,.09);--hub-bg:rgba(12,12,15,.78);--hub-stroke:hsla(0,0%,100%,.1);--glyph:hsla(0,0%,100%,.82);--glyph-hot:#fff;--a-share:#2e8bff;--a-search:#26d07c;--a-chart:#9a7bff;position:absolute;width:240px;height:240px;margin:0;transform:translate(-50%,-50%);transform-origin:center;outline:none;pointer-events:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5)) drop-shadow(0 4px 12px rgba(0,0,0,.34))}.radial__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.radial__wedge{cursor:pointer;animation:radial-wedge-in var(--dur-expand) var(--ease-spring) both;animation-delay:calc(var(--i)*60ms + 30ms)}.radial__wedge,.radial__wedge-lift{transform-box:view-box;transform-origin:120px 120px}.radial__wedge-lift{transform:translate(0);transition:transform var(--dur-base) var(--ease-spring)}.radial__wedge.is-hot .radial__wedge-lift{transform:translate(calc(var(--lx)*8px),calc(var(--ly)*8px))}.radial__wedge-fill{fill:var(--wedge-fill);stroke:var(--wedge-stroke);stroke-width:1;stroke-linejoin:round;transition:fill var(--dur-fast) var(--ease-out),stroke var(--dur-fast) var(--ease-out)}.radial__wedge-arc{fill:none;stroke:var(--wedge-accent,transparent);stroke-width:2.4;stroke-linecap:round;opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.radial__wedge.is-share{--wedge-accent:var(--a-share)}.radial__wedge.is-search{--wedge-accent:var(--a-search)}.radial__wedge.is-chart{--wedge-accent:var(--a-chart)}.radial__wedge.is-hot .radial__wedge-fill{fill:color-mix(in srgb,var(--wedge-accent) 24%,var(--wedge-fill-hot));stroke:color-mix(in srgb,var(--wedge-accent) 55%,transparent)}.radial__wedge.is-hot .radial__wedge-arc{opacity:.9;filter:drop-shadow(0 0 6px var(--wedge-accent))}.radial__icon{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;padding:0;border:0;background:none;color:var(--glyph);cursor:pointer;display:grid;place-items:center;animation:radial-glyph-in var(--dur-base) var(--ease-spring) both;animation-delay:calc(var(--i)*60ms + .13s);transition:color var(--dur-base) var(--ease-out)}.radial__icon.is-hot{color:var(--glyph-hot);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--wedge-accent,#fff) 60%,transparent))}.radial__icon.is-share{--wedge-accent:var(--a-share)}.radial__icon.is-search{--wedge-accent:var(--a-search)}.radial__icon.is-chart{--wedge-accent:var(--a-chart)}.radial__glyph{transition:transform var(--dur-base) var(--ease-spring)}.radial__glyph,.radial__glyph svg{display:block;width:100%;height:100%}.radial__icon.is-hot .radial__glyph{transform:translate(calc(var(--lx)*8px),calc(var(--ly)*8px)) scale(1.08)}.radial__hub{position:absolute;left:50%;top:50%;width:88px;height:88px;transform:translate(-50%,-50%);border-radius:50%;background:var(--hub-bg);border:1px solid var(--hub-stroke);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;text-align:center;padding:0 12px;box-shadow:inset 0 1px #ffffff0f;animation:radial-hub-in var(--dur-base) var(--ease-spring) both}.radial__hub-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:var(--tracking-snug);color:var(--ink,#ededed);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.radial__ripple{position:absolute;left:50%;top:50%;width:96px;height:96px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid hsla(0,0%,100%,.35);pointer-events:none;animation:radial-ripple var(--dur-slow) var(--ease-out) both}.radial__mini{--mini-glow:#37b4ff;--mini-line:#eaf4ff;--mini-fill:#4fb0ff;position:fixed;z-index:2;pointer-events:none;width:176px;display:flex;flex-direction:column;gap:11px;padding:12px;border-radius:16px;background:#000;border:1px solid var(--border);box-shadow:0 20px 48px #0000008c;transform-origin:center;animation:radial-mini-in var(--dur-expand) var(--ease-spring) both;animation-delay:60ms}.radial__mini-frame{position:relative;width:100%;aspect-ratio:1;border-radius:10px;overflow:hidden}.radial__mini-svg{display:block;width:100%;height:100%;overflow:visible}.radial__mini-fill{fill:color-mix(in srgb,var(--mini-fill) 18%,transparent);stroke:none}.radial__mini-glow{fill:none;stroke:var(--mini-glow);stroke-width:4;stroke-linejoin:round;stroke-linecap:round;filter:blur(3px);opacity:.7;animation:radial-mini-breathe 2.4s var(--ease-standard) infinite}.radial__mini-line{fill:none;stroke:var(--mini-line);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px var(--mini-glow));stroke-dasharray:100;animation:radial-mini-draw var(--dur-slow) var(--ease-out) both;animation-delay:.12s}.radial__mini-info{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px;min-width:0}.radial__mini-eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:#8b8b93}.radial__mini-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-snug);line-height:1.25;color:#f2f4f8}.radial__mini-meta,.radial__mini-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radial__mini-meta{font-size:var(--fs-xs);color:#8b8b93;font-variant-numeric:tabular-nums}[data-theme=light] .radial__scrim{background:radial-gradient(circle at var(--cx,50%) var(--cy,50%),hsla(0,0%,100%,.04) 90px,hsla(0,0%,100%,.26) 320px,rgba(248,250,255,.44) 640px)}[data-theme=light] .radial__wheel{--wedge-fill:hsla(0,0%,100%,.72);--wedge-fill-hot:hsla(0,0%,100%,.9);--wedge-stroke:rgba(0,0,0,.06);--hub-bg:hsla(0,0%,100%,.86);--hub-stroke:rgba(0,0,0,.06);--glyph:rgba(24,24,28,.7);--glyph-hot:#111;filter:drop-shadow(0 18px 40px rgba(0,0,0,.22)) drop-shadow(0 4px 12px rgba(0,0,0,.14))}[data-theme=light] .radial__hub-label{color:var(--ink,#171717)}[data-theme=light] .radial__ripple{border-color:#00000038}.radial-enter-active .radial__scrim{transition:opacity var(--dur-base) var(--ease-out)}.radial-leave-active .radial__scrim{transition:opacity var(--dur-fast) var(--ease-out)}.radial-enter-from .radial__scrim,.radial-leave-to .radial__scrim{opacity:0}.radial-enter-active .radial__wheel{transition:transform var(--dur-expand) var(--ease-spring),opacity var(--dur-fast) var(--ease-out)}.radial-leave-active .radial__wheel{transition:transform var(--dur-fast) var(--ease-standard),opacity var(--dur-fast) var(--ease-out)}.radial-enter-from .radial__wheel,.radial-leave-to .radial__wheel{transform:translate(-50%,-50%) scale(.35);opacity:0}@keyframes radial-wedge-in{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes radial-glyph-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes radial-hub-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes radial-ripple{0%{opacity:.6;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}@keyframes radial-mini-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes radial-mini-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes radial-mini-breathe{0%,to{opacity:.55}50%{opacity:.9}}.radial-swap-enter-active,.radial-swap-leave-active{transition:opacity var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.radial-swap-enter-from{opacity:0;transform:translateY(4px)}.radial-swap-leave-to{opacity:0;transform:translateY(-4px)}@media(prefers-reduced-motion:reduce){.radial__hub,.radial__icon,.radial__mini,.radial__mini-glow,.radial__ripple,.radial__wedge{animation:none}.radial__mini-line{animation:none;stroke-dasharray:none}.radial__glyph,.radial__icon,.radial__wedge-lift{transition:none}.radial-enter-active .radial__wheel,.radial-leave-active .radial__wheel{transition:opacity var(--dur-fast) var(--ease-out)}.radial-enter-from .radial__wheel,.radial-leave-to .radial__wheel{transform:translate(-50%,-50%) scale(1);opacity:0}}.choro-map{--map-accent:var(--viz-accent,#1b5dff)}.choro-map__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border);flex-wrap:wrap}.choro-map__title{display:flex;flex-direction:column;gap:1px}.choro-map__h{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--ink)}.choro-map__sub{font-size:var(--fs-xs);color:var(--muted)}.choro-map__hotcold{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.choro-map__cold,.choro-map__hot{color:var(--ink)}.choro-map__cold i,.choro-map__hot i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:5px;vertical-align:middle}.choro-map__lenses{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-2) var(--s-4) var(--s-3);border-bottom:1px solid var(--border)}.choro-map__seg{display:inline-flex;padding:2px;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill)}.choro-map__seg-opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:3px 11px;border-radius:var(--r-pill);cursor:pointer;line-height:1.6;transition:background .12s ease,color .12s ease}.choro-map__seg-opt:hover{color:var(--ink)}.choro-map__seg-opt.is-active{background:var(--map-accent);color:#fff}.choro-map__seg-sub{font-size:var(--fs-xs);color:var(--muted);margin-left:var(--s-1)}.choro-map__live{position:relative;aspect-ratio:16/10;width:100%}.choro-map__live .maplibregl-ctrl-bottom-right{right:6px;bottom:6px}.choro-map__live .maplibregl-ctrl-attrib.maplibregl-compact{min-height:20px;background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:none}.choro-map__live .maplibregl-ctrl-attrib-button{width:20px;height:20px;opacity:.5;transition:opacity .15s ease}.choro-map__live .maplibregl-ctrl-attrib-button:hover{opacity:1}.choro-map__live .maplibregl-ctrl-attrib-inner{font-size:10px;color:var(--muted)}.choro-map__tip{position:absolute;z-index:4;pointer-events:none;display:flex;flex-direction:column;gap:2px;min-width:130px;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px #0000002e;font-size:var(--fs-xs)}.choro-map__tip-label{font-weight:var(--fw-semibold);color:var(--ink);margin-bottom:2px}.choro-map__tip-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.choro-map__tip-k{color:var(--muted)}.choro-map__tip-v{color:var(--ink);font-variant-numeric:tabular-nums}.choro-map__legend{position:absolute;left:var(--s-3);bottom:var(--s-3);z-index:3;display:flex;align-items:center;gap:var(--s-2);padding:5px var(--s-3);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);font-size:var(--fs-xs);color:var(--muted)}.choro-map__legend-ramp{width:96px;height:8px;border-radius:var(--r-pill)}.choro-map__legend-k{font-variant-numeric:tabular-nums}.choro-map__legend-nd{display:inline-flex;align-items:center;gap:4px;padding-left:var(--s-2);border-left:1px solid var(--border)}.choro-map__legend-nd i{width:10px;height:10px;border-radius:3px;display:inline-block}.choro-map__marker{position:absolute;z-index:6;transform:translate(-50%,-100%);transform-origin:bottom center;padding:0;border:0;background:none;cursor:pointer;color:#fff;animation:choro-marker-drop var(--dur-expand,.42s) var(--ease-spring,cubic-bezier(.2,.9,.25,1)) both;filter:drop-shadow(0 3px 5px rgba(0,0,0,.5));-webkit-tap-highlight-color:transparent}.choro-map__marker-pin{position:relative;display:block;animation:choro-marker-bob 2.6s ease-in-out infinite;transition:transform var(--dur-fast,.16s) var(--ease-out,ease)}.choro-map__marker:hover .choro-map__marker-pin{transform:scale(1.12)}.choro-map__marker-ico{display:block;width:34px;height:34px}.choro-map__marker-x{position:absolute;top:-3px;right:-5px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--danger,#e5484d);color:#fff;opacity:0;transform:scale(.5);transition:opacity var(--dur-fast,.16s) var(--ease-out,ease),transform var(--dur-fast,.16s) var(--ease-spring,ease)}.choro-map__marker-x svg{width:9px;height:9px}.choro-map__marker:focus-visible .choro-map__marker-x,.choro-map__marker:hover .choro-map__marker-x{opacity:1;transform:scale(1)}.choro-map__marker-shadow{position:absolute;left:50%;bottom:-3px;width:15px;height:5px;transform:translate(-50%);border-radius:50%;background:#0006;filter:blur(2px);animation:choro-marker-shadow 2.6s ease-in-out infinite}[data-theme=light] .choro-map__marker{color:#111;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}[data-theme=light] .choro-map__marker-shadow{background:#00000047}@keyframes choro-marker-drop{0%{opacity:0;transform:translate(-50%,-190%) scale(.5)}60%{opacity:1}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes choro-marker-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes choro-marker-shadow{0%,to{transform:translate(-50%) scale(1);opacity:.4}50%{transform:translate(-50%) scale(.68);opacity:.2}}@media(prefers-reduced-motion:reduce){.choro-map__marker,.choro-map__marker-pin,.choro-map__marker-shadow{animation:none}}
