:root{--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.8125rem, .76rem + .25vw, .9375rem);--text-base: clamp(.9375rem, .88rem + .25vw, 1rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--pulse-duration: 2.4s;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-2: #1c2128;--color-surface-3: #21262d;--color-border: rgba(240, 246, 252, .1);--color-border-hover: rgba(240, 246, 252, .18);--color-text: #e6edf3;--color-text-muted: #8b949e;--color-text-faint: #484f58;--color-accent: #39d0d8;--color-accent-dim: rgba(57, 208, 216, .15);--color-accent-glow: rgba(57, 208, 216, .35);--color-link: #58a6ff;--color-ok-dark: #3fb950;--color-warn-dark: #d29922;--color-error-dark: #f85149;--color-ok: var(--color-ok-dark);--color-warn: var(--color-warn-dark);--color-error: var(--color-error-dark);--color-close: color-mix(in srgb, var(--color-error) 50%, var(--color-text-muted));--color-close-active: var(--color-error);--color-close-mark: var(--color-bg);--radius-sm: .375rem;--radius-md: .625rem;--radius-lg: .875rem;--radius-xl: 1.25rem;--radius-2xl: 1.75rem;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.35);--shadow-lg: 0 12px 36px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.4);--glass-bg: rgba(22, 27, 34, .82);--glass-bg-solid: rgb(22, 27, 34);--glass-bg-2: rgba(33, 38, 45, .6);--glass-bg-2h: rgba(33, 38, 45, .85);--transition-fast: .12s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .2s cubic-bezier(.16, 1, .3, 1);--slider-color-past-dark: rgba(57, 208, 216, .2);--slider-color-past: var(--slider-color-past-dark);--slider-color-new: var(--color-ok);--slider-color-nc-near: var(--color-warn);--slider-color-nc-far: var(--color-error);--safe-bottom: env(safe-area-inset-bottom, 0px);--controls-bottom: calc(28px + var(--safe-bottom));--controls-height: 52px;--controls-gap: 24px;--touch-size: 44px;--side-panel-height: calc( 2 * var(--space-3) + 2px + var(--touch-size) + var(--space-3) + var(--touch-size) );--side-panel-height-grouped: calc( var(--side-panel-height) + var(--space-2) + var(--touch-size) );--toggle-height: 44px;--side-panel-collapsed-height: var(--touch-size);--panel-bottom: calc( var(--controls-bottom) + var(--controls-height) + var(--controls-gap) + var(--toggle-height) + var(--space-3) );--right-controls-bottom: calc( var(--panel-bottom) + var(--side-panel-height) + var(--space-4) );--right-controls-bottom-grouped: calc( var(--panel-bottom) + var(--side-panel-height-grouped) + var(--space-4) );--right-controls-collapsed: calc( var(--panel-bottom) + var(--side-panel-collapsed-height) + var(--space-3) )}[data-theme=light]{--color-bg: #f0f4f8;--color-surface: #ffffff;--color-surface-2: #e8edf2;--color-surface-3: #d9e0e8;--color-border: rgba(0, 0, 0, .1);--color-border-hover: rgba(0, 0, 0, .18);--color-text: #1c2128;--color-text-muted: #57606a;--color-text-faint: #8c959f;--color-accent: #0969da;--color-accent-dim: rgba(9, 105, 218, .12);--color-accent-glow: rgba(9, 105, 218, .3);--color-link: #0969da;--color-ok: color-mix(in srgb, var(--color-ok-dark) 80%, black);--color-warn: color-mix(in srgb, var(--color-warn-dark) 96%, black);--color-error: color-mix(in srgb, var(--color-error-dark) 88%, black);--shadow-sm: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.08);--shadow-lg: 0 12px 36px rgba(0,0,0,.14), 0 4px 12px rgba(0,0,0,.1);--glass-bg: rgba(255, 255, 255, .88);--glass-bg-solid: rgb(255, 255, 255);--glass-bg-2: rgba(240, 244, 248, .7);--glass-bg-2h: rgba(240, 244, 248, .95);--slider-color-past: color-mix(in srgb, var(--color-accent) 18%, transparent)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);overflow:hidden}*{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}input:not([type]),input[type=text],input[type=search],input[type=email],input[type=url],input[type=tel],input[type=number],input[type=password],textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;-webkit-user-drag:auto}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}select{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.hidden{display:none!important}#map-shell{position:relative;width:100%;height:100dvh;overflow:hidden;background:var(--color-bg)}#map{width:100%;height:100%}
