.map-bleed{--map-bleed:100vw;width:var(--map-bleed);margin-inline:calc((100% - var(--map-bleed)) / 2)}@media (width>=640px){.map-bleed{--map-bleed:min(calc(100vw - 2rem), 1680px)}}.map-stage{border:1px solid var(--border);border-radius:calc(var(--radius) * 2);background:var(--card);box-shadow:0 1px 2px oklch(0% 0 0/.04), 0 24px 48px -28px color-mix(in oklab, var(--primary) 30%, transparent);flex-direction:column;transition:border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.map-stage:hover{border-color:color-mix(in oklab, var(--primary) 22%, var(--border))}.dark .map-stage{box-shadow:0 0 0 1px oklch(100% 0 0/.02),0 24px 60px -24px oklch(0% 0 0/.6)}.map-console{border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--primary) 3%, var(--card));flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem 1rem;display:flex}.map-stats{border-bottom:1px solid var(--border);background:var(--border);grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:1px;margin:0;padding:0;display:grid}.map-stats>ul{margin:0;padding:0;list-style:none}.map-stat{background:var(--card);align-content:center;gap:.25rem;min-height:4.5rem;padding:.75rem 1rem;transition:background-color .18s;display:grid}.map-stat:hover{background:color-mix(in oklab, var(--primary) 4%, var(--card))}.map-stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.025em;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:500;line-height:1.1;display:flex}.map-stat-head{grid-column:1/-1}@media (width>=768px){.map-stat-head{grid-column:span 2}}.map-stat-title{letter-spacing:-.01em;font-size:1rem;font-weight:500;line-height:1.25}.map-stat-label{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;line-height:1.3;overflow:hidden}.map-stat[data-zero] .map-stat-value{color:var(--muted-foreground)}.map-live{color:var(--muted-foreground);align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.map-live>i{background:var(--status-open);border-radius:999px;width:.5rem;height:.5rem;position:relative}.map-live>i:after{border-radius:inherit;background:var(--status-open);content:"";animation:2.4s cubic-bezier(0,0,.2,1) infinite map-ping;position:absolute;inset:0}.map-frame{--map-ocean:oklch(97.2% .013 240);--map-land:oklch(90.5% .014 255);--map-border:oklch(98.5% .004 255);--map-grid:color-mix(in oklab, var(--primary) 16%, transparent);--map-coast:color-mix(in oklab, var(--primary) 30%, transparent);--map-dots:color-mix(in oklab, var(--primary) 15%, transparent);--map-chrome:color-mix(in oklab, var(--card) 82%, transparent);background:radial-gradient(circle at 1px 1px, var(--map-dots) 1px, transparent 1.5px) 0 0 / 14px 14px, color-mix(in oklab, var(--map-ocean) 45%, var(--card))}.dark .map-frame{--map-ocean:oklch(21.5% .05 262);--map-land:oklch(32.5% .035 258);--map-border:oklch(23.5% .03 262);--map-grid:color-mix(in oklab, var(--primary) 20%, transparent);--map-coast:color-mix(in oklab, var(--primary) 55%, transparent);--map-dots:color-mix(in oklab, var(--primary) 18%, transparent);--map-chrome:color-mix(in oklab, var(--background) 78%, transparent);background:radial-gradient(circle at 1px 1px, var(--map-dots) 1px, transparent 1.5px) 0 0 / 14px 14px, var(--background)}.map-frame .map-ocean{fill:color-mix(in oklab, var(--map-ocean) 88%, transparent);stroke:color-mix(in oklab, var(--primary) 35%, var(--border))}.map-frame .map-graticule{stroke:var(--map-grid);stroke-dasharray:2 4}.map-frame .map-land{stroke:var(--map-coast);stroke-width:.75px}.map-frame .map-borders{stroke:var(--map-border)}.map-vignette{pointer-events:none;background:radial-gradient(ellipse at 50% 45%, transparent 55%, color-mix(in oklab, var(--primary) 7%, transparent) 100%);position:absolute;inset:0}.dark .map-vignette{background:radial-gradient(ellipse at 50% 0%, color-mix(in oklab, var(--primary) 10%, transparent), transparent 60%), radial-gradient(ellipse at 50% 50%, transparent 55%, oklch(0% 0 0/.35) 100%)}.map-corner{border:0 solid color-mix(in oklab, var(--primary) 55%, transparent);pointer-events:none;width:.625rem;height:.625rem;position:absolute}.map-corner[data-c=tl]{border-top-width:1.5px;border-left-width:1.5px;top:.375rem;left:.375rem}.map-corner[data-c=tr]{border-top-width:1.5px;border-right-width:1.5px;top:.375rem;right:.375rem}.map-corner[data-c=bl]{border-bottom-width:1.5px;border-left-width:1.5px;bottom:.375rem;left:.375rem}.map-corner[data-c=br]{border-bottom-width:1.5px;border-right-width:1.5px;bottom:.375rem;right:.375rem}.map-chip{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);border-radius:calc(var(--radius) * 1.4);background:var(--map-chrome);-webkit-backdrop-filter:blur(8px)saturate(1.2);align-items:center;display:flex;box-shadow:0 6px 18px -10px oklch(0% 0 0/.35)}.map-brand{z-index:0;color:var(--foreground);pointer-events:none;gap:.5rem;padding:.375rem .75rem .375rem .5rem;position:absolute;top:1rem;left:1rem}.map-brand-mark{border-radius:calc(var(--radius) * 1.2);background:var(--primary);width:1.75rem;height:1.75rem;color:var(--primary-foreground);place-items:center;display:grid;box-shadow:inset 0 1px oklch(100% 0 0/.25)}.map-brand-name{letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.1}.map-brand-sub{color:var(--muted-foreground);font-size:.75rem;font-weight:500;line-height:1.2;display:block}@media (width>=1024px){.map-brand-mark{width:2rem;height:2rem}.map-brand-mark>svg{width:1.125rem;height:1.125rem}.map-brand-name{font-size:1.125rem}.map-brand-sub{font-size:.8125rem}}@media (width<=639px){.map-brand{gap:.375rem;padding:.25rem .5rem .25rem .25rem;top:.5rem;left:auto;right:.5rem}.map-brand-mark{width:1.25rem;height:1.25rem}.map-brand-mark>svg{width:.8125rem;height:.8125rem}.map-brand-name{font-size:.6875rem}.map-brand-sub{display:none}}.map-clock{z-index:0;pointer-events:none;justify-items:end;padding:.375rem .75rem;display:grid;position:absolute;top:1rem;right:1rem}.map-clock-time{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.125rem;font-weight:500;line-height:1.15}.map-clock-sub{color:var(--muted-foreground);font-size:.75rem;font-weight:500;line-height:1.2}@media (width<=639px){.map-clock{display:none}}.map-tick{color:color-mix(in oklab, var(--muted-foreground) 85%, transparent);font-variant-numeric:tabular-nums;pointer-events:none;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:500;line-height:1;display:flex;position:absolute;left:1rem;transform:translateY(-50%)}@media (width<=639px){.map-tick,.map-corner{display:none}}.map-tick:before{content:"";background:currentColor;width:.375rem;height:1px}.map-sun{z-index:1;pointer-events:none;background:radial-gradient(circle,oklch(88% .17 85) 0 14%,oklch(88% .17 85/.35) 18%,oklch(88% .17 85/0) 70%);border-radius:999px;width:2.75rem;height:2.75rem;margin:-1.375rem 0 0 -1.375rem;position:absolute}.map-cross{z-index:1;background:color-mix(in oklab, var(--primary) 32%, transparent);opacity:0;pointer-events:none;transition:opacity .18s;position:absolute}.map-cross[data-axis=x]{width:1px;height:100%;top:0;left:0}.map-cross[data-axis=y]{width:100%;height:1px;top:0;left:0}.map-readout{z-index:3;color:var(--muted-foreground);font-variant-numeric:tabular-nums;opacity:0;pointer-events:none;padding:.3125rem .625rem;font-size:.75rem;font-weight:500;transition:opacity .18s;position:absolute;bottom:1rem;right:1rem}.map-frame[data-cursor] :is(.map-cross,.map-readout){opacity:1}.map-controls{z-index:3;flex-direction:column;padding:.1875rem;position:absolute;bottom:1rem;left:1rem}.map-controls>*+*{margin-top:.125rem}@media (width<=639px){.map-controls{flex-direction:row;bottom:.5rem;left:.5rem}.map-controls>*+*{margin-top:0;margin-left:.125rem}}.map-dot>i,.map-cluster-ring,.map-cluster-ring>span{transition:transform .18s,background-color .18s,color .18s,box-shadow .18s}.map-dot[data-state=open]:before,.map-dot[data-state=early-close]:before{background:var(--s);content:"";pointer-events:none;border-radius:999px;width:.625rem;height:.625rem;margin:auto;animation:2.8s cubic-bezier(0,0,.2,1) infinite map-ping;position:absolute;inset:0}.map-cluster-ring{width:1.5rem;height:1.5rem;padding:3.5px}@media (pointer:coarse){.map-cluster-ring{width:1.75rem;height:1.75rem;padding:4px}}.map-cluster:is(:hover,[data-popup-open]) .map-cluster-ring{box-shadow:0 0 0 1.5px var(--map-ocean), 0 0 0 5px color-mix(in oklab, var(--tone) 30%, var(--map-ocean))}.map-cluster:is(:hover,[data-popup-open]) .map-cluster-ring>span{background:color-mix(in oklab, var(--tone) 14%, var(--card))}@keyframes map-ping{0%{opacity:.4;transform:scale(1)}75%,to{opacity:0;transform:scale(2.6)}}.map-rotate{text-align:center;background:radial-gradient(circle at 1px 1px, color-mix(in oklab, var(--primary) 14%, transparent) 1px, transparent 1.5px) 0 0 / 14px 14px, color-mix(in oklab, var(--primary) 3%, var(--card));justify-items:center;gap:.5rem;padding:2.25rem 1.5rem 2.5rem;display:none}.map-rotate-icon{border:1px solid color-mix(in oklab, var(--primary) 18%, var(--border));border-radius:calc(var(--radius) * 1.6);background:var(--card);width:3rem;height:3rem;color:var(--primary);box-shadow:0 6px 18px -10px color-mix(in oklab, var(--primary) 45%, transparent);place-items:center;margin-bottom:.5rem;display:grid}.map-rotate-icon>svg{width:1.375rem;height:1.375rem;animation:3.2s infinite map-rotate}.map-rotate-title{letter-spacing:-.01em;text-wrap:balance;max-width:18rem;font-size:1rem;font-weight:500;line-height:1.3}.map-rotate-text{max-width:19rem;color:var(--muted-foreground);margin-bottom:.5rem;font-size:.875rem;line-height:1.5}@keyframes map-rotate{0%,25%{transform:rotate(0)}50%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.map-dot:before,.map-live>i:after{opacity:0;animation:none}.map-rotate-icon>svg{animation:none;transform:rotate(-90deg)}}@media (width<=639px){.map-stage{border-inline:0;border-radius:0}.map-stage>.map-stats{border-top:1px solid var(--border);border-bottom:0;order:2}.map-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.map-stat{min-height:0;padding:.5rem .75rem}.map-stat-value{font-size:1.25rem}.map-stat-label{font-size:.75rem}.map-console{padding:.625rem .75rem}}@media (orientation:landscape) and (height<=479px){.map-stage>.map-stats{border-top:1px solid var(--border);border-bottom:0;order:2;grid-template-columns:repeat(6,minmax(0,1fr))}.map-stat{min-height:0;padding:.5rem .75rem}.map-stat-head{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.25rem 1rem;display:flex}.map-stat-value{font-size:1.25rem}.map-stat-label{font-size:.75rem}}@media (width<=479px) and (orientation:portrait){.map-view{display:none}.map-rotate{display:grid}}
